Merge "Add a 1st-time dialog for Data Saver title." into nyc-dev
am: e6500d5
* commit 'e6500d592e02c6c3ecb45fe3863a9097dda8cab7':
Add a 1st-time dialog for Data Saver title.
Change-Id: If4a85243794d38c2586c6995344efd56efd9ca72
This commit is contained in:
@@ -44,6 +44,7 @@ public final class Prefs {
|
|||||||
Key.TV_PICTURE_IN_PICTURE_ONBOARDING_SHOWN,
|
Key.TV_PICTURE_IN_PICTURE_ONBOARDING_SHOWN,
|
||||||
Key.QS_HOTSPOT_ADDED,
|
Key.QS_HOTSPOT_ADDED,
|
||||||
Key.QS_DATA_SAVER_ADDED,
|
Key.QS_DATA_SAVER_ADDED,
|
||||||
|
Key.QS_DATA_SAVER_DIALOG_SHOWN,
|
||||||
Key.QS_INVERT_COLORS_ADDED,
|
Key.QS_INVERT_COLORS_ADDED,
|
||||||
Key.QS_WORK_ADDED,
|
Key.QS_WORK_ADDED,
|
||||||
Key.QS_NIGHT_ADDED,
|
Key.QS_NIGHT_ADDED,
|
||||||
@@ -63,6 +64,7 @@ public final class Prefs {
|
|||||||
String TV_PICTURE_IN_PICTURE_ONBOARDING_SHOWN = "TvPictureInPictureOnboardingShown";
|
String TV_PICTURE_IN_PICTURE_ONBOARDING_SHOWN = "TvPictureInPictureOnboardingShown";
|
||||||
String QS_HOTSPOT_ADDED = "QsHotspotAdded";
|
String QS_HOTSPOT_ADDED = "QsHotspotAdded";
|
||||||
String QS_DATA_SAVER_ADDED = "QsDataSaverAdded";
|
String QS_DATA_SAVER_ADDED = "QsDataSaverAdded";
|
||||||
|
String QS_DATA_SAVER_DIALOG_SHOWN = "QsDataSaverDialogShown";
|
||||||
String QS_INVERT_COLORS_ADDED = "QsInvertColorsAdded";
|
String QS_INVERT_COLORS_ADDED = "QsInvertColorsAdded";
|
||||||
String QS_WORK_ADDED = "QsWorkAdded";
|
String QS_WORK_ADDED = "QsWorkAdded";
|
||||||
String QS_NIGHT_ADDED = "QsNightAdded";
|
String QS_NIGHT_ADDED = "QsNightAdded";
|
||||||
|
|||||||
@@ -14,12 +14,15 @@
|
|||||||
|
|
||||||
package com.android.systemui.qs.tiles;
|
package com.android.systemui.qs.tiles;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
|
import com.android.systemui.Prefs;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.qs.QSTile;
|
import com.android.systemui.qs.QSTile;
|
||||||
|
import com.android.systemui.statusbar.phone.SystemUIDialog;
|
||||||
import com.android.systemui.statusbar.policy.DataSaverController;
|
import com.android.systemui.statusbar.policy.DataSaverController;
|
||||||
|
|
||||||
public class DataSaverTile extends QSTile<QSTile.BooleanState> implements
|
public class DataSaverTile extends QSTile<QSTile.BooleanState> implements
|
||||||
@@ -53,6 +56,29 @@ public class DataSaverTile extends QSTile<QSTile.BooleanState> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void handleClick() {
|
protected void handleClick() {
|
||||||
|
if (Prefs.getBoolean(mContext, Prefs.Key.QS_DATA_SAVER_DIALOG_SHOWN, false)) {
|
||||||
|
// Do it right away.
|
||||||
|
toggleDataSaver();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Shows dialog first
|
||||||
|
SystemUIDialog dialog = new SystemUIDialog(mContext);
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.setNegativeButton(com.android.internal.R.string.cancel, null);
|
||||||
|
dialog.setShowForAllUsers(true);
|
||||||
|
dialog.show();
|
||||||
|
Prefs.putBoolean(mContext, Prefs.Key.QS_DATA_SAVER_DIALOG_SHOWN, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void toggleDataSaver() {
|
||||||
mState.value = !mDataSaverController.isDataSaverEnabled();
|
mState.value = !mDataSaverController.isDataSaverEnabled();
|
||||||
MetricsLogger.action(mContext, getMetricsCategory(), mState.value);
|
MetricsLogger.action(mContext, getMetricsCategory(), mState.value);
|
||||||
mDataSaverController.setDataSaverEnabled(mState.value);
|
mDataSaverController.setDataSaverEnabled(mState.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user