Merge "Import translations. DO NOT MERGE" into nyc-dev
diff --git a/proguard.flags b/proguard.flags
index 2b5d4fa..3c3300e 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -17,6 +17,8 @@
 -keep class com.android.settings.users.*
 -keep class com.android.settings.nfc.*
 -keep class com.android.settings.notification.*
+-keep class com.android.settings.accessibility.*FragmentForSetupWizard
+-keep class com.android.settings.display.*FragmentForSetupWizard
 
 # Keep click responders
 -keepclassmembers class com.android.settings.inputmethod.UserDictionaryAddWordActivity {
@@ -25,4 +27,4 @@
 
 -keep public class * extends com.android.setupwizardlib.items.ItemHierarchy {
     public <init>(android.content.Context, android.util.AttributeSet);
-}
\ No newline at end of file
+}
diff --git a/res/drawable/ic_data_saver.xml b/res/drawable/ic_data_saver.xml
index 426238c..7356772 100644
--- a/res/drawable/ic_data_saver.xml
+++ b/res/drawable/ic_data_saver.xml
@@ -20,9 +20,11 @@
         android:viewportHeight="24.0">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="
-        M9.0,16.0l2.0,0.0L11.0,8.0L9.0,8.0l0.0,8.0z
-        m3.0,-14.0C6.48,2.0 2.0,6.48 2.0,12.0s4.48,10.0 10.0,10.0 10.0,-4.48 10.0,-10.0S17.52,2.0 12.0,2.0z
-        m0.0,18.0c-4.41,0.0 -8.0,-3.59 -8.0,-8.0s3.59,-8.0 8.0,-8.0 8.0,3.59 8.0,8.0 -3.59,8.0 -8.0,8.0z
-        m1.0,-4.0l2.0,0.0l0.0,-8.0l-2.0,0.0l0.0,8.0z"/>
+        android:pathData="M12.0,19.0c-3.9,0.0 -7.0,-3.1 -7.0,-7.0c0.0,-3.5 2.6,-6.4 6.0,-6.9L11.0,2.0C5.9,2.5 2.0,6.8 2.0,12.0c0.0,5.5 4.5,10.0 10.0,10.0c3.3,0.0 6.2,-1.6 8.1,-4.1l-2.6,-1.5C16.2,18.0 14.2,19.0 12.0,19.0z"/>
+    <path
+        android:fillColor="#4DFFFFFF"
+        android:pathData="M13.0,2.0l0.0,3.0c3.4,0.5 6.0,3.4 6.0,6.9c0.0,0.9 -0.2,1.8 -0.5,2.5l2.6,1.5c0.6,-1.2 0.9,-2.6 0.9,-4.1C22.0,6.8 18.0,2.6 13.0,2.0z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M16.0,11.0l0.0,2.0 -3.0,0.0 0.0,3.0 -2.0,0.0 0.0,-3.0 -3.0,0.0 0.0,-2.0 3.0,0.0 0.0,-3.0 2.0,0.0 0.0,3.0z"/>
 </vector>
diff --git a/res/xml/accessibility_settings_for_setup_wizard.xml b/res/xml/accessibility_settings_for_setup_wizard.xml
index 5d83590..c938f24 100644
--- a/res/xml/accessibility_settings_for_setup_wizard.xml
+++ b/res/xml/accessibility_settings_for_setup_wizard.xml
@@ -26,25 +26,27 @@
 
     <Preference
         android:fragment=
-                "com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
+                "com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard"
         android:key="screen_magnification_preference"
         android:title="@string/accessibility_screen_magnification_title"
         android:summary="@string/accessibility_screen_magnification_short_summary" />
 
     <Preference
-        android:fragment="com.android.settings.accessibility.ToggleFontSizePreferenceFragment"
+        android:fragment=
+                "com.android.settings.accessibility.FontSizePreferenceFragmentForSetupWizard"
         android:key="font_size_preference"
         android:title="@string/title_font_size"
         android:summary="@string/short_summary_font_size" />
 
     <com.android.settings.display.ScreenZoomPreference
+        android:fragment="com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard"
         android:key="force_density_preference"
         android:title="@string/screen_zoom_title"
         android:summary="@string/screen_zoom_short_summary" />
 
     <Preference
         android:fragment=
-                "com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment"
+                "com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard"
         android:key="screen_reader_preference"
         android:summary="@string/talkback_summary"
         android:persistent="true" />
diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java
index e1f0109..2b73c3e 100644
--- a/src/com/android/settings/TrustedCredentialsSettings.java
+++ b/src/com/android/settings/TrustedCredentialsSettings.java
@@ -185,7 +185,8 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             final String action = intent.getAction();
-            if (Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED.equals(action) ||
+            if (Intent.ACTION_MANAGED_PROFILE_AVAILABLE.equals(action) ||
+                    Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE.equals(action) ||
                     Intent.ACTION_MANAGED_PROFILE_UNLOCKED.equals(action)) {
                 // Reload all alias
                 final ExpandableListView systemView = (ExpandableListView) mTabHost
@@ -212,7 +213,8 @@
         mKeyguardManager = (KeyguardManager) getActivity()
                 .getSystemService(Context.KEYGUARD_SERVICE);
         IntentFilter filter = new IntentFilter();
-        filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED);
+        filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
+        filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
         filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNLOCKED);
         getActivity().registerReceiver(mWorkProfileChangedReceiver, filter);
     }
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
index 12e58c4..f21e467 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
@@ -27,7 +27,7 @@
 import android.text.TextUtils;
 import android.view.accessibility.AccessibilityManager;
 
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.settings.DialogCreatable;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -54,7 +54,7 @@
 
     @Override
     protected int getMetricsCategory() {
-        return MetricsProto.MetricsEvent.ACCESSIBILITY;
+        return MetricsEvent.SUW_ACCESSIBILITY;
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..6e90677
--- /dev/null
+++ b/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class FontSizePreferenceFragmentForSetupWizard
+        extends ToggleFontSizePreferenceFragment {
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mCurrentIndex != mInitialIndex) {
+            MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE,
+                    mCurrentIndex);
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..135a78f
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.os.Bundle;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
+        extends ToggleScreenMagnificationPreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    protected void onProcessArguments(Bundle arguments) {
+        super.onProcessArguments(arguments);
+        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            MetricsLogger.action(getContext(),
+                    MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION,
+                    mToggleSwitch.isChecked());
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..05e48d3
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.os.Bundle;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ToggleScreenReaderPreferenceFragmentForSetupWizard
+        extends ToggleAccessibilityServicePreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    protected void onProcessArguments(Bundle arguments) {
+        super.onProcessArguments(arguments);
+        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            MetricsLogger.action(getContext(),
+                    MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER, mToggleSwitch.isChecked());
+        }
+
+        super.onStop();
+    }
+}
+
diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java
index 3337209..927ad23 100644
--- a/src/com/android/settings/accounts/AccountSettings.java
+++ b/src/com/android/settings/accounts/AccountSettings.java
@@ -575,9 +575,10 @@
 
         @Override
         public void onReceive(Context context, Intent intent) {
-            Log.v(TAG, "Received broadcast: " + intent.getAction());
-            if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_REMOVED)
-                    || intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_ADDED)) {
+            final String action = intent.getAction();
+            Log.v(TAG, "Received broadcast: " + action);
+            if (action.equals(Intent.ACTION_MANAGED_PROFILE_REMOVED)
+                    || action.equals(Intent.ACTION_MANAGED_PROFILE_ADDED)) {
                 // Clean old state
                 stopListeningToAccountUpdates();
                 cleanUpPreferences();
@@ -590,7 +591,8 @@
                 return;
             }
 
-            if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED)) {
+            if (action.equals(Intent.ACTION_MANAGED_PROFILE_AVAILABLE)
+                    || action.equals(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE)) {
                 // We assume there's only one managed profile, otherwise this needs to change.
                 ProfileData profileData = mProfiles.valueAt(1);
                 if (intent.getIntExtra(Intent.EXTRA_USER_HANDLE,
@@ -608,7 +610,8 @@
                 IntentFilter intentFilter = new IntentFilter();
                 intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_REMOVED);
                 intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED);
-                intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED);
+                intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
+                intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
                 context.registerReceiver(this, intentFilter);
                 listeningToManagedProfileEvents = true;
             }
diff --git a/src/com/android/settings/display/ScreenZoomPreference.java b/src/com/android/settings/display/ScreenZoomPreference.java
index 2afc3c3..ee2ac95 100644
--- a/src/com/android/settings/display/ScreenZoomPreference.java
+++ b/src/com/android/settings/display/ScreenZoomPreference.java
@@ -34,7 +34,9 @@
                 android.support.v7.preference.R.attr.preferenceScreenStyle,
                 android.R.attr.preferenceScreenStyle));
 
-        setFragment("com.android.settings.display.ScreenZoomSettings");
+        if (TextUtils.isEmpty(getFragment())) {
+            setFragment("com.android.settings.display.ScreenZoomSettings");
+        }
 
         final DisplayDensityUtils density = new DisplayDensityUtils(context);
         final int defaultIndex = density.getCurrentIndex();
diff --git a/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java b/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..8892f4d
--- /dev/null
+++ b/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.display;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ScreenZoomPreferenceFragmentForSetupWizard
+        extends ScreenZoomSettings {
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mCurrentIndex != mInitialIndex) {
+            MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE,
+                    mCurrentIndex);
+        }
+
+        super.onStop();
+    }
+}
+