Loading src/com/android/settings/dashboard/conditional/Condition.java +14 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,12 @@ public abstract class Condition { // All conditions must live in this package. Condition(ConditionManager manager) { mManager = manager; Class<?> receiverClass = getReceiverClass(); if (receiverClass != null && shouldAlwaysListenToBroadcast()) { PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), receiverClass), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0 /* flag */); } } void restoreState(PersistableBundle bundle) { Loading Loading @@ -93,6 +99,10 @@ public abstract class Condition { } private void onSilenceChanged(boolean silenced) { if (shouldAlwaysListenToBroadcast()) { // Don't try to disable BroadcastReceiver if we want it always on. return; } Class<?> clz = getReceiverClass(); if (clz == null) { return; Loading @@ -109,6 +119,10 @@ public abstract class Condition { return null; } protected boolean shouldAlwaysListenToBroadcast() { return false; } public boolean shouldShow() { return isActive() && !isSilenced(); } Loading src/com/android/settings/dashboard/conditional/DndCondition.java +6 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.os.PersistableBundle; import android.provider.Settings; import android.provider.Settings.Global; import android.service.notification.ZenModeConfig; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; Loading Loading @@ -143,4 +144,9 @@ public class DndCondition extends Condition { } } } @Override protected boolean shouldAlwaysListenToBroadcast() { return true; } } Loading
src/com/android/settings/dashboard/conditional/Condition.java +14 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,12 @@ public abstract class Condition { // All conditions must live in this package. Condition(ConditionManager manager) { mManager = manager; Class<?> receiverClass = getReceiverClass(); if (receiverClass != null && shouldAlwaysListenToBroadcast()) { PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), receiverClass), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0 /* flag */); } } void restoreState(PersistableBundle bundle) { Loading Loading @@ -93,6 +99,10 @@ public abstract class Condition { } private void onSilenceChanged(boolean silenced) { if (shouldAlwaysListenToBroadcast()) { // Don't try to disable BroadcastReceiver if we want it always on. return; } Class<?> clz = getReceiverClass(); if (clz == null) { return; Loading @@ -109,6 +119,10 @@ public abstract class Condition { return null; } protected boolean shouldAlwaysListenToBroadcast() { return false; } public boolean shouldShow() { return isActive() && !isSilenced(); } Loading
src/com/android/settings/dashboard/conditional/DndCondition.java +6 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.os.PersistableBundle; import android.provider.Settings; import android.provider.Settings.Global; import android.service.notification.ZenModeConfig; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; Loading Loading @@ -143,4 +144,9 @@ public class DndCondition extends Condition { } } } @Override protected boolean shouldAlwaysListenToBroadcast() { return true; } }