Merge "Import translations. DO NOT MERGE" into rvc-dev
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a7e003c..c6b2dc2 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -430,4 +430,7 @@
 
     <!-- Output switcher panel related dimensions -->
     <dimen name="output_switcher_slice_padding_top">12dp</dimen>
+
+    <!-- Text padding for EmptyTextSettings -->
+    <dimen name="empty_text_padding">24dp</dimen>
 </resources>
diff --git a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
index fb2dbc3..ef11e00 100644
--- a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
@@ -74,7 +74,7 @@
         if (String.valueOf(ColorDisplayManager.AUTO_MODE_TWILIGHT).equals(newValue)
                 && !mLocationManager.isLocationEnabled()) {
             TwilightLocationDialog.show(mContext);
-            return false;
+            return true;
         }
         return mColorDisplayManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue));
     }
diff --git a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
index 6acaf82..2ac9a9f 100644
--- a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
@@ -33,7 +33,7 @@
  */
 public class DarkModeScheduleSelectorController extends BasePreferenceController
         implements Preference.OnPreferenceChangeListener {
-
+    private static final String TAG = DarkModeScheduleSelectorController.class.getSimpleName();
     private final UiModeManager mUiModeManager;
     private PowerManager mPowerManager;
     private DropDownPreference mPreference;
@@ -51,7 +51,6 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreference = screen.findPreference(getPreferenceKey());
-        init();
     }
 
     @Override
@@ -59,7 +58,8 @@
         return BasePreferenceController.AVAILABLE;
     }
 
-    private void init() {
+    @Override
+    public final void updateState(Preference preference) {
         final boolean batterySaver = mPowerManager.isPowerSaveMode();
         mPreference.setEnabled(!batterySaver);
         mCurrentMode = getCurrentMode();
@@ -87,25 +87,25 @@
         if (newMode == mCurrentMode) {
             return false;
         }
-        mCurrentMode = newMode;
-        if (mCurrentMode == mPreference.findIndexOfValue(
+        if (newMode == mPreference.findIndexOfValue(
                 mContext.getString(R.string.dark_ui_auto_mode_never))) {
             boolean active = (mContext.getResources().getConfiguration().uiMode
                     & Configuration.UI_MODE_NIGHT_YES) != 0;
             int mode = active ? UiModeManager.MODE_NIGHT_YES
                     : UiModeManager.MODE_NIGHT_NO;
             mUiModeManager.setNightMode(mode);
-        } else if (mCurrentMode == mPreference.findIndexOfValue(
+        } else if (newMode == mPreference.findIndexOfValue(
                 mContext.getString(R.string.dark_ui_auto_mode_auto))) {
             if (!mLocationManager.isLocationEnabled()) {
                 TwilightLocationDialog.show(mContext);
-                return false;
+                return true;
             }
             mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_AUTO);
-        } else if (mCurrentMode == mPreference.findIndexOfValue(
+        } else if (newMode == mPreference.findIndexOfValue(
                 mContext.getString(R.string.dark_ui_auto_mode_custom))) {
             mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM);
         }
+        mCurrentMode = newMode;
         return true;
     }
 }
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index 7ec0d3a..17c8ef8 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.media;
 
+import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
+
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
 
 import android.annotation.ColorInt;
@@ -61,7 +63,7 @@
         final CharSequence title = mContext.getString(R.string.media_output_label_title,
                 Utils.getApplicationLabel(mContext, getWorker().getPackageName()));
         final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext,
-                0 /* requestCode */, getMediaOutputSliceIntent(), 0 /* flags */);
+                0 /* requestCode */, getMediaOutputSliceIntent(), FLAG_UPDATE_CURRENT);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
                 primaryActionIntent, icon, ListBuilder.ICON_IMAGE, title);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 2f2932c..f0a7745 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -140,11 +140,10 @@
             final Slice slice = sliceLiveData.getValue();
             if (slice == null || slice.getUri().equals(MEDIA_OUTPUT_INDICATOR_SLICE_URI)) {
                 mDividerAllowedAbove = false;
-            }
-
-            // Customize output switcher slice top padding
-            if (position == 0 && (slice.getUri().equals(MEDIA_OUTPUT_SLICE_URI)
+            } else if (position == 0 && (slice.getUri().equals(MEDIA_OUTPUT_SLICE_URI)
                     || slice.getUri().equals(MEDIA_OUTPUT_GROUP_SLICE_URI))) {
+                sliceView.setClickable(false);
+                // Customize output switcher slice top padding
                 final int paddingTop = mPanelFragment.getResources().getDimensionPixelSize(
                         R.dimen.output_switcher_slice_padding_top);
                 mSliceSliderLayout.setPadding(mSliceSliderLayout.getPaddingLeft(), paddingTop,
diff --git a/src/com/android/settings/widget/EmptyTextSettings.java b/src/com/android/settings/widget/EmptyTextSettings.java
index 24f0a82..87513dd 100644
--- a/src/com/android/settings/widget/EmptyTextSettings.java
+++ b/src/com/android/settings/widget/EmptyTextSettings.java
@@ -25,6 +25,7 @@
 import android.view.ViewGroup.LayoutParams;
 import android.widget.TextView;
 
+import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 
 public abstract class EmptyTextSettings extends SettingsPreferenceFragment {
@@ -36,6 +37,9 @@
         super.onViewCreated(view, savedInstanceState);
         mEmpty = new TextView(getContext());
         mEmpty.setGravity(Gravity.CENTER);
+        final int textPadding = getContext().getResources().getDimensionPixelSize(
+                R.dimen.empty_text_padding);
+        mEmpty.setPadding(textPadding, 0 /* top */, textPadding, 0 /* bottom */);
         TypedValue value = new TypedValue();
         getContext().getTheme().resolveAttribute(android.R.attr.textAppearanceMedium, value, true);
         mEmpty.setTextAppearance(value.resourceId);
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
index 1bbbe7d..141177c 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
@@ -98,6 +98,7 @@
     public void nightMode_updateStateNone_dropDownValueChangedToNone() {
         when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
         mController.displayPreference(mScreen);
+        mController.updateState(mScreen);
         verify(mPreference).setValueIndex(0);
     }
 
@@ -105,6 +106,7 @@
     public void nightMode_updateStateNone_dropDownValueChangedToAuto() {
         when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_AUTO);
         mController.displayPreference(mScreen);
+        mController.updateState(mScreen);
         verify(mPreference).setValueIndex(1);
     }
 
@@ -112,6 +114,7 @@
     public void batterySaver_dropDown_disabledSelector() {
         when(mPM.isPowerSaveMode()).thenReturn(true);
         mController.displayPreference(mScreen);
+        mController.updateState(mScreen);
         verify(mPreference).setEnabled(eq(false));
     }
 }