Loading packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java +19 −6 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ public class ServiceMonitor { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_PACKAGE_ADDED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addDataScheme("package"); mContext.registerReceiver(mBroadcastReceiver, filter); Loading @@ -196,10 +197,11 @@ public class ServiceMonitor { + " extras=" + bundleToString(intent.getExtras())); if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) { mHandler.sendEmptyMessage(MSG_START_SERVICE); } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())) { PackageManager pm = mContext.getPackageManager(); boolean serviceEnabled = pm.getApplicationEnabledSetting(mServiceName.getPackageName()) } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction()) || Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { final PackageManager pm = mContext.getPackageManager(); final boolean serviceEnabled = isPackageAvailable() && pm.getApplicationEnabledSetting(mServiceName.getPackageName()) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED && pm.getComponentEnabledSetting(mServiceName) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED; Loading Loading @@ -289,4 +291,15 @@ public class ServiceMonitor { Settings.Secure.putStringForUser(mContext.getContentResolver(), mSettingKey, setting, UserHandle.USER_CURRENT); } public boolean isPackageAvailable() { final ComponentName component = getComponent(); if (component == null) return false; try { return mContext.getPackageManager().isPackageAvailable(component.getPackageName()); } catch (RuntimeException e) { Log.w(mTag, "Error checking package availability", e); return false; } } } packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java +7 −2 Original line number Diff line number Diff line Loading @@ -112,12 +112,12 @@ public class VolumeUI extends SystemUI { private void setVolumeController(boolean register) { if (register) { if (LOGD) Log.d(TAG, "Registering volume controller"); if (LOGD) Log.d(TAG, "Registering default volume controller"); mAudioManager.setVolumeController(mVolumeController); mMediaSessionManager.setRemoteVolumeController(mRemoteVolumeController); DndTile.setVisible(mContext, false); } else { if (LOGD) Log.d(TAG, "Unregistering volume controller"); if (LOGD) Log.d(TAG, "Unregistering default volume controller"); mAudioManager.setVolumeController(null); mMediaSessionManager.setRemoteVolumeController(null); } Loading Loading @@ -260,11 +260,16 @@ public class VolumeUI extends SystemUI { if (LOGD) Log.d(TAG, "onNoService"); setVolumeController(true); mRestorationNotification.hide(); if (!mVolumeControllerService.isPackageAvailable()) { mVolumeControllerService.setComponent(null); } } @Override public long onServiceStartAttempt() { if (LOGD) Log.d(TAG, "onServiceStartAttempt"); // poke the setting to update the uid mVolumeControllerService.setComponent(mVolumeControllerService.getComponent()); setVolumeController(false); mVolumeController.dismissNow(); mRestorationNotification.show(); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java +19 −6 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ public class ServiceMonitor { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_PACKAGE_ADDED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addDataScheme("package"); mContext.registerReceiver(mBroadcastReceiver, filter); Loading @@ -196,10 +197,11 @@ public class ServiceMonitor { + " extras=" + bundleToString(intent.getExtras())); if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) { mHandler.sendEmptyMessage(MSG_START_SERVICE); } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())) { PackageManager pm = mContext.getPackageManager(); boolean serviceEnabled = pm.getApplicationEnabledSetting(mServiceName.getPackageName()) } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction()) || Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { final PackageManager pm = mContext.getPackageManager(); final boolean serviceEnabled = isPackageAvailable() && pm.getApplicationEnabledSetting(mServiceName.getPackageName()) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED && pm.getComponentEnabledSetting(mServiceName) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED; Loading Loading @@ -289,4 +291,15 @@ public class ServiceMonitor { Settings.Secure.putStringForUser(mContext.getContentResolver(), mSettingKey, setting, UserHandle.USER_CURRENT); } public boolean isPackageAvailable() { final ComponentName component = getComponent(); if (component == null) return false; try { return mContext.getPackageManager().isPackageAvailable(component.getPackageName()); } catch (RuntimeException e) { Log.w(mTag, "Error checking package availability", e); return false; } } }
packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java +7 −2 Original line number Diff line number Diff line Loading @@ -112,12 +112,12 @@ public class VolumeUI extends SystemUI { private void setVolumeController(boolean register) { if (register) { if (LOGD) Log.d(TAG, "Registering volume controller"); if (LOGD) Log.d(TAG, "Registering default volume controller"); mAudioManager.setVolumeController(mVolumeController); mMediaSessionManager.setRemoteVolumeController(mRemoteVolumeController); DndTile.setVisible(mContext, false); } else { if (LOGD) Log.d(TAG, "Unregistering volume controller"); if (LOGD) Log.d(TAG, "Unregistering default volume controller"); mAudioManager.setVolumeController(null); mMediaSessionManager.setRemoteVolumeController(null); } Loading Loading @@ -260,11 +260,16 @@ public class VolumeUI extends SystemUI { if (LOGD) Log.d(TAG, "onNoService"); setVolumeController(true); mRestorationNotification.hide(); if (!mVolumeControllerService.isPackageAvailable()) { mVolumeControllerService.setComponent(null); } } @Override public long onServiceStartAttempt() { if (LOGD) Log.d(TAG, "onServiceStartAttempt"); // poke the setting to update the uid mVolumeControllerService.setComponent(mVolumeControllerService.getComponent()); setVolumeController(false); mVolumeController.dismissNow(); mRestorationNotification.show(); Loading