Loading src/com/android/settings/network/apn/ApnEditPageProvider.kt +13 −13 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeDisplayNam 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.framework.compose.OnBackEffect import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuCheckBox import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField Loading Loading @@ -97,10 +98,7 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur val networkTypeSelectedOptionsState = remember { getNetworkTypeSelectedOptionsState(apnData.networkType) } RegularScaffold( title = if(apnDataInit.newApn) stringResource(id = R.string.apn_add) else stringResource(id = R.string.apn_edit), actions = { IconButton(onClick = { OnBackEffect{ validateAndSaveApnData( apnDataInit, apnData, Loading @@ -108,10 +106,12 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur uriInit, networkTypeSelectedOptionsState ) }) { Icon(imageVector = Icons.Outlined.Done, contentDescription = "Save APN") } } val navController = LocalNavController.current RegularScaffold( title = if(apnDataInit.newApn) stringResource(id = R.string.apn_add) else stringResource(id = R.string.apn_edit), ) { Column() { Column { SettingsOutlinedTextField( value = apnData.name, label = stringResource(R.string.apn_name), Loading Loading @@ -203,12 +203,12 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur 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) apnData = apnData.copy(saveEnabled = false) navController.navigateBack() } } Loading src/com/android/settings/network/apn/ApnStatus.kt +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ data class ApnData( val networkTypeEnabled: Boolean = true, val newApn: Boolean = false, val subId: Int = -1, val saveEnabled: Boolean = true, val customizedConfig: CustomizedConfig = CustomizedConfig() ) { fun getContentValues(context: Context): ContentValues { Loading Loading @@ -230,6 +231,10 @@ fun validateAndSaveApnData( uriInit: Uri, networkTypeSelectedOptionsState: SnapshotStateList<Int> ): Boolean { // Can not be saved if (!apnData.saveEnabled) { return false } // Nothing to do if it's a read only APN if (apnData.customizedConfig.readOnlyApn) { return true Loading Loading
src/com/android/settings/network/apn/ApnEditPageProvider.kt +13 −13 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeDisplayNam 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.framework.compose.OnBackEffect import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuCheckBox import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField Loading Loading @@ -97,10 +98,7 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur val networkTypeSelectedOptionsState = remember { getNetworkTypeSelectedOptionsState(apnData.networkType) } RegularScaffold( title = if(apnDataInit.newApn) stringResource(id = R.string.apn_add) else stringResource(id = R.string.apn_edit), actions = { IconButton(onClick = { OnBackEffect{ validateAndSaveApnData( apnDataInit, apnData, Loading @@ -108,10 +106,12 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur uriInit, networkTypeSelectedOptionsState ) }) { Icon(imageVector = Icons.Outlined.Done, contentDescription = "Save APN") } } val navController = LocalNavController.current RegularScaffold( title = if(apnDataInit.newApn) stringResource(id = R.string.apn_add) else stringResource(id = R.string.apn_edit), ) { Column() { Column { SettingsOutlinedTextField( value = apnData.name, label = stringResource(R.string.apn_name), Loading Loading @@ -203,12 +203,12 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur 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) apnData = apnData.copy(saveEnabled = false) navController.navigateBack() } } Loading
src/com/android/settings/network/apn/ApnStatus.kt +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ data class ApnData( val networkTypeEnabled: Boolean = true, val newApn: Boolean = false, val subId: Int = -1, val saveEnabled: Boolean = true, val customizedConfig: CustomizedConfig = CustomizedConfig() ) { fun getContentValues(context: Context): ContentValues { Loading Loading @@ -230,6 +231,10 @@ fun validateAndSaveApnData( uriInit: Uri, networkTypeSelectedOptionsState: SnapshotStateList<Int> ): Boolean { // Can not be saved if (!apnData.saveEnabled) { return false } // Nothing to do if it's a read only APN if (apnData.customizedConfig.readOnlyApn) { return true Loading