Merge "Import translations. DO NOT MERGE" into oc-dr1-dev
diff --git a/res/layout/redaction_interstitial.xml b/res/layout/redaction_interstitial.xml
index ecc122f..939ff92 100644
--- a/res/layout/redaction_interstitial.xml
+++ b/res/layout/redaction_interstitial.xml
@@ -21,7 +21,7 @@
     android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:icon="@drawable/ic_lock"
+    android:icon="@drawable/ic_suggested_notifications"
     settings:suwFooter="@layout/redaction_interstitial_footer"
     settings:suwHeaderText="@string/lock_screen_notifications_interstitial_title">
 
@@ -52,6 +52,8 @@
                 style="@style/SuwRadioButton"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginBottom="0dp"
+                android:minHeight="?android:attr/listPreferredItemHeight"
                 android:text="@string/lock_screen_notifications_summary_show" />
 
             <com.android.settings.RestrictedRadioButton
@@ -59,6 +61,8 @@
                 style="@style/SuwRadioButton"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginBottom="0dp"
+                android:minHeight="?android:attr/listPreferredItemHeight"
                 android:text="@string/lock_screen_notifications_summary_hide" />
 
             <RadioButton
@@ -66,6 +70,8 @@
                 style="@style/SuwRadioButton"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginBottom="0dp"
+                android:minHeight="?android:attr/listPreferredItemHeight"
                 android:text="@string/lock_screen_notifications_summary_disable" />
 
         </RadioGroup>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e26c391..a52112e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -6512,9 +6512,7 @@
     <string name="keywords_gesture">gestures</string>
     <string name="keywords_payment_settings">pay, tap, payments</string>
     <string name="keywords_backup">backup, back up</string>
-    <string name="keywords_squeeze_to_launch_gesture">gesture, edge, side, active edge, squeeze, grip, assist, assistant, squeezy, squeezie, squeezey, squeezee, ok google, google assistant</string>
-    <string name="keywords_wake_squeeze_gesture">gesture, wake, notifications, screen, display, screen off, screen on, squeeze, edge, asleep, sleep, grip</string>
-    <string name="keywords_alarm_silence_gesture">gesture, silence, snooze, alarm, incoming call, quiet, display, lockscreen, squeeze, grip, edge, stop</string>
+    <string name="keywords_assist_gesture_launch">gesture</string>
 
     <!-- NFC Wi-Fi pairing/setup strings-->
 
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 31e2e79..8b5e7d3 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -49,6 +49,7 @@
         <item name="allowDividerAbove">false</item>
         <item name="allowDividerBelow">true</item>
         <item name="iconSpaceReserved">true</item>
+        <item name="singleLineTitle">false</item>
         <item name="android:dialogLayout">@layout/preference_dialog_edittext</item>
     </style>
 
@@ -72,6 +73,7 @@
         <item name="allowDividerAbove">false</item>
         <item name="allowDividerBelow">true</item>
         <item name="iconSpaceReserved">true</item>
+        <item name="singleLineTitle">false</item>
     </style>
 
     <style name="SyncSwitchPreference" parent="SettingsPreference">
diff --git a/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java b/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
index 5526cc9..aa3fc39 100644
--- a/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
+++ b/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
@@ -38,6 +38,7 @@
         super(context);
         mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
         mActionMetricKey = MetricsProto.MetricsEvent.ACTION_APP_BACKGROUND_CHECK;
+        mBatteryUtils = BatteryUtils.getInstance(context);
     }
 
     @Override
diff --git a/src/com/android/settings/location/LocationPreferenceController.java b/src/com/android/settings/location/LocationPreferenceController.java
index e4d4ca0..da7f299 100644
--- a/src/com/android/settings/location/LocationPreferenceController.java
+++ b/src/com/android/settings/location/LocationPreferenceController.java
@@ -26,6 +26,9 @@
 import android.support.v7.preference.PreferenceScreen;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceController;
+import com.android.settings.search.DatabaseIndexingUtils;
+import com.android.settings.search.InlineListPayload;
+import com.android.settings.search.ResultPayload;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -120,4 +123,16 @@
         }
         return 0;
     }
+
+    @Override
+    public ResultPayload getResultPayload() {
+        final Intent intent = DatabaseIndexingUtils.buildSubsettingIntent(mContext,
+                LocationSettings.class.getName(), KEY_LOCATION,
+                mContext.getString(R.string.location_settings_title));
+
+        return new InlineListPayload(Secure.LOCATION_MODE,
+                ResultPayload.SettingsSource.SECURE, intent, isAvailable(),
+                Secure.LOCATION_MODE_HIGH_ACCURACY + 1);
+    }
+
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
index e2b8656..7e5fc4a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
@@ -94,4 +94,11 @@
 
         assertThat(mBackgroundCheckAction.isActionActive(mAnomaly)).isFalse();
     }
+
+    @Test
+    public void testConstructor_batteryUtilsNotNull() {
+        mBackgroundCheckAction = new BackgroundCheckAction(mContext);
+
+        assertThat(mBackgroundCheckAction.mBatteryUtils).isNotNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
index ea2a18b..c7e0e0a 100644
--- a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
@@ -15,6 +15,7 @@
  */
 package com.android.settings.location;
 
+import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.nullable;
@@ -23,17 +24,25 @@
 import static org.mockito.Mockito.when;
 
 import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.location.LocationManager;
+import android.provider.Settings;
 import android.provider.Settings.Secure;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.display.AutoBrightnessPreferenceController;
+import com.android.settings.search.InlineListPayload;
+import com.android.settings.search.InlinePayload;
+import com.android.settings.search.InlineSwitchPayload;
+import com.android.settings.search.ResultPayload;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
+import com.android.settings.testutils.shadow.ShadowSecureSettings;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -42,7 +51,9 @@
 import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -160,4 +171,38 @@
 
         verify(mPreference).setSummary(any());
     }
+
+    @Test
+    public void testPreferenceController_ProperResultPayloadType() {
+        final Context context = RuntimeEnvironment.application;
+        mController = new LocationPreferenceController(context, null /* lifecycle */);
+        ResultPayload payload = mController.getResultPayload();
+        assertThat(payload).isInstanceOf(InlineListPayload.class);
+    }
+
+    @Test
+    @Config(shadows = ShadowSecureSettings.class)
+    public void testSetValue_updatesCorrectly() {
+        int newValue = Secure.LOCATION_MODE_BATTERY_SAVING;
+        ContentResolver resolver = mContext.getContentResolver();
+        Settings.Secure.putInt(resolver, Secure.LOCATION_MODE, Secure.LOCATION_MODE_OFF);
+
+        ((InlinePayload) mController.getResultPayload()).setValue(mContext, newValue);
+        int updatedValue = Settings.Secure.getInt(resolver, Secure.LOCATION_MODE,
+                Secure.LOCATION_MODE_OFF);
+
+        assertThat(updatedValue).isEqualTo(newValue);
+    }
+
+    @Test
+    @Config(shadows = ShadowSecureSettings.class)
+    public void testGetValue_correctValueReturned() {
+        int expectedValue = Secure.LOCATION_MODE_BATTERY_SAVING;
+        ContentResolver resolver = mContext.getContentResolver();
+        Settings.Secure.putInt(resolver, Secure.LOCATION_MODE, expectedValue);
+
+        int newValue = ((InlinePayload) mController.getResultPayload()).getValue(mContext);
+
+        assertThat(newValue).isEqualTo(expectedValue);
+    }
 }