@customerglu/react-native-customerglu 2.1.2-1.0-beta → 3.0.0-beta-1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -15
- package/README.md +2 -2
- package/ReactNativeCustomerglu.podspec +42 -0
- package/android/build.gradle +78 -33
- package/android/generated/java/com/customerglu/reactnativecustomerglu/NativeReactNativeCustomergluSpec.java +144 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNReactNativeCustomergluSpec-generated.cpp +188 -0
- package/android/generated/jni/RNReactNativeCustomergluSpec.h +31 -0
- package/android/generated/jni/react/renderer/components/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpecJSI-generated.cpp +237 -0
- package/android/generated/jni/react/renderer/components/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpecJSI.h +305 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +1 -6
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerView.kt +76 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerViewManager.kt +19 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededView.kt +102 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededViewManager.kt +18 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluModule.kt +698 -0
- package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluPackage.kt +41 -0
- package/ios/Rncustomerglu.h +6 -0
- package/ios/Rncustomerglu.mm +18 -0
- package/ios/generated/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpec-generated.mm +221 -0
- package/ios/generated/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpec.h +106 -0
- package/ios/generated/RNReactNativeCustomergluSpecJSI-generated.cpp +237 -0
- package/ios/generated/RNReactNativeCustomergluSpecJSI.h +305 -0
- package/lib/commonjs/NativeReactNativeCustomerglu.js +9 -0
- package/lib/commonjs/NativeReactNativeCustomerglu.js.map +1 -0
- package/lib/commonjs/index.js +28 -191
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeReactNativeCustomerglu.js +5 -0
- package/lib/module/NativeReactNativeCustomerglu.js.map +1 -0
- package/lib/module/index.js +30 -164
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts +33 -0
- package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +35 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts +33 -0
- package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +35 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/package.json +91 -45
- package/react-native.config.js +12 -0
- package/src/NativeReactNativeCustomerglu.ts +36 -0
- package/src/index.tsx +73 -217
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/android/gradlew +0 -185
- package/android/gradlew.bat +0 -89
- package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/BannerWidgetViewGroupManager.java +0 -40
- package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/bannerWidget.java +0 -43
- package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/wrapperview/WrapperView.java +0 -61
- package/android/src/main/java/com/reactnativerncustomerglu/CGUtils.java +0 -13
- package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EWrapperview/EWrapperView.java +0 -61
- package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidget.java +0 -35
- package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidgetVGManager.java +0 -40
- package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluModule.java +0 -1033
- package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluPackage.java +0 -35
- package/android/src/main/res/drawable/bottom_sheet_edges.xml +0 -7
- package/android/src/main/res/drawable/floating_close_layout.xml +0 -10
- package/android/src/main/res/drawable/ic_arrow_back.xml +0 -5
- package/android/src/main/res/drawable/ic_back.xml +0 -10
- package/android/src/main/res/drawable/ic_delete_bin.xml +0 -5
- package/android/src/main/res/drawable/ic_delete_bin_red.xml +0 -5
- package/android/src/main/res/drawable/ij.png +0 -0
- package/android/src/main/res/drawable/notification.png +0 -0
- package/android/src/main/res/drawable/progress_bg.xml +0 -33
- package/android/src/main/res/values/colors.xml +0 -13
- package/android/src/main/res/values/themes.xml +0 -15
- package/android/src/main/res/xml/provider_path.xml +0 -4
- package/ios/CustomPlayer.m +0 -30
- package/ios/Rncustomerglu-Bridging-Header.h +0 -4
- package/ios/Rncustomerglu.m +0 -83
- package/ios/Rncustomerglu.swift +0 -647
- package/ios/Rncustomerglu.xcodeproj/project.pbxproj +0 -293
- package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
- package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/lib/typescript/index.d.ts +0 -62
- package/react-native-customerglu.podspec +0 -23
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
package com.customerglu.reactnativecustomerglu
|
|
2
|
+
|
|
3
|
+
import android.widget.FrameLayout
|
|
4
|
+
import android.view.MotionEvent
|
|
5
|
+
import android.webkit.WebView
|
|
6
|
+
import com.customerglu.sdk.entrypoints.CGEmbedView
|
|
7
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CGEmbededView(private val context: ThemedReactContext) : FrameLayout(context) {
|
|
11
|
+
private var banner: CGEmbedView? = null
|
|
12
|
+
|
|
13
|
+
override fun requestLayout() {
|
|
14
|
+
super.requestLayout()
|
|
15
|
+
post(measureAndLayout)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private val measureAndLayout = Runnable {
|
|
19
|
+
measure(
|
|
20
|
+
MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
|
21
|
+
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
|
|
22
|
+
)
|
|
23
|
+
layout(left, top, right, bottom)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
|
27
|
+
var maxWidth = 0
|
|
28
|
+
var maxHeight = 0
|
|
29
|
+
|
|
30
|
+
for (i in 0 until childCount) {
|
|
31
|
+
getChildAt(i)?.let { child ->
|
|
32
|
+
if (child.visibility != GONE) {
|
|
33
|
+
measureChild(child, widthMeasureSpec, MeasureSpec.UNSPECIFIED)
|
|
34
|
+
maxWidth = maxWidth.coerceAtLeast(child.measuredWidth)
|
|
35
|
+
maxHeight = maxHeight.coerceAtLeast(child.measuredHeight)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
setMeasuredDimension(
|
|
41
|
+
maxWidth.coerceAtLeast(suggestedMinimumWidth),
|
|
42
|
+
maxHeight.coerceAtLeast(suggestedMinimumHeight)
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
|
|
47
|
+
// return false // Allow WebView to handle touch events properly
|
|
48
|
+
// }
|
|
49
|
+
// override fun onTouchEvent(event: MotionEvent?): Boolean {
|
|
50
|
+
// return banner?.dispatchTouchEvent(event) ?: super.onTouchEvent(event)
|
|
51
|
+
// }
|
|
52
|
+
fun setBannerId(id: String) {
|
|
53
|
+
try {
|
|
54
|
+
context.currentActivity?.let { activity ->
|
|
55
|
+
removeAllViews()
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
banner = CGEmbedView(activity, id)
|
|
59
|
+
banner?.let { addView(it) }
|
|
60
|
+
// banner?.let { embedView ->
|
|
61
|
+
// (embedView.getChildAt(0) as? WebView)?.apply {
|
|
62
|
+
// settings.domStorageEnabled = true
|
|
63
|
+
// settings.javaScriptEnabled = true
|
|
64
|
+
// settings.setSupportZoom(true)
|
|
65
|
+
// settings.builtInZoomControls = true
|
|
66
|
+
// settings.displayZoomControls = false
|
|
67
|
+
//
|
|
68
|
+
// setOnTouchListener(null) // Ensure WebView handles its own touch events
|
|
69
|
+
//
|
|
70
|
+
// isClickable = true
|
|
71
|
+
// isFocusable = true
|
|
72
|
+
// isVerticalScrollBarEnabled = true
|
|
73
|
+
// isHorizontalScrollBarEnabled = true
|
|
74
|
+
// overScrollMode = OVER_SCROLL_NEVER
|
|
75
|
+
// }
|
|
76
|
+
// addView(embedView)
|
|
77
|
+
// }
|
|
78
|
+
} catch (e: Exception) {
|
|
79
|
+
android.util.Log.e("CGEmbedView", "Error creating Banner: ${e.message}")
|
|
80
|
+
e.printStackTrace()
|
|
81
|
+
|
|
82
|
+
val errorView = android.widget.TextView(context).apply {
|
|
83
|
+
text = "Banner initialization failed. Please ensure SDK is initialized."
|
|
84
|
+
layoutParams = android.widget.FrameLayout.LayoutParams(
|
|
85
|
+
android.widget.FrameLayout.LayoutParams.WRAP_CONTENT,
|
|
86
|
+
android.widget.FrameLayout.LayoutParams.WRAP_CONTENT
|
|
87
|
+
).apply {
|
|
88
|
+
gravity = android.view.Gravity.CENTER
|
|
89
|
+
}
|
|
90
|
+
setTextColor(android.graphics.Color.RED)
|
|
91
|
+
}
|
|
92
|
+
addView(errorView)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
} catch (e: Exception) {
|
|
96
|
+
android.util.Log.e("CGEmbedView", "Error in setBannerId: ${e.message}")
|
|
97
|
+
e.printStackTrace()
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
package com.customerglu.reactnativecustomerglu
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
4
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
5
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
6
|
+
|
|
7
|
+
class CGEmbededViewManager: SimpleViewManager<CGEmbededView>() {
|
|
8
|
+
override fun getName(): String = "CGEmbedView"
|
|
9
|
+
|
|
10
|
+
override fun createViewInstance(reactContext: ThemedReactContext): CGEmbededView {
|
|
11
|
+
return CGEmbededView(reactContext)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@ReactProp(name = "embedId")
|
|
15
|
+
fun setBannerId(view: CGEmbededView, bannerId: String?) {
|
|
16
|
+
bannerId?.let { view.setBannerId(it) }
|
|
17
|
+
}
|
|
18
|
+
}
|