diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8c1d637..3dac209 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,7 +43,7 @@ android:name=".personal.RetrievePasswordActivity" android:exported="false" /> + android:configChanges="orientation|screenSize|keyboardHidden" + android:exported="false" /> @@ -105,7 +105,7 @@ android:exported="false" /> + android:exported="false" /> diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/AddLinkedUserActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/AddLinkedUserActivity.kt index 8642e0a..72c8636 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/AddLinkedUserActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/AddLinkedUserActivity.kt @@ -21,7 +21,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import androidx.recyclerview.widget.RecyclerView -//添加关联用户 +//添加关联用户-删除和解除关联 class AddLinkedUserActivity : AppCompatActivity() { private lateinit var binding: AddLinkedUserActivityBinding private val selectedPhoneSet = mutableSetOf() diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/AutoModeActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/AutoModeActivity.kt index 730cd4b..23da731 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/AutoModeActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/AutoModeActivity.kt @@ -194,7 +194,7 @@ class AutoModeActivity : AppCompatActivity() { Toast.makeText(this@AutoModeActivity, "修改成功", Toast.LENGTH_SHORT).show() DeviceUpdateEvent.notifyDeviceUpdated(deviceId) } else { - Toast.makeText(this@AutoModeActivity, response.msg, Toast.LENGTH_SHORT).show() + Toast.makeText(this@AutoModeActivity, "修改失败", Toast.LENGTH_SHORT).show() } finish() } diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/LinkedUserActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/LinkedUserActivity.kt index 790d7d6..64860f3 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/LinkedUserActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/LinkedUserActivity.kt @@ -17,7 +17,9 @@ import com.example.defenseapplication.adapter.LinkedUserAdapter import com.example.defenseapplication.bean.DeleteDeviceUserRequest import com.example.defenseapplication.bean.DeviceUserBean import com.example.defenseapplication.bean.FamilyMembersBean +import com.example.defenseapplication.bean.VerifyOptionPasswordRequest import com.example.defenseapplication.databinding.LinkedUserActivityBinding +import com.example.defenseapplication.personal.PasswordInputDialog import com.example.defenseapplication.utils.DeviceIdEvent import com.example.defenseapplication.utils.DeviceUserUpdateEvent import com.example.defenseapplication.utils.RetrofitNetwork @@ -25,6 +27,7 @@ import com.example.defenseapplication.view.CustomDialogFragmentText import com.gyf.immersionbar.ImmersionBar import com.yanzhenjie.recyclerview.SwipeMenuItem import com.yanzhenjie.recyclerview.SwipeRecyclerView +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -36,6 +39,8 @@ class LinkedUserActivity : AppCompatActivity() { private val fullUserList = mutableListOf() private val userList = mutableListOf() private var mode: Int = MODE_SETTINGS + private var isPasswordVerified: Boolean = false + private lateinit var passwordDialog: PasswordInputDialog companion object { const val EXTRA_MODE = "extra_mode" @@ -71,6 +76,9 @@ class LinkedUserActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() DeviceUserUpdateEvent.removeListener(deviceUserUpdateListener) + if (::passwordDialog.isInitialized) { + passwordDialog.dismiss() + } } private fun initView() { @@ -135,11 +143,55 @@ class LinkedUserActivity : AppCompatActivity() { } dialog.setShowInput(false) dialog.setOnConfirmListener { - deleteDeviceUser(user, position) + if (!isPasswordVerified) { + showPasswordDialog { + isPasswordVerified = true + deleteDeviceUser(user, position) + } + } else { + deleteDeviceUser(user, position) + } } dialog.show(supportFragmentManager, "DeleteDialog") } + private fun showPasswordDialog(onVerified: () -> Unit) { + passwordDialog = PasswordInputDialog(this).apply { + setOnConfirmListener { inputPassword -> + CoroutineScope(Dispatchers.IO).launch { + try { + val response = RetrofitNetwork.getNetworkService() + .verifyOptionPassword(VerifyOptionPasswordRequest(inputPassword)) + withContext(Dispatchers.Main) { + if (response.code == 200) { + dismiss() + onVerified() + } else { + Toast.makeText( + this@LinkedUserActivity, + response.msg ?: getString(R.string.password_error), + Toast.LENGTH_SHORT + ).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } catch (e: Exception) { + withContext(Dispatchers.Main) { + Toast.makeText(this@LinkedUserActivity, "网络请求失败", Toast.LENGTH_SHORT).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } + } + setOnDismissListener { + // Dialog dismissed + } + } + passwordDialog.show() + } + private fun deleteDeviceUser(user: LinkedUser, position: Int) { val deviceId = DeviceIdEvent.getDeviceId() if (deviceId.isNullOrEmpty() || user.userId.isEmpty()) { diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/SettingsActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/SettingsActivity.kt index 178a311..0109fd9 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/SettingsActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/SettingsActivity.kt @@ -7,13 +7,13 @@ import android.widget.Toast import androidx.lifecycle.lifecycleScope import com.example.defenseapplication.R import com.example.defenseapplication.base.BaseActivity -import com.example.defenseapplication.bean.DeviceUserBean import com.example.defenseapplication.databinding.SettingsActivityBinding import com.example.defenseapplication.utils.DeviceIdEvent -import com.example.defenseapplication.utils.LanguageUtil import com.example.defenseapplication.utils.RetrofitNetwork import com.example.defenseapplication.view.CustomDialogFragmentText import com.example.defenseapplication.view.RecognitionModeDialog +import com.example.defenseapplication.bean.VerifyOptionPasswordRequest +import com.example.defenseapplication.personal.PasswordInputDialog import com.gyf.immersionbar.ImmersionBar import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -23,8 +23,10 @@ import kotlinx.coroutines.withContext class SettingsActivity : BaseActivity() { private lateinit var binding: SettingsActivityBinding + private lateinit var passwordDialog: PasswordInputDialog private var alertAudio: String? = null private var audioContent: String? = null + private var isPasswordVerified = false override fun onResume() { super.onResume() @@ -50,11 +52,22 @@ class SettingsActivity : BaseActivity() { } binding.itemRecognitionMode.setOnClickListener { - val dialog = RecognitionModeDialog(this) - dialog.setOnConfirmListener { mode -> - updateRecognitionMode(mode) + if (isPasswordVerified) { + val dialog = RecognitionModeDialog(this) + dialog.setOnConfirmListener { mode -> + updateRecognitionMode(mode) + } + dialog.show() + } else { + showPasswordDialog { + isPasswordVerified = true + val dialog = RecognitionModeDialog(this) + dialog.setOnConfirmListener { mode -> + updateRecognitionMode(mode) + } + dialog.show() + } } - dialog.show() } binding.itemDeviceName.setOnClickListener { @@ -80,48 +93,26 @@ class SettingsActivity : BaseActivity() { dialog.show(supportFragmentManager, "CustomDialogFragment") } binding.itemWaterGunSetting.setOnClickListener { - val intent = Intent(this, WaterGunSettingsActivity::class.java) - // 传递水枪设置参数 - val deviceId = DeviceIdEvent.getDeviceId() - if (!deviceId.isNullOrEmpty()) { - CoroutineScope(Dispatchers.IO).launch { - try { - val response = RetrofitNetwork.getNetworkService().getDeviceInfo(deviceId) - withContext(Dispatchers.Main) { - if (response.code == 200 && response.data != null) { - val device = response.data - intent.putExtra("strikeRange", device.strikeRange ?: "7") - intent.putExtra("strikeInterval", device.strikeInterval ?: "3") - intent.putExtra("container", device.container ?: "容器4") - startActivity(intent) - } else { - // 如果获取失败,使用默认值 - intent.putExtra("strikeRange", "7") - intent.putExtra("strikeInterval", "3") - intent.putExtra("container", "容器4") - startActivity(intent) - } - } - } catch (e: Exception) { - e.printStackTrace() - withContext(Dispatchers.Main) { - intent.putExtra("strikeRange", "7") - intent.putExtra("strikeInterval", "3") - intent.putExtra("container", "容器4") - startActivity(intent) - } - } - } + if (isPasswordVerified) { + navigateToWaterGunSettings() } else { - intent.putExtra("strikeRange", "7") - intent.putExtra("strikeInterval", "3") - intent.putExtra("container", "容器4") - startActivity(intent) + showPasswordDialog { + isPasswordVerified = true + navigateToWaterGunSettings() + } } } binding.itemAutoMode.setOnClickListener { - val intent = Intent(this, AutoModeActivity::class.java) - startActivity(intent) + if (isPasswordVerified) { + val intent = Intent(this, AutoModeActivity::class.java) + startActivity(intent) + } else { + showPasswordDialog { + isPasswordVerified = true + val intent = Intent(this, AutoModeActivity::class.java) + startActivity(intent) + } + } } binding.itemDeviceInfo.setOnClickListener { val intent = Intent(this, DeviceInfoActivity::class.java) @@ -337,4 +328,87 @@ class SettingsActivity : BaseActivity() { } } + private fun showPasswordDialog(onVerified: () -> Unit) { + passwordDialog = PasswordInputDialog(this).apply { + setOnConfirmListener { inputPassword -> + CoroutineScope(Dispatchers.IO).launch { + try { + val response = RetrofitNetwork.getNetworkService() + .verifyOptionPassword(VerifyOptionPasswordRequest(inputPassword)) + withContext(Dispatchers.Main) { + if (response.code == 200) { + dismiss() + onVerified() + } else { + Toast.makeText( + this@SettingsActivity, + response.msg ?: getString(R.string.password_error), + Toast.LENGTH_SHORT + ).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } catch (e: Exception) { + withContext(Dispatchers.Main) { + Toast.makeText(this@SettingsActivity, "网络请求失败", Toast.LENGTH_SHORT).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } + } + setOnDismissListener { + // Dialog dismissed + } + } + passwordDialog.show() + } + + private fun navigateToWaterGunSettings() { + val intent = Intent(this, WaterGunSettingsActivity::class.java) + val deviceId = DeviceIdEvent.getDeviceId() + if (!deviceId.isNullOrEmpty()) { + CoroutineScope(Dispatchers.IO).launch { + try { + val response = RetrofitNetwork.getNetworkService().getDeviceInfo(deviceId) + withContext(Dispatchers.Main) { + if (response.code == 200 && response.data != null) { + val device = response.data + intent.putExtra("strikeRange", device.strikeRange ?: "7") + intent.putExtra("strikeInterval", device.strikeInterval ?: "3") + intent.putExtra("container", device.container ?: "容器4") + startActivity(intent) + } else { + intent.putExtra("strikeRange", "7") + intent.putExtra("strikeInterval", "3") + intent.putExtra("container", "容器4") + startActivity(intent) + } + } + } catch (e: Exception) { + e.printStackTrace() + withContext(Dispatchers.Main) { + intent.putExtra("strikeRange", "7") + intent.putExtra("strikeInterval", "3") + intent.putExtra("container", "容器4") + startActivity(intent) + } + } + } + } else { + intent.putExtra("strikeRange", "7") + intent.putExtra("strikeInterval", "3") + intent.putExtra("container", "容器4") + startActivity(intent) + } + } + + override fun onDestroy() { + if (::passwordDialog.isInitialized) { + passwordDialog.dismiss() + } + super.onDestroy() + } + } diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/UserDetailsActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/UserDetailsActivity.kt index ae98bca..11cb40d 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/UserDetailsActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/UserDetailsActivity.kt @@ -8,6 +8,8 @@ import androidx.lifecycle.lifecycleScope import com.example.defenseapplication.R import com.example.defenseapplication.bean.DeleteDeviceUserRequest import com.example.defenseapplication.bean.ObtainInviterInformationRequest +import com.example.defenseapplication.bean.VerifyOptionPasswordRequest +import com.example.defenseapplication.personal.PasswordInputDialog import com.example.defenseapplication.utils.DeviceIdEvent import com.example.defenseapplication.utils.DeviceUserUpdateEvent import com.example.defenseapplication.databinding.UserDetailsActivityBinding @@ -23,6 +25,8 @@ class UserDetailsActivity : AppCompatActivity() { private lateinit var binding: UserDetailsActivityBinding private var userId: String = "" + private var isPasswordVerified: Boolean = false + private lateinit var passwordDialog: PasswordInputDialog override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -82,12 +86,11 @@ class UserDetailsActivity : AppCompatActivity() { } binding.swUserStatus.setOnCheckedChangeListener { _, isChecked -> - when (isChecked) { - true -> { - // 打开开关业务逻辑 - } - false -> { - // 关闭开关业务逻辑 + if (!isPasswordVerified) { + binding.swUserStatus.isChecked = !isChecked + showPasswordDialog { + isPasswordVerified = true + binding.swUserStatus.isChecked = isChecked } } } @@ -97,6 +100,41 @@ class UserDetailsActivity : AppCompatActivity() { } } + private fun showPasswordDialog(onVerified: () -> Unit) { + passwordDialog = PasswordInputDialog(this).apply { + setOnConfirmListener { inputPassword -> + lifecycleScope.launch { + try { + val response = RetrofitNetwork.getNetworkService() + .verifyOptionPassword(VerifyOptionPasswordRequest(inputPassword)) + withContext(Dispatchers.Main) { + if (response.code == 200) { + dismiss() + onVerified() + } else { + Toast.makeText( + this@UserDetailsActivity, + response.msg ?: getString(R.string.password_error), + Toast.LENGTH_SHORT + ).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } catch (e: Exception) { + withContext(Dispatchers.Main) { + Toast.makeText(this@UserDetailsActivity, "网络请求失败", Toast.LENGTH_SHORT).show() + showError(getString(R.string.password_error)) + clearPassword() + } + } + } + } + setOnDismissListener {} + } + passwordDialog.show() + } + private fun showDeleteDialog() { val dialog = CustomDialogFragmentText() @@ -106,7 +144,14 @@ class UserDetailsActivity : AppCompatActivity() { dialog.setPositiveText(getString(R.string.confirm)) dialog.setNegativeText(getString(R.string.cancel)) dialog.setOnConfirmListener { - deleteDeviceUser() + if (isPasswordVerified) { + deleteDeviceUser() + } else { + showPasswordDialog { + isPasswordVerified = true + deleteDeviceUser() + } + } } dialog.show(supportFragmentManager, "DeleteUserDialog") } diff --git a/app/src/main/java/com/example/defenseapplication/personal/ChangePasswordActivity.kt b/app/src/main/java/com/example/defenseapplication/personal/ChangePasswordActivity.kt new file mode 100644 index 0000000..871bfb4 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/personal/ChangePasswordActivity.kt @@ -0,0 +1,74 @@ +package com.example.defenseapplication.personal + +import android.os.Bundle +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.example.defenseapplication.R +import com.example.defenseapplication.bean.UpdatePassword +import com.example.defenseapplication.databinding.ChangePasswordActivityBinding +import com.example.defenseapplication.utils.RetrofitNetwork +import com.gyf.immersionbar.ImmersionBar +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +//登录密码修改 +class ChangePasswordActivity : AppCompatActivity() { + private lateinit var binding: ChangePasswordActivityBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ChangePasswordActivityBinding.inflate(layoutInflater) + setContentView(binding.root) + + ImmersionBar.with(this) + .statusBarDarkFont(true) + .titleBar(binding.topBar) + .init() + + binding.ivBack.setOnClickListener { + finish() + } + + binding.btnConfirm.setOnClickListener { + val oldPassword = binding.etOldPassword.text.toString().trim() + val newPassword = binding.etNewPassword.text.toString().trim() + val confirmPassword = binding.etConfirmPassword.text.toString().trim() + + if (oldPassword.isEmpty()) { + Toast.makeText(this, getString(R.string.enter_old_password), Toast.LENGTH_SHORT).show() + return@setOnClickListener + } + + if (newPassword.isEmpty()) { + Toast.makeText(this, getString(R.string.enter_new_password), Toast.LENGTH_SHORT).show() + return@setOnClickListener + } + + if (newPassword != confirmPassword) { + Toast.makeText(this, getString(R.string.password_not_match), Toast.LENGTH_SHORT).show() + return@setOnClickListener + } + + CoroutineScope(Dispatchers.IO).launch { + try { + val result = RetrofitNetwork.getNetworkService().updatePassword(UpdatePassword(oldPassword, newPassword)) + withContext(Dispatchers.Main) { + if (result.code == 200) { + Toast.makeText(this@ChangePasswordActivity, getString(R.string.password_reset_success), Toast.LENGTH_SHORT).show() + finish() + } else { + Toast.makeText(this@ChangePasswordActivity, result.msg ?: getString(R.string.password_reset_failed), Toast.LENGTH_SHORT).show() + } + } + } catch (e: Exception) { + withContext(Dispatchers.Main) { + Toast.makeText(this@ChangePasswordActivity, getString(R.string.network_error), Toast.LENGTH_SHORT).show() + } + } + } + } + + } +} diff --git a/app/src/main/java/com/example/defenseapplication/personal/LoginPasswordActivity.kt b/app/src/main/java/com/example/defenseapplication/personal/LoginPasswordActivity.kt index 5e07ae0..5ff35d8 100644 --- a/app/src/main/java/com/example/defenseapplication/personal/LoginPasswordActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/personal/LoginPasswordActivity.kt @@ -1,24 +1,20 @@ package com.example.defenseapplication.personal +import android.content.Intent import android.os.Bundle -import android.widget.Toast +import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity -import bean.LoginRequest +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import com.example.defenseapplication.R -import com.example.defenseapplication.bean.UpdatePassword -import com.example.defenseapplication.bean.UserInfoBean import com.example.defenseapplication.databinding.LoginPasswordActivityBinding -import com.example.defenseapplication.utils.RetrofitNetwork +import com.example.defenseapplication.databinding.PasswordManagementActivityBinding import com.gyf.immersionbar.ImmersionBar -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -//登录密码修改 +//登录密码 class LoginPasswordActivity : AppCompatActivity() { - private lateinit var binding: LoginPasswordActivityBinding + private lateinit var binding: LoginPasswordActivityBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = LoginPasswordActivityBinding.inflate(layoutInflater) @@ -33,44 +29,13 @@ class LoginPasswordActivity : AppCompatActivity() { finish() } - binding.btnConfirm.setOnClickListener { - val oldPassword = binding.etOldPassword.text.toString().trim() - val newPassword = binding.etNewPassword.text.toString().trim() - val confirmPassword = binding.etConfirmPassword.text.toString().trim() - - if (oldPassword.isEmpty()) { - Toast.makeText(this, getString(R.string.enter_old_password), Toast.LENGTH_SHORT).show() - return@setOnClickListener - } - - if (newPassword.isEmpty()) { - Toast.makeText(this, getString(R.string.enter_new_password), Toast.LENGTH_SHORT).show() - return@setOnClickListener - } - - if (newPassword != confirmPassword) { - Toast.makeText(this, getString(R.string.password_not_match), Toast.LENGTH_SHORT).show() - return@setOnClickListener - } - - CoroutineScope(Dispatchers.IO).launch { - try { - val result = RetrofitNetwork.getNetworkService().updatePassword(UpdatePassword(oldPassword, newPassword)) - withContext(Dispatchers.Main) { - if (result.code == 200) { - Toast.makeText(this@LoginPasswordActivity, getString(R.string.password_reset_success), Toast.LENGTH_SHORT).show() - finish() - } else { - Toast.makeText(this@LoginPasswordActivity, result.msg ?: getString(R.string.password_reset_failed), Toast.LENGTH_SHORT).show() - } - } - } catch (e: Exception) { - withContext(Dispatchers.Main) { - Toast.makeText(this@LoginPasswordActivity, getString(R.string.network_error), Toast.LENGTH_SHORT).show() - } - } - } + binding.changePassword.setOnClickListener { + startActivity(Intent(this, ChangePasswordActivity::class.java)) + } + binding.retrievePassword.setOnClickListener { + startActivity(Intent(this, RetrievePasswordActivity::class.java)) } + } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/personal/PasswordManagementActivity.kt b/app/src/main/java/com/example/defenseapplication/personal/PasswordManagementActivity.kt index 84f77e7..0de2230 100644 --- a/app/src/main/java/com/example/defenseapplication/personal/PasswordManagementActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/personal/PasswordManagementActivity.kt @@ -34,11 +34,7 @@ class PasswordManagementActivity : AppCompatActivity() { } binding.loginPassword.setOnClickListener { - startActivity(Intent(this, LoginPasswordActivity::class.java)) - } - - binding.retrievePassword.setOnClickListener { - startActivity(Intent(this, RetrievePasswordActivity::class.java)) + startActivity(Intent(this, ChangePasswordActivity::class.java)) } binding.operationPassword.setOnClickListener { diff --git a/app/src/main/res/layout/change_password_activity.xml b/app/src/main/res/layout/change_password_activity.xml new file mode 100644 index 0000000..d61e0fd --- /dev/null +++ b/app/src/main/res/layout/change_password_activity.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/login_password_activity.xml b/app/src/main/res/layout/login_password_activity.xml index 55183da..f210303 100644 --- a/app/src/main/res/layout/login_password_activity.xml +++ b/app/src/main/res/layout/login_password_activity.xml @@ -1,23 +1,20 @@ - + android:paddingHorizontal="16dp"> + + + - - + + + + - - + - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/password_management_activity.xml b/app/src/main/res/layout/password_management_activity.xml index caf31bf..804e609 100644 --- a/app/src/main/res/layout/password_management_activity.xml +++ b/app/src/main/res/layout/password_management_activity.xml @@ -55,28 +55,7 @@ android:src="@drawable/right_back" /> - - - - Network request failed Verification code sent successfully Failed to send verification code - + Processing... Old password is incorrect