summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rajeev Kumar <rajekumar@google.com> 2017-07-21 19:02:43 +0000
committer android-build-merger <android-build-merger@google.com> 2017-07-21 19:02:43 +0000
commit6b9a3fa3c83fcadb6f404db94ddc4cc767cdad5f (patch)
treef2e483be1a0cec3de676d83760d4ba5327728227
parentc5662c9aadc7a8e523fd02aac419804ab79d4938 (diff)
parent56eec2949481ccf3594c05930f60b2cb627f73b3 (diff)
Merge "Data plan setting in SystemUI quick settings." into oc-mr1-dev
am: 56eec29494 Change-Id: I4cf9310cbfb8a6aec263d351dcbba83771b68455
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java48
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java18
2 files changed, 45 insertions, 21 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
index 81ec6a7c72a9..4e728f68890a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -19,13 +19,14 @@ package com.android.systemui.qs.tiles;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.content.res.Resources;
+import android.os.SystemProperties;
import android.service.quicksettings.Tile;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Switch;
-
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.net.DataUsageController;
@@ -38,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState;
import com.android.systemui.qs.CellTileView;
import com.android.systemui.qs.CellTileView.SignalIcon;
import com.android.systemui.qs.QSHost;
-import com.android.systemui.qs.SignalTileView;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
@@ -46,8 +46,17 @@ import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
/** Quick settings tile: Cellular **/
public class CellularTile extends QSTileImpl<SignalState> {
- static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName(
- "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"));
+ private static final ComponentName CELLULAR_SETTING_COMPONENT = new ComponentName(
+ "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 DataUsageController mDataController;
@@ -90,7 +99,7 @@ public class CellularTile extends QSTileImpl<SignalState> {
@Override
public Intent getLongClickIntent() {
- return CELLULAR_SETTINGS;
+ return getCellularSettingIntent(mContext);
}
@Override
@@ -103,7 +112,9 @@ public class CellularTile extends QSTileImpl<SignalState> {
if (mDataController.isMobileDataSupported()) {
showDetail(true);
} else {
- mActivityStarter.postStartActivityDismissingKeyguard(CELLULAR_SETTINGS, 0);
+ mActivityStarter
+ .postStartActivityDismissingKeyguard(getCellularSettingIntent(mContext),
+ 0 /* delay */);
}
}
@@ -240,7 +251,28 @@ public class CellularTile extends QSTileImpl<SignalState> {
public void setMobileDataEnabled(boolean 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 {
@@ -258,7 +290,7 @@ public class CellularTile extends QSTileImpl<SignalState> {
@Override
public Intent getSettingsIntent() {
- return CELLULAR_SETTINGS;
+ return getCellularSettingIntent(mContext);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
index b7964512a2fa..8b62beb861ba 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
@@ -14,18 +14,16 @@
package com.android.systemui.qs.tiles;
-import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.service.quicksettings.Tile;
import android.widget.Switch;
-
-import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.Dependency;
import com.android.systemui.Prefs;
import com.android.systemui.R;
-import com.android.systemui.qs.QSHost;
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.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.DataSaverController;
@@ -57,9 +55,8 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements
@Override
public Intent getLongClickIntent() {
- return CellularTile.CELLULAR_SETTINGS;
+ return CellularTile.getCellularSettingIntent(mContext);
}
-
@Override
protected void handleClick() {
if (mState.value
@@ -73,12 +70,7 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements
dialog.setTitle(com.android.internal.R.string.data_saver_enable_title);
dialog.setMessage(com.android.internal.R.string.data_saver_description);
dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- toggleDataSaver();
- }
- });
+ (OnClickListener) (dialogInterface, which) -> toggleDataSaver());
dialog.setNegativeButton(com.android.internal.R.string.cancel, null);
dialog.setShowForAllUsers(true);
dialog.show();
@@ -126,4 +118,4 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements
public void onDataSaverChanged(boolean isDataSaving) {
refreshState(isDataSaving);
}
-} \ No newline at end of file
+}