Merge "New API for getting enabledcomponent"
This commit is contained in:
@@ -7256,6 +7256,7 @@ package android.os {
|
|||||||
public class SystemConfigManager {
|
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.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.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
|
||||||
|
method @NonNull public java.util.List<java.lang.String> getEnabledComponentOverrides(@NonNull String);
|
||||||
method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
|
method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,4 +40,9 @@ interface ISystemConfig {
|
|||||||
* @see SystemConfigManager#getSystemPermissionUids
|
* @see SystemConfigManager#getSystemPermissionUids
|
||||||
*/
|
*/
|
||||||
int[] getSystemPermissionUids(String permissionName);
|
int[] getSystemPermissionUids(String permissionName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SystemConfigManager#getEnabledComponentOverrides
|
||||||
|
*/
|
||||||
|
List<String> getEnabledComponentOverrides(String packageName);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ package android.os;
|
|||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.Nullable;
|
||||||
import android.annotation.RequiresPermission;
|
import android.annotation.RequiresPermission;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.SystemService;
|
import android.annotation.SystemService;
|
||||||
@@ -129,4 +130,21 @@ public class SystemConfigManager {
|
|||||||
throw e.rethrowFromSystemServer();
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get enabled component for a specific package
|
||||||
|
*
|
||||||
|
* @param packageName The target package.
|
||||||
|
* @return The enabled component
|
||||||
|
* {@hide}
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@NonNull
|
||||||
|
public List<String> getEnabledComponentOverrides(@NonNull String packageName) {
|
||||||
|
try {
|
||||||
|
return mInterface.getEnabledComponentOverrides(packageName);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
throw e.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import static java.util.stream.Collectors.toMap;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.ISystemConfig;
|
import android.os.ISystemConfig;
|
||||||
|
import android.util.ArrayMap;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
@@ -84,6 +85,21 @@ public class SystemConfigService extends SystemService {
|
|||||||
}
|
}
|
||||||
return ArrayUtils.convertToIntArray(uids);
|
return ArrayUtils.convertToIntArray(uids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getEnabledComponentOverrides(String packageName) {
|
||||||
|
ArrayMap<String, Boolean> systemComponents = SystemConfig.getInstance()
|
||||||
|
.getComponentsEnabledStates(packageName);
|
||||||
|
List<String> enabledComponent = new ArrayList<>();
|
||||||
|
if (systemComponents != null) {
|
||||||
|
for (Map.Entry<String, Boolean> entry : systemComponents.entrySet()) {
|
||||||
|
if (Boolean.TRUE.equals(entry.getValue())) {
|
||||||
|
enabledComponent.add(entry.getKey());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return enabledComponent;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public SystemConfigService(Context context) {
|
public SystemConfigService(Context context) {
|
||||||
|
|||||||
Reference in New Issue
Block a user