Add delete apns

Test: Visual Test
Fix: 312361022
Change-Id: Idcc58ee6d511462bef857f29afab9fdd7be453d5
This commit is contained in:
Charlotte Lu
2023-11-21 13:48:59 +08:00
parent 6bb2c73579
commit 27ce9d95f8
2 changed files with 20 additions and 0 deletions

View File

@@ -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<ApnData>, 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()
}
}
)
}
}
}
}

View File

@@ -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)
}