Merge "Fixed phone information UI issue in hidden menu, opted out Edge-to-Edge enforcement." into main
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 6dc2add..33ea71a 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -479,6 +479,8 @@
private static final int MODEM_ACTIVITY_TIME_OFFSET_CORRECTION_MS = 50;
+ private static final int LINE1_NUMBER_MAX_LEN = 50;
+
/**
* With support for MEP(multiple enabled profile) in Android T, a SIM card can have more than
* one ICCID active at the same time.
@@ -7581,8 +7583,11 @@
}
}
- enforceTelephonyFeatureWithException(getCurrentPackageName(),
- PackageManager.FEATURE_TELEPHONY_DATA, "isDataEnabledForReason");
+ if (!mApp.getResources().getBoolean(
+ com.android.internal.R.bool.config_force_phone_globals_creation)) {
+ enforceTelephonyFeatureWithException(getCurrentPackageName(),
+ PackageManager.FEATURE_TELEPHONY_DATA, "isDataEnabledForReason");
+ }
final long identity = Binder.clearCallingIdentity();
try {
@@ -7669,9 +7674,12 @@
public int checkCarrierPrivilegesForPackageAnyPhone(String pkgName) {
enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackageAnyPhone");
- enforceTelephonyFeatureWithException(getCurrentPackageName(),
- PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION,
- "checkCarrierPrivilegesForPackageAnyPhone");
+ if (!mApp.getResources().getBoolean(
+ com.android.internal.R.bool.config_force_phone_globals_creation)) {
+ enforceTelephonyFeatureWithException(getCurrentPackageName(),
+ PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION,
+ "checkCarrierPrivilegesForPackageAnyPhone");
+ }
return checkCarrierPrivilegesForPackageAnyPhoneWithPermission(pkgName);
}
@@ -7852,6 +7860,10 @@
if (phone == null) {
return false;
}
+ if (!TextUtils.isEmpty(number) && number.length() > LINE1_NUMBER_MAX_LEN) {
+ Rlog.e(LOG_TAG, "Number is too long");
+ return false;
+ }
final String subscriberId = phone.getSubscriberId();
if (DBG_MERGE) {
@@ -8593,7 +8605,7 @@
cleanUpSmsRawTable(getDefaultPhone().getContext());
// Clean up IMS settings as well here.
int slotId = getSlotIndex(subId);
- if (slotId > SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+ if (isImsAvailableOnDevice() && slotId > SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
ImsManager.getInstance(mApp, slotId).factoryReset();
}
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index e234381..9d8f070 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -754,6 +754,12 @@
mEsosButton = (Button) findViewById(R.id.esos_questionnaire);
mSatelliteEnableNonEmergencyModeButton = (Button) findViewById(
R.id.satellite_enable_non_emergency_mode);
+ CarrierConfigManager cm = mPhone.getContext().getSystemService(CarrierConfigManager.class);
+ if (!cm.getConfigForSubId(mPhone.getSubId(),
+ CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL)
+ .getBoolean(CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL)) {
+ mSatelliteEnableNonEmergencyModeButton.setVisibility(View.GONE);
+ }
if (!TelephonyUtils.IS_DEBUGGABLE) {
mEsosButton.setVisibility(View.GONE);
mSatelliteEnableNonEmergencyModeButton.setVisibility(View.GONE);
@@ -2042,7 +2048,7 @@
loge("enableSatelliteNonEmergencyMode: sm or cm is null");
return;
}
- if (cm.getConfigForSubId(mPhone.getSubId(),
+ if (!cm.getConfigForSubId(mPhone.getSubId(),
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL)
.getBoolean(CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL)) {
loge("enableSatelliteNonEmergencyMode: KEY_SATELLITE_ATTACH_SUPPORTED_BOOL is false");