Loading packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +40 −8 Original line number Original line Diff line number Diff line Loading @@ -19,13 +19,14 @@ package com.android.systemui.qs.tiles; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.content.res.Resources; import android.os.SystemProperties; import android.service.quicksettings.Tile; import android.service.quicksettings.Tile; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.View; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup; import android.widget.Switch; import android.widget.Switch; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController; Loading @@ -38,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.qs.CellTileView; import com.android.systemui.qs.CellTileView; import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.SignalTileView; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.IconState; Loading @@ -46,8 +46,17 @@ import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; /** Quick settings tile: Cellular **/ /** Quick settings tile: Cellular **/ public class CellularTile extends QSTileImpl<SignalState> { public class CellularTile extends QSTileImpl<SignalState> { static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName( private static final ComponentName CELLULAR_SETTING_COMPONENT = new ComponentName( "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"); private static final ComponentName DATA_PLAN_CELLULAR_COMPONENT = new ComponentName( "com.android.settings", "com.android.settings.Settings$DataPlanUsageSummaryActivity"); private static final Intent CELLULAR_SETTINGS = new Intent().setComponent(CELLULAR_SETTING_COMPONENT); private static final Intent DATA_PLAN_CELLULAR_SETTINGS = new Intent().setComponent(DATA_PLAN_CELLULAR_COMPONENT); private static final String ENABLE_SETTINGS_DATA_PLAN = "enable.settings.data.plan"; private final NetworkController mController; private final NetworkController mController; private final DataUsageController mDataController; private final DataUsageController mDataController; Loading Loading @@ -90,7 +99,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override @Override public Intent getLongClickIntent() { public Intent getLongClickIntent() { return CELLULAR_SETTINGS; return getCellularSettingIntent(mContext); } } @Override @Override Loading @@ -103,7 +112,9 @@ public class CellularTile extends QSTileImpl<SignalState> { if (mDataController.isMobileDataSupported()) { if (mDataController.isMobileDataSupported()) { showDetail(true); showDetail(true); } else { } else { mActivityStarter.postStartActivityDismissingKeyguard(CELLULAR_SETTINGS, 0); mActivityStarter .postStartActivityDismissingKeyguard(getCellularSettingIntent(mContext), 0 /* delay */); } } } } Loading Loading @@ -240,7 +251,28 @@ public class CellularTile extends QSTileImpl<SignalState> { public void setMobileDataEnabled(boolean enabled) { public void setMobileDataEnabled(boolean enabled) { mDetailAdapter.setMobileDataEnabled(enabled); mDetailAdapter.setMobileDataEnabled(enabled); } } }; } static Intent getCellularSettingIntent(Context context) { // TODO(b/62349208): We should replace feature flag check below with data plans // availability check. If the data plans are available we display the data plans usage // summary otherwise we display data usage summary without data plans. boolean isDataPlanFeatureEnabled = SystemProperties.getBoolean(ENABLE_SETTINGS_DATA_PLAN, false /* default */); context.getPackageManager() .setComponentEnabledSetting( DATA_PLAN_CELLULAR_COMPONENT, isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); context.getPackageManager() .setComponentEnabledSetting( CELLULAR_SETTING_COMPONENT, isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED : PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); return isDataPlanFeatureEnabled ? DATA_PLAN_CELLULAR_SETTINGS : CELLULAR_SETTINGS; } private final class CellularDetailAdapter implements DetailAdapter { private final class CellularDetailAdapter implements DetailAdapter { Loading @@ -258,7 +290,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override @Override public Intent getSettingsIntent() { public Intent getSettingsIntent() { return CELLULAR_SETTINGS; return getCellularSettingIntent(mContext); } } @Override @Override Loading packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java +5 −13 Original line number Original line Diff line number Diff line Loading @@ -14,18 +14,16 @@ package com.android.systemui.qs.tiles; package com.android.systemui.qs.tiles; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.Intent; import android.service.quicksettings.Tile; import android.service.quicksettings.Tile; import android.widget.Switch; import android.widget.Switch; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.Prefs; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.qs.QSHost; import com.android.systemui.plugins.qs.QSTile.BooleanState; import com.android.systemui.plugins.qs.QSTile.BooleanState; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DataSaverController; Loading Loading @@ -57,9 +55,8 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements @Override @Override public Intent getLongClickIntent() { public Intent getLongClickIntent() { return CellularTile.CELLULAR_SETTINGS; return CellularTile.getCellularSettingIntent(mContext); } } @Override @Override protected void handleClick() { protected void handleClick() { if (mState.value if (mState.value Loading @@ -73,12 +70,7 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements dialog.setTitle(com.android.internal.R.string.data_saver_enable_title); dialog.setTitle(com.android.internal.R.string.data_saver_enable_title); dialog.setMessage(com.android.internal.R.string.data_saver_description); dialog.setMessage(com.android.internal.R.string.data_saver_description); dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button, dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button, new DialogInterface.OnClickListener() { (OnClickListener) (dialogInterface, which) -> toggleDataSaver()); @Override public void onClick(DialogInterface dialog, int which) { toggleDataSaver(); } }); dialog.setNegativeButton(com.android.internal.R.string.cancel, null); dialog.setNegativeButton(com.android.internal.R.string.cancel, null); dialog.setShowForAllUsers(true); dialog.setShowForAllUsers(true); dialog.show(); dialog.show(); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +40 −8 Original line number Original line Diff line number Diff line Loading @@ -19,13 +19,14 @@ package com.android.systemui.qs.tiles; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.content.res.Resources; import android.os.SystemProperties; import android.service.quicksettings.Tile; import android.service.quicksettings.Tile; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.View; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup; import android.widget.Switch; import android.widget.Switch; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController; Loading @@ -38,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.qs.CellTileView; import com.android.systemui.qs.CellTileView; import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.SignalTileView; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.IconState; Loading @@ -46,8 +46,17 @@ import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; /** Quick settings tile: Cellular **/ /** Quick settings tile: Cellular **/ public class CellularTile extends QSTileImpl<SignalState> { public class CellularTile extends QSTileImpl<SignalState> { static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName( private static final ComponentName CELLULAR_SETTING_COMPONENT = new ComponentName( "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"); private static final ComponentName DATA_PLAN_CELLULAR_COMPONENT = new ComponentName( "com.android.settings", "com.android.settings.Settings$DataPlanUsageSummaryActivity"); private static final Intent CELLULAR_SETTINGS = new Intent().setComponent(CELLULAR_SETTING_COMPONENT); private static final Intent DATA_PLAN_CELLULAR_SETTINGS = new Intent().setComponent(DATA_PLAN_CELLULAR_COMPONENT); private static final String ENABLE_SETTINGS_DATA_PLAN = "enable.settings.data.plan"; private final NetworkController mController; private final NetworkController mController; private final DataUsageController mDataController; private final DataUsageController mDataController; Loading Loading @@ -90,7 +99,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override @Override public Intent getLongClickIntent() { public Intent getLongClickIntent() { return CELLULAR_SETTINGS; return getCellularSettingIntent(mContext); } } @Override @Override Loading @@ -103,7 +112,9 @@ public class CellularTile extends QSTileImpl<SignalState> { if (mDataController.isMobileDataSupported()) { if (mDataController.isMobileDataSupported()) { showDetail(true); showDetail(true); } else { } else { mActivityStarter.postStartActivityDismissingKeyguard(CELLULAR_SETTINGS, 0); mActivityStarter .postStartActivityDismissingKeyguard(getCellularSettingIntent(mContext), 0 /* delay */); } } } } Loading Loading @@ -240,7 +251,28 @@ public class CellularTile extends QSTileImpl<SignalState> { public void setMobileDataEnabled(boolean enabled) { public void setMobileDataEnabled(boolean enabled) { mDetailAdapter.setMobileDataEnabled(enabled); mDetailAdapter.setMobileDataEnabled(enabled); } } }; } static Intent getCellularSettingIntent(Context context) { // TODO(b/62349208): We should replace feature flag check below with data plans // availability check. If the data plans are available we display the data plans usage // summary otherwise we display data usage summary without data plans. boolean isDataPlanFeatureEnabled = SystemProperties.getBoolean(ENABLE_SETTINGS_DATA_PLAN, false /* default */); context.getPackageManager() .setComponentEnabledSetting( DATA_PLAN_CELLULAR_COMPONENT, isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); context.getPackageManager() .setComponentEnabledSetting( CELLULAR_SETTING_COMPONENT, isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED : PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); return isDataPlanFeatureEnabled ? DATA_PLAN_CELLULAR_SETTINGS : CELLULAR_SETTINGS; } private final class CellularDetailAdapter implements DetailAdapter { private final class CellularDetailAdapter implements DetailAdapter { Loading @@ -258,7 +290,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override @Override public Intent getSettingsIntent() { public Intent getSettingsIntent() { return CELLULAR_SETTINGS; return getCellularSettingIntent(mContext); } } @Override @Override Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java +5 −13 Original line number Original line Diff line number Diff line Loading @@ -14,18 +14,16 @@ package com.android.systemui.qs.tiles; package com.android.systemui.qs.tiles; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.Intent; import android.service.quicksettings.Tile; import android.service.quicksettings.Tile; import android.widget.Switch; import android.widget.Switch; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.Prefs; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.qs.QSHost; import com.android.systemui.plugins.qs.QSTile.BooleanState; import com.android.systemui.plugins.qs.QSTile.BooleanState; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DataSaverController; Loading Loading @@ -57,9 +55,8 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements @Override @Override public Intent getLongClickIntent() { public Intent getLongClickIntent() { return CellularTile.CELLULAR_SETTINGS; return CellularTile.getCellularSettingIntent(mContext); } } @Override @Override protected void handleClick() { protected void handleClick() { if (mState.value if (mState.value Loading @@ -73,12 +70,7 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements dialog.setTitle(com.android.internal.R.string.data_saver_enable_title); dialog.setTitle(com.android.internal.R.string.data_saver_enable_title); dialog.setMessage(com.android.internal.R.string.data_saver_description); dialog.setMessage(com.android.internal.R.string.data_saver_description); dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button, dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button, new DialogInterface.OnClickListener() { (OnClickListener) (dialogInterface, which) -> toggleDataSaver()); @Override public void onClick(DialogInterface dialog, int which) { toggleDataSaver(); } }); dialog.setNegativeButton(com.android.internal.R.string.cancel, null); dialog.setNegativeButton(com.android.internal.R.string.cancel, null); dialog.setShowForAllUsers(true); dialog.setShowForAllUsers(true); dialog.show(); dialog.show(); Loading