@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.
Files changed (81) hide show
  1. package/LICENSE +20 -15
  2. package/README.md +2 -2
  3. package/ReactNativeCustomerglu.podspec +42 -0
  4. package/android/build.gradle +78 -33
  5. package/android/generated/java/com/customerglu/reactnativecustomerglu/NativeReactNativeCustomergluSpec.java +144 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNReactNativeCustomergluSpec-generated.cpp +188 -0
  8. package/android/generated/jni/RNReactNativeCustomergluSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpecJSI-generated.cpp +237 -0
  10. package/android/generated/jni/react/renderer/components/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpecJSI.h +305 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/src/main/AndroidManifest.xml +1 -6
  13. package/android/src/main/AndroidManifestNew.xml +2 -0
  14. package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerView.kt +76 -0
  15. package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerViewManager.kt +19 -0
  16. package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededView.kt +102 -0
  17. package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededViewManager.kt +18 -0
  18. package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluModule.kt +698 -0
  19. package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluPackage.kt +41 -0
  20. package/ios/Rncustomerglu.h +6 -0
  21. package/ios/Rncustomerglu.mm +18 -0
  22. package/ios/generated/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpec-generated.mm +221 -0
  23. package/ios/generated/RNReactNativeCustomergluSpec/RNReactNativeCustomergluSpec.h +106 -0
  24. package/ios/generated/RNReactNativeCustomergluSpecJSI-generated.cpp +237 -0
  25. package/ios/generated/RNReactNativeCustomergluSpecJSI.h +305 -0
  26. package/lib/commonjs/NativeReactNativeCustomerglu.js +9 -0
  27. package/lib/commonjs/NativeReactNativeCustomerglu.js.map +1 -0
  28. package/lib/commonjs/index.js +28 -191
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/module/NativeReactNativeCustomerglu.js +5 -0
  31. package/lib/module/NativeReactNativeCustomerglu.js.map +1 -0
  32. package/lib/module/index.js +30 -164
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/typescript/commonjs/package.json +1 -0
  35. package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts +33 -0
  36. package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
  37. package/lib/typescript/commonjs/src/index.d.ts +35 -0
  38. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  39. package/lib/typescript/module/package.json +1 -0
  40. package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts +33 -0
  41. package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
  42. package/lib/typescript/module/src/index.d.ts +35 -0
  43. package/lib/typescript/module/src/index.d.ts.map +1 -0
  44. package/package.json +91 -45
  45. package/react-native.config.js +12 -0
  46. package/src/NativeReactNativeCustomerglu.ts +36 -0
  47. package/src/index.tsx +73 -217
  48. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  49. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  50. package/android/gradlew +0 -185
  51. package/android/gradlew.bat +0 -89
  52. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/BannerWidgetViewGroupManager.java +0 -40
  53. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/bannerWidget.java +0 -43
  54. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/wrapperview/WrapperView.java +0 -61
  55. package/android/src/main/java/com/reactnativerncustomerglu/CGUtils.java +0 -13
  56. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EWrapperview/EWrapperView.java +0 -61
  57. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidget.java +0 -35
  58. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidgetVGManager.java +0 -40
  59. package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluModule.java +0 -1033
  60. package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluPackage.java +0 -35
  61. package/android/src/main/res/drawable/bottom_sheet_edges.xml +0 -7
  62. package/android/src/main/res/drawable/floating_close_layout.xml +0 -10
  63. package/android/src/main/res/drawable/ic_arrow_back.xml +0 -5
  64. package/android/src/main/res/drawable/ic_back.xml +0 -10
  65. package/android/src/main/res/drawable/ic_delete_bin.xml +0 -5
  66. package/android/src/main/res/drawable/ic_delete_bin_red.xml +0 -5
  67. package/android/src/main/res/drawable/ij.png +0 -0
  68. package/android/src/main/res/drawable/notification.png +0 -0
  69. package/android/src/main/res/drawable/progress_bg.xml +0 -33
  70. package/android/src/main/res/values/colors.xml +0 -13
  71. package/android/src/main/res/values/themes.xml +0 -15
  72. package/android/src/main/res/xml/provider_path.xml +0 -4
  73. package/ios/CustomPlayer.m +0 -30
  74. package/ios/Rncustomerglu-Bridging-Header.h +0 -4
  75. package/ios/Rncustomerglu.m +0 -83
  76. package/ios/Rncustomerglu.swift +0 -647
  77. package/ios/Rncustomerglu.xcodeproj/project.pbxproj +0 -293
  78. package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  79. package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  80. package/lib/typescript/index.d.ts +0 -62
  81. 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
+ }