Make getPackagesWithPriviligesForAllActiveSubscriptions system API

Test: build
Bug: 145550382
Change-Id: Ia7efb9e4b22b24f3c87c7cd631548c7254b28926
This commit is contained in:
Shuo Qian
2019-12-03 23:52:13 +00:00
parent 60125d3d61
commit 6f27c5769d
4 changed files with 16 additions and 5 deletions

View File

@@ -1171,7 +1171,8 @@ public class AppStandbyController implements AppStandbyInternal {
private void fetchCarrierPrivilegedAppsLocked() { private void fetchCarrierPrivilegedAppsLocked() {
TelephonyManager telephonyManager = TelephonyManager telephonyManager =
mContext.getSystemService(TelephonyManager.class); mContext.getSystemService(TelephonyManager.class);
mCarrierPrivilegedApps = telephonyManager.getPackagesWithCarrierPrivilegesForAllPhones(); mCarrierPrivilegedApps =
telephonyManager.getCarrierPrivilegedPackagesForAllActiveSubscriptions();
mHaveCarrierPrivilegedApps = true; mHaveCarrierPrivilegedApps = true;
if (DEBUG) { if (DEBUG) {
Slog.d(TAG, "apps with carrier privilege " + mCarrierPrivilegedApps); Slog.d(TAG, "apps with carrier privilege " + mCarrierPrivilegedApps);

View File

@@ -9384,6 +9384,7 @@ package android.telephony {
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);

View File

@@ -40,6 +40,7 @@
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" /> <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />

View File

@@ -8172,17 +8172,25 @@ public class TelephonyManager {
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;
} }
/** @hide */ /**
public List<String> getPackagesWithCarrierPrivilegesForAllPhones() { * Get the names of packages with carrier privileges for all the active subscriptions.
*
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@NonNull
public List<String> getCarrierPrivilegedPackagesForAllActiveSubscriptions() {
try { try {
ITelephony telephony = getITelephony(); ITelephony telephony = getITelephony();
if (telephony != null) { if (telephony != null) {
return telephony.getPackagesWithCarrierPrivilegesForAllPhones(); return telephony.getPackagesWithCarrierPrivilegesForAllPhones();
} }
} catch (RemoteException ex) { } catch (RemoteException ex) {
Rlog.e(TAG, "getPackagesWithCarrierPrivilegesForAllPhones RemoteException", ex); Rlog.e(TAG, "getCarrierPrivilegedPackagesForAllActiveSubscriptions RemoteException",
ex);
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
Rlog.e(TAG, "getPackagesWithCarrierPrivilegesForAllPhones NPE", ex); Rlog.e(TAG, "getCarrierPrivilegedPackagesForAllActiveSubscriptions NPE", ex);
} }
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;
} }