Skip to content

Commit d6a5910

Browse files
committed
refactor: rename gistview to base view
1 parent bb44d81 commit d6a5910

File tree

6 files changed

+42
-42
lines changed

6 files changed

+42
-42
lines changed

messaginginapp/api/messaginginapp.api

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public final class io/customer/messaginginapp/ModuleMessagingInApp$Companion {
3535
}
3636

3737
public final class io/customer/messaginginapp/databinding/ActivityGistBinding : androidx/viewbinding/ViewBinding {
38-
public final field gistView Lio/customer/messaginginapp/gist/presentation/GistView;
38+
public final field gistView Lio/customer/messaginginapp/ui/ModalInAppMessageView;
3939
public final field modalGistViewLayout Landroid/widget/RelativeLayout;
4040
public static fun bind (Landroid/view/View;)Lio/customer/messaginginapp/databinding/ActivityGistBinding;
4141
public synthetic fun getRoot ()Landroid/view/View;
@@ -154,12 +154,12 @@ public abstract interface class io/customer/messaginginapp/gist/presentation/Gis
154154
public abstract fun onMessageShown (Lio/customer/messaginginapp/gist/data/model/Message;)V
155155
}
156156

157-
public final class io/customer/messaginginapp/gist/presentation/GistModalActivity : androidx/appcompat/app/AppCompatActivity, io/customer/messaginginapp/gist/presentation/GistViewListener, io/customer/sdk/tracking/TrackableScreen {
157+
public final class io/customer/messaginginapp/gist/presentation/GistModalActivity : androidx/appcompat/app/AppCompatActivity, io/customer/messaginginapp/ui/InAppMessageHostViewListener, io/customer/sdk/tracking/TrackableScreen {
158158
public static final field Companion Lio/customer/messaginginapp/gist/presentation/GistModalActivity$Companion;
159159
public fun <init> ()V
160160
public fun finish ()V
161161
public fun getScreenName ()Ljava/lang/String;
162-
public fun onGistViewSizeChanged (II)V
162+
public fun onViewSizeChanged (II)V
163163
}
164164

165165
public final class io/customer/messaginginapp/gist/presentation/GistModalActivity$Companion {
@@ -187,32 +187,6 @@ public final class io/customer/messaginginapp/gist/presentation/GistSdk : io/cus
187187
public fun setUserId (Ljava/lang/String;)V
188188
}
189189

190-
public final class io/customer/messaginginapp/gist/presentation/GistView : android/widget/FrameLayout, io/customer/messaginginapp/gist/presentation/engine/EngineWebViewListener {
191-
public fun <init> (Landroid/content/Context;)V
192-
public fun <init> (Landroid/content/Context;Landroid/util/AttributeSet;)V
193-
public synthetic fun <init> (Landroid/content/Context;Landroid/util/AttributeSet;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
194-
public fun bootstrapped ()V
195-
public fun error ()V
196-
public final fun getListener ()Lio/customer/messaginginapp/gist/presentation/GistViewListener;
197-
public final fun getLogger ()Lio/customer/sdk/core/util/Logger;
198-
public fun routeChanged (Ljava/lang/String;)V
199-
public fun routeError (Ljava/lang/String;)V
200-
public fun routeLoaded (Ljava/lang/String;)V
201-
public final fun setListener (Lio/customer/messaginginapp/gist/presentation/GistViewListener;)V
202-
public final fun setup (Lio/customer/messaginginapp/gist/data/model/Message;)V
203-
public fun sizeChanged (DD)V
204-
public final fun stopLoading ()V
205-
public fun tap (Ljava/lang/String;Ljava/lang/String;Z)V
206-
}
207-
208-
public abstract interface class io/customer/messaginginapp/gist/presentation/GistViewListener {
209-
public abstract fun onGistViewSizeChanged (II)V
210-
}
211-
212-
public final class io/customer/messaginginapp/gist/presentation/GistViewListener$DefaultImpls {
213-
public static fun onGistViewSizeChanged (Lio/customer/messaginginapp/gist/presentation/GistViewListener;II)V
214-
}
215-
216190
public final class io/customer/messaginginapp/gist/presentation/engine/EngineWebViewInterface {
217191
public fun <init> (Lio/customer/messaginginapp/gist/presentation/engine/EngineWebViewListener;)V
218192
public final fun postMessage (Ljava/lang/String;)V

messaginginapp/src/main/java/io/customer/messaginginapp/gist/presentation/GistModalActivity.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ import io.customer.messaginginapp.gist.utilities.ModalAnimationUtil
2020
import io.customer.messaginginapp.state.InAppMessagingAction
2121
import io.customer.messaginginapp.state.InAppMessagingState
2222
import io.customer.messaginginapp.state.MessageState
23+
import io.customer.messaginginapp.ui.InAppMessageHostViewListener
2324
import io.customer.sdk.core.di.SDKComponent
2425
import io.customer.sdk.tracking.TrackableScreen
2526
import kotlinx.coroutines.Job
2627

2728
const val GIST_MESSAGE_INTENT: String = "GIST_MESSAGE"
2829
const val GIST_MODAL_POSITION_INTENT: String = "GIST_MODAL_POSITION"
2930

30-
class GistModalActivity : AppCompatActivity(), GistViewListener, TrackableScreen {
31+
class GistModalActivity : AppCompatActivity(), InAppMessageHostViewListener, TrackableScreen {
3132
private lateinit var binding: ActivityGistBinding
3233
private var elapsedTimer: ElapsedTimer = ElapsedTimer()
3334
private val inAppMessagingManager = SDKComponent.inAppMessagingManager
@@ -193,7 +194,7 @@ class GistModalActivity : AppCompatActivity(), GistViewListener, TrackableScreen
193194
finish()
194195
}
195196

196-
override fun onGistViewSizeChanged(width: Int, height: Int) {
197+
override fun onViewSizeChanged(width: Int, height: Int) {
197198
logger.debug("GistModelActivity Size changed: $width x $height")
198199
val params = binding.gistView.layoutParams
199200
params.height = height

messaginginapp/src/main/java/io/customer/messaginginapp/gist/presentation/GistView.kt renamed to messaginginapp/src/main/java/io/customer/messaginginapp/ui/InAppMessageHostView.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.customer.messaginginapp.gist.presentation
1+
package io.customer.messaginginapp.ui
22

33
import android.content.ActivityNotFoundException
44
import android.content.Context
@@ -22,16 +22,23 @@ import io.customer.sdk.core.di.SDKComponent
2222
import java.net.URI
2323
import java.nio.charset.StandardCharsets
2424

25-
class GistView @JvmOverloads constructor(
25+
/**
26+
* Base view class for displaying in-app messages. This class is responsible for managing common
27+
* in-app message functionality, such as setting up the EngineWebView, handling tap events, etc.
28+
* This class will be extended by specific in-app message views (e.g., ModalInAppMessageView)
29+
* to handle specific message types.
30+
*/
31+
internal abstract class InAppMessageHostView @JvmOverloads constructor(
2632
context: Context,
27-
attrs: AttributeSet? = null
28-
) : FrameLayout(context, attrs), EngineWebViewListener {
33+
attrs: AttributeSet? = null,
34+
defStyleAttr: Int = 0
35+
) : FrameLayout(context, attrs, defStyleAttr), EngineWebViewListener {
2936

3037
private var engineWebView: EngineWebView? = EngineWebView(context)
3138
private var currentMessage: Message? = null
3239
private var currentRoute: String? = null
3340
private var firstLoad: Boolean = true
34-
var listener: GistViewListener? = null
41+
var listener: InAppMessageHostViewListener? = null
3542
private val inAppMessagingManager = SDKComponent.inAppMessagingManager
3643
val logger = SDKComponent.logger
3744
private val store: InAppMessagingState
@@ -184,14 +191,10 @@ class GistView @JvmOverloads constructor(
184191

185192
override fun sizeChanged(width: Double, height: Double) {
186193
logger.debug("GistView Size changed: $width x $height")
187-
listener?.onGistViewSizeChanged(getSizeBasedOnDPI(width.toInt()), getSizeBasedOnDPI(height.toInt()))
194+
listener?.onViewSizeChanged(getSizeBasedOnDPI(width.toInt()), getSizeBasedOnDPI(height.toInt()))
188195
}
189196

190197
private fun getSizeBasedOnDPI(size: Int): Int {
191198
return size * context.resources.displayMetrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT
192199
}
193200
}
194-
195-
interface GistViewListener {
196-
fun onGistViewSizeChanged(width: Int, height: Int) {}
197-
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package io.customer.messaginginapp.ui
2+
3+
/**
4+
* Listener interface to send events from the InAppMessageHostView to the host activity or fragment.
5+
*/
6+
internal interface InAppMessageHostViewListener {
7+
fun onViewSizeChanged(width: Int, height: Int) {}
8+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.customer.messaginginapp.ui
2+
3+
import android.content.Context
4+
import android.util.AttributeSet
5+
6+
/**
7+
* Final implementation of the InAppMessageHostView for displaying modal in-app messages.
8+
* The view should be directly added to activity layout for displaying modal in-app messages.
9+
*/
10+
internal class ModalInAppMessageView @JvmOverloads constructor(
11+
context: Context,
12+
attrs: AttributeSet? = null,
13+
defStyleAttr: Int = 0
14+
) : InAppMessageHostView(context, attrs, defStyleAttr)

messaginginapp/src/main/res/layout/activity_gist.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
android:layout_height="match_parent"
66
android:visibility="gone"
77
android:alpha="0">
8-
<io.customer.messaginginapp.gist.presentation.GistView
8+
<io.customer.messaginginapp.ui.ModalInAppMessageView
99
android:id="@+id/gistView"
1010
android:layout_width="match_parent"
1111
android:layout_height="match_parent" />

0 commit comments

Comments
 (0)