Merge "Refactor ApnEditCarrierEnabled" into main
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.network.apn
|
||||
|
||||
import android.provider.Telephony
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.booleanResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.android.settings.R
|
||||
import com.android.settingslib.spa.widget.preference.SwitchPreference
|
||||
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
|
||||
|
||||
@Composable
|
||||
fun ApnEditCarrierEnabled(apnData: ApnData, onCarrierEnabledChanged: (Boolean) -> Unit) {
|
||||
SwitchPreference(
|
||||
object : SwitchPreferenceModel {
|
||||
override val title = stringResource(R.string.carrier_enabled)
|
||||
val allowEdit = booleanResource(R.bool.config_allow_edit_carrier_enabled)
|
||||
override val changeable = {
|
||||
allowEdit && apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
|
||||
}
|
||||
override val checked = { apnData.carrierEnabled }
|
||||
override val onCheckedChange = onCarrierEnabledChanged
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -235,19 +235,7 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur
|
||||
enabled = apnData.isFieldEnabled(Telephony.Carriers.ROAMING_PROTOCOL),
|
||||
) { apnData = apnData.copy(apnRoaming = it) }
|
||||
ApnNetworkTypeCheckBox(apnData) { apnData = apnData.copy(networkType = it) }
|
||||
SwitchPreference(
|
||||
object : SwitchPreferenceModel {
|
||||
override val title = stringResource(R.string.carrier_enabled)
|
||||
override val changeable = {
|
||||
apnData.apnEnableEnabled &&
|
||||
apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
|
||||
}
|
||||
override val checked = { apnData.apnEnable }
|
||||
override val onCheckedChange = { newChecked: Boolean ->
|
||||
apnData = apnData.copy(apnEnable = newChecked)
|
||||
}
|
||||
}
|
||||
)
|
||||
ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ fun getApnDataFromUri(uri: Uri, context: Context): ApnData {
|
||||
apnRoaming = context.convertProtocol2Options(
|
||||
cursor.getString(Telephony.Carriers.ROAMING_PROTOCOL)
|
||||
),
|
||||
apnEnable = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
|
||||
carrierEnabled = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
|
||||
networkType = cursor.getLong(Telephony.Carriers.NETWORK_TYPE_BITMASK),
|
||||
edited = cursor.getInt(Telephony.Carriers.EDITED_STATUS),
|
||||
userEditable = cursor.getInt(Telephony.Carriers.USER_EDITABLE),
|
||||
|
||||
@@ -44,11 +44,10 @@ data class ApnData(
|
||||
val apnType: String = "",
|
||||
val apnProtocol: Int = -1,
|
||||
val apnRoaming: Int = -1,
|
||||
val apnEnable: Boolean = true,
|
||||
val carrierEnabled: Boolean = true,
|
||||
val networkType: Long = 0,
|
||||
val edited: Int = Telephony.Carriers.USER_EDITED,
|
||||
val userEditable: Int = 1,
|
||||
val apnEnableEnabled: Boolean = true,
|
||||
val newApn: Boolean = false,
|
||||
val subId: Int = -1,
|
||||
val validEnabled: Boolean = false,
|
||||
@@ -72,7 +71,7 @@ data class ApnData(
|
||||
Telephony.Carriers.NETWORK_TYPE_BITMASK to networkType,
|
||||
// Copy network type into lingering network type.
|
||||
Telephony.Carriers.LINGERING_NETWORK_TYPE_BITMASK to networkType,
|
||||
Telephony.Carriers.CARRIER_ENABLED to apnEnable,
|
||||
Telephony.Carriers.CARRIER_ENABLED to carrierEnabled,
|
||||
Telephony.Carriers.EDITED_STATUS to Telephony.Carriers.USER_EDITED,
|
||||
)
|
||||
|
||||
@@ -134,10 +133,6 @@ fun getApnDataInit(arguments: Bundle, context: Context, uriInit: Uri, subId: Int
|
||||
)
|
||||
}
|
||||
|
||||
apnDataInit = apnDataInit.copy(
|
||||
apnEnableEnabled =
|
||||
context.resources.getBoolean(R.bool.config_allow_edit_carrier_enabled)
|
||||
)
|
||||
// TODO: mIsCarrierIdApn
|
||||
return disableInit(apnDataInit)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user