Merge the android-9.0.0_r60 release tag
Android 9.0.0 release 60
* tag 'android-9.0.0_r60':
Use FLAG_IMMUTABLE for InstallCarrierAppUtils
Use FLAG_IMMUTABLE for InboundSmsHandler
Use FLAG_IMMUTABLE for CarrierServiceStateTracker
Use FLAG_IMMUTABLE for CarrierKeyDownloadManager
Use FLAG_IMMUTABLE
Restrict access to the resolution PendingIntent created by EuiccController to EuiccResolutionUiDispatcherActivity
Added FLAG_IMMUTABLE flag for security purposes
Change-Id: Ia051c1a04c81f8856cac89b1355474c58c834bcf
diff --git a/src/java/com/android/internal/telephony/LocaleTracker.java b/src/java/com/android/internal/telephony/LocaleTracker.java
index 996e288..6218588 100644
--- a/src/java/com/android/internal/telephony/LocaleTracker.java
+++ b/src/java/com/android/internal/telephony/LocaleTracker.java
@@ -408,8 +408,10 @@
// Set the country code for wifi. This sets allowed wifi channels based on the
// country of the carrier we see. If we can't see any, reset to 0 so we don't
// broadcast on forbidden channels.
- ((WifiManager) mPhone.getContext().getSystemService(Context.WIFI_SERVICE))
- .setCountryCode(countryIso);
+ WifiManager wM = (WifiManager)
+ mPhone.getContext().getSystemService(Context.WIFI_SERVICE);
+ if (wM != null)
+ wM.setCountryCode(countryIso);
}
}
diff --git a/src/java/com/android/internal/telephony/MccTable.java b/src/java/com/android/internal/telephony/MccTable.java
index a010618..2fadb19 100644
--- a/src/java/com/android/internal/telephony/MccTable.java
+++ b/src/java/com/android/internal/telephony/MccTable.java
@@ -407,7 +407,8 @@
String country = MccTable.countryCodeForMcc(mcc);
Slog.d(LOG_TAG, "WIFI_COUNTRY_CODE set to " + country);
WifiManager wM = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
- wM.setCountryCode(country);
+ if (wM != null)
+ wM.setCountryCode(country);
}
static {
diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java
index 0f431ef..559a54d 100644
--- a/src/java/com/android/internal/telephony/Phone.java
+++ b/src/java/com/android/internal/telephony/Phone.java
@@ -536,7 +536,8 @@
// note this is not persisting
WifiManager wM = (WifiManager)
mContext.getSystemService(Context.WIFI_SERVICE);
- wM.setCountryCode(country);
+ if (wM != null)
+ wM.setCountryCode(country);
}
}
diff --git a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
index afd49fa..c9b7160 100644
--- a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
+++ b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
@@ -136,7 +136,7 @@
}
private void initializeCarrierApps() {
- // Initialize carrier apps:
+ // Initialize carrier apps (carrier-privileged and carrier-matching):
// -Now (on system startup)
// -Whenever new carrier privilege rules might change (new SIM is loaded)
// -Whenever we switch to a new user
@@ -150,6 +150,8 @@
CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(),
mPackageManager, TelephonyManager.getDefault(),
mContext.getContentResolver(), mCurrentlyActiveUserId);
+ CarrierAppUtils.disableSpecialCarrierAppsUntilMatched(mContext,
+ mPackageManager, TelephonyManager.getDefault(), mCurrentlyActiveUserId);
if (reply != null) {
try {
@@ -166,6 +168,8 @@
CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(),
mPackageManager, TelephonyManager.getDefault(), mContext.getContentResolver(),
mCurrentlyActiveUserId);
+ CarrierAppUtils.disableSpecialCarrierAppsUntilMatched(mContext,
+ mPackageManager, TelephonyManager.getDefault(), mCurrentlyActiveUserId);
}
public void updateInternalIccState(String simStatus, String reason, int slotId) {
@@ -459,6 +463,8 @@
CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(),
mPackageManager, TelephonyManager.getDefault(),
mContext.getContentResolver(), mCurrentlyActiveUserId);
+ CarrierAppUtils.disableSpecialCarrierAppsUntilMatched(mContext,
+ mPackageManager, TelephonyManager.getDefault(), mCurrentlyActiveUserId);
broadcastSimStateChanged(loadedSlotId, IccCardConstants.INTENT_VALUE_ICC_LOADED, null);
broadcastSimCardStateChanged(loadedSlotId, TelephonyManager.SIM_STATE_PRESENT);