Merge "Import translations. DO NOT MERGE ANYWHERE" into sc-v2-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 674ab61..43af6df 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1477,6 +1477,23 @@
         </activity>
 
         <activity
+            android:name="Settings$WifiScanningSettingsActivity"
+            android:label="@string/location_scanning_wifi_always_scanning_title"
+            android:icon="@drawable/ic_homepage_location"
+            android:exported="true"
+            android:permission="android.permission.CHANGE_WIFI_STATE"
+            android:configChanges="orientation|keyboardHidden|screenSize">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.WIFI_SCANNING_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.location.WifiScanningFragment" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
             android:name=".Settings$SecurityDashboardActivity"
             android:label="@string/security_settings_title"
             android:icon="@drawable/ic_homepage_security"
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 2114b96..9de420e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -24,21 +24,10 @@
 
     <color name="divider_color">#20ffffff</color>
     <color name="title_color">@android:color/holo_blue_light</color>
-    <color name="setup_lock_pattern_view_regular_color_light">
-        @color/lock_pattern_view_regular_color
-    </color>
-    <color name="setup_lock_pattern_view_success_color_dark">#ff84ffff</color>
-    <color name="setup_lock_pattern_view_success_color_light">@color/sud_color_accent_light</color>
-    <color name="setup_lock_pattern_view_error_color_dark">#fff44336</color>
     <color name="setup_wizard_wifi_color_dark">#89ffffff</color>
     <color name="setup_wizard_wifi_color_light">#89000000</color>
 
     <color name="lock_pattern_background">#00000000</color>
-    <color name="lock_pattern_view_regular_color">#ff37474f</color>
-
-    <color name="lock_pattern_view_regular_color_dark">#ffffff</color>
-
-    <color name="unlock_pattern_view_regular_color">@android:color/white</color>
 
     <color name="fingerprint_title_area_bg">?android:attr/colorAccent</color>
     <color name="fingerprint_title_color">#ffffffff</color>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c8f33f3..eaebd85 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -454,28 +454,10 @@
     </style>
 
     <style name="LockPatternStyle">
-        <item name="*android:regularColor">@color/lock_pattern_view_regular_color</item>
-        <item name="*android:successColor">@color/lock_pattern_view_success_color</item>
+        <item name="*android:regularColor">?android:attr/colorAccent</item>
+        <item name="*android:successColor">?android:attr/textColorPrimary</item>
         <item name="*android:errorColor">?android:attr/colorError</item>
-    </style>
-
-    <style name="LockPatternStyle.Dark">
-        <item name="*android:regularColor">@color/lock_pattern_view_regular_color_dark</item>
-        <item name="*android:successColor">@color/lock_pattern_view_regular_color_dark</item>
-    </style>
-
-    <style name="LockPatternStyle.Dark.Work">
-        <item name="*android:regularColor">@*android:color/white</item>
-    </style>
-
-    <style name="LockPatternStyle.Unlock">
-        <item name="*android:regularColor">@color/unlock_pattern_view_regular_color</item>
-        <item name="*android:successColor">@color/unlock_pattern_view_success_color</item>
-    </style>
-
-    <style name="LockPatternStyle.Setup">
-        <item name="*android:regularColor">@color/setup_lock_pattern_view_regular_color_light</item>
-        <item name="*android:successColor">@color/setup_lock_pattern_view_success_color_light</item>
+        <item name="*android:dotColor">?android:attr/textColorSecondary</item>
     </style>
 
     <style name="device_info_dialog_label">
diff --git a/res/values/themes.xml b/res/values/themes.xml
index f937a3b..7c5c111 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -58,7 +58,7 @@
         <!-- For AndroidX AlertDialog -->
         <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
 
         <!-- For AppBarLayout -->
         <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
@@ -123,7 +123,7 @@
         <item name="android:windowDrawsSystemBarBackgrounds">false</item>
         <item name="android:background">@android:color/black</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Unlock</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="ThemeOverlay.AlertDialog" parent="@android:style/ThemeOverlay.Material.Dialog.Alert">
@@ -164,13 +164,13 @@
         <item name="confirmDeviceCredentialsSideMargin">32dp</item>
         <item name="confirmDeviceCredentialsTopMargin">32dp</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Dark</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
 
         <item name="android:windowAnimationStyle">@style/ConfirmDeviceCredentialsAnimationStyle</item>
     </style>
 
     <style name="Theme.ConfirmDeviceCredentialsWork" parent="Theme.ConfirmDeviceCredentialsDark">
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Dark.Work</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
         <item name="android:colorAccent">@*android:color/white</item>
     </style>
 
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
index 3f5e823..129769f 100644
--- a/res/values/themes_suw.xml
+++ b/res/values/themes_suw.xml
@@ -33,7 +33,7 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifTheme.Light" parent="SudThemeGlif.Light">
@@ -51,7 +51,7 @@
         <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifV2Theme" parent="SudThemeGlifV2.DayNight">
