Merge "Allow factory reset in carrier demo mode"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index bc159d6..6b83516 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -204,6 +204,7 @@
 
     <!-- WiFi Preferences -->
     <dimen name="wifi_divider_height">1px</dimen>
+    <dimen name="wifi_picker_icon_size">32dp</dimen>
 
     <!-- Color picker -->
     <dimen name="color_swatch_size">16dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index da10faf..a441081 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3039,7 +3039,8 @@
     <string name="location_mode_sensors_only_title">Device only</string>
     <!-- [CHAR LIMIT=30] Location settings screen, location off mode -->
     <string name="location_mode_location_off_title">Location off</string>
-    <!-- [CHAR LIMIT=30] Location settings screen, app-level permissions -->
+    <!-- [CHAR LIMIT=30] Location settings screen. It's a link that directs the user to a page that
+      shows the location permission setting for each installed app -->
     <string name="location_app_level_permissions">App-level permissions</string>
     <!-- [CHAR LIMIT=42] Location settings screen, sub category for recent location requests -->
     <string name="location_category_recent_location_requests">Recent location requests</string>
diff --git a/src/com/android/settings/applications/DefaultAutoFillPreference.java b/src/com/android/settings/applications/DefaultAutoFillPreference.java
index 9ed2e19..d3b1b12 100644
--- a/src/com/android/settings/applications/DefaultAutoFillPreference.java
+++ b/src/com/android/settings/applications/DefaultAutoFillPreference.java
@@ -17,14 +17,12 @@
 package com.android.settings.applications;
 
 import android.annotation.Nullable;
-import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.os.Parcelable;
 import android.provider.Settings;
 import android.service.autofill.AutoFillService;
 import android.service.autofill.AutoFillServiceInfo;
@@ -130,11 +128,7 @@
         for (ResolveInfo resolveInfo : resolveInfos) {
             ServiceInfo serviceInfo = resolveInfo.serviceInfo;
             AutoFillServiceInfo info = new AutoFillServiceInfo(pm, serviceInfo);
-            if (info.getParseError() == null) {
-                infos.add(info);
-            } else {
-                Log.i(TAG, "Invalid AutoFillService " + serviceInfo + ": " + info.getParseError());
-            }
+            infos.add(info);
         }
         return infos;
     }
diff --git a/src/com/android/settings/backup/BackupSettingsActivity.java b/src/com/android/settings/backup/BackupSettingsActivity.java
index b195384..b376f6b 100644
--- a/src/com/android/settings/backup/BackupSettingsActivity.java
+++ b/src/com/android/settings/backup/BackupSettingsActivity.java
@@ -17,6 +17,8 @@
 package com.android.settings.backup;
 
 import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -41,8 +43,13 @@
                 Log.d(TAG,
                         "No manufacturer settings found, launching the backup settings directly");
             }
+            Intent intent = backupHelper.getIntentForBackupSettings();
+            // enable the activity before launching it
+            getPackageManager().setComponentEnabledSetting(intent.getComponent(),
+                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+
             // use startActivityForResult to let the activity check the caller signature
-            startActivityForResult(backupHelper.getIntentForBackupSettings(), 1);
+            startActivityForResult(intent, 1);
             finish();
         } else {
             if (Log.isLoggable(TAG, Log.DEBUG)) {
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 2b4743f..2a9c869 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -52,7 +52,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mProgressiveDisclosureMixin.setTileLimit(5);
+        mProgressiveDisclosureMixin.setTileLimit(4);
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/LongPressAccessPointPreference.java b/src/com/android/settings/wifi/LongPressAccessPointPreference.java
index 79f29ef..b22e8f1 100644
--- a/src/com/android/settings/wifi/LongPressAccessPointPreference.java
+++ b/src/com/android/settings/wifi/LongPressAccessPointPreference.java
@@ -18,7 +18,8 @@
 import android.app.Fragment;
 import android.content.Context;
 import android.support.v7.preference.PreferenceViewHolder;
-import android.util.AttributeSet;
+import android.widget.ImageView;
+import com.android.settings.R;
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.AccessPointPreference;
 
@@ -26,12 +27,6 @@
 
     private final Fragment mFragment;
 
-    // Used for dummy pref.
-    public LongPressAccessPointPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mFragment = null;
-    }
-
     public LongPressAccessPointPreference(AccessPoint accessPoint, Context context,
             UserBadgeCache cache, boolean forSavedNetworks, Fragment fragment) {
         super(accessPoint, context, cache, forSavedNetworks);
@@ -52,5 +47,11 @@
             view.itemView.setTag(this);
             view.itemView.setLongClickable(true);
         }
+
+        ImageView iconImageView = (ImageView) view.findViewById(com.android.internal.R.id.icon);
+        int imageSize = getContext().getResources().getDimensionPixelSize(
+                R.dimen.wifi_picker_icon_size);
+        iconImageView.setMinimumHeight(imageSize);
+        iconImageView.setMinimumWidth(imageSize);
     }
 }