Loading src/com/android/packageinstaller/PackageInstallerApplication.java +34 −0 Original line number Diff line number Diff line Loading @@ -17,12 +17,46 @@ package com.android.packageinstaller; import android.app.Application; import android.content.ComponentName; import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.util.ArrayMap; import com.android.packageinstaller.role.model.Role; import com.android.packageinstaller.role.model.Roles; import com.android.packageinstaller.role.ui.SpecialAppAccessListActivity; public class PackageInstallerApplication extends Application { @Override public void onCreate() { super.onCreate(); PackageItemInfo.forceSafeLabels(); updateSpecialAppAccessListActivityEnabledState(); } private void updateSpecialAppAccessListActivityEnabledState() { ArrayMap<String, Role> roles = Roles.get(this); boolean hasSpecialAppAccess = false; int rolesSize = roles.size(); for (int i = 0; i < rolesSize; i++) { Role role = roles.valueAt(i); if (!role.isAvailable(this)) { continue; } if (!role.isExclusive()) { hasSpecialAppAccess = true; break; } } PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(this, SpecialAppAccessListActivity.class); int enabledState = hasSpecialAppAccess ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT : PackageManager.COMPONENT_ENABLED_STATE_DISABLED; packageManager.setComponentEnabledSetting(componentName, enabledState, PackageManager.DONT_KILL_APP); } } Loading
src/com/android/packageinstaller/PackageInstallerApplication.java +34 −0 Original line number Diff line number Diff line Loading @@ -17,12 +17,46 @@ package com.android.packageinstaller; import android.app.Application; import android.content.ComponentName; import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.util.ArrayMap; import com.android.packageinstaller.role.model.Role; import com.android.packageinstaller.role.model.Roles; import com.android.packageinstaller.role.ui.SpecialAppAccessListActivity; public class PackageInstallerApplication extends Application { @Override public void onCreate() { super.onCreate(); PackageItemInfo.forceSafeLabels(); updateSpecialAppAccessListActivityEnabledState(); } private void updateSpecialAppAccessListActivityEnabledState() { ArrayMap<String, Role> roles = Roles.get(this); boolean hasSpecialAppAccess = false; int rolesSize = roles.size(); for (int i = 0; i < rolesSize; i++) { Role role = roles.valueAt(i); if (!role.isAvailable(this)) { continue; } if (!role.isExclusive()) { hasSpecialAppAccess = true; break; } } PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(this, SpecialAppAccessListActivity.class); int enabledState = hasSpecialAppAccess ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT : PackageManager.COMPONENT_ENABLED_STATE_DISABLED; packageManager.setComponentEnabledSetting(componentName, enabledState, PackageManager.DONT_KILL_APP); } }