Skip to content

Commit 2b36e1b

Browse files
committed
Merge remote-tracking branch 'origin/master' into feature/trading_perpetual
2 parents 0b56274 + 4e07d45 commit 2b36e1b

17 files changed

+115
-48
lines changed

app/src/main/java/one/mixin/android/ui/home/ExploreFragment.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,13 @@ class ExploreFragment : BaseFragment() {
328328
DeviceFragment.newInstance().showNow(parentFragmentManager, DeviceFragment.TAG)
329329
}
330330
INTERNAL_BUY_ID -> {
331-
WalletActivity.showBuy(requireActivity(), false, null, null)
331+
WalletActivity.showBuy(
332+
requireActivity(),
333+
false,
334+
null,
335+
null,
336+
source = AnalyticsTracker.TradeSource.EXPLORE
337+
)
332338
}
333339
INTERNAL_SWAP_ID -> {
334340
AnalyticsTracker.trackTradeStart(TradeWallet.MAIN, AnalyticsTracker.TradeSource.EXPLORE)
@@ -568,4 +574,4 @@ class ExploreFragment : BaseFragment() {
568574
itemBinding.title.setText(res)
569575
}
570576
}
571-
}
577+
}

app/src/main/java/one/mixin/android/ui/landing/CreateAccountFragment.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import one.mixin.android.extension.openUrl
1414
import one.mixin.android.ui.landing.MobileFragment.Companion.FROM_LANDING
1515
import one.mixin.android.ui.landing.components.CreateAccountPage
1616
import one.mixin.android.ui.web.WebFragment
17-
import one.mixin.android.util.analytics.AnalyticsTracker
1817
import one.mixin.android.util.viewBinding
1918
import timber.log.Timber
2019

