From 27ce9d95f8d381b24ff4ccc6a2e8cd6eb9394c75 Mon Sep 17 00:00:00 2001 From: Charlotte Lu Date: Tue, 21 Nov 2023 13:48:59 +0800 Subject: [PATCH] Add delete apns Test: Visual Test Fix: 312361022 Change-Id: Idcc58ee6d511462bef857f29afab9fdd7be453d5 --- .../settings/network/apn/ApnEditPageProvider.kt | 15 +++++++++++++++ src/com/android/settings/network/apn/ApnStatus.kt | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt index 0ed54e7bfb8..86d7456470e 100644 --- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt +++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt @@ -38,10 +38,13 @@ import com.android.settings.R import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeDisplayNames import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeSelectedOptionsState import com.android.settingslib.spa.framework.common.SettingsPageProvider +import com.android.settingslib.spa.framework.compose.LocalNavController import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuCheckBox import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword +import com.android.settingslib.spa.widget.preference.Preference +import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold @@ -199,6 +202,18 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState, uriInit: Ur emptyVal = stringResource(R.string.network_type_unspecified), enabled = apnData.networkTypeEnabled ) {} + if (!apnData.newApn) { + val navController = LocalNavController.current + Preference( + object : PreferenceModel { + override val title = stringResource(R.string.menu_delete) + override val onClick = { + deleteApn(uriInit, context) + navController.navigateBack() + } + } + ) + } } } } \ No newline at end of file diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt index a633f416e03..ffa1abd14d5 100644 --- a/src/com/android/settings/network/apn/ApnStatus.kt +++ b/src/com/android/settings/network/apn/ApnStatus.kt @@ -517,4 +517,9 @@ private fun getEditableApnType(apnData: ApnData): String { APN_TYPE_IMS, ) }.joinToString() +} + +fun deleteApn(uri: Uri, context: Context) { + val contentResolver = context.contentResolver + contentResolver.delete(uri, null, null) } \ No newline at end of file