@momo-kits/native-kits 0.158.1-beta.2-debug → 0.158.1-beta.3-debug
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/compose/build.gradle.kts +1 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +4 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +1 -15
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +1 -15
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +1 -4
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +9 -11
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +1 -56
- package/gradle.properties +1 -1
- package/package.json +1 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +0 -167
- package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme +0 -32
- package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/WorkspaceSettings.xcsettings +0 -16
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +0 -5
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +0 -60
- package/local.properties +0 -8
package/compose/build.gradle.kts
CHANGED
|
@@ -19,6 +19,7 @@ import vn.momo.kits.const.AppTheme
|
|
|
19
19
|
import vn.momo.kits.const.Colors
|
|
20
20
|
import vn.momo.kits.const.Radius
|
|
21
21
|
import vn.momo.kits.modifier.conditional
|
|
22
|
+
import vn.momo.kits.modifier.setAutomationId
|
|
22
23
|
|
|
23
24
|
data class IconSpecs(
|
|
24
25
|
val width: Dp,
|
|
@@ -112,6 +113,7 @@ fun IconButton(
|
|
|
112
113
|
type: ButtonType = ButtonType.PRIMARY,
|
|
113
114
|
size: IconSize = IconSize.SMALL,
|
|
114
115
|
icon: String = "",
|
|
116
|
+
accessibilityId: String? = null
|
|
115
117
|
) {
|
|
116
118
|
// Memoize icon size calculation
|
|
117
119
|
val iconSize = remember(size) {
|
|
@@ -136,7 +138,8 @@ fun IconButton(
|
|
|
136
138
|
border(1.dp, Colors.blue_03)
|
|
137
139
|
}
|
|
138
140
|
.clip(RoundedCornerShape(radius))
|
|
139
|
-
.clickable(enabled = isEnabled, onClick = onClick)
|
|
141
|
+
.clickable(enabled = isEnabled, onClick = onClick)
|
|
142
|
+
.setAutomationId(accessibilityId ?: "icon_button"),
|
|
140
143
|
contentAlignment = Alignment.Center
|
|
141
144
|
) {
|
|
142
145
|
Icon(
|
|
@@ -41,10 +41,8 @@ import vn.momo.kits.const.AppTheme
|
|
|
41
41
|
import vn.momo.kits.const.Colors
|
|
42
42
|
import vn.momo.kits.const.Radius
|
|
43
43
|
import vn.momo.kits.const.Spacing
|
|
44
|
-
import vn.momo.kits.application.ApplicationContext
|
|
45
44
|
import vn.momo.kits.application.IsShowBaseLineDebug
|
|
46
45
|
import vn.momo.kits.const.Typography
|
|
47
|
-
import vn.momo.kits.navigation.tracking.ScreenTracker
|
|
48
46
|
import vn.momo.kits.modifier.conditional
|
|
49
47
|
import vn.momo.kits.modifier.noFeedbackClickable
|
|
50
48
|
import vn.momo.kits.platform.BackHandler
|
|
@@ -72,18 +70,6 @@ internal fun BottomSheet(
|
|
|
72
70
|
|
|
73
71
|
val coroutineScope = rememberCoroutineScope()
|
|
74
72
|
|
|
75
|
-
val maxApi = LocalMaxApi.current
|
|
76
|
-
val context = ApplicationContext.current
|
|
77
|
-
|
|
78
|
-
DisposableEffect(Unit) {
|
|
79
|
-
ScreenTracker.trackPopupDisplayed(
|
|
80
|
-
maxApi = maxApi,
|
|
81
|
-
context = context,
|
|
82
|
-
parentScreenName = ScreenTracker.getLastScreenName()
|
|
83
|
-
)
|
|
84
|
-
onDispose { }
|
|
85
|
-
}
|
|
86
|
-
|
|
87
73
|
suspend fun openEvent(){
|
|
88
74
|
backgroundAlpha.animateTo(
|
|
89
75
|
targetValue = 0.3f,
|
|
@@ -250,4 +236,4 @@ sealed class BottomHeader {
|
|
|
250
236
|
data class Custom(
|
|
251
237
|
val content: @Composable () -> Unit
|
|
252
238
|
) : BottomHeader()
|
|
253
|
-
}
|
|
239
|
+
}
|
|
@@ -22,12 +22,10 @@ import androidx.compose.ui.draw.scale
|
|
|
22
22
|
import androidx.compose.ui.graphics.Color
|
|
23
23
|
import androidx.compose.ui.unit.dp
|
|
24
24
|
import kotlinx.coroutines.launch
|
|
25
|
-
import vn.momo.kits.application.ApplicationContext
|
|
26
25
|
import vn.momo.kits.application.IsShowBaseLineDebug
|
|
27
26
|
import vn.momo.kits.const.Colors
|
|
28
27
|
import vn.momo.kits.modifier.conditional
|
|
29
28
|
import vn.momo.kits.modifier.noFeedbackClickable
|
|
30
|
-
import vn.momo.kits.navigation.tracking.ScreenTracker
|
|
31
29
|
import vn.momo.kits.platform.BackHandler
|
|
32
30
|
|
|
33
31
|
@Composable
|
|
@@ -43,18 +41,6 @@ internal fun ModalScreen(
|
|
|
43
41
|
|
|
44
42
|
val coroutineScope = rememberCoroutineScope()
|
|
45
43
|
|
|
46
|
-
val maxApi = LocalMaxApi.current
|
|
47
|
-
val context = ApplicationContext.current
|
|
48
|
-
|
|
49
|
-
DisposableEffect(Unit) {
|
|
50
|
-
ScreenTracker.trackPopupDisplayed(
|
|
51
|
-
maxApi = maxApi,
|
|
52
|
-
context = context,
|
|
53
|
-
parentScreenName = ScreenTracker.getLastScreenName()
|
|
54
|
-
)
|
|
55
|
-
onDispose { }
|
|
56
|
-
}
|
|
57
|
-
|
|
58
44
|
fun openEvent() {
|
|
59
45
|
coroutineScope.launch {
|
|
60
46
|
launch {
|
|
@@ -130,4 +116,4 @@ internal fun ModalScreen(
|
|
|
130
116
|
content()
|
|
131
117
|
}
|
|
132
118
|
}
|
|
133
|
-
}
|
|
119
|
+
}
|
|
@@ -72,7 +72,6 @@ val LocalNavigation = staticCompositionLocalOf<Navigation> {
|
|
|
72
72
|
|
|
73
73
|
@Stable
|
|
74
74
|
data class NavigationOptions(
|
|
75
|
-
val screenName: String? = null,
|
|
76
75
|
val onBackHandler: (() -> Unit)? = null,
|
|
77
76
|
val hiddenBack: Boolean = false,
|
|
78
77
|
val headerBackProps: HeaderBackProps = HeaderBackProps(),
|
|
@@ -38,7 +38,6 @@ import vn.momo.maxapi.IMaxApi
|
|
|
38
38
|
|
|
39
39
|
@Composable
|
|
40
40
|
fun NavigationContainer(
|
|
41
|
-
initialScreenName: String,
|
|
42
41
|
initialScreen: @Composable () -> Unit,
|
|
43
42
|
options: NavigationOptions? = null,
|
|
44
43
|
initialTheme: Theme = defaultTheme,
|
|
@@ -74,7 +73,7 @@ fun NavigationContainer(
|
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
val startDestination = DynamicScreenRegistry.register(
|
|
76
|
+
val startDestination = DynamicScreenRegistry.register(initialScreen, options)
|
|
78
77
|
|
|
79
78
|
CompositionLocalProvider(
|
|
80
79
|
LocalNavigator provides navigator,
|
|
@@ -113,7 +112,6 @@ fun NavigationContainer(
|
|
|
113
112
|
if (screen != null){
|
|
114
113
|
StackScreen(
|
|
115
114
|
id = route.id,
|
|
116
|
-
name = screen.name,
|
|
117
115
|
content = screen.content,
|
|
118
116
|
navigationOptions = screen.options
|
|
119
117
|
)
|
|
@@ -142,7 +140,6 @@ fun NavigationContainer(
|
|
|
142
140
|
if (screen != null){
|
|
143
141
|
StackScreen(
|
|
144
142
|
id = route.id,
|
|
145
|
-
name = screen.name,
|
|
146
143
|
content = screen.content,
|
|
147
144
|
navigationOptions = screen.options
|
|
148
145
|
)
|
|
@@ -28,17 +28,17 @@ class Navigator(
|
|
|
28
28
|
) {
|
|
29
29
|
private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main)
|
|
30
30
|
|
|
31
|
-
fun push(
|
|
32
|
-
val route = DynamicScreenRegistry.register(
|
|
31
|
+
fun push(content: @Composable () -> Unit, options: NavigationOptions? = null) {
|
|
32
|
+
val route = DynamicScreenRegistry.register(content, options)
|
|
33
33
|
navController.navigate(DynamicScreenRoute(route.id))
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
fun replace(
|
|
36
|
+
fun replace(content: @Composable () -> Unit, options: NavigationOptions? = null) {
|
|
37
37
|
if (navController.previousBackStackEntry != null){
|
|
38
38
|
val latestScreen = DynamicScreenRegistry.getLatestScreen()
|
|
39
39
|
latestScreen?.let { DynamicScreenRegistry.unregisterScreen(it.id) }
|
|
40
40
|
navController.popBackStack()
|
|
41
|
-
push(
|
|
41
|
+
push(content, options)
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -103,15 +103,15 @@ class Navigator(
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
fun present(
|
|
107
|
-
val route = DynamicScreenRegistry.register(
|
|
106
|
+
fun present(content: @Composable () -> Unit, options: NavigationOptions? = null) {
|
|
107
|
+
val route = DynamicScreenRegistry.register(content, options)
|
|
108
108
|
navController.navigate(DynamicDialogRoute(route.id))
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
fun reset(
|
|
111
|
+
fun reset(content: @Composable () -> Unit, options: NavigationOptions? = null) {
|
|
112
112
|
DynamicScreenRegistry.unregisterAll()
|
|
113
113
|
|
|
114
|
-
val route = DynamicScreenRegistry.register(
|
|
114
|
+
val route = DynamicScreenRegistry.register(content, options)
|
|
115
115
|
navController.navigate(DynamicScreenRoute(route.id)) {
|
|
116
116
|
popUpTo(0) { inclusive = true }
|
|
117
117
|
}
|
|
@@ -176,7 +176,6 @@ data class DynamicDialogRoute(val id: Int)
|
|
|
176
176
|
|
|
177
177
|
data class DynamicScreen(
|
|
178
178
|
val id: Int,
|
|
179
|
-
val name: String,
|
|
180
179
|
val content: @Composable () -> Unit,
|
|
181
180
|
var options: NavigationOptions? = null
|
|
182
181
|
)
|
|
@@ -185,11 +184,10 @@ object DynamicScreenRegistry {
|
|
|
185
184
|
private val screens = mutableMapOf<Int, DynamicScreen>()
|
|
186
185
|
private var idCounter = 1
|
|
187
186
|
|
|
188
|
-
fun register(
|
|
187
|
+
fun register(content: @Composable () -> Unit, options: NavigationOptions?): DynamicScreenRoute {
|
|
189
188
|
val id = idCounter++
|
|
190
189
|
screens[id] = DynamicScreen(
|
|
191
190
|
id = id,
|
|
192
|
-
name = screenName,
|
|
193
191
|
content = content,
|
|
194
192
|
options = options
|
|
195
193
|
)
|
|
@@ -63,81 +63,26 @@ import vn.momo.kits.navigation.component.HeaderType
|
|
|
63
63
|
import vn.momo.kits.navigation.component.InputSearchType
|
|
64
64
|
import vn.momo.kits.platform.BackHandler
|
|
65
65
|
import vn.momo.kits.platform.getAndroidBuildVersion
|
|
66
|
-
import vn.momo.kits.navigation.tracking.ScreenTracker
|
|
67
|
-
import vn.momo.kits.navigation.tracking.ScreenTrackingState
|
|
68
|
-
import kotlinx.coroutines.delay
|
|
69
|
-
import vn.momo.kits.application.ApplicationContext
|
|
70
|
-
import kotlin.time.Clock
|
|
71
|
-
import kotlin.time.ExperimentalTime
|
|
72
66
|
|
|
73
67
|
internal val LocalFooterHeightPx = staticCompositionLocalOf { mutableIntStateOf(0) }
|
|
74
68
|
internal val LocalHeaderRightWidthPx = staticCompositionLocalOf { mutableIntStateOf(0) }
|
|
75
69
|
|
|
76
|
-
@OptIn(ExperimentalMaterialApi::class
|
|
70
|
+
@OptIn(ExperimentalMaterialApi::class)
|
|
77
71
|
@Composable
|
|
78
72
|
internal fun StackScreen(
|
|
79
73
|
content: @Composable () -> Unit,
|
|
80
74
|
navigationOptions: NavigationOptions? = null,
|
|
81
75
|
id: Int = -1,
|
|
82
|
-
name: String = "",
|
|
83
76
|
bottomTabIndex: Int = -1,
|
|
84
77
|
onBackHandler: (() -> Unit)? = null,
|
|
85
78
|
) {
|
|
86
79
|
val navigator = LocalNavigator.current
|
|
87
|
-
val maxApi = LocalMaxApi.current
|
|
88
|
-
val context = ApplicationContext.current
|
|
89
80
|
val statusBar = AppStatusBar.current
|
|
90
81
|
val density = LocalDensity.current
|
|
91
82
|
val navigation = remember { Navigation(id = id, bottomTabIndex = bottomTabIndex, initOptions = navigationOptions) }
|
|
92
83
|
|
|
93
84
|
val options by navigation.currentOptions
|
|
94
85
|
|
|
95
|
-
// Auto tracking state
|
|
96
|
-
val trackingState = remember {
|
|
97
|
-
ScreenTrackingState().apply {
|
|
98
|
-
startTime = Clock.System.now().toEpochMilliseconds()
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Determine action: push or back
|
|
103
|
-
val action = remember {
|
|
104
|
-
if (ScreenTracker.getLastScreenName() != null) "push" else "back"
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Auto tracking effects
|
|
108
|
-
LaunchedEffect(name) {
|
|
109
|
-
// Track screen navigated immediately
|
|
110
|
-
ScreenTracker.trackScreenNavigated(
|
|
111
|
-
maxApi = maxApi,
|
|
112
|
-
context = context,
|
|
113
|
-
screenName = name,
|
|
114
|
-
action = action,
|
|
115
|
-
state = trackingState
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
// Track screen displayed after 2 seconds (debounce)
|
|
119
|
-
delay(2000)
|
|
120
|
-
val loadTime = Clock.System.now().toEpochMilliseconds() - trackingState.startTime
|
|
121
|
-
ScreenTracker.trackScreenDisplayed(
|
|
122
|
-
maxApi = maxApi,
|
|
123
|
-
context = context,
|
|
124
|
-
screenName = name,
|
|
125
|
-
duration = loadTime,
|
|
126
|
-
state = trackingState
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
// Track screen interacted after displayed
|
|
130
|
-
val interactionTime = Clock.System.now().toEpochMilliseconds() - trackingState.startTime
|
|
131
|
-
ScreenTracker.trackScreenInteracted(
|
|
132
|
-
maxApi = maxApi,
|
|
133
|
-
context = context,
|
|
134
|
-
screenName = name,
|
|
135
|
-
duration = interactionTime - loadTime,
|
|
136
|
-
totalDuration = interactionTime,
|
|
137
|
-
state = trackingState
|
|
138
|
-
)
|
|
139
|
-
}
|
|
140
|
-
|
|
141
86
|
val limit = with(density) {
|
|
142
87
|
(statusBar).toPx() + HEADER_HEIGHT
|
|
143
88
|
}.toInt()
|
package/gradle.properties
CHANGED
package/package.json
CHANGED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
package vn.momo.kits.navigation.tracking
|
|
2
|
-
|
|
3
|
-
import vn.momo.kits.application.MiniAppContext
|
|
4
|
-
import vn.momo.maxapi.IMaxApi
|
|
5
|
-
import kotlin.time.Clock
|
|
6
|
-
import kotlin.time.ExperimentalTime
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Screen tracking state holder
|
|
10
|
-
*/
|
|
11
|
-
class ScreenTrackingState {
|
|
12
|
-
@OptIn(ExperimentalTime::class)
|
|
13
|
-
var startTime: Long = Clock.System.now().toEpochMilliseconds()
|
|
14
|
-
var endTime: Long = startTime
|
|
15
|
-
var releaseNavigated: Boolean = false
|
|
16
|
-
var releaseLoad: Boolean = false
|
|
17
|
-
var releaseInteraction: Boolean = false
|
|
18
|
-
var previousScreenName: String? = null
|
|
19
|
-
var action: String = "push"
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Screen tracker for auto tracking events
|
|
24
|
-
*
|
|
25
|
-
* Tracks 3 main events:
|
|
26
|
-
* - auto_screen_navigated: When screen is focused
|
|
27
|
-
* - auto_screen_displayed: When screen finished loading
|
|
28
|
-
* - auto_screen_interacted: When screen is ready for interaction
|
|
29
|
-
*/
|
|
30
|
-
object ScreenTracker {
|
|
31
|
-
|
|
32
|
-
private var lastScreenName: String? = null
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Track screen navigation event
|
|
36
|
-
* Called when screen is focused
|
|
37
|
-
*/
|
|
38
|
-
fun trackScreenNavigated(
|
|
39
|
-
maxApi: IMaxApi?,
|
|
40
|
-
context: MiniAppContext?,
|
|
41
|
-
screenName: String,
|
|
42
|
-
action: String,
|
|
43
|
-
state: ScreenTrackingState
|
|
44
|
-
) {
|
|
45
|
-
if (state.releaseNavigated) return
|
|
46
|
-
|
|
47
|
-
val previousScreen = lastScreenName
|
|
48
|
-
lastScreenName = screenName
|
|
49
|
-
|
|
50
|
-
println("Tracking screen navigated native kit: $screenName")
|
|
51
|
-
maxApi?.track(
|
|
52
|
-
eventName = "auto_screen_navigated",
|
|
53
|
-
params = buildBaseParams(context, screenName).apply {
|
|
54
|
-
put("pre_screen_name", previousScreen)
|
|
55
|
-
put("state", "navigated")
|
|
56
|
-
put("action", action)
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
state.releaseNavigated = true
|
|
61
|
-
state.previousScreenName = previousScreen
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Track screen displayed event
|
|
66
|
-
* Called when screen finished loading all elements
|
|
67
|
-
*/
|
|
68
|
-
fun trackScreenDisplayed(
|
|
69
|
-
maxApi: IMaxApi?,
|
|
70
|
-
context: MiniAppContext?,
|
|
71
|
-
screenName: String,
|
|
72
|
-
duration: Long,
|
|
73
|
-
state: ScreenTrackingState
|
|
74
|
-
) {
|
|
75
|
-
if (state.releaseLoad) return
|
|
76
|
-
|
|
77
|
-
maxApi?.track(
|
|
78
|
-
eventName = "auto_screen_displayed",
|
|
79
|
-
params = buildBaseParams(context, screenName).apply {
|
|
80
|
-
put("state", "load")
|
|
81
|
-
put("duration", duration)
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
state.releaseLoad = true
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Track screen interacted event
|
|
90
|
-
* Called when screen is ready for user interaction
|
|
91
|
-
*/
|
|
92
|
-
fun trackScreenInteracted(
|
|
93
|
-
maxApi: IMaxApi?,
|
|
94
|
-
context: MiniAppContext?,
|
|
95
|
-
screenName: String,
|
|
96
|
-
duration: Long,
|
|
97
|
-
totalDuration: Long,
|
|
98
|
-
state: ScreenTrackingState
|
|
99
|
-
) {
|
|
100
|
-
if (state.releaseInteraction) return
|
|
101
|
-
|
|
102
|
-
maxApi?.track(
|
|
103
|
-
eventName = "auto_screen_interacted",
|
|
104
|
-
params = buildBaseParams(context, screenName).apply {
|
|
105
|
-
put("state", "interaction")
|
|
106
|
-
put("duration", duration)
|
|
107
|
-
put("total_duration", totalDuration)
|
|
108
|
-
}
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
state.releaseInteraction = true
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Build base tracking params from MiniAppContext
|
|
116
|
-
*/
|
|
117
|
-
private fun buildBaseParams(
|
|
118
|
-
context: MiniAppContext?,
|
|
119
|
-
screenName: String,
|
|
120
|
-
componentName: String = "Screen"
|
|
121
|
-
): MutableMap<String, Any?> {
|
|
122
|
-
return mutableMapOf(
|
|
123
|
-
"app_id" to context?.appId,
|
|
124
|
-
"feature_code" to context?.appCode,
|
|
125
|
-
"screen_name" to screenName,
|
|
126
|
-
"component_name" to componentName,
|
|
127
|
-
"tracking_source" to 1
|
|
128
|
-
)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Track popup/modal displayed event
|
|
133
|
-
*
|
|
134
|
-
* @param popupName name of the popup/modal
|
|
135
|
-
* @param parentScreenName the screen that shows the popup
|
|
136
|
-
*/
|
|
137
|
-
fun trackPopupDisplayed(
|
|
138
|
-
maxApi: IMaxApi?,
|
|
139
|
-
context: MiniAppContext?,
|
|
140
|
-
parentScreenName: String?
|
|
141
|
-
) {
|
|
142
|
-
maxApi?.track(
|
|
143
|
-
eventName = "auto_popup_displayed",
|
|
144
|
-
params = mutableMapOf<String, Any?>(
|
|
145
|
-
"screen_name" to parentScreenName,
|
|
146
|
-
"tracking_source" to 1,
|
|
147
|
-
"app_id" to context?.appId,
|
|
148
|
-
"feature_code" to context?.appCode,
|
|
149
|
-
"kits_version" to null,
|
|
150
|
-
"component_name" to "Modal"
|
|
151
|
-
)
|
|
152
|
-
)
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Get previous screen name for back navigation detection
|
|
157
|
-
*/
|
|
158
|
-
fun getLastScreenName(): String? = lastScreenName
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Reset tracker (for testing or cleanup)
|
|
162
|
-
*/
|
|
163
|
-
@Suppress("UNUSED")
|
|
164
|
-
fun reset() {
|
|
165
|
-
lastScreenName = null
|
|
166
|
-
}
|
|
167
|
-
}
|
package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
version = "1.3">
|
|
4
|
-
<BuildAction>
|
|
5
|
-
<BuildActionEntries>
|
|
6
|
-
<BuildActionEntry
|
|
7
|
-
buildForRunning = "YES">
|
|
8
|
-
<BuildableReference
|
|
9
|
-
BuildableIdentifier = "primary"
|
|
10
|
-
BlueprintIdentifier = "A6A920D22B2ADD1E00C1A11F"
|
|
11
|
-
BuildableName = "Example"
|
|
12
|
-
BlueprintName = "Example"
|
|
13
|
-
ReferencedContainer = "container:Example.xcodeproj">
|
|
14
|
-
</BuildableReference>
|
|
15
|
-
</BuildActionEntry>
|
|
16
|
-
</BuildActionEntries>
|
|
17
|
-
</BuildAction>
|
|
18
|
-
<LaunchAction
|
|
19
|
-
useCustomWorkingDirectory = "NO"
|
|
20
|
-
buildConfiguration = "Debug"
|
|
21
|
-
allowLocationSimulation = "YES">
|
|
22
|
-
<BuildableProductRunnable>
|
|
23
|
-
<BuildableReference
|
|
24
|
-
BuildableIdentifier = "primary"
|
|
25
|
-
BlueprintIdentifier = "A6A920D22B2ADD1E00C1A11F"
|
|
26
|
-
BuildableName = "Example"
|
|
27
|
-
BlueprintName = "Example"
|
|
28
|
-
ReferencedContainer = "container:Example.xcodeproj">
|
|
29
|
-
</BuildableReference>
|
|
30
|
-
</BuildableProductRunnable>
|
|
31
|
-
</LaunchAction>
|
|
32
|
-
</Scheme>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>SchemeUserState</key>
|
|
6
|
-
<dict>
|
|
7
|
-
<key>Example.xcscheme</key>
|
|
8
|
-
<dict>
|
|
9
|
-
<key>orderHint</key>
|
|
10
|
-
<integer>7</integer>
|
|
11
|
-
</dict>
|
|
12
|
-
</dict>
|
|
13
|
-
</dict>
|
|
14
|
-
</plist>
|
|
Binary file
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>BuildLocationStyle</key>
|
|
6
|
-
<string>UseAppPreferences</string>
|
|
7
|
-
<key>CustomBuildLocationType</key>
|
|
8
|
-
<string>RelativeToDerivedData</string>
|
|
9
|
-
<key>DerivedDataCustomLocation</key>
|
|
10
|
-
<string>DerivedData</string>
|
|
11
|
-
<key>DerivedDataLocationStyle</key>
|
|
12
|
-
<string>WorkspaceRelativePath</string>
|
|
13
|
-
<key>ShowSharedSchemesAutomaticallyEnabled</key>
|
|
14
|
-
<true/>
|
|
15
|
-
</dict>
|
|
16
|
-
</plist>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "3B6FB503A75BF5BC1FA6F30BC06B9D28"
|
|
18
|
-
BuildableName = "MoMoUIKits.framework"
|
|
19
|
-
BlueprintName = "MoMoUIKits"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "0AEE99A309977BD12A049FF48AF9BA4B"
|
|
18
|
-
BuildableName = "Pods_Example.framework"
|
|
19
|
-
BlueprintName = "Pods-Example"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "3847153A6E5EEFB86565BA840768F429"
|
|
18
|
-
BuildableName = "SDWebImage.framework"
|
|
19
|
-
BlueprintName = "SDWebImage"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "92EBFA3E7005B4C18A9C0B44324EB80F"
|
|
18
|
-
BuildableName = "SDWebImageSwiftUI.framework"
|
|
19
|
-
BlueprintName = "SDWebImageSwiftUI"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "6510766A9670BFA3B251E2A62446FC5D"
|
|
18
|
-
BuildableName = "SkeletonUI.framework"
|
|
19
|
-
BlueprintName = "SkeletonUI"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "BF2A15FEC3F3424BBC4B9AD5F86F2D54"
|
|
18
|
-
BuildableName = "LottiePrivacyInfo.bundle"
|
|
19
|
-
BlueprintName = "lottie-ios-LottiePrivacyInfo"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1600"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "YES"
|
|
7
|
-
buildImplicitDependencies = "YES">
|
|
8
|
-
<BuildActionEntries>
|
|
9
|
-
<BuildActionEntry
|
|
10
|
-
buildForTesting = "YES"
|
|
11
|
-
buildForRunning = "YES"
|
|
12
|
-
buildForProfiling = "YES"
|
|
13
|
-
buildForArchiving = "YES"
|
|
14
|
-
buildForAnalyzing = "YES">
|
|
15
|
-
<BuildableReference
|
|
16
|
-
BuildableIdentifier = "primary"
|
|
17
|
-
BlueprintIdentifier = "0B967D7F8561D42493EE289EC8D450D1"
|
|
18
|
-
BuildableName = "Lottie.framework"
|
|
19
|
-
BlueprintName = "lottie-ios"
|
|
20
|
-
ReferencedContainer = "container:Pods.xcodeproj">
|
|
21
|
-
</BuildableReference>
|
|
22
|
-
</BuildActionEntry>
|
|
23
|
-
</BuildActionEntries>
|
|
24
|
-
</BuildAction>
|
|
25
|
-
<TestAction
|
|
26
|
-
buildConfiguration = "Debug"
|
|
27
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
-
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
|
-
<Testables>
|
|
31
|
-
</Testables>
|
|
32
|
-
</TestAction>
|
|
33
|
-
<LaunchAction
|
|
34
|
-
buildConfiguration = "Debug"
|
|
35
|
-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
36
|
-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
37
|
-
launchStyle = "0"
|
|
38
|
-
useCustomWorkingDirectory = "NO"
|
|
39
|
-
ignoresPersistentStateOnLaunch = "NO"
|
|
40
|
-
debugDocumentVersioning = "YES"
|
|
41
|
-
debugServiceExtension = "internal"
|
|
42
|
-
allowLocationSimulation = "YES">
|
|
43
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
</ProfileAction>
|
|
51
|
-
<AnalyzeAction
|
|
52
|
-
buildConfiguration = "Debug">
|
|
53
|
-
</AnalyzeAction>
|
|
54
|
-
<ArchiveAction
|
|
55
|
-
buildConfiguration = "Release"
|
|
56
|
-
revealArchiveInOrganizer = "YES">
|
|
57
|
-
</ArchiveAction>
|
|
58
|
-
</Scheme>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>SchemeUserState</key>
|
|
6
|
-
<dict>
|
|
7
|
-
<key>MoMoUIKits.xcscheme</key>
|
|
8
|
-
<dict>
|
|
9
|
-
<key>isShown</key>
|
|
10
|
-
<false />
|
|
11
|
-
<key>orderHint</key>
|
|
12
|
-
<integer>0</integer>
|
|
13
|
-
</dict>
|
|
14
|
-
<key>Pods-Example.xcscheme</key>
|
|
15
|
-
<dict>
|
|
16
|
-
<key>isShown</key>
|
|
17
|
-
<false />
|
|
18
|
-
<key>orderHint</key>
|
|
19
|
-
<integer>1</integer>
|
|
20
|
-
</dict>
|
|
21
|
-
<key>SDWebImage.xcscheme</key>
|
|
22
|
-
<dict>
|
|
23
|
-
<key>isShown</key>
|
|
24
|
-
<false />
|
|
25
|
-
<key>orderHint</key>
|
|
26
|
-
<integer>2</integer>
|
|
27
|
-
</dict>
|
|
28
|
-
<key>SDWebImageSwiftUI.xcscheme</key>
|
|
29
|
-
<dict>
|
|
30
|
-
<key>isShown</key>
|
|
31
|
-
<false />
|
|
32
|
-
<key>orderHint</key>
|
|
33
|
-
<integer>3</integer>
|
|
34
|
-
</dict>
|
|
35
|
-
<key>SkeletonUI.xcscheme</key>
|
|
36
|
-
<dict>
|
|
37
|
-
<key>isShown</key>
|
|
38
|
-
<false />
|
|
39
|
-
<key>orderHint</key>
|
|
40
|
-
<integer>4</integer>
|
|
41
|
-
</dict>
|
|
42
|
-
<key>lottie-ios-LottiePrivacyInfo.xcscheme</key>
|
|
43
|
-
<dict>
|
|
44
|
-
<key>isShown</key>
|
|
45
|
-
<false />
|
|
46
|
-
<key>orderHint</key>
|
|
47
|
-
<integer>5</integer>
|
|
48
|
-
</dict>
|
|
49
|
-
<key>lottie-ios.xcscheme</key>
|
|
50
|
-
<dict>
|
|
51
|
-
<key>isShown</key>
|
|
52
|
-
<false />
|
|
53
|
-
<key>orderHint</key>
|
|
54
|
-
<integer>6</integer>
|
|
55
|
-
</dict>
|
|
56
|
-
</dict>
|
|
57
|
-
<key>SuppressBuildableAutocreation</key>
|
|
58
|
-
<dict />
|
|
59
|
-
</dict>
|
|
60
|
-
</plist>
|
package/local.properties
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
## This file must *NOT* be checked into Version Control Systems,
|
|
2
|
-
# as it contains information specific to your local configuration.
|
|
3
|
-
#
|
|
4
|
-
# Location of the SDK. This is only used by Gradle.
|
|
5
|
-
# For customization when using a Version Control System, please read the
|
|
6
|
-
# header note.
|
|
7
|
-
#Tue Apr 08 11:13:31 ICT 2025
|
|
8
|
-
sdk.dir=/Users/sonnguyen/Library/Android/sdk
|