Add new dialogue and RAC logic.

A new dialogue will pop up if the eSIM that is being deleted has carrier
Vodafone DE and does not have wifi connection or connection from another
sim.

Test: make, atest SubscriptionUtilTest and tested manually
Bug: 316419093
Change-Id: I957b67339a0ab651f38984e7d1061a8aff8fe2a1
This commit is contained in:
Rafael Higuera Silva
2024-02-28 17:40:00 +00:00
parent 383097f192
commit 48fee33ea2
3 changed files with 23 additions and 4 deletions

View File

@@ -33,6 +33,7 @@ import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
class DeleteSimProfilePreferenceController(context: Context, preferenceKey: String) :
BasePreferenceController(context, preferenceKey) {
private var subscriptionId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
private var carrierId: Int = TelephonyManager.UNKNOWN_CARRIER_ID
private var subscriptionInfo: SubscriptionInfo? = null
private lateinit var preference: Preference
@@ -40,6 +41,9 @@ class DeleteSimProfilePreferenceController(context: Context, preferenceKey: Stri
this.subscriptionId = subscriptionId
subscriptionInfo = SubscriptionUtil.getAvailableSubscriptions(mContext)
.find { it.subscriptionId == subscriptionId && it.isEmbedded }
subscriptionInfo?.let {
carrierId = it.carrierId
}
}
override fun getAvailabilityStatus() = when (subscriptionInfo) {
@@ -67,7 +71,8 @@ class DeleteSimProfilePreferenceController(context: Context, preferenceKey: Stri
}
private fun deleteSim() {
SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(mContext, subscriptionId)
SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(mContext, subscriptionId,
carrierId)
// result handled in MobileNetworkSettings
}
}