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));
+    }
 }