Add a warning dialog to notify user that call may end by operation.
Flag: EXEMPT bugfix
Fix: 299061626
Test: atest passed
Test: Manual test passed
Change-Id: I09e0186da45b0ccd00ccf0d86d6448a13b363298
diff --git a/src/com/android/settings/system/reset/ResetNetworkConfirm.kt b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
index 34b9909..e040356 100644
--- a/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
+++ b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
@@ -18,6 +18,7 @@
import android.app.ProgressDialog
import android.app.settings.SettingsEnums
+import android.content.DialogInterface
import android.os.Bundle
import android.os.Looper
import android.telephony.SubscriptionManager
@@ -56,7 +57,8 @@
* This is the confirmation screen.
*/
class ResetNetworkConfirm : InstrumentedFragment() {
- @VisibleForTesting lateinit var resetNetworkRequest: ResetNetworkRequest
+ @VisibleForTesting
+ lateinit var resetNetworkRequest: ResetNetworkRequest
private var progressDialog: ProgressDialog? = null
private var alertDialog: AlertDialog? = null
private var resetStarted = false
@@ -87,10 +89,7 @@
/** Configure the UI for the final confirmation interaction */
private fun View.establishFinalConfirmationState() {
requireViewById<View>(R.id.execute_reset_network).setOnClickListener {
- if (!Utils.isMonkeyRunning() && !resetStarted) {
- resetStarted = true
- viewLifecycleOwner.lifecycleScope.launch { onResetClicked() }
- }
+ showResetInternetDialog();
}
}
@@ -118,10 +117,10 @@
private fun invalidSubIdFlow(): Flow<Int> {
val subIdsInRequest =
listOf(
- resetNetworkRequest.resetTelephonyAndNetworkPolicyManager,
- resetNetworkRequest.resetApnSubId,
- resetNetworkRequest.resetImsSubId,
- )
+ resetNetworkRequest.resetTelephonyAndNetworkPolicyManager,
+ resetNetworkRequest.resetApnSubId,
+ resetNetworkRequest.resetImsSubId,
+ )
.distinct()
.filter(SubscriptionManager::isUsableSubscriptionId)
@@ -162,6 +161,24 @@
}
}
+ private fun showResetInternetDialog() {
+ val builder = AlertDialog.Builder(requireContext())
+ val resetInternetClickListener =
+ DialogInterface.OnClickListener { dialog, which ->
+ if (!Utils.isMonkeyRunning() && !resetStarted) {
+ resetStarted = true
+ viewLifecycleOwner.lifecycleScope.launch { onResetClicked() }
+ }
+ }
+
+ builder.setTitle(R.string.reset_your_internet_title)
+ .setMessage(R.string.reset_internet_text)
+ .setPositiveButton(R.string.tts_reset, resetInternetClickListener)
+ .setNegativeButton(android.R.string.cancel, null)
+ .create()
+ .show()
+ }
+
/**
* Do all reset task.
*
@@ -173,7 +190,8 @@
withContext(Dispatchers.Default) {
val builder =
resetNetworkRequest.toResetNetworkOperationBuilder(
- requireContext(), Looper.getMainLooper())
+ requireContext(), Looper.getMainLooper()
+ )
resetNetworkRequest.resetEsimPackageName?.let { resetEsimPackageName ->
builder.resetEsim(resetEsimPackageName)
builder.resetEsimResultCallback { resetEsimSuccess = it }
@@ -199,8 +217,8 @@
} else {
Toast.makeText(activity, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
.show()
+ activity.finish()
}
- activity.finish()
}
override fun onDestroy() {