Loading AndroidManifest.xml +0 −33 Original line number Diff line number Diff line Loading @@ -3033,39 +3033,6 @@ android:exported="true" android:permission="android.permission.DUMP" /> <!-- Conditional receivers, only enabled during silenced state, default off--> <receiver android:name=".dashboard.conditional.HotspotCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.AirplaneModeCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.AIRPLANE_MODE" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.DndCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.CellularDataCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.ANY_DATA_STATE" /> </intent-filter> </receiver> <!-- Quick Settings tiles for Developer Options --> <service android:name=".qstile.DevelopmentTiles$ShowLayout" Loading src/com/android/settings/dashboard/DashboardSummary.java +1 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ public class DashboardSummary extends InstrumentedFragment mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE); mConditionManager = ConditionManager.get(activity, false); getLifecycle().addObserver(mConditionManager); mSuggestionParser = new SuggestionParser(activity, activity.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering); mSuggestionsChecks = new SuggestionsChecks(getContext()); Loading src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.dashboard.conditional; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.net.ConnectivityManager; import android.util.Log; Loading @@ -29,8 +30,14 @@ import com.android.settingslib.WirelessUtils; public class AirplaneModeCondition extends Condition { public static String TAG = "APM_Condition"; private final Receiver mReceiver; private static final IntentFilter AIRPLANE_MODE_FILTER = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED); public AirplaneModeCondition(ConditionManager conditionManager) { super(conditionManager); mReceiver = new Receiver(); } @Override Loading @@ -40,8 +47,13 @@ public class AirplaneModeCondition extends Condition { } @Override protected Class<?> getReceiverClass() { return Receiver.class; protected BroadcastReceiver getReceiver() { return mReceiver; } @Override protected IntentFilter getIntentFilter() { return AIRPLANE_MODE_FILTER; } @Override Loading src/com/android/settings/dashboard/conditional/CellularDataCondition.java +14 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ package com.android.settings.dashboard.conditional; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.net.ConnectivityManager; import android.telephony.TelephonyManager; Loading @@ -23,8 +24,14 @@ import com.android.settings.Settings; public class CellularDataCondition extends Condition { private final Receiver mReceiver; private static final IntentFilter DATA_CONNECTION_FILTER = new IntentFilter(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); public CellularDataCondition(ConditionManager manager) { super(manager); mReceiver = new Receiver(); } @Override Loading @@ -41,8 +48,13 @@ public class CellularDataCondition extends Condition { } @Override protected Class<?> getReceiverClass() { return Receiver.class; protected BroadcastReceiver getReceiver() { return mReceiver; } @Override protected IntentFilter getIntentFilter() { return DATA_CONNECTION_FILTER; } @Override Loading src/com/android/settings/dashboard/conditional/Condition.java +20 −25 Original line number Diff line number Diff line Loading @@ -16,18 +16,17 @@ package com.android.settings.dashboard.conditional; import android.content.ComponentName; import android.content.BroadcastReceiver; import android.content.Context; import android.content.pm.PackageManager; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.os.PersistableBundle; import android.support.annotation.VisibleForTesting; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.overlay.FeatureFactory; import static android.content.pm.PackageManager.DONT_KILL_APP; public abstract class Condition { private static final String KEY_SILENCE = "silence"; Loading @@ -49,12 +48,6 @@ public abstract class Condition { Condition(ConditionManager manager, MetricsFeatureProvider metricsFeatureProvider) { mManager = manager; mMetricsFeatureProvider = metricsFeatureProvider; Class<?> receiverClass = getReceiverClass(); if (receiverClass != null && shouldAlwaysListenToBroadcast()) { PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), receiverClass), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, DONT_KILL_APP); } } void restoreState(PersistableBundle bundle) { Loading Loading @@ -110,29 +103,25 @@ public abstract class Condition { } } private void onSilenceChanged(boolean silenced) { if (shouldAlwaysListenToBroadcast()) { // Don't try to disable BroadcastReceiver if we want it always on. @VisibleForTesting void onSilenceChanged(boolean silenced) { final BroadcastReceiver receiver = getReceiver(); if (receiver == null) { return; } Class<?> clz = getReceiverClass(); if (clz == null) { return; if (silenced) { mManager.getContext().registerReceiver(receiver, getIntentFilter()); } else { mManager.getContext().unregisterReceiver(receiver); } // Only need to listen for changes when its been silenced. PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), clz), silenced ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, DONT_KILL_APP); } protected Class<?> getReceiverClass() { protected BroadcastReceiver getReceiver() { return null; } protected boolean shouldAlwaysListenToBroadcast() { return false; protected IntentFilter getIntentFilter() { return null; } public boolean shouldShow() { Loading @@ -143,6 +132,12 @@ public abstract class Condition { return mLastStateChange; } public void onResume() { } public void onPause() { } // State. public abstract void refreshState(); Loading Loading
AndroidManifest.xml +0 −33 Original line number Diff line number Diff line Loading @@ -3033,39 +3033,6 @@ android:exported="true" android:permission="android.permission.DUMP" /> <!-- Conditional receivers, only enabled during silenced state, default off--> <receiver android:name=".dashboard.conditional.HotspotCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.AirplaneModeCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.AIRPLANE_MODE" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.DndCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" /> </intent-filter> </receiver> <receiver android:name=".dashboard.conditional.CellularDataCondition$Receiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.ANY_DATA_STATE" /> </intent-filter> </receiver> <!-- Quick Settings tiles for Developer Options --> <service android:name=".qstile.DevelopmentTiles$ShowLayout" Loading
src/com/android/settings/dashboard/DashboardSummary.java +1 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ public class DashboardSummary extends InstrumentedFragment mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE); mConditionManager = ConditionManager.get(activity, false); getLifecycle().addObserver(mConditionManager); mSuggestionParser = new SuggestionParser(activity, activity.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering); mSuggestionsChecks = new SuggestionsChecks(getContext()); Loading
src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.dashboard.conditional; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.net.ConnectivityManager; import android.util.Log; Loading @@ -29,8 +30,14 @@ import com.android.settingslib.WirelessUtils; public class AirplaneModeCondition extends Condition { public static String TAG = "APM_Condition"; private final Receiver mReceiver; private static final IntentFilter AIRPLANE_MODE_FILTER = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED); public AirplaneModeCondition(ConditionManager conditionManager) { super(conditionManager); mReceiver = new Receiver(); } @Override Loading @@ -40,8 +47,13 @@ public class AirplaneModeCondition extends Condition { } @Override protected Class<?> getReceiverClass() { return Receiver.class; protected BroadcastReceiver getReceiver() { return mReceiver; } @Override protected IntentFilter getIntentFilter() { return AIRPLANE_MODE_FILTER; } @Override Loading
src/com/android/settings/dashboard/conditional/CellularDataCondition.java +14 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ package com.android.settings.dashboard.conditional; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.net.ConnectivityManager; import android.telephony.TelephonyManager; Loading @@ -23,8 +24,14 @@ import com.android.settings.Settings; public class CellularDataCondition extends Condition { private final Receiver mReceiver; private static final IntentFilter DATA_CONNECTION_FILTER = new IntentFilter(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); public CellularDataCondition(ConditionManager manager) { super(manager); mReceiver = new Receiver(); } @Override Loading @@ -41,8 +48,13 @@ public class CellularDataCondition extends Condition { } @Override protected Class<?> getReceiverClass() { return Receiver.class; protected BroadcastReceiver getReceiver() { return mReceiver; } @Override protected IntentFilter getIntentFilter() { return DATA_CONNECTION_FILTER; } @Override Loading
src/com/android/settings/dashboard/conditional/Condition.java +20 −25 Original line number Diff line number Diff line Loading @@ -16,18 +16,17 @@ package com.android.settings.dashboard.conditional; import android.content.ComponentName; import android.content.BroadcastReceiver; import android.content.Context; import android.content.pm.PackageManager; import android.content.IntentFilter; import android.graphics.drawable.Icon; import android.os.PersistableBundle; import android.support.annotation.VisibleForTesting; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.overlay.FeatureFactory; import static android.content.pm.PackageManager.DONT_KILL_APP; public abstract class Condition { private static final String KEY_SILENCE = "silence"; Loading @@ -49,12 +48,6 @@ public abstract class Condition { Condition(ConditionManager manager, MetricsFeatureProvider metricsFeatureProvider) { mManager = manager; mMetricsFeatureProvider = metricsFeatureProvider; Class<?> receiverClass = getReceiverClass(); if (receiverClass != null && shouldAlwaysListenToBroadcast()) { PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), receiverClass), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, DONT_KILL_APP); } } void restoreState(PersistableBundle bundle) { Loading Loading @@ -110,29 +103,25 @@ public abstract class Condition { } } private void onSilenceChanged(boolean silenced) { if (shouldAlwaysListenToBroadcast()) { // Don't try to disable BroadcastReceiver if we want it always on. @VisibleForTesting void onSilenceChanged(boolean silenced) { final BroadcastReceiver receiver = getReceiver(); if (receiver == null) { return; } Class<?> clz = getReceiverClass(); if (clz == null) { return; if (silenced) { mManager.getContext().registerReceiver(receiver, getIntentFilter()); } else { mManager.getContext().unregisterReceiver(receiver); } // Only need to listen for changes when its been silenced. PackageManager pm = mManager.getContext().getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(mManager.getContext(), clz), silenced ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, DONT_KILL_APP); } protected Class<?> getReceiverClass() { protected BroadcastReceiver getReceiver() { return null; } protected boolean shouldAlwaysListenToBroadcast() { return false; protected IntentFilter getIntentFilter() { return null; } public boolean shouldShow() { Loading @@ -143,6 +132,12 @@ public abstract class Condition { return mLastStateChange; } public void onResume() { } public void onPause() { } // State. public abstract void refreshState(); Loading