@@ -70,7 +70,7 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifV2Theme.Light" parent="SudThemeGlifV2.Light">
@@ -88,7 +88,7 @@
         <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifV3Theme" parent="SudThemeGlifV3.DayNight">
@@ -107,7 +107,7 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifV3Theme.Footer" parent="@style/SudThemeGlifV3.DayNight">
@@ -130,7 +130,7 @@
         <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
     </style>
 
     <style name="GlifV3Theme.Light.NoActionBar" parent="GlifV3Theme.Light">
@@ -253,4 +253,4 @@
     <style name="GlifV3Theme.DayNight.Transparent" parent="GlifV3Theme.Light.Transparent" />
     <style name="SetupWizardTheme.DayNight.Transparent" parent="SetupWizardTheme.Light.Transparent" />
     <style name="SuwAlertDialogThemeCompat.DayNight" parent="SuwAlertDialogThemeCompat.Light" />
-</resources>
\ No newline at end of file
+</resources>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index a892b97..231a149 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -163,6 +163,7 @@
     public static class AppUsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
     public static class LocationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class WifiScanningSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PrivacyDashboardActivity extends SettingsActivity { /* empty */ }
     public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ }
     public static class FactoryResetActivity extends SettingsActivity {
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 458aadb..1adf199 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -112,6 +112,7 @@
 import com.android.settings.localepicker.LocaleListEditor;
 import com.android.settings.location.LocationServices;
 import com.android.settings.location.LocationSettings;
+import com.android.settings.location.WifiScanningFragment;
 import com.android.settings.network.MobileNetworkListFragment;
 import com.android.settings.network.NetworkDashboardFragment;
 import com.android.settings.network.NetworkProviderSettings;
@@ -201,6 +202,7 @@
             ProcessStatsUi.class.getName(),
             NotificationStation.class.getName(),
             LocationSettings.class.getName(),
+            WifiScanningFragment.class.getName(),
             PrivacyDashboardFragment.class.getName(),
             LocationServices.class.getName(),
             SecuritySettings.class.getName(),
diff --git a/src/com/android/settings/deviceinfo/legal/LegalPreferenceController.java b/src/com/android/settings/deviceinfo/legal/LegalPreferenceController.java
index 9465fff..fe45923 100644
--- a/src/com/android/settings/deviceinfo/legal/LegalPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/legal/LegalPreferenceController.java
@@ -87,9 +87,9 @@
         }
 
         // Replace the intent with this specific activity
-        mPreference.setIntent(new Intent().setClassName(
-                resolveInfo.activityInfo.packageName,
-                resolveInfo.activityInfo.name));
+        mPreference.setIntent(new Intent()
+                .setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
 
         mPreference.setTitle(resolveInfo.loadLabel(mPackageManager));
     }
diff --git a/src/com/android/settings/deviceinfo/legal/ModuleLicensePreference.java b/src/com/android/settings/deviceinfo/legal/ModuleLicensePreference.java
index e012275..8a3c9aa 100644
--- a/src/com/android/settings/deviceinfo/legal/ModuleLicensePreference.java
+++ b/src/com/android/settings/deviceinfo/legal/ModuleLicensePreference.java
@@ -51,6 +51,7 @@
                         ModuleLicenseProvider.LICENSE_FILE_MIME_TYPE)
                 .putExtra(Intent.EXTRA_TITLE, mModule.getName())
                 .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                 .addCategory(Intent.CATEGORY_DEFAULT)
                 .setPackage("com.android.htmlviewer");
         try {
diff --git a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
index 819d3b1..2c3847c 100644
--- a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
+++ b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
@@ -19,6 +19,7 @@
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.os.AsyncTask;
 import android.os.Bundle;
@@ -75,23 +76,24 @@
         }
 
         if (which == DialogInterface.BUTTON_POSITIVE) {
-            if (ConfirmationSimDeletionPredicate.getSingleton().test(getContext())) {
+            Context context = getContext();
+            if (ConfirmationSimDeletionPredicate.getSingleton().test(context)) {
                 // Create a "verify it's you" verification over keyguard
                 // when "erase" button been pressed.
                 // This might protect from erasing by some automation process.
-                WifiDppUtils.showLockScreen(getContext(), () -> runAsyncWipe());
+                WifiDppUtils.showLockScreen(context, () -> runAsyncWipe(context));
             } else {
-                runAsyncWipe();
+                runAsyncWipe(context);
             }
         }
     }
 
-    private void runAsyncWipe() {
+    private void runAsyncWipe(Context context) {
         AsyncTask.execute(new Runnable() {
             @Override
             public void run() {
                 RecoverySystem.wipeEuiccData(
-                        getContext(), PACKAGE_NAME_EUICC_DATA_MANAGEMENT_CALLBACK);
+                        context, PACKAGE_NAME_EUICC_DATA_MANAGEMENT_CALLBACK);
             }
         });
     }