From 40bb1e8488dcfd90d2ce7c7f4a0dc106853c3444 Mon Sep 17 00:00:00 2001 From: Lei Yu Date: Mon, 9 Apr 2018 14:35:12 -0700 Subject: [PATCH] Update battery settings strings 1. Change "screenTime" to "lastFullChargeTime" in high usage dialog 2. Update "Background restriction" strings 3. Update footer string Bug: 73018395 Test: RunSettingsRoboTests Change-Id: I07c149123c4ee1a69dd81c9a9e6eaa5df69b60b4 --- res/values/strings.xml | 14 +++++--------- .../batterytip/BatteryTipDialogFragment.java | 5 ++++- .../batterytip/detectors/HighUsageDetector.java | 5 +++-- .../fuelgauge/batterytip/tips/HighUsageTip.java | 16 ++++++++-------- ...ckgroundActivityPreferenceControllerTest.java | 2 +- .../batterytip/BatteryTipDialogFragmentTest.java | 4 ++-- .../batterytip/tips/HighUsageTipTest.java | 5 +++-- 7 files changed, 26 insertions(+), 25 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 029f2adcb37..8d818804294 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4899,10 +4899,6 @@ Background restriction Allow the app to run in the background - - App can run in the background when not in use - - App\'s background activity is limited when not in use App not allowed to run in background @@ -5023,11 +5019,11 @@ Battery may run out soon - Your phone has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last charge: + Your phone has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last full charge(%2$s): - Your tablet has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last charge: + Your tablet has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last full charge(%2$s): - Your device has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last charge: + Your device has been used more than usual. Your battery may run out sooner than expected.\n\nTop %1$d apps since last full charge(%2$s): Restrict %1$d app @@ -5097,7 +5093,7 @@ - Apps shown here aren\'t behaving properly and have been using battery in the background.\n\nThese apps are now blocked from using battery in the background. As a result, some app notifications may be delayed. + These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed. Use Battery Manager @@ -8022,7 +8018,7 @@ No - App can\u2019t use battery in background + Restricted App can use battery in background diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java index de88279ebeb..74c65f955ee 100644 --- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java +++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java @@ -102,7 +102,10 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme return new AlertDialog.Builder(context) .setMessage(getString(R.string.battery_tip_dialog_message, - highUsageTip.getHighUsageAppList().size())) + highUsageTip.getHighUsageAppList().size(), + StringUtil.formatRelativeTime(context, + highUsageTip.getLastFullChargeTimeMs(), + false /* withSeconds */))) .setView(view) .setPositiveButton(android.R.string.ok, null) .create(); diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java index 8435c52671d..b511ee0c15d 100644 --- a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java +++ b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java @@ -63,7 +63,8 @@ public class HighUsageDetector implements BatteryTipDetector { @Override public BatteryTip detect() { - final long screenUsageTimeMs = mBatteryUtils.calculateScreenUsageTime(mBatteryStatsHelper); + final long lastFullChargeTimeMs = mBatteryUtils.calculateLastFullChargeTime( + mBatteryStatsHelper, System.currentTimeMillis()); if (mPolicy.highUsageEnabled) { parseBatteryData(); if (mDataParser.isDeviceHeavilyUsed() || mPolicy.testHighUsageTip) { @@ -99,7 +100,7 @@ public class HighUsageDetector implements BatteryTipDetector { } } - return new HighUsageTip(screenUsageTimeMs, mHighUsageAppList); + return new HighUsageTip(lastFullChargeTimeMs, mHighUsageAppList); } @VisibleForTesting diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java index 72d1fa4a5f2..c6b235b4b1c 100644 --- a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java +++ b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java @@ -26,7 +26,7 @@ import com.android.settings.R; import com.android.settings.fuelgauge.batterytip.AppInfo; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; -import com.android.settingslib.utils.StringUtil; + import java.util.List; /** @@ -34,28 +34,28 @@ import java.util.List; */ public class HighUsageTip extends BatteryTip { - private final long mScreenTimeMs; + private final long mLastFullChargeTimeMs; @VisibleForTesting final List mHighUsageAppList; - public HighUsageTip(long screenTimeMs, List appList) { + public HighUsageTip(long lastFullChargeTimeMs, List appList) { super(TipType.HIGH_DEVICE_USAGE, appList.isEmpty() ? StateType.INVISIBLE : StateType.NEW, true /* showDialog */); - mScreenTimeMs = screenTimeMs; + mLastFullChargeTimeMs = lastFullChargeTimeMs; mHighUsageAppList = appList; } @VisibleForTesting HighUsageTip(Parcel in) { super(in); - mScreenTimeMs = in.readLong(); + mLastFullChargeTimeMs = in.readLong(); mHighUsageAppList = in.createTypedArrayList(AppInfo.CREATOR); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); - dest.writeLong(mScreenTimeMs); + dest.writeLong(mLastFullChargeTimeMs); dest.writeTypedList(mHighUsageAppList); } @@ -91,8 +91,8 @@ public class HighUsageTip extends BatteryTip { } } - public long getScreenTimeMs() { - return mScreenTimeMs; + public long getLastFullChargeTimeMs() { + return mLastFullChargeTimeMs; } public List getHighUsageAppList() { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java index 5e045c1bb1e..389b7144136 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java @@ -183,7 +183,7 @@ public class BackgroundActivityPreferenceControllerTest { mController.updateSummary(mPreference); - assertThat(mPreference.getSummary()).isEqualTo("App can\u2019t use battery in background"); + assertThat(mPreference.getSummary()).isEqualTo("Restricted"); } @Test diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java index e07df0991c8..1de1e486c94 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java @@ -112,8 +112,8 @@ public class BatteryTipDialogFragmentTest { final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); ShadowAlertDialog shadowDialog = shadowOf(dialog); - assertThat(shadowDialog.getMessage()) - .isEqualTo(mContext.getString(R.string.battery_tip_dialog_message, 1)); + assertThat(shadowDialog.getMessage()).isEqualTo( + mContext.getString(R.string.battery_tip_dialog_message, 1, "60 minutes ago")); } @Test diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java index ca1cba38883..1ff21f8c9ef 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java @@ -43,6 +43,7 @@ public class HighUsageTipTest { private static final String PACKAGE_NAME = "com.android.app"; private static final long SCREEN_TIME = 30 * DateUtils.MINUTE_IN_MILLIS; + private static final long LAST_FULL_CHARGE_TIME = 20 * DateUtils.MINUTE_IN_MILLIS; @Mock private MetricsFeatureProvider mMetricsFeatureProvider; @@ -60,7 +61,7 @@ public class HighUsageTipTest { .setPackageName(PACKAGE_NAME) .setScreenOnTimeMs(SCREEN_TIME) .build()); - mBatteryTip = new HighUsageTip(SCREEN_TIME, mUsageAppList); + mBatteryTip = new HighUsageTip(LAST_FULL_CHARGE_TIME, mUsageAppList); } @Test @@ -75,7 +76,7 @@ public class HighUsageTipTest { assertThat(parcelTip.getTitle(mContext)).isEqualTo("Phone used more than usual"); assertThat(parcelTip.getType()).isEqualTo(BatteryTip.TipType.HIGH_DEVICE_USAGE); assertThat(parcelTip.getState()).isEqualTo(BatteryTip.StateType.NEW); - assertThat(parcelTip.getScreenTimeMs()).isEqualTo(SCREEN_TIME); + assertThat(parcelTip.getLastFullChargeTimeMs()).isEqualTo(LAST_FULL_CHARGE_TIME); assertThat(parcelTip.mHighUsageAppList).isNotNull(); assertThat(parcelTip.mHighUsageAppList.size()).isEqualTo(1); final AppInfo app = parcelTip.mHighUsageAppList.get(0);