Merge "Import translations. DO NOT MERGE" into oc-mr1-dev
diff --git a/res/drawable/ic_compare_arrows_24dp.xml b/res/drawable/ic_sms_mirroring_24dp.xml
similarity index 79%
rename from res/drawable/ic_compare_arrows_24dp.xml
rename to res/drawable/ic_sms_mirroring_24dp.xml
index 361a930..5fe3003 100644
--- a/res/drawable/ic_compare_arrows_24dp.xml
+++ b/res/drawable/ic_sms_mirroring_24dp.xml
@@ -13,7 +13,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
@@ -22,5 +21,5 @@
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
-        android:pathData="M9.01,14L2,14v2h7.01v3L13,15l-3.99,-4v3zM14.99,13v-3L22,10L22,8h-7.01L14.99,5L11,9l3.99,4z"/>
+        android:pathData="M20,2C21.1,2 22,2.9 22,4L22,16C22,17.1 21.1,18 20,18L6,18L2,22L2.01,4C2.01,2.9 2.9,2 4,2L20,2ZM8,8L4,12L8,16L8,13L14,13L14,11L8,11L8,8ZM19.666,7.872L16.038,4.372L16.038,6.997L10,6.997L10,9L16.038,9L16.038,11.372L19.666,7.872Z"/>
 </vector>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 56771c3..2552a36 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1953,6 +1953,8 @@
     <string name="wifi_failed_connect_message">Failed to connect to network</string>
     <!-- Button label to delete a Wi-Fi network -->
     <string name="wifi_forget">Forget</string>
+    <!-- Button label to modify a Wi-Fi network -->
+    <string name="wifi_modify">Modify</string>
     <!-- Failured notification for forget -->
     <string name="wifi_failed_forget_message">Failed to forget network</string>
     <!-- Button label to save a Wi-Fi network configuration -->
@@ -3498,6 +3500,20 @@
          continue. [CHAR LIMIT=100] -->
     <string name="lockpassword_strong_auth_required_work_password">For added security, enter your work password</string>
 
+    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous pattern.</string>
+    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous PIN.</string>
+    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous password.</string>
+
+    <!-- Header shown when pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_header_frp">Verify pattern</string>
+    <!-- Header shown when the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_header_frp">Verify PIN</string>
+    <!-- Header shown when the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_header_frp">Verify password</string>
+
     <!-- Security & location settings screen, change security method screen instruction if user
          enters incorrect PIN [CHAR LIMIT=30] -->
     <string name="lockpassword_invalid_pin">Wrong PIN</string>
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 1d36c48..21904e6 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -22,16 +22,11 @@
         android:key="dashboard_tile_placeholder"
         android:order="1"/>
 
-    <PreferenceCategory
-        android:key="lock_screen_notifications_profile_header"
-        android:title="@string/profile_section_header">
-
-        <com.android.settings.notification.RestrictedDropDownPreference
-            android:key="lock_screen_notifications_profile"
-            android:title="@string/lock_screen_notifications_title"
-            android:summary="@string/summary_placeholder"/>
-
-    </PreferenceCategory>
+    <!-- When device is locked -->
+    <com.android.settings.notification.RestrictedDropDownPreference
+        android:key="lock_screen_notifications"
+        android:title="@string/lock_screen_notifications_title"
+        android:summary="@string/summary_placeholder"/>
 
     <!-- Notification badging -->
     <SwitchPreference
@@ -43,12 +38,6 @@
         android:key="notification_pulse"
         android:title="@string/notification_pulse_title"/>
 
-    <!-- When device is locked -->
-    <com.android.settings.notification.RestrictedDropDownPreference
-        android:key="lock_screen_notifications"
-        android:title="@string/lock_screen_notifications_title"
-        android:summary="@string/summary_placeholder"/>
-
     <!-- Default notification ringtone -->
     <com.android.settings.DefaultRingtonePreference
         android:key="notification_default_ringtone"
@@ -62,4 +51,14 @@
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:fragment="com.android.settings.gestures.SwipeToNotificationSettings" />
 
+    <PreferenceCategory
+        android:key="lock_screen_notifications_profile_header"
+        android:title="@string/profile_section_header">
+
+        <com.android.settings.notification.RestrictedDropDownPreference
+            android:key="lock_screen_notifications_profile"
+            android:title="@string/lock_screen_notifications_title"
+            android:summary="@string/summary_placeholder"/>
+
+    </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index 4ca92bf..1099672 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -41,7 +41,7 @@
     <Preference
         android:key="sms_mirroring"
         android:title="@string/sms_mirroring_pref"
