Merge "Remove Language and Input duplicates"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ac76e94..41cc497 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8663,10 +8663,6 @@
     <!-- Preference label for the Files storage section. [CHAR LIMIT=50] -->
     <string name="storage_files">Files</string>
 
-    <!-- Main settings screen item's title to go into the storage settings screen [CHAR LIMIT=25] -->
-    <string name="storage_settings_2" product="tablet">Tablet storage</string>
-    <string name="storage_settings_2" product="default">Phone storage</string>
-
     <!-- Summary of a single storage volume used space. [CHAR LIMIT=24] -->
     <string name="storage_size_large_alternate"><xliff:g id="number" example="128">^1</xliff:g><small> <xliff:g id="unit" example="KB">^2</xliff:g></small></string>
     <!-- Summary of a single storage volume total space. [CHAR LIMIT=48]-->
diff --git a/res/xml/app_list_disclosure_settings.xml b/res/xml/app_list_disclosure_settings.xml
index 2aae95e..1daf15d 100644
--- a/res/xml/app_list_disclosure_settings.xml
+++ b/res/xml/app_list_disclosure_settings.xml
@@ -21,7 +21,7 @@
     <PreferenceCategory
             android:key="dashboard_tile_placeholder"/>
 
-    <com.android.settings.widget.FooterPreference
+    <com.android.settingslib.widget.FooterPreference
             android:title="@string/enterprise_privacy_apps_count_estimation_info"
             android:selectable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/data_usage_metered_prefs.xml b/res/xml/data_usage_metered_prefs.xml
index a1f3110..aca87fb 100644
--- a/res/xml/data_usage_metered_prefs.xml
+++ b/res/xml/data_usage_metered_prefs.xml
@@ -35,7 +35,7 @@
 
     </PreferenceCategory>
 
-    <com.android.settings.widget.FooterPreference
+    <com.android.settingslib.widget.FooterPreference
         android:title="@string/data_usage_metered_body"
         android:selectable="false" />
 
diff --git a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
index 69f174b..d1c7c7a 100644
--- a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
+++ b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
@@ -111,6 +111,9 @@
             mPreferenceKeySet.add(prefKey);
             return;
         }
+        // TODO: Remove count logging to save some resource.
+        mMetricsFeature.count(mContext, prefKey + "|" + value, 1);
+
         // Pref key exists in set, log it's change in metrics.
         mMetricsFeature.action(mContext, MetricsEvent.ACTION_SETTINGS_PREFERENCE_CHANGE,
                 Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_NAME, prefKey),
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index b2bad3a..ce9ea9b 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -235,7 +235,7 @@
             args.putString(VolumeInfo.EXTRA_VOLUME_ID, VolumeInfo.ID_PRIVATE_INTERNAL);
             Intent intent = Utils.onBuildStartFragmentIntent(getActivity(),
                     StorageDashboardFragment.class.getName(), args, null,
-                    R.string.storage_settings_2, null, false, getMetricsCategory());
+                    R.string.storage_settings, null, false, getMetricsCategory());
             intent.putExtra(SettingsDrawerActivity.EXTRA_SHOW_MENU, true);
             getActivity().startActivity(intent);
             finish();
@@ -280,7 +280,7 @@
 
                 if (VolumeInfo.ID_PRIVATE_INTERNAL.equals(vol.getId())) {
                     startFragment(this, StorageDashboardFragment.class.getCanonicalName(),
-                            R.string.storage_settings_2, 0, args);
+                            R.string.storage_settings, 0, args);
                 } else {
                     // TODO: Go to the StorageDashboardFragment once it fully handles all of the
                     //       SD card cases and other private internal storage cases.
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 36f9be1..c27ea22 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -113,7 +113,8 @@
 
     @VisibleForTesting
     static final int ANOMALY_LOADER = 1;
-    private static final int BATTERY_ESTIMATE_LOADER = 2;
+    @VisibleForTesting
+    static final int BATTERY_ESTIMATE_LOADER = 2;
     private static final int MENU_STATS_TYPE = Menu.FIRST;
     @VisibleForTesting
     static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3;
@@ -182,6 +183,7 @@
                 @Override
                 public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
                     final Uri queryUri = mPowerFeatureProvider.getEnhancedBatteryPredictionUri();
+
                     return new CursorLoader(getContext(), queryUri, null, null, null, null);
                 }
 
@@ -228,10 +230,7 @@
         mAnomalySparseArray = new SparseArray<>();
 
         initFeatureProvider();
-        if (mPowerFeatureProvider != null) {
-            getLoaderManager().initLoader(BATTERY_ESTIMATE_LOADER, Bundle.EMPTY,
-                    mBatteryPredictionLoaderCallbacks);
-        }
+        initializeBatteryEstimateLoader();
     }
 
     @Override
@@ -815,6 +814,15 @@
         }
     }
 
+    @VisibleForTesting
+    void initializeBatteryEstimateLoader() {
+        if (mPowerFeatureProvider != null
+                && mPowerFeatureProvider.isEnhancedBatteryPredictionEnabled(getContext())) {
+            getLoaderManager().initLoader(BATTERY_ESTIMATE_LOADER, Bundle.EMPTY,
+                    mBatteryPredictionLoaderCallbacks);
+        }
+    }
+
     private static List<BatterySipper> getFakeStats() {
         ArrayList<BatterySipper> stats = new ArrayList<>();
         float use = 5;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index a7db96d..efbfbda 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -577,6 +577,18 @@
     }
 
     @Test
+    public void testOnCreate_BatteryPredictionSkippedWhenDisabled() {
+        PowerUsageFeatureProvider provider = mFeatureFactory.getPowerUsageFeatureProvider(mContext);
+        when(provider.isEnhancedBatteryPredictionEnabled(any())).thenReturn(false);
+        mFragment.mPowerFeatureProvider = provider;
+        doReturn(mLoaderManager).when(mFragment).getLoaderManager();
+        mFragment.initializeBatteryEstimateLoader();
+
+        verify(mLoaderManager, never()).initLoader(eq(PowerUsageSummary.BATTERY_ESTIMATE_LOADER),
+                eq(Bundle.EMPTY), any());
+    }
+
+    @Test
     public void testInitAnomalyDetectionIfPossible_detectionEnabled_init() {
         when(mFeatureFactory.powerUsageFeatureProvider.isAnomalyDetectionEnabled()).thenReturn(
                 true);