diff options
| author | 2017-11-10 15:29:47 +0000 | |
|---|---|---|
| committer | 2017-11-10 15:29:47 +0000 | |
| commit | d27bcab10bec5a79af0202e6bad1d12bfb7049a3 (patch) | |
| tree | 1a1e0ecc7715c6c85453b04ace006d7c7c12a348 | |
| parent | 3ae3529736e163c152177531887b635ced9123aa (diff) | |
| parent | 8ab04d4c8480b12d74625b1a5bdc9dde2f9d21da (diff) | |
Merge "Don't send PLUGIN_CHANGED broadcast unless something changed"
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java index f91e45d05e79..27bf534c290e 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java @@ -169,16 +169,23 @@ public class PluginFragment extends PreferenceFragment { protected boolean persistBoolean(boolean value) { final int desiredState = value ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED; + boolean shouldSendBroadcast = false; for (int i = 0; i < mInfo.services.length; i++) { ComponentName componentName = new ComponentName(mInfo.packageName, mInfo.services[i].name); - mPm.setComponentEnabledSetting(componentName, desiredState, - PackageManager.DONT_KILL_APP); + + if (mPm.getComponentEnabledSetting(componentName) != desiredState) { + mPm.setComponentEnabledSetting(componentName, desiredState, + PackageManager.DONT_KILL_APP); + shouldSendBroadcast = true; + } + } + if (shouldSendBroadcast) { + final String pkg = mInfo.packageName; + final Intent intent = new Intent(PluginManager.PLUGIN_CHANGED, + pkg != null ? Uri.fromParts("package", pkg, null) : null); + getContext().sendBroadcast(intent); } - final String pkg = mInfo.packageName; - final Intent intent = new Intent(PluginManager.PLUGIN_CHANGED, - pkg != null ? Uri.fromParts("package", pkg, null) : null); - getContext().sendBroadcast(intent); return true; } |