-        android:icon="@drawable/ic_compare_arrows_24dp"
+        android:icon="@drawable/ic_sms_mirroring_24dp"
         android:summary="@string/summary_placeholder"
         android:order="-3"/>
 
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
index 5141b5c..8ac64e8 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
@@ -76,7 +76,7 @@
     public Preference createBluetoothPairingPreference(int order) {
         mPreference = new Preference(mFragment.getPreferenceScreen().getContext());
         mPreference.setKey(KEY_PAIRING);
-        mPreference.setIcon(R.drawable.ic_add);
+        mPreference.setIcon(R.drawable.ic_menu_add);
         mPreference.setOrder(order);
         mPreference.setTitle(R.string.bluetooth_pairing_pref_title);
 
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index fffa243..280098d 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -37,7 +37,7 @@
     private final int ON = 1;
     private final int OFF = 0;
 
-    private static final String KEY_ALWAYS_ON = "ambient_display_always_on";
+    public static final String KEY_ALWAYS_ON = "ambient_display_always_on";
     private static final int MY_USER = UserHandle.myUserId();
 
     private final AmbientDisplayConfiguration mConfig;
@@ -61,7 +61,11 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(mConfig.alwaysOnEnabled(MY_USER));
+        ((SwitchPreference) preference).setChecked(isAlwaysOnEnabled(mConfig));
+    }
+
+    public static boolean isAlwaysOnEnabled(AmbientDisplayConfiguration config) {
+        return config.alwaysOnEnabled(MY_USER);
     }
 
     @Override
@@ -77,7 +81,15 @@
 
     @Override
     public boolean isAvailable() {
-        return mConfig.alwaysOnAvailableForUser(MY_USER);
+        return isAvailable(mConfig);
+    }
+
+    public static boolean isAvailable(AmbientDisplayConfiguration config) {
+        return config.alwaysOnAvailableForUser(MY_USER);
+    }
+
+    public static boolean accessibilityInversionEnabled(AmbientDisplayConfiguration config) {
+        return config.accessibilityInversionEnabled(MY_USER);
     }
 
     @Override
diff --git a/src/com/android/settings/fingerprint/FingerprintSettings.java b/src/com/android/settings/fingerprint/FingerprintSettings.java
index 2425c61..4eddcb1 100644
--- a/src/com/android/settings/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/fingerprint/FingerprintSettings.java
@@ -402,7 +402,7 @@
             Preference addPreference = new Preference(root.getContext());
             addPreference.setKey(KEY_FINGERPRINT_ADD);
             addPreference.setTitle(R.string.fingerprint_add_title);
-            addPreference.setIcon(R.drawable.ic_add_24dp);
+            addPreference.setIcon(R.drawable.ic_menu_add);
             root.addPreference(addPreference);
             addPreference.setOnPreferenceChangeListener(this);
             updateAddPreference();
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 534892c..8cb700b 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -136,7 +136,7 @@
             }
         }
         final Preference p = new Preference(getPrefContext());
-        p.setIcon(R.drawable.ic_add);
+        p.setIcon(R.drawable.ic_menu_add);
         p.setTitle(R.string.zen_mode_add_rule);
         p.setPersistent(false);
         p.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index 328646b..dcb7b66 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -197,11 +197,19 @@
         }
 
         private int getDefaultHeader() {
+            if (mFrp) {
+                return mIsAlpha ? R.string.lockpassword_confirm_your_password_header_frp
+                        : R.string.lockpassword_confirm_your_pin_header_frp;
+            }
             return mIsAlpha ? R.string.lockpassword_confirm_your_password_header
                     : R.string.lockpassword_confirm_your_pin_header;
         }
 
         private int getDefaultDetails() {
+            if (mFrp) {
+                return mIsAlpha ? R.string.lockpassword_confirm_your_password_details_frp
+                        : R.string.lockpassword_confirm_your_pin_details_frp;
+            }
             boolean isStrongAuthRequired = isStrongAuthRequired();
             boolean isProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
             // Map boolean flags to an index by isStrongAuth << 2 + isProfile << 1 + isAlpha.
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index eb42784..60d5a01 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -243,6 +243,9 @@
         }
 
         private int getDefaultDetails() {
+            if (mFrp) {
+                return R.string.lockpassword_confirm_your_pattern_details_frp;
+            }
             final boolean isStrongAuthRequired = isStrongAuthRequired();
             if (UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId)) {
                 return isStrongAuthRequired
@@ -296,7 +299,7 @@
                     if (mHeaderText != null) {
                         mHeaderTextView.setText(mHeaderText);
                     } else {
-                        mHeaderTextView.setText(R.string.lockpassword_confirm_your_pattern_header);
+                        mHeaderTextView.setText(getDefaultHeader());
                     }
                     if (mDetailsText != null) {
                         mDetailsTextView.setText(mDetailsText);
@@ -331,6 +334,11 @@
             mHeaderTextView.announceForAccessibility(mHeaderTextView.getText());
         }
 
+        private int getDefaultHeader() {
+            return mFrp ? R.string.lockpassword_confirm_your_pattern_header_frp
+                    : R.string.lockpassword_confirm_your_pattern_header;
+        }
+
         private Runnable mClearPatternRunnable = new Runnable() {
             public void run() {
                 mLockPatternView.clearPattern();