From 74f7988ced18df9a06c5bf9ce7bd40505b8e6030 Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Fri, 3 Jun 2022 19:27:52 +0000 Subject: [PATCH 1/6] Update fingerprint removal dialog strings Test: Verified manually. Fixes: 234183857 Change-Id: I52d2ae620da40d33c13fb860200137f10e51b07d --- .../fingerprint/FingerprintSettings.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index e42574f7b6b..46ea7f42351 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -799,10 +799,12 @@ public class FingerprintSettings extends SubSettings { public Dialog onCreateDialog(Bundle savedInstanceState) { mFp = getArguments().getParcelable(KEY_FINGERPRINT); final String title = getString(R.string.fingerprint_delete_title, mFp.getName()); + final String message = + getString(R.string.fingerprint_v2_delete_message, mFp.getName()); mAlertDialog = new AlertDialog.Builder(getActivity()) .setTitle(title) - .setMessage(R.string.fingerprint_delete_message) + .setMessage(message) .setPositiveButton( R.string.security_settings_fingerprint_enroll_dialog_delete, this /* onClickListener */) @@ -967,6 +969,10 @@ public class FingerprintSettings extends SubSettings { final boolean isProfileChallengeUser = getArguments().getBoolean("isProfileChallengeUser"); + final String title = getString(R.string.fingerprint_delete_title, mFp.getName()); + final String message = + getString(R.string.fingerprint_v2_delete_message, mFp.getName()); + DevicePolicyManager devicePolicyManager = getContext().getSystemService(DevicePolicyManager.class); String messageId = @@ -977,10 +983,12 @@ public class FingerprintSettings extends SubSettings { : R.string.fingerprint_last_delete_message; final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()) - .setTitle(R.string.fingerprint_last_delete_title) + .setTitle(title) .setMessage(devicePolicyManager.getResources().getString( - messageId, () -> getContext().getString(defaultMessageId))) - .setPositiveButton(R.string.fingerprint_last_delete_confirm, + messageId, + () -> message + "\n\n" + getContext().getString(defaultMessageId))) + .setPositiveButton( + R.string.security_settings_fingerprint_enroll_dialog_delete, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { From 77452db3f9e23726284167c8040be5932c2dfb7f Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Wed, 8 Jun 2022 20:52:32 +0000 Subject: [PATCH 2/6] Updated FP enroll confirmation string Test: Verified correct string shows after FP enrollment. Fixes: 234183906 Change-Id: I57e7ce836d4dc5ad2caf198aa59738f64dc4c049 --- res/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ff80b0c6976..8f7c1c26eeb 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1152,11 +1152,11 @@ Fingerprint added - Now you can use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps + Fingerprint Unlock improves the more you use it to unlock your tablet or verify it\u2019s you in apps - Now you can use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps + Fingerprint Unlock improves the more you use it to unlock your device or verify it\u2019s you in apps - Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps + Fingerprint Unlock improves the more you use it to unlock your phone or verify it\u2019s you in apps Do it later From 7f1ff1b796ee92df2d79b6823811537b23fb348c Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Thu, 9 Jun 2022 07:18:07 +0000 Subject: [PATCH 3/6] Revert "Do not show the redundant RemoveAccountFailureDialog" This reverts commit e5f1d24913e4925a329c107d8dce38abec490358. Reason for revert: "Remove account" does nothing and shows no errors Fix: 232819214 Change-Id: I4a4e5084cde87ea2a9e5be1ff3ca6709e11ebc3d --- .../settings/accounts/RemoveAccountPreferenceController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java index 60faab932f9..7003eed252b 100644 --- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java +++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java @@ -180,10 +180,11 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl | AuthenticatorException e) { // handled below Log.w(TAG, "Remove account error: " + e); - RemoveAccountFailureDialog.show(getTargetFragment()); } Log.i(TAG, "failed: " + failed); - if (!failed) { + if (failed) { + RemoveAccountFailureDialog.show(getTargetFragment()); + } else { targetActivity.finish(); } }, null, mUserHandle); From b9be27b00683309faf8fd4c4934e8970c6e79e0b Mon Sep 17 00:00:00 2001 From: Alan Huang Date: Fri, 27 May 2022 21:28:58 +0000 Subject: [PATCH 4/6] [VolumePanel] Fix the Hearable control slice uri parameter The provided uri doesn't contain the formatted string, so just append the width at the end Bug: 229048602 Test: make -j64 RunSettingsRoboTests Change-Id: Idadbb4d725c8ca65bac31fbead8ac1d429ebcea9 --- .../BluetoothDeviceDetailsFragment.java | 26 +++++++++++++++---- .../android/settings/panel/VolumePanel.java | 20 +++++++++----- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index a9ac2868878..c118a43131d 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -22,6 +22,7 @@ import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothDevice; import android.content.Context; +import android.content.res.TypedArray; import android.net.Uri; import android.os.Bundle; import android.provider.DeviceConfig; @@ -49,7 +50,6 @@ import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import java.util.ArrayList; -import java.util.IllegalFormatException; import java.util.List; public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment { @@ -136,7 +136,6 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment use(BlockingSlicePrefController.class).setSliceUri(sliceEnabled ? featureProvider.getBluetoothDeviceSettingsUri(mCachedDevice.getDevice()) : null); - updateExtraControlUri(/* viewWidth */ 0); } private void updateExtraControlUri(int viewWidth) { @@ -148,13 +147,14 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment String uri = featureProvider.getBluetoothDeviceControlUri(mCachedDevice.getDevice()); if (!TextUtils.isEmpty(uri)) { try { - controlUri = Uri.parse(String.format(uri, viewWidth)); - } catch (IllegalFormatException | NullPointerException exception) { + controlUri = Uri.parse(uri + viewWidth); + } catch (NullPointerException exception) { Log.d(TAG, "unable to parse uri"); controlUri = null; } } use(SlicePreferenceController.class).setSliceUri(sliceEnabled ? controlUri : null); + use(SlicePreferenceController.class).onStart(); } private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener = @@ -165,7 +165,10 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment if (view == null) { return; } - updateExtraControlUri(view.getWidth()); + if (view.getWidth() <= 0) { + return; + } + updateExtraControlUri(view.getWidth() - getPaddingSize()); view.getViewTreeObserver().removeOnGlobalLayoutListener( mOnGlobalLayoutListener); } @@ -251,4 +254,17 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment } return controllers; } + + private int getPaddingSize() { + TypedArray resolvedAttributes = + getContext().obtainStyledAttributes( + new int[]{ + android.R.attr.listPreferredItemPaddingStart, + android.R.attr.listPreferredItemPaddingEnd + }); + int width = resolvedAttributes.getDimensionPixelSize(0, 0) + + resolvedAttributes.getDimensionPixelSize(1, 0); + resolvedAttributes.recycle(); + return width; + } } diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java index 98939cfe14c..08884d5621f 100644 --- a/src/com/android/settings/panel/VolumePanel.java +++ b/src/com/android/settings/panel/VolumePanel.java @@ -26,6 +26,7 @@ import static com.android.settings.slices.CustomSliceRegistry.VOLUME_CALL_URI; import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI; import static com.android.settings.slices.CustomSliceRegistry.VOLUME_RINGER_URI; +import android.app.Activity; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; @@ -49,7 +50,6 @@ import com.android.settingslib.bluetooth.LocalBluetoothProfileManager; import com.android.settingslib.media.MediaOutputConstants; import java.util.ArrayList; -import java.util.IllegalFormatException; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; @@ -64,6 +64,7 @@ public class VolumePanel implements PanelContent, LifecycleObserver { private PanelContentCallback mCallback; private LocalBluetoothProfileManager mProfileManager; + private int mControlSliceWidth; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override @@ -80,6 +81,14 @@ public class VolumePanel implements PanelContent, LifecycleObserver { private VolumePanel(Context context) { mContext = context.getApplicationContext(); + if (context instanceof Activity) { + int panelWidth = + ((Activity) context).getWindowManager().getCurrentWindowMetrics().getBounds() + .width(); + // The control slice width = panel width - two left and right horizontal paddings + mControlSliceWidth = panelWidth - context.getResources().getDimensionPixelSize( + R.dimen.panel_slice_Horizontal_padding) * 2; + } final FutureTask localBtManagerFutureTask = new FutureTask<>( // Avoid StrictMode ThreadPolicy violation @@ -102,8 +111,7 @@ public class VolumePanel implements PanelContent, LifecycleObserver { public void onResume() { final IntentFilter filter = new IntentFilter(); filter.addAction(MediaOutputConstants.ACTION_CLOSE_PANEL); - mContext.registerReceiver(mReceiver, filter, - Context.RECEIVER_EXPORTED_UNAUDITED); + mContext.registerReceiver(mReceiver, filter, Context.RECEIVER_EXPORTED_UNAUDITED); } /** Invoked when the panel is paused. */ @@ -159,13 +167,11 @@ public class VolumePanel implements PanelContent, LifecycleObserver { Uri controlUri = null; final BluetoothDevice bluetoothDevice = findActiveDevice(); if (bluetoothDevice != null) { - final int width = mContext.getResources().getDimensionPixelSize( - R.dimen.settings_panel_width); final String uri = BluetoothUtils.getControlUriMetaData(bluetoothDevice); if (!TextUtils.isEmpty(uri)) { try { - controlUri = Uri.parse(String.format(uri, width)); - } catch (IllegalFormatException | NullPointerException exception) { + controlUri = Uri.parse(uri + mControlSliceWidth); + } catch (NullPointerException exception) { Log.d(TAG, "unable to parse uri"); controlUri = null; } From 5391d591c89d5928f35e4d6f7648622ea9ada0c7 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 9 Jun 2022 09:45:40 -0700 Subject: [PATCH 5/6] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ibb0a9c21fb33588f13b99a46a30dd191e28d587b --- res/values-in/arrays.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml index de50015ff3b..18178f84ba8 100644 --- a/res/values-in/arrays.xml +++ b/res/values-in/arrays.xml @@ -428,7 +428,7 @@ "Besar" - "PPTP VPN" + "VPN PPTP" "L2TP/IPSec VPN dengan kunci pra-bagi" "L2TP/IPSec VPN dengan sertifikat" "IPSec VPN dengan kunci pra-bagi dan autentikasi Xauth" From c1ebda67c2c1539d634c0a035ba7569626117e54 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 9 Jun 2022 09:49:56 -0700 Subject: [PATCH 6/6] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I3b4ba2fd47b3ab2f58a1eb962a12872f85f224f4 --- res/values-am/strings.xml | 2 +- res/values-fa/strings.xml | 6 +++--- res/values-fr/strings.xml | 4 ++-- res/values-ml/strings.xml | 2 +- res/values-pt-rBR/strings.xml | 2 +- res/values-pt/strings.xml | 2 +- res/values-ru/strings.xml | 4 ++-- res/values-sk/strings.xml | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 06f72033119..33563405da3 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -3639,7 +3639,7 @@ "የስራ ፈተና፣ ስራ፣ መገለጫ" "የሥራ መገለጫ፣ የሚተዳደር መገለጫ፣ አዋህድ፣ ውህደት፣ ሥራ፣ መገለጫ" "የጣት ምልክቶች" - "የኪስ ቦርሳ" + "Wallet" "ይክፈሉ፣ መታ ያድርጉ፣ ክፍያዎች" "ምትኬ" "የጣት ምልክት" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 46f39a5d393..a2de16868b6 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -2304,7 +2304,7 @@ "Talkback" "صفحه‌خوان در وهله اول برای افراد نابینا و کم‌بینا در نظر گرفته شده است" "روی موارد موجود در صفحه‌تان ضربه بزنید تا بلند خوانده شوند" - "اولویت‌های زیرنویس" + "اولویت‌های زیرنویس ناشنوایان" "درباره اولویت‌های زیرنویس ناشنوایان" "درباره اولویت‌های زیرنویس ناشنوایان بیشتر بدانید" "بزرگ‌نمایی" @@ -2508,7 +2508,7 @@ "کلیدهای میزان صدا را نگه‌دارید" "سه ضربه روی صفحه بزنید" "ادامه" - "سمعک‌ها" + "سمعک" "هیچ سمعکی متصل نشده است" "افزودن سمعک‌ها" "مرتبط کردن سمعک" @@ -4915,7 +4915,7 @@ "باز کردن سریع دوربین" "برای باز کردن سریع دوربین، دکمه روشن/خاموش را دو بار فشار دهید. در همه صفحه‌ها کار می‌کند." "باز کردن سریع دوربین" - "خودگرفت با چرخش دوربین" + "خودگرفت با چرخاندن دوربین" "سریع‌تر گرفتن خودگرفت" "پیمایش سیستمی" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 98876059bb9..b81b5d113ba 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -1411,11 +1411,11 @@ "S\'active à l\'heure choisie" "S\'active à l\'heure du coucher" "État" - "Ne s\'active jamais automatiquement" + "Ne s\'activera jamais automatiquement" "S\'active automatiquement au coucher du soleil" "S\'active automatiquement à %1$s" "S\'active automatiquement à l\'heure du coucher" - "Ne jamais désactiver automatiquement" + "Ne se désactivera jamais automatiquement" "Désactiver automatiquement au lever du soleil" "Désactiver automatiquement à %1$s" "Se désactive automatiquement après l\'heure du coucher" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index adbc49a81ec..61bac519324 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -4204,7 +4204,7 @@ "എല്ലാ കോളുകളും നിങ്ങൾക്ക് ലഭിക്കും" "{count,plural, =0{ഒന്നുമില്ല}=1{ഒരു കോൺടാക്റ്റ്}other{# കോൺ‍ടാക്റ്റുകൾ}}" "ആർക്കും വിളിക്കാം" - "കോൺടാക്റ്റുകൾ" + "Contacts" "നക്ഷത്രചിഹ്നമിട്ടവ" "ചില ആളുകളോ സംഭാഷണങ്ങളോ" "നക്ഷത്രമിട്ടിട്ടുള്ള കോൺടാക്‌റ്റുകളിൽ നിന്നും ആവർത്തിച്ച് വിളിക്കുന്നവരിൽ നിന്നും" diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index 34e2a80d955..bdc1993b283 100644 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -4853,7 +4853,7 @@ "corte de tela, entalhe" "Padrão do dispositivo" "Falha ao aplicar sobreposição" - "Acesso especial a apps" + "Acesso especial para apps" %d app pode usar dados ilimitados %d apps podem usar dados ilimitados diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 34e2a80d955..bdc1993b283 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -4853,7 +4853,7 @@ "corte de tela, entalhe" "Padrão do dispositivo" "Falha ao aplicar sobreposição" - "Acesso especial a apps" + "Acesso especial para apps" %d app pode usar dados ilimitados %d apps podem usar dados ilimitados diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 44d82dc279f..8b484a0c96e 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -1472,7 +1472,7 @@ "Главный экран, заблокированный экран" "По умолчанию" "Пользовательские" - "Сменить обои" + "Обои" "Выберите обои для экрана" "Установка обоев" "Настройка телефона" @@ -2385,7 +2385,7 @@ "Увеличение с помощью кнопки и по тройному нажатию" "О функции \"%1$s\"" "Масштаб экрана и текст" - "Настройки отображения текста" + "Отображение текста" "Тема: Дизайн воздушного шара" "От: Борис" "Доброе утро!\n\nКак дела с дизайном? Он будет готов до того, как мы начнем разработку новых шаров?" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index a540e2f8b93..d665c7e4b80 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -5389,7 +5389,7 @@ "Povoliť aplikácii ovládať Wi-Fi" "Toto povolenie umožňuje tejto aplikácii zapínať a vypínať Wi-Fi, hľadať siete Wi-Fi a pripájať sa k nim, pridávať a odstraňovať siete alebo vytvárať miestny hotspot" "Prehrať média v zariadení" - "Prehrať %s cez" + "Pustiť %s cez" "Toto zariadenie" "Telefón" "Tablet"