@@ -52,16 +51,12 @@ class CreateAccountFragment : Fragment(R.layout.fragment_compose) {
5251
}
5352
binding.compose.setContent {
5453
CreateAccountPage({ create ->
55-
if (create) {
56-
AnalyticsTracker.trackSignUpStart("phone_number")
57-
}
5854
activity?.addFragment(
5955
this@CreateAccountFragment,
6056
MobileFragment.newInstance(from = FROM_LANDING),
6157
MobileFragment.TAG,
6258
)
6359
}, {
64-
AnalyticsTracker.trackSignUpStart("mnemonic_phrase")
6560
activity?.addFragment(
6661
this@CreateAccountFragment,
6762
MnemonicPhraseFragment.newInstance(),

app/src/main/java/one/mixin/android/ui/landing/InitializeActivity.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class InitializeActivity : BaseActivity() {
2424
val wrongTime = intent.getBooleanExtra(WRONG_TIME, false)
2525
val oldVersion = intent.getBooleanExtra(OLD_VERSION, false)
2626
val dbUpgrade = intent.getBooleanExtra(DB_UPGRADE, false)
27+
val loadingSource = intent.getStringExtra(LOADING_SOURCE)
2728
when {
2829
setName -> replaceFragment(SetupNameFragment.newInstance(), R.id.container)
2930
setPin -> replaceFragment(SetupPinFragment.newInstance(), R.id.container)
@@ -32,7 +33,7 @@ class InitializeActivity : BaseActivity() {
3233
dbUpgrade -> replaceFragment(UpgradeFragment.newInstance(TYPE_DB), R.id.container)
3334
else ->
3435
replaceFragment(
35-
LoadingFragment.newInstance(),
36+
LoadingFragment.newInstance(loadingSource),
3637
R.id.container,
3738
LoadingFragment.TAG,
3839
)
@@ -48,6 +49,9 @@ class InitializeActivity : BaseActivity() {
4849
const val WRONG_TIME = "wrong_time"
4950
const val OLD_VERSION = "old_version"
5051
const val DB_UPGRADE = "db_upgrade"
52+
const val LOADING_SOURCE = "loading_source"
53+
const val SOURCE_SIGN_UP = "sign_up"
54+
const val SOURCE_LOGIN = "login"
5155

5256
private fun getIntent(
5357
context: Context,
@@ -56,13 +60,15 @@ class InitializeActivity : BaseActivity() {
5660
wrongTime: Boolean = false,
5761
oldVersion: Boolean = false,
5862
dbUpgrade: Boolean = false,
63+
loadingSource: String? = null,
5964
): Intent {
6065
return Intent(context, InitializeActivity::class.java).apply {
6166
this.putExtra(SET_NAME, setName)
6267
this.putExtra(SET_PIN, setPin)
6368
this.putExtra(WRONG_TIME, wrongTime)
6469
this.putExtra(OLD_VERSION, oldVersion)
6570
this.putExtra(DB_UPGRADE, dbUpgrade)
71+
loadingSource?.let { putExtra(LOADING_SOURCE, it) }
6672
}
6773
}
6874

@@ -92,12 +98,13 @@ class InitializeActivity : BaseActivity() {
9298
context: Context,
9399
load: Boolean = true,
94100
clear: Boolean = false,
101+
source: String? = null,
95102
) {
96103
if (load) {
97104
putIsLoaded(context, false)
98105
}
99106
context.startActivity(
100-
getIntent(context).apply {
107+
getIntent(context, loadingSource = source).apply {
101108
if (clear) {
102109
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
103110
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)

app/src/main/java/one/mixin/android/ui/landing/LandingFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ class LandingFragment : Fragment(R.layout.fragment_landing) {
170170

171171
binding.version.text = getString(R.string.current_version, BuildConfig.VERSION_NAME)
172172
binding.createTv.setOnClickListener {
173+
AnalyticsTracker.trackSignUpStart()
173174
CreateAccountConfirmBottomSheetDialogFragment.newInstance()
174175
.setOnCreateAccount {
175176
activity?.addFragment(
@@ -187,7 +188,6 @@ class LandingFragment : Fragment(R.layout.fragment_landing) {
187188
.showNow(parentFragmentManager, CreateAccountConfirmBottomSheetDialogFragment.TAG)
188189
}
189190
binding.continueTv.setOnClickListener {
190-
AnalyticsTracker.trackLoginStart()
191191
activity?.addFragment(
192192
this@LandingFragment,
193193
MobileFragment.newInstance(from = FROM_LANDING),

app/src/main/java/one/mixin/android/ui/landing/LandingMnemonicPhraseFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import one.mixin.android.ui.landing.components.MnemonicPhraseInput
1818
import one.mixin.android.ui.landing.components.MnemonicState
1919
import one.mixin.android.ui.logs.LogViewerBottomSheet
2020
import one.mixin.android.ui.web.WebFragment
21+
import one.mixin.android.util.analytics.AnalyticsTracker
2122
import one.mixin.android.util.viewBinding
2223
import timber.log.Timber
2324

@@ -44,6 +45,7 @@ class LandingMnemonicPhraseFragment : BaseFragment(R.layout.fragment_landing_mne
4445
applySafeTopPadding(view)
4546
}
4647
Timber.e("LandingMnemonicPhraseFragment onViewCreated")
48+
AnalyticsTracker.trackLoginMnemonicPhrase()
4749
binding.titleView.leftIb.setOnClickListener {
4850
requireActivity().onBackPressedDispatcher.onBackPressed()
4951
}
@@ -100,4 +102,4 @@ class LandingMnemonicPhraseFragment : BaseFragment(R.layout.fragment_landing_mne
100102
}
101103
ViewCompat.requestApplyInsets(rootView)
102104
}
103-
}
105+
}

app/src/main/java/one/mixin/android/ui/landing/LoadingFragment.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,13 @@ import javax.inject.Inject
5151
class LoadingFragment : BaseFragment(R.layout.fragment_loading) {
5252
companion object {
5353
const val TAG: String = "LoadingFragment"
54+
private const val ARGS_SOURCE = "args_source"
5455

55-
fun newInstance() = LoadingFragment()
56+
fun newInstance(source: String? = null) = LoadingFragment().apply {
57+
arguments = Bundle().apply {
58+
source?.let { putString(ARGS_SOURCE, it) }
59+
}
60+
}
5661
}
5762

5863
@Inject
@@ -67,7 +72,10 @@ class LoadingFragment : BaseFragment(R.layout.fragment_loading) {
6772
) {
6873
super.onViewCreated(view, savedInstanceState)
6974
MixinApplication.get().isOnline.set(true)
70-
AnalyticsTracker.trackSignalInit()
75+
when (arguments?.getString(ARGS_SOURCE)) {
76+
InitializeActivity.SOURCE_SIGN_UP -> AnalyticsTracker.trackSignUpSignalInit()
77+
InitializeActivity.SOURCE_LOGIN -> AnalyticsTracker.trackLoginSignalInit()
78+
}
7179
checkAndLoad()
7280
}
7381

app/src/main/java/one/mixin/android/ui/landing/LocalRestoreFragment.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class LocalRestoreFragment : BaseFragment(R.layout.fragment_local_restore) {
7474
.setMessage(R.string.restore_message)
7575
.setNegativeButton(R.string.Skip) { dialog, _ ->
7676
defaultSharedPreferences.putBoolean(Constants.Account.PREF_RESTORE, false)
77-
InitializeActivity.showLoading(requireContext())
77+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
7878
dialog.dismiss()
7979
requireActivity().finish()
8080
}
@@ -92,7 +92,7 @@ class LocalRestoreFragment : BaseFragment(R.layout.fragment_local_restore) {
9292
}
9393
},
9494
{
95-
InitializeActivity.showLoading(requireContext())
95+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
9696
requireActivity().finish()
9797
},
9898
)
@@ -194,7 +194,7 @@ class LocalRestoreFragment : BaseFragment(R.layout.fragment_local_restore) {
194194
.setPositiveButton(R.string.Skip) { dialog, _ ->
195195
dialog.dismiss()
196196
defaultSharedPreferences.putBoolean(Constants.Account.PREF_RESTORE, false)
197-
InitializeActivity.showLoading(requireContext())
197+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
198198
requireActivity().finish()
199199
}.create().run {
200200
this.setCanceledOnTouchOutside(false)
@@ -249,7 +249,7 @@ class LocalRestoreFragment : BaseFragment(R.layout.fragment_local_restore) {
249249
}
250250
}
251251
binding.restoreSkip.setOnClickListener {
252-
InitializeActivity.showLoading(requireContext())
252+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
253253
defaultSharedPreferences.putBoolean(Constants.Account.PREF_RESTORE, false)
254254
requireActivity().finish()
255255
}
@@ -270,7 +270,7 @@ class LocalRestoreFragment : BaseFragment(R.layout.fragment_local_restore) {
270270
private val restoreCallback: (result: Result) -> Unit = { result ->
271271
BackupNotification.cancel()
272272
if (result == Result.SUCCESS) {
273-
InitializeActivity.showLoading(requireContext())
273+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
274274
defaultSharedPreferences.putBoolean(
275275
Constants.Account.PREF_RESTORE,
276276
false,

app/src/main/java/one/mixin/android/ui/landing/MnemonicPhraseFragment.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,12 @@ class MnemonicPhraseFragment : BaseFragment(R.layout.fragment_compose) {
189189
},
190190

191191
failureBlock = { r ->
192-
if (r.errorCode == NEED_CAPTCHA) {
193-
if (words.isNullOrEmpty()) {
194-
AnalyticsTracker.trackSignUpCaptcha("mnemonic_phrase")
195-
} else {
196-
AnalyticsTracker.trackLoginCaptcha("mnemonic_phrase")
197-
}
192+
if (r.errorCode == NEED_CAPTCHA) {
193+
if (words.isNullOrEmpty()) {
194+
AnalyticsTracker.trackSignUpCaptcha()
195+
} else {
196+
AnalyticsTracker.trackLoginCaptcha("mnemonic_phrase")
197+
}
198198
initAndLoadCaptcha(sessionKey, edKey, r.errorDescription)
199199
} else {
200200
errorInfo = requireContext().getMixinErrorStringByCode(r.errorCode, r.errorDescription)

app/src/main/java/one/mixin/android/ui/landing/MobileFragment.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@ class MobileFragment: BaseFragment(R.layout.fragment_mobile) {
133133
applySafeTopPadding(view)
134134
}
135135
Timber.e("MobileFragment onViewCreated")
136+
if (from == FROM_LANDING) {
137+
AnalyticsTracker.trackLoginStart()
138+
}
136139
binding.apply {
137140
pin = requireArguments().getString(ARGS_PIN)
138141
if (pin != null) {
@@ -209,7 +212,6 @@ class MobileFragment: BaseFragment(R.layout.fragment_mobile) {
209212
keyboard.initPinKeys()
210213
keyboard.setOnClickKeyboardListener(mKeyboardListener)
211214
mnemonicPhrase.setOnClickListener {
212-
AnalyticsTracker.trackLoginMnemonicPhrase()
213215
activity?.addFragment(
214216
this@MobileFragment,
215217
LandingMnemonicPhraseFragment.newInstance(),
@@ -306,6 +308,9 @@ class MobileFragment: BaseFragment(R.layout.fragment_mobile) {
306308
)
307309
.setNegativeButton(R.string.Change) { dialog, _ -> dialog.dismiss() }
308310
.setPositiveButton(R.string.Confirm) { dialog, _ ->
311+
if (from == FROM_LANDING) {
312+
AnalyticsTracker.trackLoginSmsSendConfirmed()
313+
}
309314
requestSend()
310315
dialog.dismiss()
311316
}
@@ -438,7 +443,7 @@ class MobileFragment: BaseFragment(R.layout.fragment_mobile) {
438443
(view as ViewGroup).addView(captchaView?.webView, MATCH_PARENT, MATCH_PARENT)
439444
}
440445
if (from == FROM_LANDING_CREATE) {
441-
AnalyticsTracker.trackSignUpCaptcha("phone_number")
446+
AnalyticsTracker.trackSignUpCaptcha()
442447
} else if (from == FROM_LANDING) {
443448
AnalyticsTracker.trackLoginCaptcha("phone_number")
444449
}

app/src/main/java/one/mixin/android/ui/landing/RestoreFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class RestoreFragment : BaseFragment(R.layout.fragment_restore) {
9191
skipTv.setOnClickListener {
9292
AnalyticsTracker.trackLoginRestore("skip")
9393
Timber.e("RestoreFragment skip")
94-
InitializeActivity.showLoading(requireContext())
94+
InitializeActivity.showLoading(requireContext(), source = InitializeActivity.SOURCE_LOGIN)
9595
defaultSharedPreferences.putBoolean(Constants.Account.PREF_RESTORE, false)
9696
requireActivity().finish()
9797
}

0 commit comments

Comments
 (0)