Loading core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3498,6 +3498,10 @@ <!-- Whether or not swipe up gesture's opt-in setting is available on this device --> <bool name="config_swipe_up_gesture_setting_available">false</bool> <!-- Applications which are disabled unless matching a particular sku --> <string-array name="config_disableApksUnlessMatchedSku_apk_list" translatable="false" /> <string-array name="config_disableApkUnlessMatchedSku_skus_list" translatable="false" /> <!-- Whether or not we should show the option to show battery percentage --> <bool name="config_battery_percentage_setting_available">true</bool> Loading core/res/res/values/symbols.xml +3 −0 Original line number Diff line number Diff line Loading @@ -3436,4 +3436,7 @@ <java-symbol type="integer" name="config_defaultHapticFeedbackIntensity" /> <java-symbol type="integer" name="config_defaultNotificationVibrationIntensity" /> <java-symbol type="array" name="config_disableApksUnlessMatchedSku_apk_list" /> <java-symbol type="array" name="config_disableApkUnlessMatchedSku_skus_list" /> </resources> services/core/java/com/android/server/pm/PackageManagerService.java +24 −0 Original line number Diff line number Diff line Loading @@ -21109,6 +21109,8 @@ public class PackageManagerService extends IPackageManager.Stub CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(), this, mContext.getContentResolver(), UserHandle.USER_SYSTEM); disableSkuSpecificApps(); // Read the compatibilty setting when the system is ready. boolean compatibilityModeEnabled = android.provider.Settings.Global.getInt( mContext.getContentResolver(), Loading Loading @@ -21899,6 +21901,28 @@ public class PackageManagerService extends IPackageManager.Stub } } //TODO: b/111402650 private void disableSkuSpecificApps() { if (!mIsUpgrade && !mFirstBoot) { return; } String apkList[] = mContext.getResources().getStringArray( R.array.config_disableApksUnlessMatchedSku_apk_list); String skuArray[] = mContext.getResources().getStringArray( R.array.config_disableApkUnlessMatchedSku_skus_list); if (ArrayUtils.isEmpty(apkList)) { return; } String sku = SystemProperties.get("ro.boot.hardware.sku"); if (!TextUtils.isEmpty(sku) && ArrayUtils.contains(skuArray, sku)) { return; } for (String packageName : apkList) { setSystemAppHiddenUntilInstalled(packageName, true); setSystemAppInstallState(packageName, false, ActivityManager.getCurrentUser()); } } private void dumpProto(FileDescriptor fd) { final ProtoOutputStream proto = new ProtoOutputStream(fd); Loading
core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3498,6 +3498,10 @@ <!-- Whether or not swipe up gesture's opt-in setting is available on this device --> <bool name="config_swipe_up_gesture_setting_available">false</bool> <!-- Applications which are disabled unless matching a particular sku --> <string-array name="config_disableApksUnlessMatchedSku_apk_list" translatable="false" /> <string-array name="config_disableApkUnlessMatchedSku_skus_list" translatable="false" /> <!-- Whether or not we should show the option to show battery percentage --> <bool name="config_battery_percentage_setting_available">true</bool> Loading
core/res/res/values/symbols.xml +3 −0 Original line number Diff line number Diff line Loading @@ -3436,4 +3436,7 @@ <java-symbol type="integer" name="config_defaultHapticFeedbackIntensity" /> <java-symbol type="integer" name="config_defaultNotificationVibrationIntensity" /> <java-symbol type="array" name="config_disableApksUnlessMatchedSku_apk_list" /> <java-symbol type="array" name="config_disableApkUnlessMatchedSku_skus_list" /> </resources>
services/core/java/com/android/server/pm/PackageManagerService.java +24 −0 Original line number Diff line number Diff line Loading @@ -21109,6 +21109,8 @@ public class PackageManagerService extends IPackageManager.Stub CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(), this, mContext.getContentResolver(), UserHandle.USER_SYSTEM); disableSkuSpecificApps(); // Read the compatibilty setting when the system is ready. boolean compatibilityModeEnabled = android.provider.Settings.Global.getInt( mContext.getContentResolver(), Loading Loading @@ -21899,6 +21901,28 @@ public class PackageManagerService extends IPackageManager.Stub } } //TODO: b/111402650 private void disableSkuSpecificApps() { if (!mIsUpgrade && !mFirstBoot) { return; } String apkList[] = mContext.getResources().getStringArray( R.array.config_disableApksUnlessMatchedSku_apk_list); String skuArray[] = mContext.getResources().getStringArray( R.array.config_disableApkUnlessMatchedSku_skus_list); if (ArrayUtils.isEmpty(apkList)) { return; } String sku = SystemProperties.get("ro.boot.hardware.sku"); if (!TextUtils.isEmpty(sku) && ArrayUtils.contains(skuArray, sku)) { return; } for (String packageName : apkList) { setSystemAppHiddenUntilInstalled(packageName, true); setSystemAppInstallState(packageName, false, ActivityManager.getCurrentUser()); } } private void dumpProto(FileDescriptor fd) { final ProtoOutputStream proto = new ProtoOutputStream(fd);