diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-07-30 19:49:20 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-07-30 19:49:20 +0000 |
commit | c14a4be7998b18ce7caea2b63ef30ca09868d1f7 (patch) | |
tree | 1a23420a087eab00750ed4bcb0f437cd9bfece50 | |
parent | 527c79d96dd1321039bb092a6a75737ef42a6913 (diff) | |
parent | 6cc64f7244928a52e8b0aa149d075bd82195aa4d (diff) | |
download | base-c14a4be7998b18ce7caea2b63ef30ca09868d1f7.tar.gz |
Merge "Have proper permission check in getConfigForSubId"android-n-iot-release-smart-display-r2
6 files changed, 15 insertions, 9 deletions
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 31914a6afe00..143a0fbd6955 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -7809,7 +7809,7 @@ Lcom/android/internal/telephony/GsmAlphabet;->sLanguageTables:[Ljava/lang/String Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;IZII)[B Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPackedWithHeader(Ljava/lang/String;[BII)[B Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm8BitPacked(Ljava/lang/String;)[B -Lcom/android/internal/telephony/ICarrierConfigLoader;->getConfigForSubId(I)Landroid/os/PersistableBundle; +Lcom/android/internal/telephony/ICarrierConfigLoader;->getConfigForSubId(ILjava/lang/String;)Landroid/os/PersistableBundle; Lcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms; Lcom/android/internal/telephony/IPhoneStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneStateListener; Lcom/android/internal/telephony/IPhoneStateListener;->onCallForwardingIndicatorChanged(Z)V diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java index 26ea06854b89..cda5b3417807 100644 --- a/core/java/android/app/SystemServiceRegistry.java +++ b/core/java/android/app/SystemServiceRegistry.java @@ -490,7 +490,7 @@ final class SystemServiceRegistry { new CachedServiceFetcher<CarrierConfigManager>() { @Override public CarrierConfigManager createService(ContextImpl ctx) { - return new CarrierConfigManager(); + return new CarrierConfigManager(ctx.getOuterContext()); }}); registerService(Context.TELECOM_SERVICE, TelecomManager.class, diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 1fe17b504b61..64df6fed3758 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -51,10 +51,13 @@ public class CarrierConfigManager { public static final String EXTRA_SUBSCRIPTION_INDEX = SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX; + private final Context mContext; + /** * @hide */ - public CarrierConfigManager() { + public CarrierConfigManager(Context context) { + mContext = context; } /** @@ -2281,7 +2284,7 @@ public class CarrierConfigManager { + " ICarrierConfigLoader is null"); return null; } - return loader.getConfigForSubId(subId); + return loader.getConfigForSubId(subId, mContext.getOpPackageName()); } catch (RemoteException ex) { Rlog.e(TAG, "Error getting config for subId " + subId + ": " + ex.toString()); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 3bc7341216e7..53cf87707205 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -6554,7 +6554,7 @@ public class TelephonyManager { try { ITelephony telephony = getITelephony(); if (telephony != null) { - return telephony.canChangeDtmfToneLength(); + return telephony.canChangeDtmfToneLength(mSubId, getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#canChangeDtmfToneLength", e); @@ -6573,7 +6573,7 @@ public class TelephonyManager { try { ITelephony telephony = getITelephony(); if (telephony != null) { - return telephony.isWorldPhone(); + return telephony.isWorldPhone(mSubId, getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#isWorldPhone", e); diff --git a/telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl b/telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl index 511573170bb0..d9471ae2c60d 100644 --- a/telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl +++ b/telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl @@ -23,7 +23,7 @@ import android.os.PersistableBundle; */ interface ICarrierConfigLoader { - PersistableBundle getConfigForSubId(int subId); + PersistableBundle getConfigForSubId(int subId, String callingPackage); void notifyConfigChangedForSubId(int subId); diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 70354b212f25..2c5732ad4e30 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1123,16 +1123,19 @@ interface ITelephony { /** * Whether the DTMF tone length can be changed. * + * @param subId The subscription to use. + * @param callingPackage The package making the call. * @return {@code true} if the DTMF tone length can be changed. */ - boolean canChangeDtmfToneLength(); + boolean canChangeDtmfToneLength(int subId, String callingPackage); /** * Whether the device is a world phone. * + * @param callingPackage The package making the call. * @return {@code true} if the devices is a world phone. */ - boolean isWorldPhone(); + boolean isWorldPhone(int subId, String callingPackage); /** * Whether the phone supports TTY mode. |