Merge changes Ib80d68d6,I0d57d5b2 into qt-dev
* changes:
Init PowerWhitelistbackend to stop crash
Create gitignore for Settings
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1062418
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.idea/
+*.iml
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index ee66b12..6315ab1 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -952,6 +952,7 @@
mContext = manageApplications.getActivity();
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
mAppFilter = appFilter;
+ mBackend = PowerWhitelistBackend.getInstance(mContext);
if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) {
mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this,
manageApplications.mUsageStatsManager,
diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java
index a7a9812..6448d9a 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -173,10 +173,18 @@
}
public static CharSequence getSummary(Context context, String pkg) {
- PowerWhitelistBackend powerWhitelist = PowerWhitelistBackend.getInstance(context);
- return context.getString(powerWhitelist.isSysWhitelisted(pkg) ? R.string.high_power_system
- : powerWhitelist.isWhitelisted(pkg) ? R.string.high_power_on
- : R.string.high_power_off);
+ return getSummary(context, PowerWhitelistBackend.getInstance(context), pkg);
+ }
+
+ @VisibleForTesting
+ static CharSequence getSummary(Context context, PowerWhitelistBackend powerWhitelist,
+ String pkg) {
+ return context.getString(
+ powerWhitelist.isSysWhitelisted(pkg) || powerWhitelist.isDefaultActiveApp(pkg)
+ ? R.string.high_power_system
+ : powerWhitelist.isWhitelisted(pkg)
+ ? R.string.high_power_on
+ : R.string.high_power_off);
}
public static void show(Fragment caller, int uid, String packageName, int requestCode) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
index 5716b27..e613684 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
@@ -16,8 +16,11 @@
package com.android.settings.fuelgauge;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -27,6 +30,7 @@
import android.content.DialogInterface;
import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
@@ -46,6 +50,7 @@
private FakeFeatureFactory mFeatureFactory;
private HighPowerDetail mFragment;
+ private Context mContext;
@Mock
private PowerWhitelistBackend mPowerWhitelistBackend;
@Mock
@@ -56,6 +61,7 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
mFragment = spy(new HighPowerDetail());
mFragment.mBackend = mPowerWhitelistBackend;
mFragment.mBatteryUtils = mBatteryUtils;
@@ -84,4 +90,12 @@
verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE,
AppOpsManager.MODE_ALLOWED);
}
+
+ @Test
+ public void getSummary_defaultActivePackage_returnUnavailable() {
+ doReturn(true).when(mPowerWhitelistBackend).isDefaultActiveApp(TEST_PACKAGE);
+
+ assertThat(HighPowerDetail.getSummary(mContext, mPowerWhitelistBackend, TEST_PACKAGE))
+ .isEqualTo(mContext.getString(R.string.high_power_system));
+ }
}