国内登录注册界面
This commit is contained in:
2
.idea/deploymentTargetSelector.xml
generated
2
.idea/deploymentTargetSelector.xml
generated
@@ -4,7 +4,7 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2026-06-01T08:32:46.679728300Z">
|
||||
<DropdownSelection timestamp="2026-06-15T09:38:09.014028800Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=GBG5T19625003301" />
|
||||
|
||||
@@ -1 +1 @@
|
||||
#Tue Jun 09 18:35:33 CST 2026
|
||||
#Fri Jun 12 18:29:22 CST 2026
|
||||
|
||||
@@ -28,9 +28,9 @@ android {
|
||||
applicationId "com.abbidot.tracker"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 35
|
||||
versionCode 2210
|
||||
// versionName "2.2.10"
|
||||
versionName "2.2.10-Beta3"
|
||||
versionCode 2211
|
||||
// versionName "2.2.11"
|
||||
versionName "2.2.11-Beta1"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
@@ -127,7 +127,7 @@ android {
|
||||
zipAlignEnabled true
|
||||
// 设置混淆
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +106,15 @@
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:replace="android:supportsRtl"
|
||||
tools:targetApi="n">
|
||||
<activity
|
||||
android:name=".ui.activity.account.cn.RegisterCNActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".ui.activity.account.cn.ForgotPasswordCNActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".ui.activity.account.cn.VerifyCodeLoginCNActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".ui.activity.account.cn.LoginV2CNActivity"
|
||||
android:exported="false" />
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.abbidot.tracker.base
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Rect
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.Gravity
|
||||
@@ -526,12 +528,12 @@ abstract class BaseActivity<T : ViewBinding>(val inflater: (inflater: LayoutInfl
|
||||
|
||||
override fun finish() {
|
||||
super.finish()
|
||||
overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right)
|
||||
overrideTransitionClose(R.anim.slide_still, R.anim.slide_out_right)
|
||||
}
|
||||
|
||||
override fun startActivity(intent: Intent) {
|
||||
super.startActivity(intent)
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
overrideTransitionOpen(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
}
|
||||
|
||||
fun startActivityFinish(intent: Intent) {
|
||||
@@ -541,7 +543,7 @@ abstract class BaseActivity<T : ViewBinding>(val inflater: (inflater: LayoutInfl
|
||||
|
||||
override fun startActivity(intent: Intent, options: Bundle?) {
|
||||
super.startActivity(intent, options)
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
overrideTransitionOpen(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -549,7 +551,25 @@ abstract class BaseActivity<T : ViewBinding>(val inflater: (inflater: LayoutInfl
|
||||
*/
|
||||
fun launchActivity(activityResultLauncher: ActivityResultLauncher<Intent>, intent: Intent) {
|
||||
activityResultLauncher.launch(intent)
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
overrideTransitionOpen(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
}
|
||||
|
||||
private fun Activity.overrideTransitionOpen(enter: Int, exit: Int) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, enter, exit)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
overridePendingTransition(enter, exit)
|
||||
}
|
||||
}
|
||||
|
||||
private fun Activity.overrideTransitionClose(enter: Int, exit: Int) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_CLOSE, enter, exit)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
overridePendingTransition(enter, exit)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,6 +13,8 @@ import com.abbidot.tracker.databinding.ActivitySayHelloBinding
|
||||
import com.abbidot.tracker.ui.activity.account.CreateAccountV2Activity
|
||||
import com.abbidot.tracker.ui.activity.account.LoginV2Activity
|
||||
import com.abbidot.tracker.ui.activity.account.cn.LoginV2CNActivity
|
||||
import com.abbidot.tracker.ui.activity.account.cn.RegisterCNActivity
|
||||
import com.abbidot.tracker.util.ThirdPartyUtil
|
||||
|
||||
class SayHelloActivity : BaseActivity<ActivitySayHelloBinding>(ActivitySayHelloBinding::inflate) {
|
||||
|
||||
@@ -51,11 +53,15 @@ class SayHelloActivity : BaseActivity<ActivitySayHelloBinding>(ActivitySayHelloB
|
||||
}
|
||||
}
|
||||
|
||||
btnSayHelloSignup -> startActivity(
|
||||
Intent(
|
||||
mContext, CreateAccountV2Activity::class.java
|
||||
)
|
||||
)
|
||||
btnSayHelloSignup -> {
|
||||
if (AppUtils.isChina()) {
|
||||
startActivity(Intent(mContext, RegisterCNActivity::class.java))
|
||||
} else {
|
||||
startActivity(Intent(mContext, CreateAccountV2Activity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
btnSayHelloLoginWechat -> ThirdPartyUtil.instance.startWXLogin(this@SayHelloActivity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,12 @@ package com.abbidot.tracker.ui.activity
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.app.NotificationManager
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
@@ -35,7 +36,6 @@ import com.baidu.mapapi.SDKInitializer
|
||||
import com.hjq.toast.Toaster
|
||||
import com.qmuiteam.qmui.arch.QMUIActivity
|
||||
import com.stripe.android.PaymentConfiguration
|
||||
import com.tencent.mm.opensdk.constants.ConstantsAPI
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI
|
||||
import java.util.Calendar
|
||||
|
||||
@@ -113,8 +113,8 @@ class SplashActivity : QMUIActivity() {
|
||||
} else {
|
||||
startActivity(Util.checkBindDeviceAndPetGoActivity(mContext))
|
||||
}
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
finish()
|
||||
overrideTransitionClose(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
}
|
||||
|
||||
|
||||
@@ -137,6 +137,15 @@ class SplashActivity : QMUIActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun Activity.overrideTransitionClose(enter: Int, exit: Int) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_CLOSE, enter, exit)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
overridePendingTransition(enter, exit)
|
||||
}
|
||||
}
|
||||
|
||||
// 字体大小不跟随系统
|
||||
override fun attachBaseContext(newBase: Context) {
|
||||
super.attachBaseContext(getConfigurationContext(newBase))
|
||||
@@ -198,7 +207,7 @@ class SplashActivity : QMUIActivity() {
|
||||
SDKInitializer.setCoordType(CoordType.GCJ02)
|
||||
|
||||
if (AppUtils.isChina()) {
|
||||
// regToWx()
|
||||
regToWx()
|
||||
} else {
|
||||
initMapbox()
|
||||
try {
|
||||
@@ -238,16 +247,16 @@ class SplashActivity : QMUIActivity() {
|
||||
private fun regToWx() {
|
||||
mApi = ThirdPartyUtil.mApi
|
||||
// 将应用的 appId 注册到微信
|
||||
// mApi.registerApp(ThirdPartyUtil.wXAppID)
|
||||
|
||||
mWXAppBroadcastReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context?, intent: Intent?) {
|
||||
// 将该 app 注册到微信
|
||||
mApi.registerApp(ThirdPartyUtil.WXAppID)
|
||||
}
|
||||
}
|
||||
|
||||
// mWXAppBroadcastReceiver = object : BroadcastReceiver() {
|
||||
// override fun onReceive(context: Context?, intent: Intent?) {
|
||||
// // 将该 app 注册到微信
|
||||
// mApi.registerApp(ThirdPartyUtil.WXAppID)
|
||||
// }
|
||||
// }
|
||||
//建议动态监听微信启动广播进行注册到微信
|
||||
registerReceiver(mWXAppBroadcastReceiver, IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP))
|
||||
// registerReceiver(mWXAppBroadcastReceiver, IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP))
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.abbidot.tracker.ui.fragment.account.EmailValidFragment
|
||||
open class AddEmailValidActivity :
|
||||
BaseActivity<ActivityAddEmailValidBinding>(ActivityAddEmailValidBinding::inflate) {
|
||||
|
||||
lateinit var mFragmentList: MutableList<Fragment>
|
||||
lateinit var mEmailValidFragment: EmailValidFragment
|
||||
val mFragmentList = mutableListOf<Fragment>()
|
||||
var mEmailValidFragment: EmailValidFragment? = null
|
||||
|
||||
private var mIndex = 0
|
||||
|
||||
@@ -36,12 +36,12 @@ open class AddEmailValidActivity :
|
||||
}
|
||||
|
||||
switchFragment(mIndex)
|
||||
mEmailValidFragment.setEmail(mUserEmail)
|
||||
mEmailValidFragment?.setEmail(mUserEmail)
|
||||
}
|
||||
|
||||
fun setToEmail(email: String) {
|
||||
mUserEmail = email
|
||||
mEmailValidFragment.setEmail(mUserEmail)
|
||||
mEmailValidFragment?.setEmail(mUserEmail)
|
||||
}
|
||||
|
||||
fun switchFragment(index: Int) {
|
||||
|
||||
@@ -17,6 +17,7 @@ class ChangeEmailActivity : AddEmailValidActivity() {
|
||||
private val mUserViewModel: UserProfileViewModel by viewModels()
|
||||
|
||||
override fun initData() {
|
||||
mContext = this
|
||||
//验证老的邮箱验证码
|
||||
val oldEmailValidFragment = EmailValidFragment.newInstance(mContext, 2) {
|
||||
switchFragment(1)
|
||||
@@ -26,12 +27,19 @@ class ChangeEmailActivity : AddEmailValidActivity() {
|
||||
mEmailValidFragment =
|
||||
EmailValidFragment.newInstance(mContext, 3, getString(R.string.txt_change_now)) {
|
||||
updateEmail()
|
||||
}
|
||||
mFragmentList = mutableListOf(
|
||||
oldEmailValidFragment, ForgotPasswordV2OneFragment.newInstance(
|
||||
mContext, getString(R.string.txt_enter_new_email), 3, 1
|
||||
), mEmailValidFragment
|
||||
}.apply {
|
||||
mContext = this@ChangeEmailActivity
|
||||
mFragmentList.add(oldEmailValidFragment)
|
||||
mFragmentList.add(
|
||||
ForgotPasswordV2OneFragment.newInstance(
|
||||
mContext!!,
|
||||
mContext!!.getString(R.string.txt_enter_new_email),
|
||||
3,
|
||||
1
|
||||
)
|
||||
)
|
||||
mFragmentList.add(this)
|
||||
}
|
||||
super.initData()
|
||||
}
|
||||
|
||||
|
||||
@@ -12,14 +12,13 @@ import com.abbidot.tracker.ui.fragment.account.EmailValidFragment
|
||||
class CreateAccountV2Activity : AddEmailValidActivity() {
|
||||
|
||||
override fun initData() {
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(mContext, 1) {
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(this, 1) {
|
||||
switchFragment(2)
|
||||
}.apply {
|
||||
mFragmentList.add(CreateAccountV2OneFragment.newInstance(this@CreateAccountV2Activity))
|
||||
mFragmentList.add(this)
|
||||
mFragmentList.add(CreateAccountV2ThreeFragment.newInstance(this@CreateAccountV2Activity))
|
||||
}
|
||||
mFragmentList = mutableListOf(
|
||||
CreateAccountV2OneFragment.newInstance(mContext),
|
||||
mEmailValidFragment,
|
||||
CreateAccountV2ThreeFragment.newInstance(mContext)
|
||||
)
|
||||
super.initData()
|
||||
}
|
||||
}
|
||||
@@ -14,17 +14,22 @@ import com.abbidot.tracker.ui.fragment.account.ForgotPasswordV2ThereFragment
|
||||
class ForgotPasswordV2Activity : AddEmailValidActivity() {
|
||||
|
||||
override fun initData() {
|
||||
mContext = this
|
||||
intent.extras?.apply {
|
||||
mUserEmail = getString(MMKVKey.Email, "")
|
||||
}
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(mContext, 2) {
|
||||
switchFragment(2)
|
||||
}
|
||||
mFragmentList = mutableListOf(
|
||||
}.apply {
|
||||
mContext = this@ForgotPasswordV2Activity
|
||||
mFragmentList.add(
|
||||
ForgotPasswordV2OneFragment.newInstance(
|
||||
mContext, getString(R.string.txt_change_pwd), 2
|
||||
), mEmailValidFragment, ForgotPasswordV2ThereFragment.newInstance(mContext)
|
||||
mContext!!, mContext!!.getString(R.string.txt_change_pwd), 2
|
||||
)
|
||||
)
|
||||
mFragmentList.add(this)
|
||||
mFragmentList.add(ForgotPasswordV2ThereFragment.newInstance(mContext!!))
|
||||
}
|
||||
super.initData()
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.abbidot.tracker.ui.activity.account.cn
|
||||
|
||||
import com.abbidot.baselibrary.constant.MMKVKey
|
||||
import com.abbidot.tracker.ui.activity.account.AddEmailValidActivity
|
||||
import com.abbidot.tracker.ui.fragment.account.EmailValidFragment
|
||||
import com.abbidot.tracker.ui.fragment.account.ForgotPasswordV2ThereFragment
|
||||
import com.abbidot.tracker.ui.fragment.account.cn.AccountCnPhoneFragment
|
||||
|
||||
/**
|
||||
*Created by .yzq on 2024/8/2/002.
|
||||
* @link
|
||||
* @description:
|
||||
*/
|
||||
class ForgotPasswordCNActivity : AddEmailValidActivity() {
|
||||
|
||||
override fun initData() {
|
||||
mContext = this
|
||||
intent.extras?.apply {
|
||||
mUserEmail = getString(MMKVKey.Email, "")
|
||||
}
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(mContext, 2) {
|
||||
switchFragment(2)
|
||||
}.apply {
|
||||
mContext = this@ForgotPasswordCNActivity
|
||||
mFragmentList.add(AccountCnPhoneFragment.newInstance(mContext!!))
|
||||
mFragmentList.add(this)
|
||||
mFragmentList.add(ForgotPasswordV2ThereFragment.newInstance(mContext!!))
|
||||
}
|
||||
super.initData()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.abbidot.tracker.ui.activity.account.cn
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Paint
|
||||
import android.text.InputFilter
|
||||
import android.text.InputType
|
||||
import android.view.View
|
||||
import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.base.BaseActivity
|
||||
import com.abbidot.tracker.databinding.ActivityLoginV2CnBinding
|
||||
@@ -23,6 +25,8 @@ class LoginV2CNActivity :
|
||||
it.tvInputNameTitle.setText(R.string.login_txt_phone)
|
||||
it.etInputContent.setHint(R.string.login_txt_phone)
|
||||
it.etInputContent.inputType = InputType.TYPE_CLASS_PHONE
|
||||
val filters = arrayOf<InputFilter>(InputFilter.LengthFilter(11))
|
||||
it.etInputContent.filters = filters
|
||||
ViewUtil.instance.setInputViewErrorHideClick(
|
||||
mContext, it.rlEtInputLayout, tvPhoneErrorTipLoginCn, it.etInputContent
|
||||
)
|
||||
@@ -47,7 +51,29 @@ class LoginV2CNActivity :
|
||||
ilLoginV2CnPassword.ivInputRepresentImage,
|
||||
btnLoginV2CnLogin, btnLoginV2CnLoginCode
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun goForgotPassword() {
|
||||
Intent(mContext, ForgotPasswordCNActivity::class.java).apply {
|
||||
// val email = mViewBinding.ilLoginV2EmailAddress.etInputContent.text.toString()
|
||||
// putExtra(MMKVKey.Email, email)
|
||||
startActivity(this)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
mViewBinding.apply {
|
||||
when (v!!) {
|
||||
btnLoginV2CnLoginCode -> startActivity(
|
||||
Intent(
|
||||
mContext,
|
||||
VerifyCodeLoginCNActivity::class.java
|
||||
)
|
||||
)
|
||||
|
||||
tvLoginV2CnForgotPassword -> goForgotPassword()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.abbidot.tracker.ui.activity.account.cn
|
||||
|
||||
import com.abbidot.tracker.ui.activity.account.AddEmailValidActivity
|
||||
import com.abbidot.tracker.ui.fragment.account.CreateAccountV2ThreeFragment
|
||||
import com.abbidot.tracker.ui.fragment.account.EmailValidFragment
|
||||
import com.abbidot.tracker.ui.fragment.account.cn.AccountCnPhoneFragment
|
||||
|
||||
class RegisterCNActivity : AddEmailValidActivity() {
|
||||
override fun initData() {
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(this, 1) {
|
||||
switchFragment(2)
|
||||
}.apply {
|
||||
mFragmentList.add(AccountCnPhoneFragment.newInstance(this@RegisterCNActivity))
|
||||
mFragmentList.add(this)
|
||||
mFragmentList.add(CreateAccountV2ThreeFragment.newInstance(this@RegisterCNActivity))
|
||||
}
|
||||
super.initData()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.abbidot.tracker.ui.activity.account.cn
|
||||
|
||||
import com.abbidot.tracker.ui.activity.account.AddEmailValidActivity
|
||||
import com.abbidot.tracker.ui.fragment.account.EmailValidFragment
|
||||
import com.abbidot.tracker.ui.fragment.account.cn.AccountCnPhoneFragment
|
||||
|
||||
class VerifyCodeLoginCNActivity : AddEmailValidActivity() {
|
||||
override fun initData() {
|
||||
mEmailValidFragment = EmailValidFragment.newInstance(this, 1) {
|
||||
// switchFragment(2)
|
||||
}.apply {
|
||||
mFragmentList.add(AccountCnPhoneFragment.newInstance(this@VerifyCodeLoginCNActivity))
|
||||
mFragmentList.add(this)
|
||||
}
|
||||
super.initData()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.base.BaseFragment
|
||||
import com.abbidot.tracker.constant.GetResultCallback
|
||||
import com.abbidot.tracker.databinding.FragmentCreateAccountV2ThreeBinding
|
||||
import com.abbidot.tracker.ui.activity.account.CreateAccountV2Activity
|
||||
import com.abbidot.tracker.ui.activity.account.AddEmailValidActivity
|
||||
import com.abbidot.tracker.ui.activity.account.SignupSuccessActivity
|
||||
import com.abbidot.tracker.ui.common.CountryCommon
|
||||
import com.abbidot.tracker.util.Util
|
||||
@@ -33,8 +33,6 @@ class CreateAccountV2ThreeFragment : BaseFragment<FragmentCreateAccountV2ThreeBi
|
||||
|
||||
private val mUserViewModel: UserProfileViewModel by viewModels()
|
||||
|
||||
private lateinit var mCreateAccountV2Activity: CreateAccountV2Activity
|
||||
|
||||
private lateinit var mCountryCommon: CountryCommon
|
||||
|
||||
private var isShowPassword = false
|
||||
@@ -48,7 +46,6 @@ class CreateAccountV2ThreeFragment : BaseFragment<FragmentCreateAccountV2ThreeBi
|
||||
|
||||
override fun initData() {
|
||||
super.initData()
|
||||
mCreateAccountV2Activity = activity as CreateAccountV2Activity
|
||||
mViewBinding.apply {
|
||||
|
||||
ilCreateAccountV2FullName.let {
|
||||
@@ -118,12 +115,15 @@ class CreateAccountV2ThreeFragment : BaseFragment<FragmentCreateAccountV2ThreeBi
|
||||
)
|
||||
}
|
||||
|
||||
mUserViewModel.getCountryCodes(mCreateAccountV2Activity)
|
||||
getHostActivity(AddEmailValidActivity::class.java)?.let {
|
||||
mUserViewModel.getCountryCodes(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun liveDataObserve() {
|
||||
getHostActivity(AddEmailValidActivity::class.java)?.let { ac ->
|
||||
mUserViewModel.apply {
|
||||
mCountryCodeLiveData.observe(mCreateAccountV2Activity) {
|
||||
mCountryCodeLiveData.observe(ac) {
|
||||
dealRequestResult(it, object : GetResultCallback {
|
||||
override fun onResult(any: Any) {
|
||||
it.getOrNull()?.apply {
|
||||
@@ -132,26 +132,28 @@ class CreateAccountV2ThreeFragment : BaseFragment<FragmentCreateAccountV2ThreeBi
|
||||
}
|
||||
})
|
||||
}
|
||||
mRegisterV2LiveData.observe(mCreateAccountV2Activity) {
|
||||
mRegisterV2LiveData.observe(ac) {
|
||||
dealRequestResult(it, object : GetResultCallback {
|
||||
override fun onResult(any: Any) {
|
||||
it.getOrNull()?.apply {
|
||||
Util.dealLoginSuccessData(mContext!!, this)
|
||||
val intent = Intent(mContext, SignupSuccessActivity::class.java)
|
||||
mCreateAccountV2Activity.startActivityFinish(intent)
|
||||
ac.startActivityFinish(intent)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun signupClick() {
|
||||
getHostActivity(AddEmailValidActivity::class.java)?.let {
|
||||
mViewBinding.apply {
|
||||
val name = ilCreateAccountV2FullName.etInputContent.text.toString()
|
||||
// val country = ilCreateAccountV2Country.etInputContent.text.toString()
|
||||
val country = "1212"
|
||||
val email = mCreateAccountV2Activity.mUserEmail
|
||||
val email = it.mUserEmail
|
||||
var password = ilCreateAccountV2Password.etInputContent.text.toString()
|
||||
var isSure = true
|
||||
if (TextUtils.isEmpty(name)) {
|
||||
@@ -193,10 +195,11 @@ class CreateAccountV2ThreeFragment : BaseFragment<FragmentCreateAccountV2ThreeBi
|
||||
|
||||
password = Utils.get32Md5Value(password)
|
||||
mUserViewModel.registerV2(
|
||||
mCreateAccountV2Activity, email, password, name, mCountryCommon.getCountryCode()
|
||||
it, email, password, name, mCountryCommon.getCountryCode()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
mViewBinding.apply {
|
||||
|
||||
@@ -37,7 +37,7 @@ open class EmailValidFragment : BaseFragment<FragmentBaseEmailValidBinding>(
|
||||
private var mBtnString = ""
|
||||
private var mEmailCodeType = 0
|
||||
|
||||
private lateinit var mOnOkClickListener: OnClickListener
|
||||
private var mOnOkClickListener: OnClickListener?=null
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
@@ -150,7 +150,7 @@ open class EmailValidFragment : BaseFragment<FragmentBaseEmailValidBinding>(
|
||||
dealRequestResult(it, object : GetResultCallback {
|
||||
override fun onResult(any: Any) {
|
||||
it.getOrNull()?.apply {
|
||||
mOnOkClickListener.onClick(view)
|
||||
mOnOkClickListener?.onClick(view)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package com.abbidot.tracker.ui.fragment.account.cn
|
||||
|
||||
import android.content.Context
|
||||
import android.text.InputFilter
|
||||
import android.text.InputType
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.base.BaseFragment
|
||||
import com.abbidot.tracker.databinding.FragmentAccountCnPhoneBinding
|
||||
import com.abbidot.tracker.ui.activity.account.AddEmailValidActivity
|
||||
import com.abbidot.tracker.util.ViewUtil
|
||||
|
||||
/**
|
||||
* A simple [Fragment] subclass.
|
||||
@@ -14,14 +21,36 @@ class AccountCnPhoneFragment :
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun newInstance() =
|
||||
fun newInstance(context: Context) =
|
||||
AccountCnPhoneFragment().apply {
|
||||
|
||||
mContext = context
|
||||
}
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
super.initData()
|
||||
mViewBinding.apply {
|
||||
ilAccountCnPhoneEditLayout.let {
|
||||
it.tvInputNameTitle.setText(R.string.login_txt_phone)
|
||||
it.etInputContent.setHint(R.string.login_txt_phone)
|
||||
val filters = arrayOf<InputFilter>(InputFilter.LengthFilter(11))
|
||||
it.etInputContent.filters = filters
|
||||
it.etInputContent.inputType = InputType.TYPE_CLASS_PHONE
|
||||
ViewUtil.instance.setInputViewErrorHideClick(
|
||||
mContext!!, it.rlEtInputLayout, tvAccountCnPhoneErrorTip, it.etInputContent
|
||||
)
|
||||
}
|
||||
setOnClickListenerViews(btnAccountCnPhoneContinue)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
mViewBinding.apply {
|
||||
when (v!!) {
|
||||
btnAccountCnPhoneContinue -> getHostActivity(AddEmailValidActivity::class.java)?.switchFragment(
|
||||
1
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#990F1719" />
|
||||
android:background="@color/transparent_black" />
|
||||
|
||||
<include
|
||||
android:id="@+id/forgot_password_v2_top_bar"
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_60"
|
||||
android:background="@drawable/selector_transparent_pressed"
|
||||
android:text="@string/login_txt_login_code"
|
||||
android:textColor="@color/gray_color50"
|
||||
android:textSize="@dimen/textSize16"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="@dimen/dp_16"
|
||||
android:paddingTop="@dimen/dp_24"
|
||||
android:paddingBottom="@dimen/dp_36"
|
||||
@@ -16,54 +17,36 @@
|
||||
android:textSize="@dimen/textSize32"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:gravity="start"
|
||||
android:text="@string/txt_reset_password_tips"
|
||||
android:textColor="@color/select_color3"
|
||||
android:textSize="@dimen/textSize14"
|
||||
android:visibility="gone"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
|
||||
<include
|
||||
android:id="@+id/il_create_account_v2_email"
|
||||
android:id="@+id/il_account_cn_phone_edit_layout"
|
||||
layout="@layout/layout_input_edit_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_66"
|
||||
android:layout_marginTop="@dimen/dp_32" />
|
||||
android:layout_marginTop="@dimen/dp_18" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
android:id="@+id/tv_email_error_tip_create_account_v2"
|
||||
android:id="@+id/tv_account_cn_phone_error_tip"
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_below="@id/il_login_v2_email_address"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="@string/txt_valid_email"
|
||||
android:text="@string/txt_use_valid_phone"
|
||||
android:textColor="@color/red_color2"
|
||||
android:textSize="@dimen/textSize14"
|
||||
android:visibility="gone"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
|
||||
<include
|
||||
android:id="@+id/il_create_account_v2_policy_terms_check"
|
||||
layout="@layout/layout_create_account_policy_terms"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_18" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceButton
|
||||
android:id="@+id/btn_create_account_v2_continue"
|
||||
android:id="@+id/btn_account_cn_phone_continue"
|
||||
style="@style/my_match_RoundRect_Button_style"
|
||||
android:text="@string/txt_continue"
|
||||
app:qmui_radius="@dimen/dp_64"
|
||||
app:typeface="@string/roboto_bold_font" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_width="match_parent"
|
||||
android:text="@string/txt_verify_your_email"
|
||||
android:textColor="@color/select_color3"
|
||||
android:textSize="@dimen/textSize14"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
@@ -8,7 +8,7 @@
|
||||
android:paddingHorizontal="@dimen/dp_16"
|
||||
android:paddingTop="@dimen/dp_24"
|
||||
android:paddingBottom="@dimen/dp_60"
|
||||
tools:context=".ui.fragment.account.ForgotPasswordV2OneFragment">
|
||||
tools:context=".ui.fragment.account.EmailValidFragment">
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
android:paddingHorizontal="@dimen/dp_16"
|
||||
android:paddingTop="@dimen/dp_24"
|
||||
android:paddingBottom="@dimen/dp_60"
|
||||
tools:context=".ui.fragment.account.ForgotPasswordV2OneFragment">
|
||||
tools:context=".ui.fragment.account.ForgotPasswordV2ThereFragment">
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<!-- 透明色 -->
|
||||
<color name="transparent">#00000000</color>
|
||||
<color name="transparent_half">#80000000</color>
|
||||
<color name="transparent_black">#990F1719</color>
|
||||
|
||||
<!-- 白色 -->
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
|
||||
@@ -1119,5 +1119,6 @@
|
||||
|
||||
<string name="txt_use_valid_phone">请使用有效的手机号码</string>
|
||||
<string name="txt_account">账户</string>
|
||||
<string name="title_activity_register_cnactivity">RegisterCNActivity</string>
|
||||
|
||||
</resources>
|
||||
@@ -93,7 +93,7 @@ class AppUtils {
|
||||
* 是否是国内
|
||||
*/
|
||||
fun isChina(type: String = SWITCH_PAGE_TYPE): Boolean {
|
||||
return false
|
||||
// return false
|
||||
if (isDebug()) {
|
||||
if (type == SWITCH_MAP_TYPE && MMKVUtil.getBoolean(MMKVKey.OnlyGoogleMap, false)) {
|
||||
//只启用谷歌地图
|
||||
|
||||
Reference in New Issue
Block a user