Merge "Update settings together with frameworks/base"
diff --git a/res/values/config.xml b/res/values/config.xml
index 6a7a1bd..3c58a06 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -49,6 +49,8 @@
     <string name="config_wallpaper_picker_class" translatable="false">com.android.settings.Settings$WallpaperSettingsActivity</string>
     <!-- Fully-qualified class name for the styles & wallpaper picker activity. -->
     <string name="config_styles_and_wallpaper_picker_class" translatable="false"></string>
+    <!-- Intent extra for wallpaper picker activity. -->
+    <string name="config_wallpaper_picker_launch_extra" translatable="false">com.android.wallpaper.LAUNCH_SOURCE</string>
 
     <!-- Manufacturer backup settings to launch -->
     <string name="config_backup_settings_intent" translatable="false"></string>
diff --git a/src/com/android/settings/display/WallpaperPreferenceController.java b/src/com/android/settings/display/WallpaperPreferenceController.java
index 72054e9..00687b2 100644
--- a/src/com/android/settings/display/WallpaperPreferenceController.java
+++ b/src/com/android/settings/display/WallpaperPreferenceController.java
@@ -36,10 +36,12 @@
 
 public class WallpaperPreferenceController extends BasePreferenceController {
     private static final String TAG = "WallpaperPrefController";
+    private static final String LAUNCHED_SETTINGS = "app_launched_settings";
 
     private final String mWallpaperPackage;
     private final String mWallpaperClass;
     private final String mStylesAndWallpaperClass;
+    private final String mWallpaperLaunchExtra;
 
     public WallpaperPreferenceController(Context context, String key) {
         super(context, key);
@@ -47,6 +49,7 @@
         mWallpaperClass = mContext.getString(R.string.config_wallpaper_picker_class);
         mStylesAndWallpaperClass =
                 mContext.getString(R.string.config_styles_and_wallpaper_picker_class);
+        mWallpaperLaunchExtra = mContext.getString(R.string.config_wallpaper_picker_launch_extra);
     }
 
     @Override
@@ -96,7 +99,8 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (getPreferenceKey().equals(preference.getKey())) {
-            final Intent intent = new Intent().setComponent(getComponentName());
+            final Intent intent = new Intent().setComponent(
+                getComponentName()).putExtra(mWallpaperLaunchExtra, LAUNCHED_SETTINGS);
             if (areStylesAvailable()) {
                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
             }
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 83fa208..ff6ff59 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -153,7 +153,7 @@
                 if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
                         || mIsGlobalCdma
                         || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    return R.string.preferred_network_mode_global_summary;
+                    return R.string.preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary;
                 } else {
                     return R.string.preferred_network_mode_lte_summary;
                 }
@@ -174,7 +174,7 @@
             case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA:
                 return R.string.preferred_network_mode_nr_lte_gsm_wcdma_summary;
             case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
-                return R.string.preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary;
+                return R.string.preferred_network_mode_global_summary;
             case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA:
                 return R.string.preferred_network_mode_nr_lte_wcdma_summary;
             case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA:
diff --git a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
index 999e92c..c2b3fa0 100644
--- a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
+++ b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
@@ -23,6 +23,7 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.R;
 import com.android.settings.display.WallpaperPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.Indexable;
@@ -40,11 +41,18 @@
     private static final String WALLPAPER_FLAVOR_EXTRA = "com.android.launcher3.WALLPAPER_FLAVOR";
     private static final String WALLPAPER_FOCUS = "focus_wallpaper";
     private static final String WALLPAPER_ONLY = "wallpaper_only";
+    private static final String LAUNCHED_SUW = "app_launched_suw";
+
+    private String mWallpaperLaunchExtra;
 
     @Override
     protected void addExtras(Intent intent) {
         if (WizardManagerHelper.isAnySetupWizard(intent)) {
             intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_ONLY);
+
+            mWallpaperLaunchExtra =
+                    getResources().getString(R.string.config_wallpaper_picker_launch_extra);
+            intent.putExtra(mWallpaperLaunchExtra, LAUNCHED_SUW);
         } else {
             intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
         }
diff --git a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
index a8893ea..04bd4bb 100644
--- a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
@@ -211,4 +211,19 @@
                 .getNextStartedActivityForResult().intent.getComponent().getClassName())
                 .isEqualTo(mContext.getString(R.string.config_styles_and_wallpaper_picker_class));
     }
+
+    @Test
+    public void handlePreferenceTreeClick_launchSourceExtra() {
+        mShadowPackageManager.setResolveInfosForIntent(
+            mWallpaperIntent, Lists.newArrayList());
+        mShadowPackageManager.setResolveInfosForIntent(
+            mStylesAndWallpaperIntent, Lists.newArrayList());
+        Preference preference = new Preference(mContext);
+        preference.setKey(TEST_KEY);
+
+        mController.handlePreferenceTreeClick(preference);
+
+        assertThat(Shadows.shadowOf(mContext).getNextStartedActivityForResult()
+            .intent.hasExtra("com.android.wallpaper.LAUNCH_SOURCE")).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
index 73f12c2..6201bcb 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
@@ -56,6 +56,7 @@
     private static final String PACKAGE_WALLPAPER_ACTIVITY =
             "com.android.settings.wallpaper.WallpaperSuggestionActivity";
     private static final String WALLPAPER_FLAVOR = "com.android.launcher3.WALLPAPER_FLAVOR";
+    private static final String WALLPAPER_LAUNCH_SOURCE = "com.android.wallpaper.LAUNCH_SOURCE";
 
     @Before
     public void setUp() {
@@ -100,7 +101,7 @@
     }
 
     @Test
-    public void addExtras_intentFromSetupWizard_extrasHasWallpaperOnly() {
+    public void addExtras_intentFromSetupWizard_extrasHasWallpaperOnlyAndLaunchedSuw() {
         WallpaperSuggestionActivity activity =
                 Robolectric.buildActivity(WallpaperSuggestionActivity.class, new Intent(
                         Intent.ACTION_MAIN).setComponent(
@@ -112,6 +113,8 @@
 
         assertThat(intent).isNotNull();
         assertThat(intent.getStringExtra(WALLPAPER_FLAVOR)).isEqualTo("wallpaper_only");
+        assertThat(intent.getStringExtra(WALLPAPER_LAUNCH_SOURCE))
+                .isEqualTo("app_launched_suw");
     }
 
     @Test