Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-qpr-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3d47ad4..1b67b9c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13747,8 +13747,8 @@
     <string name="lockscreen_double_line_clock_summary">Show double-line clock when available</string>
     <!-- Lockscreen double-line clock toggle [CHAR LIMIT=60] -->
     <string name="lockscreen_double_line_clock_setting_toggle">Double-line clock</string>
-    <!-- Lock screen buttons preference [CHAR LIMIT=60] -->
-    <string name="lockscreen_quick_affordances_title">Buttons</string>
+    <!-- Lock screen shortcuts preference [CHAR LIMIT=60] -->
+    <string name="lockscreen_quick_affordances_title">Shortcuts</string>
     <!-- Summary for the lock screen button preference [CHAR LIMIT=60] -->
     <plurals name="lockscreen_quick_affordances_summary">
         <item quantity="zero">None</item>
diff --git a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
index 1c2fcd9..a12aa64 100644
--- a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
@@ -21,6 +21,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 /**
  * The controller (on the transcode settings screen) indicating that by default we assume that apps
@@ -47,7 +48,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
index c3b0624..8229c98 100644
--- a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
@@ -22,6 +22,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 /**
  * The controller (in the Media transcoding settings) indicating the user's preference to disable
@@ -49,7 +50,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
index b2d446e..63572f7 100644
--- a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
@@ -21,6 +21,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 /**
  * The controller for the "Enabling transcoding for all apps" switch on the transcode settings
@@ -37,7 +38,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
index 6b6692e..11c9c74 100644
--- a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
@@ -22,6 +22,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 /**
  * The controller (in the Media transcoding settings) indicating the user's preference to show
@@ -49,7 +50,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
index ce82293..377ff26 100644
--- a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
@@ -21,6 +21,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 /**
  * The controller for the User's control (over other transcoding preferences) preference switch on
@@ -47,7 +48,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java b/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
index 94f1519..2c06a51 100644
--- a/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
+++ b/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
@@ -50,13 +50,13 @@
         final Preference preference = screen.findPreference(getPreferenceKey());
         if (preference != null) {
             preference.setOnPreferenceClickListener(preference1 -> {
-                // TODO(b/258471384): open the buttons destination within wallpaper picker.
                 final Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
                 final String packageName =
                         mContext.getString(R.string.config_wallpaper_picker_package);
                 if (!TextUtils.isEmpty(packageName)) {
                     intent.setPackage(packageName);
                 }
+                intent.putExtra("destination", "quick_affordances");
                 mContext.startActivity(intent);
                 return true;
             });
diff --git a/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
index 8597d64..4ad5c22 100644
--- a/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
@@ -102,6 +102,8 @@
         assertThat(intentCaptor.getValue().getPackage()).isEqualTo(
                 mContext.getString(R.string.config_wallpaper_picker_package));
         assertThat(intentCaptor.getValue().getAction()).isEqualTo(Intent.ACTION_SET_WALLPAPER);
+        assertThat(intentCaptor.getValue().getStringExtra("destination"))
+                .isEqualTo("quick_affordances");
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java
index e3fa076..ecbae2d 100644
--- a/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java
@@ -20,6 +20,7 @@
 
 import android.content.Context;
 import android.os.SystemProperties;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,11 +37,14 @@
             "persist.sys.fuse.transcode_default";
 
     private TranscodeDefaultOptionPreferenceController mUnderTest;
+    private Context mContext;
 
     @Before
     public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        mUnderTest = new TranscodeDefaultOptionPreferenceController(context, "some_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mUnderTest = new TranscodeDefaultOptionPreferenceController(mContext, "some_key");
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
     }
 
     @Test
@@ -74,4 +78,12 @@
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
     }
+
+    @Test
+    public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java
index d1a3355..e7d1d4b 100644
--- a/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java
@@ -22,6 +22,7 @@
 
 import android.content.Context;
 import android.os.SystemProperties;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,11 +37,14 @@
 public class TranscodeDisableCachePreferenceControllerTest {
 
     private TranscodeDisableCachePreferenceController mUnderTest;
+    private Context mContext;
 
     @Before
     public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        mUnderTest = new TranscodeDisableCachePreferenceController(context, "some_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mUnderTest = new TranscodeDisableCachePreferenceController(mContext, "some_key");
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
     }
 
     @Test
@@ -74,4 +78,12 @@
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
     }
+
+    @Test
+    public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java
index 7c0acd7..0751fd9 100644
--- a/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java
@@ -20,10 +20,13 @@
 
 import android.content.Context;
 import android.os.SystemProperties;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.core.BasePreferenceController;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -34,11 +37,14 @@
     private static final String TRANSCODE_ENABLED_PROP_KEY = "persist.sys.fuse.transcode_enabled";
 
     private TranscodeGlobalTogglePreferenceController mController;
+    private Context mContext;
 
     @Before
     public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        mController = new TranscodeGlobalTogglePreferenceController(context, "test_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TranscodeGlobalTogglePreferenceController(mContext, "test_key");
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
     }
 
     @Test
@@ -75,4 +81,12 @@
         // Verify the system property was updated.
         assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse();
     }
+
+    @Test
+    public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java
index 65bfbf5..d9ae0a4 100644
--- a/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java
@@ -22,6 +22,7 @@
 
 import android.content.Context;
 import android.os.SystemProperties;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,10 +37,14 @@
 public class TranscodeNotificationPreferenceControllerTest {
     private TranscodeNotificationPreferenceController mUnderTest;
 
+    private Context mContext;
+
     @Before
     public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        mUnderTest = new TranscodeNotificationPreferenceController(context, "notification_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mUnderTest = new TranscodeNotificationPreferenceController(mContext, "notification_key");
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
     }
 
     @Test
@@ -73,4 +78,12 @@
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
     }
+
+    @Test
+    public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java
index 63a6ac6..6e4bfc8 100644
--- a/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java
@@ -20,6 +20,7 @@
 
 import android.content.Context;
 import android.os.SystemProperties;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,11 +37,14 @@
             "persist.sys.fuse.transcode_user_control";
 
     private TranscodeUserControlPreferenceController mUnderTest;
+    private Context mContext;
 
     @Before
     public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        mUnderTest = new TranscodeUserControlPreferenceController(context, "some_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mUnderTest = new TranscodeUserControlPreferenceController(mContext, "some_key");
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
     }
 
     @Test
@@ -74,4 +78,12 @@
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
     }
+
+    @Test
+    public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
 }