diff options
| author | 2016-07-11 11:50:15 -0700 | |
|---|---|---|
| committer | 2016-07-11 22:38:09 +0000 | |
| commit | ee738823c9f5385de28e7ce03aa3d90100a03457 (patch) | |
| tree | 9d13fa03838542ed398380c93f9f3a6e7df569b6 | |
| parent | bb6f52d06bcfb21ed25b3acb8aae6240a81eacf0 (diff) | |
Remove VR package disable logic.
- No longer disable the default VrListenerService package while
no VR applications are installed on the device.
Bug: 29896165
Change-Id: I8c5a0aeeb37a4c3883c7e88f9187404877eb8b6e
| -rw-r--r-- | services/core/java/com/android/server/vr/VrManagerService.java | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java index 5fefd4c8b2ce..7d209318c086 100644 --- a/services/core/java/com/android/server/vr/VrManagerService.java +++ b/services/core/java/com/android/server/vr/VrManagerService.java @@ -403,107 +403,6 @@ public class VrManagerService extends SystemService implements EnabledComponentC publishLocalService(VrManagerInternal.class, new LocalService()); publishBinderService(VR_MANAGER_BINDER_SERVICE, mVrManager.asBinder()); - - // If there are no VR packages installed on the device, then disable VR - // components, otherwise, enable them. - setEnabledStatusOfVrComponents(); - } - - private void setEnabledStatusOfVrComponents() { - ArraySet<ComponentName> vrComponents = SystemConfig.getInstance().getDefaultVrComponents(); - if (vrComponents == null) { - return; - } - - // We only want to enable VR components if there is a VR package installed on the device. - // The VR components themselves do not quality as a VR package, so exclude them. - ArraySet<String> vrComponentPackageNames = new ArraySet<>(); - for (ComponentName componentName : vrComponents) { - vrComponentPackageNames.add(componentName.getPackageName()); - } - - // Check to see if there are any packages on the device, other than the VR component - // packages. - PackageManager pm = mContext.getPackageManager(); - List<PackageInfo> packageInfos = pm.getInstalledPackages( - PackageManager.GET_CONFIGURATIONS); - boolean vrModeIsUsed = false; - for (PackageInfo packageInfo : packageInfos) { - if (packageInfo != null && packageInfo.packageName != null && - pm.getApplicationEnabledSetting(packageInfo.packageName) == - PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) { - vrModeIsUsed = enableVrComponentsIfVrModeUsed(pm, packageInfo, - vrComponentPackageNames, vrComponents); - if (vrModeIsUsed) { - break; - } - } - } - - if (!vrModeIsUsed) { - Slog.i(TAG, "No VR packages found, disabling VR components"); - setVrComponentsEnabledOrDisabled(vrComponents, false); - - // Register to receive an intent when a new package is installed, in case that package - // requires VR components. - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); - intentFilter.addDataScheme("package"); - mContext.registerReceiver(new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - PackageManager pm = context.getPackageManager(); - final String packageName = intent.getData().getSchemeSpecificPart(); - if (packageName != null) { - try { - PackageInfo packageInfo = pm.getPackageInfo(packageName, - PackageManager.GET_CONFIGURATIONS); - enableVrComponentsIfVrModeUsed(pm, packageInfo, - vrComponentPackageNames, vrComponents); - } catch (NameNotFoundException e) { - } - } - }; - }, intentFilter); - } - } - - private void setVrComponentsEnabledOrDisabled(ArraySet<ComponentName> vrComponents, - boolean enabled) { - int state = enabled ? - PackageManager.COMPONENT_ENABLED_STATE_ENABLED : - PackageManager.COMPONENT_ENABLED_STATE_DISABLED; - PackageManager pm = mContext.getPackageManager(); - for (ComponentName componentName : vrComponents) { - try { - // Note that we must first check for the existance of the package before trying - // to set its enabled state. This is to prevent PackageManager from throwing - // an excepton if the package is not found (not just a NameNotFoundException - // exception). - PackageInfo packageInfo = pm.getPackageInfo(componentName.getPackageName(), - PackageManager.GET_CONFIGURATIONS); - pm.setApplicationEnabledSetting(componentName.getPackageName(), state , 0); - } catch (NameNotFoundException e) { - } - } - } - - private boolean enableVrComponentsIfVrModeUsed(PackageManager pm, PackageInfo packageInfo, - ArraySet<String> vrComponentPackageNames, ArraySet<ComponentName> vrComponents) { - boolean isVrComponent = vrComponents != null && - vrComponentPackageNames.contains(packageInfo.packageName); - if (packageInfo != null && packageInfo.reqFeatures != null && !isVrComponent) { - for (FeatureInfo featureInfo : packageInfo.reqFeatures) { - if (featureInfo.name != null && - (featureInfo.name.equals(PackageManager.FEATURE_VR_MODE) || - featureInfo.name.equals(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE))) { - Slog.i(TAG, "VR package found, enabling VR components"); - setVrComponentsEnabledOrDisabled(vrComponents, true); - return true; - } - } - } - return false; } @Override |