Loading telephony/java/android/telephony/TelephonyManager.java +10 −16 Original line number Diff line number Diff line Loading @@ -9815,15 +9815,7 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public @Nullable String getCarrierServicePackageName() { // TODO(b/205736323) plumb this through to CarrierPrivilegesTracker, which will cache the // value instead of re-querying every time. List<String> carrierServicePackages = getCarrierPackageNamesForIntent( new Intent(CarrierService.CARRIER_SERVICE_INTERFACE)); if (carrierServicePackages != null && !carrierServicePackages.isEmpty()) { return carrierServicePackages.get(0); } return null; return getCarrierServicePackageNameForLogicalSlot(getPhoneId()); } /** Loading @@ -9840,13 +9832,15 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public @Nullable String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex) { // TODO(b/205736323) plumb this through to CarrierPrivilegesTracker, which will cache the // value instead of re-querying every time. List<String> carrierServicePackages = getCarrierPackageNamesForIntentAndPhone( new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), logicalSlotIndex); if (carrierServicePackages != null && !carrierServicePackages.isEmpty()) { return carrierServicePackages.get(0); try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getCarrierServicePackageNameForLogicalSlot(logicalSlotIndex); } } catch (RemoteException ex) { Rlog.e(TAG, "getCarrierServicePackageNameForLogicalSlot RemoteException", ex); } catch (NullPointerException ex) { Rlog.e(TAG, "getCarrierServicePackageNameForLogicalSlot NPE", ex); } return null; } Loading telephony/java/com/android/internal/telephony/ITelephony.aidl +11 −0 Original line number Diff line number Diff line Loading @@ -2541,4 +2541,15 @@ interface ITelephony { * PhoneAccount#CAPABILITY_VOICE_CALLING_AVAILABLE. */ void setVoiceServiceStateOverride(int subId, boolean hasService, String callingPackage); /** * Returns the package name that provides the {@link CarrierService} implementation for the * specified {@code logicalSlotIndex}, or {@code null} if no package with carrier privileges * declares one. * * @param logicalSlotIndex The slot index to fetch the {@link CarrierService} package for * @return The system-selected package that provides the {@link CarrierService} implementation * for the slot, or {@code null} if none is resolved */ String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex); } Loading
telephony/java/android/telephony/TelephonyManager.java +10 −16 Original line number Diff line number Diff line Loading @@ -9815,15 +9815,7 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public @Nullable String getCarrierServicePackageName() { // TODO(b/205736323) plumb this through to CarrierPrivilegesTracker, which will cache the // value instead of re-querying every time. List<String> carrierServicePackages = getCarrierPackageNamesForIntent( new Intent(CarrierService.CARRIER_SERVICE_INTERFACE)); if (carrierServicePackages != null && !carrierServicePackages.isEmpty()) { return carrierServicePackages.get(0); } return null; return getCarrierServicePackageNameForLogicalSlot(getPhoneId()); } /** Loading @@ -9840,13 +9832,15 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public @Nullable String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex) { // TODO(b/205736323) plumb this through to CarrierPrivilegesTracker, which will cache the // value instead of re-querying every time. List<String> carrierServicePackages = getCarrierPackageNamesForIntentAndPhone( new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), logicalSlotIndex); if (carrierServicePackages != null && !carrierServicePackages.isEmpty()) { return carrierServicePackages.get(0); try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getCarrierServicePackageNameForLogicalSlot(logicalSlotIndex); } } catch (RemoteException ex) { Rlog.e(TAG, "getCarrierServicePackageNameForLogicalSlot RemoteException", ex); } catch (NullPointerException ex) { Rlog.e(TAG, "getCarrierServicePackageNameForLogicalSlot NPE", ex); } return null; } Loading
telephony/java/com/android/internal/telephony/ITelephony.aidl +11 −0 Original line number Diff line number Diff line Loading @@ -2541,4 +2541,15 @@ interface ITelephony { * PhoneAccount#CAPABILITY_VOICE_CALLING_AVAILABLE. */ void setVoiceServiceStateOverride(int subId, boolean hasService, String callingPackage); /** * Returns the package name that provides the {@link CarrierService} implementation for the * specified {@code logicalSlotIndex}, or {@code null} if no package with carrier privileges * declares one. * * @param logicalSlotIndex The slot index to fetch the {@link CarrierService} package for * @return The system-selected package that provides the {@link CarrierService} implementation * for the slot, or {@code null} if none is resolved */ String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex); }