From 9b998b7dac510536ffce0f1b55751e465d641cc6 Mon Sep 17 00:00:00 2001 From: Milton Wu Date: Tue, 6 Sep 2022 15:39:53 +0000 Subject: [PATCH 1/7] Refine checkMaxEnrolled() for fingerprint FingerprintEnrollIntroduction shall allow setting 2nd fingerprint if this intent is coming from "Anything else" page in SUW. Bug: 228418807 Test: Manually test fingerprint in SUW Test: ROBOTEST FingerprintEnrollIntroduction and SetupFingerprintEnrollIntroduction Change-Id: I62edeb91f90b32f62b3ca2b2ea04ec427b31d483 --- .../fingerprint/FingerprintEnrollIntroduction.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java index 838c472fb15..4598483ec32 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java @@ -248,6 +248,11 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction { return findViewById(R.id.error_text); } + private boolean isFromSetupWizardSuggestAction(@Nullable Intent intent) { + return intent != null && intent.getBooleanExtra( + WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, false); + } + @Override protected int checkMaxEnrolled() { final boolean isSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent()); @@ -255,6 +260,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction { WizardManagerHelper.isDeferredSetupWizard(getIntent()); final boolean isPortalSetupWizard = WizardManagerHelper.isPortalSetupWizard(getIntent()); + final boolean isFromSetupWizardSuggestAction = isFromSetupWizardSuggestAction(getIntent()); if (mFingerprintManager != null) { final List props = mFingerprintManager.getSensorPropertiesInternal(); @@ -266,7 +272,8 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction { getApplicationContext() .getResources() .getInteger(R.integer.suw_max_fingerprints_enrollable); - if (isSetupWizard && !isDeferredSetupWizard && !isPortalSetupWizard) { + if (isSetupWizard && !isDeferredSetupWizard && !isPortalSetupWizard + && !isFromSetupWizardSuggestAction) { if (numEnrolledFingerprints >= maxFingerprintsEnrollableIfSUW) { return R.string.fingerprint_intro_error_max; } else { From 4f93ef7790578a9c0d28497a33be62d8d87bc09e Mon Sep 17 00:00:00 2001 From: Milton Wu Date: Wed, 7 Sep 2022 16:31:46 +0000 Subject: [PATCH 2/7] Fix incorrect choose screen lock during unicorn ChooseLockGeneneric uses intent extra key to determine correct strings on "Choose screen lock" screen. Bug: 219419005 Test: atest BiometricEnrollActivityTest Test: Manully test SUW as following combinations 1. W/ unicorn flow or W/O unicorn flow 2. Fingerprint only devices or Fingerpirnt+Face devices Change-Id: I2abf9555676f3fb3b92dd6ddcc091ea8158bfe9f --- .../biometrics/BiometricEnrollActivity.java | 8 +++++++- .../biometrics/BiometricEnrollActivityTest.java | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java index 6b830c9e4d7..932c41073e4 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java +++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java @@ -564,7 +564,13 @@ public class BiometricEnrollActivity extends InstrumentedActivity { Intent intent = BiometricUtils.getChooseLockIntent(this, getIntent()); intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS, true); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true); - intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS, true); + if (mHasFeatureFingerprint && mHasFeatureFace) { + intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS, true); + } else if (mHasFeatureFace) { + intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, true); + } else if (mHasFeatureFingerprint) { + intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true); + } if (mUserId != UserHandle.USER_NULL) { intent.putExtra(Intent.EXTRA_USER_ID, mUserId); diff --git a/tests/componenttests/src/com/android/settings/biometrics/BiometricEnrollActivityTest.java b/tests/componenttests/src/com/android/settings/biometrics/BiometricEnrollActivityTest.java index 0ef57a0b676..c5e3a19cc92 100644 --- a/tests/componenttests/src/com/android/settings/biometrics/BiometricEnrollActivityTest.java +++ b/tests/componenttests/src/com/android/settings/biometrics/BiometricEnrollActivityTest.java @@ -20,6 +20,11 @@ import static android.provider.Settings.ACTION_BIOMETRIC_ENROLL; import static androidx.test.espresso.intent.Intents.intended; import static androidx.test.espresso.intent.matcher.IntentMatchers.hasComponent; +import static androidx.test.espresso.intent.matcher.IntentMatchers.hasExtra; + +import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS; +import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE; +import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT; import static com.google.common.truth.Truth.assertThat; @@ -83,6 +88,13 @@ public class BiometricEnrollActivityTest { try (ActivityScenario scenario = ActivityScenario.launch(getIntent())) { intended(hasComponent(ChooseLockGeneric.class.getName())); + if (mHasFace && mHasFingerprint) { + intended(hasExtra(EXTRA_KEY_FOR_BIOMETRICS, true)); + } else if (mHasFace) { + intended(hasExtra(EXTRA_KEY_FOR_FACE, true)); + } else if (mHasFingerprint) { + intended(hasExtra(EXTRA_KEY_FOR_FINGERPRINT, true)); + } } } @@ -109,11 +121,9 @@ public class BiometricEnrollActivityTest { response.getGatekeeperPasswordHandle()); }).get(); - - try (ActivityScenario scenario = ActivityScenario.launch(intent)) { - intended(hasComponent(mHasFace + intended(hasComponent(mHasFace && !mHasFingerprint ? FaceEnrollIntroduction.class.getName() : FingerprintEnrollIntroduction.class.getName())); } From f3457e4080fbbfff5c82036dc3c76f92290545e2 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 11 Sep 2022 16:23:01 -0700 Subject: [PATCH 3/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Iee13f8fc3f15a25a78f77111b5098b3a01d5ab8f --- res/values-am/arrays.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml index de92092a27d..b5ff80d929e 100644 --- a/res/values-am/arrays.xml +++ b/res/values-am/arrays.xml @@ -119,7 +119,7 @@ "የተጋበዘ" "ስኬታማ አልነበረም" "የሚገኝ" - "ከክልል ውጪ" + "ከክልል ውጭ" "2 ደቂቃዎች" From a4f092c748e6ce95e7595440796cd7861f14719e Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 11 Sep 2022 16:28:01 -0700 Subject: [PATCH 4/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ie871e5bb344fce432b8741e50b34954cf5fc6ec9 --- res/values-am/strings.xml | 6 +++--- res/values-ar/strings.xml | 2 +- res/values-as/strings.xml | 4 ++-- res/values-be/strings.xml | 10 +++++----- res/values-fr/strings.xml | 3 ++- res/values-gl/strings.xml | 2 +- res/values-hi/strings.xml | 16 ++++++++-------- res/values-ja/strings.xml | 2 +- res/values-kk/strings.xml | 2 +- res/values-mk/strings.xml | 2 +- res/values-my/strings.xml | 4 ++-- res/values-or/strings.xml | 4 ++-- res/values-pl/strings.xml | 4 ++-- res/values-pt-rPT/strings.xml | 4 ++-- res/values-te/strings.xml | 2 +- 15 files changed, 34 insertions(+), 33 deletions(-) diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index e58cfcc5c8d..13f8b8affc4 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -33,7 +33,7 @@ "የገመድ አልባና አውታረ መረቦች" "ስርዓት" "በአገልግሎት ውስጥ" - "ከአገልግሎት ውጪ" + "ከአገልግሎት ውጭ" "የአደጋ ጊዜ ጥሪዎች ብቻ" "ሬዲዮ ጠፍቷል" "በመንቀሳቀስ ላይ" @@ -2130,7 +2130,7 @@ "በውጪ ማህደረ መረጃ ላይ የስርዓት ማዘመኛዎች መጫን አትችልም።" "የመሣሪያ አስተዳዳሪ መተግበሪያ በውጫዊ ማህደረመረጃ ላይ መጫን አይቻልም" "በኃይል አቁም?" - "መተግበሪያን በጉልበት እንዲቆም ካደረግከው ከአደብ ውጪ ሊሆን ይችላል::" + "መተግበሪያን በጉልበት እንዲቆም ካደረግከው ከአደብ ውጭ ሊሆን ይችላል::" "የሚመረጥ ጭነት ሥፍራ" "ለአዲስ መተግበሪያዎች ተመራጭ መጫኛ ሥፍራዎችን ለውጥ።" "መተግበሪያን አሰናክል" @@ -2324,7 +2324,7 @@ "በሙሉ እና በከፊል ማያ ገጽ መካከል ይቀያይሩ" "በሁለቱም አማራጮች መካከል ለማንቀሳቀስ የመቀየሪያ አዝራርን መታ ያድርጉ" "ወደ የተደራሽነት አዝራር ይቀየር?" - "የማያ ገጽዎን ክፍል ለማጉላት ሶስት ጊዜ መታ ማድረግን መጠቀም መተየብ እና ሌሎች መዘግየቶችን ያስከትላል።\n\nየተደራሽነት አዝራር በሌሎች መተግበሪያዎች ላይ በማያ ገጽዎ ላይ ይንሳፈፋል። ለማጉላት መታ ያድርጉት።" + "የማያ ገጽዎን ክፍል ለማጉላት ሦስት ጊዜ መታ ማድረግን መጠቀም መተየብ እና ሌሎች መዘግየቶችን ያስከትላል።\n\nየተደራሽነት አዝራር በሌሎች መተግበሪያዎች ላይ በማያ ገጽዎ ላይ ይንሳፈፋል። ለማጉላት መታ ያድርጉት።" "ወደ የተደራሽነት አዝራር ይቀይሩ" "ሦስቴ መታ ማድረግን ይጠቀሙ" "ይህ የቁልፍ ሰሌዳዎን ሊያንቀራፍፍ ይችላል" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 6ff38a72957..486665cca7f 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -1769,7 +1769,7 @@ "لنقل الملفات والوسائط بين الأجهزة" "وحدة تخزين محمولة" "الإعداد لاحقًا" - "هل تريد تنسيق ^1؟" + "هل تريد تهيئة ^1؟" "يجب تنسيق ^1 لتخزين التطبيقات والملفات والوسائط. \n\nسيؤدي التنسيق إلى محو المحتوى الحالي على ^2. ولتجنّب فقد المحتوى، يمكنك نسخه احتياطيًا إلى ^3 أو جهاز آخر." "تنسيق ^1" "هل تريد نقل المحتوى إلى ^1؟" diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index aad5ba1b22c..6a9bc8353cd 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -192,7 +192,7 @@ "হ\'ষ্টনাম (www.google.com) IPv6 পিং কৰক:" "HTTP ক্লায়েণ্ট পৰীক্ষা:" "পিং টেষ্ট চলাওক" - "USB কেৱ\'ল পুনঃসংযোগ কৰাৰ পিছত পৰিবৰ্তনসমূহ স্থায়ী হ\'ব।" + "USB কে’বল পুনঃসংযোগ কৰাৰ পাছত পৰিৱৰ্তনসমূহ স্থায়ী হ’ব।" "বিশাল ষ্ট’ৰেজ ইউএছবি সক্ষম কৰক" "সৰ্বমুঠ বাইট:" "ইউএছবি ষ্ট’ৰেজ সংলগ্ন কৰা হোৱা নাই।" @@ -1636,7 +1636,7 @@ "ষ্ট’ৰেজৰ নতুন নাম দিয়ক" "এই ^1ক সুৰক্ষিতভাৱে গুচোৱা হৈছিল, কিন্তু ই এতিয়াও উপলব্ধ। \n\nতাক ^1 ব্যৱহাৰ কৰিবলৈ, আপুনি প্ৰথমে তাক সংলগ্ন কৰিব লাগিব।" "^1 ব্যৱহাৰযোগ্য হৈ থকা নাই। \n\nইয়াক ^1 ব্যৱহাৰ কৰিবলৈ আপুনি প্ৰথমে তাক ছেট আপ কৰিব লাগিব।" - "ফৰ্মেট কৰাৰ পাছত আপুনি ^1ক অইন ডিভাইচত ব্যৱহাৰ কৰিব পাৰিব। \n\n^1ত থকা আটাইখিনি ডেটা মচা হ’ব। গতিকে, প্ৰথমে বেকআপ লোৱাৰ কথা বিবেচনা কৰক। \n\n""ফট’ আৰু অইন মিডিয়াৰ বেকআপ লওক"" \nএই ডিভাইচত থকা অইন এটা ষ্ট’ৰেজলৈ বা এডাল ইউএছবি কেবলৰ যোগেৰে এটা কম্পিউটাৰলৈ আপোনাৰ মিডিয়া স্থানান্তৰ কৰক। \n\n""এপ্বোৰৰ বেকআপ লওক"" \nএই ^1ত ষ্ট’ৰ হৈ থকা আটাইবোৰ এপ্ আনইনষ্টল কৰা হ’ব আৰু সেইবিলাকৰ ডেটাসমূহ মচা হ’ব। এই এপ্বোৰ ৰাখিবলৈ এই ডিভাইত থকা বিকল্প ষ্ট’ৰেজলৈ স্থানান্তৰ কৰক।" + "ফৰ্মেট কৰাৰ পাছত আপুনি ^1ক অইন ডিভাইচত ব্যৱহাৰ কৰিব পাৰিব। \n\n^1ত থকা আটাইখিনি ডেটা মচা হ’ব। গতিকে, প্ৰথমে বেকআপ লোৱাৰ কথা বিবেচনা কৰক। \n\n""ফট’ আৰু অইন মিডিয়াৰ বেকআপ লওক"" \nএই ডিভাইচত থকা অইন এটা ষ্ট’ৰেজলৈ বা এডাল ইউএছবি কে’বলৰ যোগেৰে এটা কম্পিউটাৰলৈ আপোনাৰ মিডিয়া স্থানান্তৰ কৰক। \n\n""এপ্বোৰৰ বেকআপ লওক"" \nএই ^1ত ষ্ট’ৰ হৈ থকা আটাইবোৰ এপ্ আনইনষ্টল কৰা হ’ব আৰু সেইবিলাকৰ ডেটাসমূহ মচা হ’ব। এই এপ্বোৰ ৰাখিবলৈ এই ডিভাইত থকা বিকল্প ষ্ট’ৰেজলৈ স্থানান্তৰ কৰক।" "আপুনি যেতিয়া ^1ক বাহিৰলৈ উলিয়াএ, ইয়াৰ ভিতৰত থকা এপবোৰে কাম কৰা বন্ধ কৰিব আৰু ইয়াক আকৌ নভৰোৱালৈকে ইয়াত থকা মিডিয়া ফাইলবোৰ উপলব্ধ নহ’ব।"" \n\nএই ^1ক এইটো ডিভাইচত মাত্ৰ কাম কৰিব পৰাকৈ আৰ্হিত লগোৱা হৈছে। ই আৰু কোনো ডিভাইচতে কাম নকৰিব।" "^1ত থকা এপ্‌সমূহ, ফট’ বা ডেটা ব্যৱহাৰ কৰিবলৈ ইয়াক পুনৰ ডিভাইচত ভৰাওক। \n\nইয়াৰ উপৰিও, যদি ডিভাইচটো উপলব্ধ নহয়, তেতিয়া আপুনি এই ষ্ট’ৰেজ ইচ্ছা কৰিলে পাহৰি যাব পাৰিব। \n\nযদি আপুনি পাহৰি যাবলৈ বিচাৰে, তেতিয়া ডিভাইচত থকা আটাইখিনি ডেটা হেৰুৱাব। \n\nআপুনি এপ্‌সমূহ পাছত আকৌ ইনষ্টল কৰিব পাৰে, কিন্তু এই ডিভাইচত জমা হৈ থকা সেই এপ্‌সমূহৰ কোনো ডেটা পুনৰ ঘূৰাই নাপাব।" "^1ক পাহৰিব বিচাৰেনে?" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index bf23aae358a..5693b9d094a 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -223,7 +223,7 @@ "Мова праграмы" "Прапанаваныя мовы" "Усе мовы" - "Сістэмная мова" + "Мова сістэмы" "Стандартная сістэмная налада" "Выбар мовы для гэтай праграмы недаступны ў Наладах." "Мова можа адрознівацца ад моў, даступных у праграме. Некаторыя праграмы могуць не падтрымліваць гэту наладу." @@ -5415,7 +5415,7 @@ "Нічога не рабіць" "Вібрацыя" "Выключыць гук" - "Каб уключыць, спачатку змяніце ў меню кнопкі сілкавання параметр \"Націск і ўтрыманне кнопкі сілкавання\"." + "Каб уключыць, спачатку змяніце ў меню кнопкі сілкавання параметр \"Доўгае націсканне кнопкі сілкавання\"." "Інфармацыя аб сетцы" "Назва вашай прылады даступная для праграм на вашым тэлефоне. Яе таксама будуць бачыць іншыя людзі, калі вы падключыцеся да прылад праз Bluetooth, падключыцеся да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi." "Прылады" @@ -5708,7 +5708,7 @@ "элементы кіравання прыладай" "Карткі і талоны" "карткі і талоны" - "Націск і ўтрыманне кнопкі сілкавання" + "Доўгае націсканне кнопкі сілкавання" "Націск і ўтрыманне для выкліку Памочніка" "Націск і ўтрыманне для выкліку меню кнопкі сілкавання" "Націск і ўтрыманне выключаны" @@ -5717,8 +5717,8 @@ "Для выкліку Памочніка ўтрымлівайце націснутай кнопку сілкавання" "Меню кнопкі сілкавання і экстранных выклікаў:\nадначасова націсніце кнопку сілкавання і павелічэння гучнасці." "Прадухіліць званок:\nярлык даступны ў меню гучнасці." - "Працягласць націску і ўтрымання" - "Наладзіць адчувальнасць, выбраўшы працягласць націску і ўтрымання кнопкі сілкавання" + "Працягласць націскання" + "Наладзіць адчувальнасць, выбраўшы працягласць націскання кнопкі сілкавання" "Коратка" "Доўга" "Паказ кашалька" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index c0f682d6f4c..717b1ee8095 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -1315,7 +1315,8 @@ "En savoir plus sur la rotation automatique" "Quand vous basculez votre téléphone en mode portrait ou paysage" "Résolution d\'écran" - "Haute résolution" + + "Résolution maximale" "FHD+ 1080p" "QHD+ 1440p" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 183215d86f7..3ef9c3e7b4c 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -448,7 +448,7 @@ "Configurar a impresión dixital só leva un ou dous minutos, pero tamén podes facelo máis tarde en Configuración." "Cando vexas esta icona (ao iniciar sesión en apps, aprobar compras…), usa a túa impresión dixital para autenticarte" "Importante" - "Desbloquear o teléfono mediante impresión dixital pode ser menos seguro que facelo usando un padrón seguro ou un PIN" + "O desbloqueo do teléfono mediante impresión dixital pode ser menos fiable que o uso dun padrón ou PIN seguro" "Como funciona?" "Co desbloqueo dactilar, créase un modelo único da túa impresión dixital para verificar a túa identidade. Se queres crear este modelo durante a configuración, debes xerar imaxes da impresión dixital desde distintas posicións." "Co desbloqueo dactilar, créase un modelo único da impresión dixital do teu fillo ou filla para verificar a súa identidade. Para crear este modelo durante a configuración, a túa filla ou fillo deberá facer fotos da impresión dixital en distintas posicións." diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 573bb63f746..71827633cbf 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -2690,10 +2690,10 @@ "ऐप की बैकग्राउंड गतिविधि को सीमित करें?" "अगर आप ऐप की बैकग्राउंड गतिविधि को सीमित करते हैं, तो हो सकता है यह ठीक ढंग से काम न करे" "ऐप्लिकेशन पर रोक नहीं लगेगी क्योंकि यह बैटरी ऑप्टिमाइज़ नहीं कर सकता.\n\nबैटरी ऑप्टिमाइज़ेशन चालू करके ही ऐसा हो सकता है." - "पाबंदी के बिना" + "कोई पाबंदी नहीं" "ऑप्टिमाइज़ की गई सेटिंग" "पाबंदी लगी है" - "बैकग्राउंड में पाबंदियों के बिना बैटरी खर्च की अनुमति दें. बैटरी का ज़्यादा इस्तेमाल किया जा सकता है." + "बैकग्राउंड में, पाबंदियों के बिना बैटरी खर्च की अनुमति दें. इससे बैटरी ज़्यादा खर्च हो सकती है." "बैटरी की सेटिंग को अपने इस्तेमाल के हिसाब से ऑप्टिमाइज़ करें. ज़्यादातर ऐप्लिकेशन के लिए इसका इस्तेमाल करने का सुझाव दिया जाता है." "बैकग्राउंड में बैटरी खर्च को सीमित करें. हो सकता है कि ऐप्लिकेशन ठीक से काम न करे. सूचनाएं मिलने में देरी हो सकती है." "किसी ऐप्लिकेशन के लिए बैटरी इस्तेमाल करने का तरीका बदलने पर, ऐप की परफ़ॉर्मेंस पर असर पड़ सकता है." @@ -2836,7 +2836,7 @@ "मोबाइल नेटवर्क" "ध्‍वनि कॉल" "टैबलेट इस्तेमाल नहीं किया जा रहा" - "फ़ोन इस्तेमाल नहीं किया जा रहा" + "जब फ़ोन इस्तेमाल नहीं किया गया" "मिली-जुली सेटिंग" "अत्यधिक" "सीपीयू (CPU) का कुल इस्तेमाल" @@ -2897,7 +2897,7 @@ "पूरी तरह चार्ज होने के बाद से अब तक का विश्लेषण" "पिछली बार पूरी तरह चार्ज किया गया" "बैटरी पूरी चार्ज होने पर करीब इतनी देर चलती है" - "बैटरी खर्च से जुड़ा डेटा अनुमानित होता है. यह इस्तेमाल करने के तरीके के मुताबिक बदल सकता है." + "बैटरी खर्च से जुड़ा डेटा अनुमानित होता है. यह इस्तेमाल के आधार पर बदल सकता है." "जब इस्तेमाल में हो" "बैकग्राउंड में होने पर" "बैटरी खर्च" @@ -2960,8 +2960,8 @@ "बैटरी का प्रतिशत" "स्टेटस बार में दिखाएं कि कितने प्रतिशत बैटरी बची है" "पिछले 24 घंटों में बैटरी लेवल की जानकारी" - "पिछले 24 घंटों में, ऐप्लिकेशन में बैटरी के इस्तेमाल की जानकारी" - "पिछले 24 घंटों में सिस्टम के इस्तेमाल की जानकारी" + "पिछले 24 घंटों में, ऐप्लिकेशन ने कितनी बैटरी इस्तेमाल की" + "पिछले 24 घंटों में, सिस्टम ने कितनी बैटरी इस्तेमाल की" "%s के बीच सिस्टम के इस्तेमाल की जानकारी" "%s के बीच ऐप्लिकेशन के इस्तेमाल की जानकारी" "इस्तेमाल का कुल समय: एक मिनट से कम" @@ -4612,7 +4612,7 @@ "%2$d में से %1$d ऐप को दूसरे ऐप के ऊपर दिखाने की अनुमति है" "अनुमति वाले ऐप्‍स" "अनुमति है" - "अनुमति नहीं है" + "इन ऐप्लिकेशन के पास अनुमति नहींं है" "अनजान स्रोतों से आने वाले ऐप्लिकेशन इंस्टॉल करें" "सिस्‍टम सेटिंग बदलें" "सिस्‍टम सेटिंग में बदलाव करें लिखें" @@ -5537,7 +5537,7 @@ "पावर मेन्यू खोलने के लिए, पावर बटन को दबाकर रखें" "Assistant को शुरू करने के लिए, पावर बटन को दबाकर रखने की सुविधा बंद है" "इस्तेमाल करने के लिए, सबसे पहले स्क्रीन लॉक सेट करें" - "Assistant को चालू करने के लिए, पावर बटन को कुछ देर दबाकर रखें" + "Assistant की सुविधा चालू करने के लिए, पावर बटन दबाकर रखें" "पावर बटन को कुछ देर तक दबाकर, Assistant का इस्तेमाल करें" "पावर और आपातकालीन मेन्यू:\nपावर बटन और आवाज़ तेज़ करने वाले बटन को एक साथ दबाएं." "घंटी बजने से रोकना:\nइसका शॉर्टकट, वॉल्यूम मेन्यू में मौजूद है." diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 8119971659f..7def075ae7d 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -5542,7 +5542,7 @@ "電源ボタンと緊急通報のメニュー:\n電源ボタンと音量大ボタンを同時に押してください。" "着信音のミュート:\n音量メニューでショートカットを利用できます。" "長押しの長さ" - "長さを選択して感度を調整し、電源ボタンを長押しします。" + "電源ボタンを長押しする長さを選んで、感度を調節します" "短い" "長い" "ウォレットを表示" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 204839f6645..45ef83798c9 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -3178,7 +3178,7 @@ "%1$s, барлығы %2$s" "Барлығын таңдау" "Дерек шығыны" - "Мобильдік дерек пен Wi‑Fi" + "Мобильдік интернет пен Wi‑Fi" "Оператордың деректер есебі құрылғыңыздан басқаша болуы мүмкін." "Қолданбаны пайдалану" "ҚОЛДАНБА ТУРАЛЫ АҚПАРАТ" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index d57963bdc32..4b4249d3ba1 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -221,7 +221,7 @@ "Јазик на апликациjата" "Предложени јазици" "Сите јазици" - "Јазик на системот" + "Системски јазик" "Стандардно за системот" "Не може да се бира јазик за апликацијава од „Поставките“." "Јазикот може да се разликува од јазиците достапни во апликацијата. Некои апликации може да не ја поддржуваат оваа поставка." diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 893d2c4bf6f..df6bd9b5e61 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -2064,7 +2064,7 @@ "အသုံးပြုသူ၏ ဒေတာ" "USBသိုလှောင်မှု ဒေတာ" "SD ကတ်" - "ဖယ်ရှားရန်" + "ဖြုတ်ရန်" "သုံးစွဲသူအားလုံးအတွက် ဖြုတ်ရန်" "ထည့်သွင်းရန်" "ပိတ်ထားရန်" @@ -3337,7 +3337,7 @@ "အသုံးပြုသူ" "ပိတ်ထားရန်" "ရနိုင်သည်" - "ဖယ်ရှားရန်" + "ဖြုတ်ရန်" "ယုံကြည်ပါ" "စနစ်၏CA လက်မှတ်အား ဖွင့်ထားမလား?" "စနစ်၏CA လက်မှတ်အား ပိတ်ထားမည်" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index e8b0be1fc7d..74478d41980 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -2064,7 +2064,7 @@ "ଉପଯୋଗକର୍ତ୍ତା ଡାଟା" "USB ଷ୍ଟୋରେଜ୍‌ ଡାଟା" "SD କାର୍ଡ" - "ଅନଇନଷ୍ଟଲ" + "ଅନଇନଷ୍ଟଲ କରନ୍ତୁ" "ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଅଣସଂସ୍ଥାପନ କରନ୍ତୁ" "ଇନ୍‌ଷ୍ଟଲ୍‌ କରନ୍ତୁ" "ଅକ୍ଷମ କରନ୍ତୁ" @@ -3335,7 +3335,7 @@ "ଗୋଟିଏ ସର୍ଟିଫିକେଟ୍‌ ନାହିଁ। ପ୍ରୋଫାଇଲ୍‌ ଏଡିଟ୍‌ କରନ୍ତୁ।" "ସିଷ୍ଟମ୍‌" "ଉପଯୋଗକର୍ତ୍ତା" - "ଅକ୍ଷମ" + "ଅକ୍ଷମ କରନ୍ତୁ" "ସକ୍ଷମ" "ଅନଇନଷ୍ଟଲ କରନ୍ତୁ" "ବିଶ୍ୱାସ କରନ୍ତୁ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 1d8085cb570..a47bc9037a2 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -5715,8 +5715,8 @@ "Przytrzymaj przycisk zasilania, aby uaktywnić Asystenta" "Menu zasilania i alarmowe:\nNaciśnij jednocześnie przyciski zasilania i zwiększania głośności." "Zapobiegaj włączeniu się dzwonka:\nSkrót dostępny w menu głośności." - "Czas naciskania i przytrzymywania przycisku głośności" - "Dostosuj czułość, określając, jak długo ma być naciskany i przytrzymywany przycisk głośności" + "Długość naciśnięcia i przytrzymania" + "Dostosuj czułość, określając, jak długo ma być naciskany i przytrzymywany przycisk zasilania" "Krótko" "Długo" "Pokazuj portfel" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index bba40061d94..d88f1866a2a 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -677,7 +677,7 @@ "Desativada pelo gestor, política de encriptação ou armazenamento de credenciais" "Nenhum" "Deslizar rapidamente" - "Sequência" + "Padrão" "PIN" "Palavra-passe" "Assim que configurar um bloqueio de ecrã, também pode configurar a sua impressão digital em Definições > Segurança." @@ -1685,7 +1685,7 @@ "Para transferir ficheiros e multimédia entre dispositivos" "Armazenamento portátil" "Config. depois" - "Pretende formatar este ^1?" + "Quer formatar este ^1?" "Este ^1 tem de ser formatado para armazenar aplicações, ficheiros e conteúdos multimédia. \n\nA formatação apaga o conteúdo existente no ^2. Para evitar a perda de conteúdos, faça uma cópia de segurança para outro ^3 ou dispositivo." "Formatar ^1" "Mover o conteúdo para o ^1?" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 316d2c9509f..666467dc0f4 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -244,7 +244,7 @@ "USB నిల్వ" "SD కార్డు" "ప్రాక్సీ సెట్టింగ్‌లు" - "రద్దు చేయండి" + "రద్దు" "సరే" "విస్మరించు" "సేవ్ చేయండి" From 3e24aaf091d3297c2e80c2026243861cfbb5cee4 Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Mon, 12 Sep 2022 15:54:05 +0800 Subject: [PATCH 5/7] Allow summary string support both mobile and tablet devices -Update the string to support mobile and tablet devices. Bug: 244137320 Test: manual test Change-Id: I74d8d6db76001a68a648030e0c94f769d220d762 --- res/values/strings.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 12a343959c1..937c16c5388 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3098,7 +3098,9 @@ Face Detection - Automatically adjust the screen orientation when you move your phone between portrait and landscape + Automatically adjust the screen orientation when you move your phone between portrait and landscape + + Automatically adjust the screen orientation when you move your tablet between portrait and landscape Learn more about auto-rotate From 4a5680ac0919a0a75aac678131aa82b6db7e3521 Mon Sep 17 00:00:00 2001 From: SongFerngWang Date: Thu, 8 Sep 2022 18:45:41 +0800 Subject: [PATCH 6/7] Add more logs for analysis Bug: 245657079 Test: NA. It is the log only. Change-Id: I9909acc27ccbef48f653cfcd0cc84942c4353eac --- .../android/settings/bluetooth/BluetoothPairingRequest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java index 6b80256285a..d5de41a20f9 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java @@ -24,6 +24,7 @@ import android.content.Intent; import android.os.PowerManager; import android.os.UserHandle; import android.text.TextUtils; +import android.util.Log; import com.android.settingslib.bluetooth.LocalBluetoothManager; @@ -34,6 +35,7 @@ import com.android.settingslib.bluetooth.LocalBluetoothManager; * starts a notification in the status bar that can be clicked to bring up the same dialog. */ public final class BluetoothPairingRequest extends BroadcastReceiver { + private static final String TAG = "BluetoothPairingRequest"; @Override public void onReceive(Context context, Intent intent) { @@ -74,6 +76,7 @@ public final class BluetoothPairingRequest extends BroadcastReceiver { } } else if (TextUtils.equals(action, BluetoothCsipSetCoordinator.ACTION_CSIS_SET_MEMBER_AVAILABLE)) { + Log.d(TAG, "Receive ACTION_CSIS_SET_MEMBER_AVAILABLE"); if (device == null) { return; } From 3759adfda698003cb4848728906247af4e6dc61a Mon Sep 17 00:00:00 2001 From: Kuan Wang Date: Thu, 8 Sep 2022 15:59:06 +0800 Subject: [PATCH 7/7] Add fade in / out animation for battery usage hourly chart. After: https://drive.google.com/file/d/1-1z2EM16X76qltTz_fL_DvgI7m65TtAN/view?usp=sharing Before: https://drive.google.com/file/d/1pG2rQ3V4rphjx7RLhSjb1r2HgXiFCYQZ/view?usp=sharing Bug: 245655904 Test: manually Change-Id: I72533a28445bea83aea604a937864052bd65c898 --- .../BatteryChartPreferenceController.java | 61 +++++++++++++++++-- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java index 6d2c1a1232d..26379ebfd81 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java @@ -16,6 +16,8 @@ package com.android.settings.fuelgauge.batteryusage; +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.res.Configuration; @@ -68,9 +70,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll private static final int ENABLED_ICON_ALPHA = 255; private static final int DISABLED_ICON_ALPHA = 255 / 3; - private static final long FADE_ANIMATION_DURATION = 350L; - private static final long VALID_USAGE_TIME_DURATION = DateUtils.HOUR_IN_MILLIS * 2; - private static final long VALID_DIFF_DURATION = DateUtils.MINUTE_IN_MILLIS * 3; + private static final long FADE_IN_ANIMATION_DURATION = 400L; + private static final long FADE_OUT_ANIMATION_DURATION = 200L; // Keys for bundle instance to restore configurations. private static final String KEY_EXPAND_SYSTEM_INFO = "expand_system_info"; @@ -121,6 +122,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll private final CharSequence[] mNotAllowShowSummaryPackages; private final MetricsFeatureProvider mMetricsFeatureProvider; private final Handler mHandler = new Handler(Looper.getMainLooper()); + private final AnimatorListenerAdapter mHourlyChartFadeInAdapter = + createHourlyChartAnimatorListenerAdapter(/*isToShow=*/ true); + private final AnimatorListenerAdapter mHourlyChartFadeOutAdapter = + createHourlyChartAnimatorListenerAdapter(/*isToShow=*/ false); // Preference cache to avoid create new instance each time. @VisibleForTesting @@ -382,9 +387,9 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) { // Multiple days are selected, hide the hourly chart view. - mHourlyChartView.setVisibility(View.GONE); + animateBatteryHourlyChartView(/*isToShow=*/ false); } else { - mHourlyChartView.setVisibility(View.VISIBLE); + animateBatteryHourlyChartView(/*isToShow=*/ true); final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex); hourlyViewModel.setSelectedIndex(mHourlyChartIndex); mHourlyChartView.setViewModel(hourlyViewModel); @@ -626,11 +631,55 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll private void animateBatteryChartViewGroup() { if (mBatteryChartViewGroup != null && mBatteryChartViewGroup.getAlpha() == 0) { - mBatteryChartViewGroup.animate().alpha(1f).setDuration(FADE_ANIMATION_DURATION) + mBatteryChartViewGroup.animate().alpha(1f).setDuration(FADE_IN_ANIMATION_DURATION) .start(); } } + private void animateBatteryHourlyChartView(final boolean isToShow) { + if (mHourlyChartView == null) { + return; + } + + if (isToShow) { + mHourlyChartView.setAlpha(0f); + mHourlyChartView.setVisibility(View.VISIBLE); + mHourlyChartView.animate() + .alpha(1f) + .setDuration(FADE_IN_ANIMATION_DURATION) + .setListener(mHourlyChartFadeInAdapter) + .start(); + } else { + mHourlyChartView.animate() + .alpha(0f) + .setDuration(FADE_OUT_ANIMATION_DURATION) + .setListener(mHourlyChartFadeOutAdapter) + .start(); + } + } + + private AnimatorListenerAdapter createHourlyChartAnimatorListenerAdapter( + final boolean isToShow) { + final int visibility = isToShow ? View.VISIBLE : View.GONE; + + return new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + super.onAnimationEnd(animation); + if (mHourlyChartView != null) { + mHourlyChartView.setVisibility(visibility); + } + } + @Override + public void onAnimationCancel(Animator animation) { + super.onAnimationCancel(animation); + if (mHourlyChartView != null) { + mHourlyChartView.setVisibility(visibility); + } + } + }; + } + private void addFooterPreferenceIfNeeded(boolean containAppItems) { if (mIsFooterPrefAdded || mFooterPreference == null) { return;