Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -7539,6 +7539,7 @@ package android.os { public class SystemConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps(); method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String); } public class SystemProperties { Loading core/java/android/os/ISystemConfig.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,9 @@ interface ISystemConfig { * @see SystemConfigManager#getDisabledUntilUsedPreinstalledCarrierAssociatedAppEntries */ Map getDisabledUntilUsedPreinstalledCarrierAssociatedAppEntries(); /** * @see SystemConfigManager#getSystemPermissionUids */ int[] getSystemPermissionUids(String permissionName); } core/java/android/os/SystemConfigManager.java +18 −0 Original line number Diff line number Diff line Loading @@ -111,4 +111,22 @@ public class SystemConfigManager { return Collections.emptyMap(); } } /** * Get uids which have been granted given permission in system configuration. * * The uids and assigning permissions are defined on data/etc/platform.xml * * @param permissionName The target permission. * @return The uids have been granted given permission in system configuration. */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS) @NonNull public int[] getSystemPermissionUids(@NonNull String permissionName) { try { return mInterface.getSystemPermissionUids(permissionName); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } } services/java/com/android/server/SystemConfigService.java +20 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ import static java.util.stream.Collectors.toMap; import android.Manifest; import android.content.Context; import android.os.ISystemConfig; import android.util.ArraySet; import android.util.SparseArray; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.List; Loading Loading @@ -64,6 +68,22 @@ public class SystemConfigService extends SystemService { return SystemConfig.getInstance() .getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); } @Override public int[] getSystemPermissionUids(String permissionName) { mContext.enforceCallingOrSelfPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS, "getSystemPermissionUids requires GET_RUNTIME_PERMISSIONS"); final List<Integer> uids = new ArrayList<>(); final SparseArray<ArraySet<String>> systemPermissions = SystemConfig.getInstance().getSystemPermissions(); for (int i = 0; i < systemPermissions.size(); i++) { final ArraySet<String> permissions = systemPermissions.valueAt(i); if (permissions != null && permissions.contains(permissionName)) { uids.add(systemPermissions.keyAt(i)); } } return ArrayUtils.convertToIntArray(uids); } }; public SystemConfigService(Context context) { Loading Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -7539,6 +7539,7 @@ package android.os { public class SystemConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps(); method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String); } public class SystemProperties { Loading
core/java/android/os/ISystemConfig.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,9 @@ interface ISystemConfig { * @see SystemConfigManager#getDisabledUntilUsedPreinstalledCarrierAssociatedAppEntries */ Map getDisabledUntilUsedPreinstalledCarrierAssociatedAppEntries(); /** * @see SystemConfigManager#getSystemPermissionUids */ int[] getSystemPermissionUids(String permissionName); }
core/java/android/os/SystemConfigManager.java +18 −0 Original line number Diff line number Diff line Loading @@ -111,4 +111,22 @@ public class SystemConfigManager { return Collections.emptyMap(); } } /** * Get uids which have been granted given permission in system configuration. * * The uids and assigning permissions are defined on data/etc/platform.xml * * @param permissionName The target permission. * @return The uids have been granted given permission in system configuration. */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS) @NonNull public int[] getSystemPermissionUids(@NonNull String permissionName) { try { return mInterface.getSystemPermissionUids(permissionName); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } }
services/java/com/android/server/SystemConfigService.java +20 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ import static java.util.stream.Collectors.toMap; import android.Manifest; import android.content.Context; import android.os.ISystemConfig; import android.util.ArraySet; import android.util.SparseArray; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.List; Loading Loading @@ -64,6 +68,22 @@ public class SystemConfigService extends SystemService { return SystemConfig.getInstance() .getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); } @Override public int[] getSystemPermissionUids(String permissionName) { mContext.enforceCallingOrSelfPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS, "getSystemPermissionUids requires GET_RUNTIME_PERMISSIONS"); final List<Integer> uids = new ArrayList<>(); final SparseArray<ArraySet<String>> systemPermissions = SystemConfig.getInstance().getSystemPermissions(); for (int i = 0; i < systemPermissions.size(); i++) { final ArraySet<String> permissions = systemPermissions.valueAt(i); if (permissions != null && permissions.contains(permissionName)) { uids.add(systemPermissions.keyAt(i)); } } return ArrayUtils.convertToIntArray(uids); } }; public SystemConfigService(Context context) { Loading