From f34bee819c8fd88cfa0df8608e336b93aaf2e6ff Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Mon, 3 Dec 2018 18:11:39 -0800 Subject: Rename "badges" to "dots" where appropriate This will reduce confusion with the other "badging" concept we use for, e.g. work profiles. It is also consistent with the external name "notification dots". Change-Id: I2a2c9d96dc0d6284eb0c48adc78a856271caad4d --- AndroidManifest-common.xml | 4 +- res/values-af/strings.xml | 10 +- res/values-am/strings.xml | 10 +- res/values-ar/strings.xml | 10 +- res/values-as/strings.xml | 10 +- res/values-az/strings.xml | 10 +- res/values-b+sr+Latn/strings.xml | 10 +- res/values-be/strings.xml | 10 +- res/values-bg/strings.xml | 10 +- res/values-bn/strings.xml | 10 +- res/values-bs/strings.xml | 10 +- res/values-ca/strings.xml | 10 +- res/values-cs/strings.xml | 10 +- res/values-da/strings.xml | 10 +- res/values-de/strings.xml | 10 +- res/values-el/strings.xml | 10 +- res/values-en-rAU/strings.xml | 10 +- res/values-en-rGB/strings.xml | 10 +- res/values-en-rIN/strings.xml | 10 +- res/values-es-rUS/strings.xml | 10 +- res/values-es/strings.xml | 10 +- res/values-et/strings.xml | 10 +- res/values-eu/strings.xml | 10 +- res/values-fa/strings.xml | 10 +- res/values-fi/strings.xml | 10 +- res/values-fr-rCA/strings.xml | 10 +- res/values-fr/strings.xml | 10 +- res/values-gl/strings.xml | 10 +- res/values-gu/strings.xml | 10 +- res/values-hi/strings.xml | 10 +- res/values-hr/strings.xml | 10 +- res/values-hu/strings.xml | 10 +- res/values-hy/strings.xml | 10 +- res/values-in/strings.xml | 10 +- res/values-is/strings.xml | 10 +- res/values-it/strings.xml | 10 +- res/values-iw/strings.xml | 10 +- res/values-ja/strings.xml | 10 +- res/values-ka/strings.xml | 10 +- res/values-kk/strings.xml | 10 +- res/values-km/strings.xml | 10 +- res/values-kn/strings.xml | 10 +- res/values-ko/strings.xml | 10 +- res/values-ky/strings.xml | 10 +- res/values-lo/strings.xml | 10 +- res/values-lt/strings.xml | 10 +- res/values-lv/strings.xml | 10 +- res/values-mk/strings.xml | 10 +- res/values-ml/strings.xml | 10 +- res/values-mn/strings.xml | 10 +- res/values-mr/strings.xml | 10 +- res/values-ms/strings.xml | 10 +- res/values-my/strings.xml | 10 +- res/values-nb/strings.xml | 10 +- res/values-ne/strings.xml | 10 +- res/values-nl/strings.xml | 10 +- res/values-or/strings.xml | 10 +- res/values-pa/strings.xml | 10 +- res/values-pl/strings.xml | 10 +- res/values-pt-rPT/strings.xml | 10 +- res/values-pt/strings.xml | 10 +- res/values-ro/strings.xml | 10 +- res/values-ru/strings.xml | 10 +- res/values-si/strings.xml | 10 +- res/values-sk/strings.xml | 10 +- res/values-sl/strings.xml | 10 +- res/values-sq/strings.xml | 10 +- res/values-sr/strings.xml | 10 +- res/values-sv/strings.xml | 10 +- res/values-sw/strings.xml | 10 +- res/values-ta/strings.xml | 10 +- res/values-te/strings.xml | 10 +- res/values-th/strings.xml | 10 +- res/values-tl/strings.xml | 10 +- res/values-tr/strings.xml | 10 +- res/values-uk/strings.xml | 10 +- res/values-ur/strings.xml | 10 +- res/values-uz/strings.xml | 10 +- res/values-v26/bools.xml | 2 +- res/values-vi/strings.xml | 10 +- res/values-zh-rCN/strings.xml | 10 +- res/values-zh-rHK/strings.xml | 10 +- res/values-zh-rTW/strings.xml | 10 +- res/values-zu/strings.xml | 10 +- res/values/attrs.xml | 2 +- res/values/bools.xml | 2 +- res/values/strings.xml | 14 +-- res/values/styles.xml | 4 +- res/xml/launcher_preferences.xml | 8 +- .../android/launcher3/BaseDraggingActivity.java | 4 - src/com/android/launcher3/BubbleTextView.java | 94 +++++++------- src/com/android/launcher3/DeviceProfile.java | 2 +- src/com/android/launcher3/Launcher.java | 14 +-- src/com/android/launcher3/LauncherAppState.java | 22 ++-- src/com/android/launcher3/Workspace.java | 14 +-- .../android/launcher3/allapps/AllAppsStore.java | 6 +- src/com/android/launcher3/badge/BadgeInfo.java | 108 ---------------- .../android/launcher3/badge/FolderBadgeInfo.java | 65 ---------- src/com/android/launcher3/dot/DotInfo.java | 109 ++++++++++++++++ src/com/android/launcher3/dot/FolderDotInfo.java | 64 ++++++++++ .../launcher3/dragndrop/FolderAdaptiveIcon.java | 2 +- src/com/android/launcher3/folder/Folder.java | 4 +- src/com/android/launcher3/folder/FolderIcon.java | 90 ++++++------- .../launcher3/folder/PreviewBackground.java | 9 +- .../launcher3/notification/NotificationInfo.java | 3 +- .../notification/NotificationKeyData.java | 2 +- .../notification/NotificationListener.java | 18 +-- .../launcher3/popup/PopupContainerWithArrow.java | 28 ++--- .../android/launcher3/popup/PopupDataProvider.java | 98 +++++++-------- .../launcher3/settings/IconBadgingPreference.java | 138 -------------------- .../settings/NotificationDotsPreference.java | 140 +++++++++++++++++++++ .../launcher3/settings/SettingsActivity.java | 28 ++--- .../android/launcher3/views/ActivityContext.java | 4 +- .../views/DoubleShadowBubbleTextView.java | 6 +- 114 files changed, 963 insertions(+), 965 deletions(-) delete mode 100644 src/com/android/launcher3/badge/BadgeInfo.java delete mode 100644 src/com/android/launcher3/badge/FolderBadgeInfo.java create mode 100644 src/com/android/launcher3/dot/DotInfo.java create mode 100644 src/com/android/launcher3/dot/FolderDotInfo.java delete mode 100644 src/com/android/launcher3/settings/IconBadgingPreference.java create mode 100644 src/com/android/launcher3/settings/NotificationDotsPreference.java diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml index 1beaea53e..d7c16e650 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -110,8 +110,8 @@ diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 56d198c05..81647fbf2 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -64,7 +64,7 @@ "Dit is \'n stelselprogram en kan nie gedeïnstalleer word nie." "Naamlose vouer" "Het %1$s gedeaktiveer" - + %1$s het %2$d kennisgewings %1$s het %2$d kennisgewing @@ -83,13 +83,13 @@ "Gedeaktiveer deur jou administrateur" "Laat toe dat tuisskerm gedraai word" "Wanneer foon gedraai word" - "Kennisgewingkolle" - "Aan" - "Af" + "Kennisgewingkolle" + "Aan" + "Af" "Kennisgewingtoegang word benodig" "Skakel programkennisgewings vir %1$s aan om kennisgewingkolle te sien" "Verander instellings" - "Wys kennisgewingkolle" + "Wys kennisgewingkolle" "Voeg ikoon by tuisskerm" "Vir nuwe programme" "Verander ikoon se vorm" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 6716d2732..4df12c65d 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -64,7 +64,7 @@ "ይህ የስርዓት መተግበሪያ ነው እና ማራገፍ አይቻልም።" "ስም-አልባ አቃፊ" "%1$s ተሰናክሏል" - + %1$s%2$d ማሳወቂያዎች አለው %1$s%2$d ማሳወቂያዎች አለው @@ -83,13 +83,13 @@ "በእርስዎ አስተዳዳሪ የተሰናከለ" "የመነሻ ማያ ገጽ ማሽከርከርን ይፍቀዱ" "ስልኩ ሲዞር" - "የማሳወቂያ ነጥቦች" - "በርቷል" - "ጠፍቷል" + "የማሳወቂያ ነጥቦች" + "በርቷል" + "ጠፍቷል" "የማሳወቂያ መዳረሻ ያስፈልጋል" "የማሳወቂያ ነጥቦችን ለማሳየት የመተግብሪያ ማሳወቂያዎችን ለ%1$s ያብሩ" "ቅንብሮችን ቀይር" - "የማሳወቂያ ነጥቦችን አሳይ" + "የማሳወቂያ ነጥቦችን አሳይ" "አዶ ወደ የመነሻ ማያ ገጽ አክል" "ለአዲስ መተግበሪያዎች" "የአዶ ቅርፅ ለውጥ" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index bebc7b3e9..97cd10e17 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -64,7 +64,7 @@ "هذا تطبيق نظام وتتعذر إزالته." "مجلد بدون اسم" "تم إيقاف %1$s" - + %1$s، به %2$d إشعار %1$s، به إشعاران (%2$d) %1$s، به %2$d إشعارات @@ -87,13 +87,13 @@ "أوقف المشرف هذه الميزة" "السماح بتدوير الشاشة الرئيسية" "عند تدوير الهاتف" - "نقاط الإشعارات" - "قيد التشغيل" - "غير مفعّل" + "نقاط الإشعارات" + "قيد التشغيل" + "غير مفعّل" "يلزم تفعيل الوصول إلى الإشعارات" "لعرض نقاط الإشعارات، يجب تشغيل إشعارات التطبيق في %1$s" "تغيير الإعدادات" - "عرض نقاط الإشعارات" + "عرض نقاط الإشعارات" "إضافة رمز إلى الشاشة الرئيسية" "للتطبيقات الجديدة" "تغيير شكل الرمز" diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index f39c12e38..999fa4f5e 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -64,7 +64,7 @@ "এইটো এটা ছিষ্টেম এপ আৰু ইয়াক আনইনষ্টল কৰিব নোৱৰি" "নামবিহীন ফ\'ল্ডাৰ" "%1$s অক্ষম কৰা হ\'ল" - + %1$s%2$dটা জাননী আছে %1$s%2$dটা জাননী আছে @@ -83,13 +83,13 @@ "আপোনাৰ প্ৰশাসকে অক্ষম কৰি ৰাখিছে" "গৃহ স্ক্ৰীণ ঘূৰোৱাৰ অনুমতি দিয়ক" "ফ\'নটো যেতিয়া ঘূৰোৱা হয়" - "জাননী সম্পৰ্কীয় বিন্দুবোৰ" - "অন অৱস্থাত আছে" - "অফ অৱস্থাত আছে" + "জাননী সম্পৰ্কীয় বিন্দুবোৰ" + "অন অৱস্থাত আছে" + "অফ অৱস্থাত আছে" "জাননী চাবলৈ অনুমতিৰ প্ৰয়োজন" "জাননী সম্পৰ্কীয় বিন্দুবোৰ দেখুৱাবলৈ %1$sৰ বাবে এপৰ জাননীসমূহ অন কৰক" "ছেটিংসমূহ সলনি কৰক" - "জাননী বিন্দুসমূহ দেখুৱাওক" + "জাননী বিন্দুসমূহ দেখুৱাওক" "গৃহ স্ক্ৰীণত আইকনটো যোগ কৰক" "নতুন এপসমূহৰ বাবে" "আইকনৰ আকৃতি সলনি কৰক" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index f8aba177a..803c1c0ca 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -64,7 +64,7 @@ "Bu sistem tətbiqi olduğu üçün sistemdən silinə bilməz." "Adsız Qovluq" "%1$s deaktiv edildi" - + %1$s tətbiqində %2$d bildiriş var %1$s tətbiqində %2$d bildiriş var @@ -83,13 +83,13 @@ "Admininiz tərəfindən deaktiv edilib" "Əsas ekranın firlanmağına icazə verin" "Telefon çevrilən zaman" - "Bildiriş nişanı" - "Aktiv" - "Deaktiv" + "Bildiriş nişanı" + "Aktiv" + "Deaktiv" "Bildiriş girişi tələb edilir" "Bildiriş Nöqtələrini göstərmək üçün %1$s bildirişlərini aktiv edin" "Ayarları dəyişin" - "Bildiriş nöqtələrini göstərin" + "Bildiriş nöqtələrini göstərin" "Əsas ekrana ikona əlavə edin" "Yeni tətbiqlər üçün" "İkona formasını dəyişin" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index d1a3fccc2..fc28c84ca 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -64,7 +64,7 @@ "Ovo je sistemska aplikacija i ne može da se deinstalira." "Neimenovani direktorijum" "Aplikacija %1$s je onemogućena" - + %1$s ima %2$d obaveštenje %1$s ima %2$d obaveštenja %1$s ima %2$d obaveštenja @@ -84,13 +84,13 @@ "Administrator je onemogućio" "Dozvoli rotaciju početnog ekrana" "Kada se telefon rotira" - "Tačke za obaveštenja" - "Uključeno" - "Isključeno" + "Tačke za obaveštenja" + "Uključeno" + "Isključeno" "Potreban je pristup za obaveštenja" "Da biste prikazali tačke za obaveštenja, uključite obaveštenja za aplikaciju %1$s" "Promenite podešavanja" - "Prikazuj tačke za obaveštenja" + "Prikazuj tačke za obaveštenja" "Dodaj ikonu na početni ekran" "Za nove aplikacije" "Promenite oblik ikona" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index 1c1237f86..8b831a194 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -64,7 +64,7 @@ "Гэта сістэмная праграма, яе нельга выдаліць." "Папка без назвы" "%1$s адключана" - + %1$s: ёсць %2$d апавяшчэнне %1$s: ёсць %2$d апавяшчэнні %1$s: ёсць %2$d апавяшчэнняў @@ -85,13 +85,13 @@ "Адключаная адміністратарам" "Дазволіць паварот галоўнага экрана" "Пры павароце тэлефона" - "Значкі апавяшчэнняў" - "Уключана" - "Выключана" + "Значкі апавяшчэнняў" + "Уключана" + "Выключана" "Патрабуецца доступ да апавяшчэнняў" "Каб паказваліся значкі апавяшчэнняў, уключыце апавяшчэнні праграм для %1$s" "Змяніць налады" - "Паказаць значкі апавяшчэнняў" + "Паказаць значкі апавяшчэнняў" "Дадаць значок на Галоўны экран" "Для новых праграм" "Змяніць форму значка" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 613a8ea18..c8238c91a 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -64,7 +64,7 @@ "Това е системно приложение и не може да се деинсталира." "Папка без име" "Деактивирахте %1$s" - + %1$s – има %2$d известия %1$s – има %2$d известие @@ -83,13 +83,13 @@ "Деактивирано от администратора ви" "Разрешаване на завъртането на началния екран" "При завъртане на телефона" - "Точки за известия" - "Включено" - "Изключено" + "Точки за известия" + "Включено" + "Изключено" "Необходим е достъп до известията" "За да се показват точки за известия, включете известията за приложението %1$s" "Промяна на настройките" - "Показване на точките за известия" + "Показване на точките за известия" "Добавяне на икона към началния екран" "За нови приложения" "Промяна на формата на иконите" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index cb675ba70..d495a3de4 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -64,7 +64,7 @@ "এটি একটি সিস্টেম অ্যাপ্লিকেশান এবং আনইনস্টল করা যাবে না৷" "নামবিহীন ফোল্ডার" "%1$s অক্ষম করা হয়েছে" - + %1$s%2$dটি বিজ্ঞপ্তি আছে %1$s%2$dটি বিজ্ঞপ্তি আছে @@ -83,13 +83,13 @@ "আপনার প্রশাসক দ্বারা অক্ষম করা হয়েছে" "হোমস্ক্রীন ঘোরানোর অনুমতি দিন" "যখন ফোনটি ঘোরানো হয়" - "বিজ্ঞপ্তি ডট" - "চালু হয়েছে" - "বন্ধ আছে" + "বিজ্ঞপ্তি ডট" + "চালু হয়েছে" + "বন্ধ আছে" "বিজ্ঞপ্তিতে অ্যাক্সেস প্রয়োজন" "বিজ্ঞপ্তির ডটগুলি দেখানোর জন্য, %1$s এর অ্যাপ বিজ্ঞপ্তি চালু করুন" "সেটিংস পরিবর্তন করুন" - "বিজ্ঞপ্তির ডট দেখুন" + "বিজ্ঞপ্তির ডট দেখুন" "হোম স্ক্রিনে আইকন যোগ করুন" "নতুন অ্যাপ্লিকেশানগুলির জন্যে" "আইকনের আকৃতি পরিবর্তন করুন" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 1e2b267ce..cd5225394 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -64,7 +64,7 @@ "Ovo je sistemska aplikacija i ne može se deinstalirati." "Neimenovani folder" "Aplikacija %1$s je onemogućena" - + %1$s ima %2$d obavještenje %1$s ima %2$d obavještenja %1$s ima %2$d obavještenja @@ -84,13 +84,13 @@ "Onemogućio vaš administrator" "Dozvoli rotiranje početnog ekrana" "Kada se telefon zarotira" - "Tačke za obavještenja" - "Uključeno" - "Isključeno" + "Tačke za obavještenja" + "Uključeno" + "Isključeno" "Potreban je pristup obavještenjima" "Za prikaz tačaka obavještenja, uključite obavještenja za aplikacije za aplikaciju %1$s" "Promijeni postavke" - "Prikaži tačke za obavještenja" + "Prikaži tačke za obavještenja" "Dodaj ikonu na početni ekran" "Za nove aplikacije" "Promjena oblika ikona" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index ce037b5ca..583424fc1 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -64,7 +64,7 @@ "Aquesta aplicació és una aplicació del sistema i no es pot desinstal·lar." "Carpeta sense nom" "S\'ha desactivat %1$s" - + %1$s%2$d notificacions %1$s%2$d notificació @@ -83,13 +83,13 @@ "Desactivada per l\'administrador" "Permet la rotació de la pantalla d\'inici" "En girar el telèfon" - "Punts de notificació" - "Activat" - "Desactivat" + "Punts de notificació" + "Activat" + "Desactivat" "Cal que tingui accés a les notificacions" "Per veure els punts de notificació, activa les notificacions de l\'aplicació %1$s" "Canvia la configuració" - "Mostra els punts de notificació" + "Mostra els punts de notificació" "Afegeix la icona a la pantalla d\'inici" "Per a les aplicacions noves" "Canvia la forma de les icones" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index f26226c1b..1b1cc86bd 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -64,7 +64,7 @@ "Toto je systémová aplikace a nelze ji odinstalovat." "Složka bez názvu" "Aplikace %1$s je zakázána" - + Aplikace %1$s%2$d oznámení Aplikace %1$s%2$d oznámení Aplikace %1$s%2$d oznámení @@ -85,13 +85,13 @@ "Zakázáno administrátorem" "Povolit otáčení plochy" "Při otočení telefonu" - "Puntíky s oznámením" - "Zapnuto" - "Vypnuto" + "Puntíky s oznámením" + "Zapnuto" + "Vypnuto" "Je třeba udělit přístup k oznámením" "Chcete-li zobrazovat puntíky s oznámením, zapněte oznámení z aplikace %1$s" "Změnit nastavení" - "Zobrazovat puntíky s oznámením" + "Zobrazovat puntíky s oznámením" "Přidat ikonu na plochu" "Pro nové aplikace" "Změnit tvar ikony" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 94beecf84..76ad2b5ad 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -64,7 +64,7 @@ "Dette er en systemapp, som ikke kan afinstalleres." "Unavngiven mappe" "%1$s er deaktiveret" - + %1$s har %2$d underretning %1$s har %2$d underretninger @@ -83,13 +83,13 @@ "Deaktiveret af din administrator" "Tillad rotation af startskærmen" "Når telefonen roteres" - "Underretningscirkler" - "Til" - "Fra" + "Underretningscirkler" + "Til" + "Fra" "Kræver adgang til underretninger" "Hvis du vil se underretningscirkler, skal du aktivere appunderretninger for %1$s" "Skift indstillinger" - "Vis underretningscirkler" + "Vis underretningscirkler" "Føj ikon til startskærmen" "For nye apps" "Skift ikonform" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index ac7695833..346b89e75 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -64,7 +64,7 @@ "Dies ist eine Systemanwendung, die nicht deinstalliert werden kann." "Unbenannter Ordner" "%1$s deaktiviert" - + %1$s, hat %2$d Benachrichtigungen %1$s, hat %2$d Benachrichtigung @@ -83,13 +83,13 @@ "Von deinem Administrator deaktiviert" "Drehung des Startbildschirms zulassen" "Bei Drehung des Smartphones" - "App-Benachrichtigungspunkte" - "Aktiviert" - "Deaktiviert" + "App-Benachrichtigungspunkte" + "Aktiviert" + "Deaktiviert" "Benachrichtigungszugriff erforderlich" "Um dir Benachrichtigungspunkte anzeigen zu lassen, aktiviere die Benachrichtigungen für die App \"%1$s\"" "Einstellungen ändern" - "App-Benachrichtigungspunkte anzeigen" + "App-Benachrichtigungspunkte anzeigen" "Symbol zu Startbildschirm hinzufügen" "Für neue Apps" "Form des Symbols ändern" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index eef66ff08..8c0504e56 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -64,7 +64,7 @@ "Αυτή είναι μια εφαρμογή συστήματος και δεν είναι δυνατή η κατάργηση της εγκατάστασής της." "Φάκελος χωρίς όνομα" "Η εφαρμογή %1$s είναι απενεργοποιημένη" - + Η εφαρμογή %1$s έχει %2$d ειδοποιήσεις Η εφαρμογή %1$s έχει %2$d ειδοποίηση @@ -83,13 +83,13 @@ "Απενεργοποιήθηκε από τον διαχειριστή σας" "Να επιτρέπεται η περιστροφή της αρχικής οθόνης" "Όταν το τηλέφωνο περιστρέφεται" - "Κουκκίδες ειδοποίησης" - "Ενεργή" - "Ανενεργή" + "Κουκκίδες ειδοποίησης" + "Ενεργή" + "Ανενεργή" "Απαιτείται πρόσβαση στις ειδοποιήσεις" "Για να εμφανιστούν οι Κουκκίδες ειδοποίησης, ενεργοποιήστε τις κουκκίδες εφαρμογής για την εφαρμογή %1$s" "Αλλαγή ρυθμίσεων" - "Εμφάνιση κουκκίδων ειδοποίησης" + "Εμφάνιση κουκκίδων ειδοποίησης" "Προσθήκη εικονιδίου στην Αρχική οθόνη" "Για νέες εφαρμογές" "Αλλαγή σχήματος εικονιδίου" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 0494eb45d..078264527 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -64,7 +64,7 @@ "This is a system app and can\'t be uninstalled." "Unnamed Folder" "Disabled %1$s" - + %1$s, has %2$d notifications %1$s, has %2$d notification @@ -83,13 +83,13 @@ "Disabled by your admin" "Allow Homescreen rotation" "When phone is rotated" - "Notification dots" - "On" - "Off" + "Notification dots" + "On" + "Off" "Notification access needed" "To show Notification Dots, turn on app notifications for %1$s" "Change settings" - "Show notification dots" + "Show notification dots" "Add icon to Home screen" "For new apps" "Change icon shape" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 0494eb45d..078264527 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -64,7 +64,7 @@ "This is a system app and can\'t be uninstalled." "Unnamed Folder" "Disabled %1$s" - + %1$s, has %2$d notifications %1$s, has %2$d notification @@ -83,13 +83,13 @@ "Disabled by your admin" "Allow Homescreen rotation" "When phone is rotated" - "Notification dots" - "On" - "Off" + "Notification dots" + "On" + "Off" "Notification access needed" "To show Notification Dots, turn on app notifications for %1$s" "Change settings" - "Show notification dots" + "Show notification dots" "Add icon to Home screen" "For new apps" "Change icon shape" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 0494eb45d..078264527 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -64,7 +64,7 @@ "This is a system app and can\'t be uninstalled." "Unnamed Folder" "Disabled %1$s" - + %1$s, has %2$d notifications %1$s, has %2$d notification @@ -83,13 +83,13 @@ "Disabled by your admin" "Allow Homescreen rotation" "When phone is rotated" - "Notification dots" - "On" - "Off" + "Notification dots" + "On" + "Off" "Notification access needed" "To show Notification Dots, turn on app notifications for %1$s" "Change settings" - "Show notification dots" + "Show notification dots" "Add icon to Home screen" "For new apps" "Change icon shape" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index cdde8353a..78a89ae5d 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -64,7 +64,7 @@ "Esta es una aplicación del sistema y no se puede desinstalar." "Carpeta sin nombre" "Se inhabilitó %1$s" - + %1$s tiene %2$d notificaciones %1$s tiene %2$d notificación @@ -83,13 +83,13 @@ "El administrador inhabilitó esta función" "Permitir la rotación de la pantalla principal" "Al girar el teléfono" - "Puntos de notificación" - "Activada" - "Desactivada" + "Puntos de notificación" + "Activada" + "Desactivada" "Se necesita acceso a las notificaciones" "Para mostrar los puntos de notificación, activa las notificaciones de la app para %1$s" "Cambiar la configuración" - "Mostrar puntos de notificación" + "Mostrar puntos de notificación" "Agregar ícono a la pantalla principal" "Para nuevas apps" "Cambiar forma de los íconos" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 117db456d..ffeaa9f48 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -64,7 +64,7 @@ "Esta aplicación es del sistema y no se puede desinstalar." "Carpeta sin nombre" "Se ha inhabilitado %1$s" - + %1$s tiene %2$d notificaciones %1$s tiene %2$d notificación @@ -83,13 +83,13 @@ "Inhabilitado por el administrador" "Permitir rotación de la pantalla de inicio" "Al girar el teléfono" - "Burbujas de notificación" - "Activado" - "Desactivado" + "Burbujas de notificación" + "Activado" + "Desactivado" "Se necesita acceso a las notificaciones" "Para mostrar burbujas de notificación, activa las notificaciones de %1$s" "Cambiar ajustes" - "Mostrar burbujas de notificación" + "Mostrar burbujas de notificación" "Añadir icono a la pantalla de inicio" "Para aplicaciones nuevas" "Cambiar forma de los iconos" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index d0f8cd8d1..6c8941ff5 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -64,7 +64,7 @@ "See on süsteemirakendus ja seda ei saa desinstallida." "Nimetu kaust" "Rakendus %1$s on keelatud" - + %1$s, %2$d märguannet %1$s%2$d märguanne @@ -83,13 +83,13 @@ "Keelas administraator" "Luba avaekraani pööramine" "Kui telefoni pööratakse" - "Märguandetäpid" - "Sees" - "Väljas" + "Märguandetäpid" + "Sees" + "Väljas" "Vaja on juurdepääsu märguannetele" "Märguandetäppide kuvamiseks lülitage sisse rakenduse %1$s märguanded" "Seadete muutmine" - "Kuva märguandetäpid" + "Kuva märguandetäpid" "Lisa ikoon avaekraanile" "Uute rakenduste puhul" "Ikooni kuju muutmine" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 29d96f855..4747b0df2 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -64,7 +64,7 @@ "Sistema-aplikazioa da hau eta ezin da desinstalatu." "Izenik gabeko karpeta" "%1$s desgaituta dago" - + %2$d jakinarazpen dauzka %1$s aplikazioak %2$d jakinarazpen dauka %1$s aplikazioak @@ -83,13 +83,13 @@ "Administratzaileak desgaitu du" "Baimendu hasierako pantaila biratzea" "Telefonoa biratzen denean" - "Jakinarazpen-biribiltxoak" - "Aktibatuta" - "Desaktibatuta" + "Jakinarazpen-biribiltxoak" + "Aktibatuta" + "Desaktibatuta" "Jakinarazpenetarako sarbidea behar da" "Jakinarazpen-biribiltxoak ikusteko, aktibatu %1$s aplikazioaren jakinarazpenak" "Aldatu ezarpenak" - "Erakutsi jakinarazpen-biribiltxoak" + "Erakutsi jakinarazpen-biribiltxoak" "Gehitu ikonoa hasierako pantailan" "Aplikazio berrietan" "Aldatu ikonoaren forma" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index e78af1557..78a60a959 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -64,7 +64,7 @@ "این برنامه سیستمی است و حذف نصب نمی‌شود." "پوشه بی‌نام" "%1$s غیرفعال شد" - + %1$s %2$d اعلان دارد %1$s %2$d اعلان دارد @@ -83,13 +83,13 @@ "توسط سرپرست سیستم غیرفعال شده است" "امکان دادن به چرخش صفحه اصلی" "وقتی تلفن چرخانده می‌شود" - "نقطه‌های اعلان" - "روشن" - "خاموش" + "نقطه‌های اعلان" + "روشن" + "خاموش" "دسترسی به اعلان نیاز است" "برای نمایش «نقطه‌های اعلان»، اعلان‌های برنامه را برای %1$s روشن کنید" "تغییر تنظیمات" - "نمایش نقطه‌های اعلان" + "نمایش نقطه‌های اعلان" "افزودن نماد به صفحه اصلی" "برای برنامه‌های جدید" "تغییر شکل نماد" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index eb0e8bf25..5ce41ff9f 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -64,7 +64,7 @@ "Tämä on järjestelmäsovellus, eikä sitä voi poistaa." "Nimetön kansio" "%1$s poistettiin käytöstä" - + %1$s: %2$d ilmoitusta %1$s: %2$d ilmoitus @@ -83,13 +83,13 @@ "Järjestelmänvalvoja on poistanut toiminnon käytöstä." "Salli aloitusnäytön kiertäminen" "Kun puhelinta kierretään" - "Pistemerkit" - "Käytössä" - "Pois käytöstä" + "Pistemerkit" + "Käytössä" + "Pois käytöstä" "Ilmoituksien käyttöoikeus tarvitaan" "%1$s tarvitsee ilmoitusten käyttöoikeuden, jotta pistemerkkejä voidaan näyttää." "Muuta asetuksia" - "Näytä ilmoituksista kertovat pistemerkit" + "Näytä ilmoituksista kertovat pistemerkit" "Lisää kuvake aloitusruutuun" "Uusille sovelluksille" "Muuta kuvakkeen muotoa" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 92d5b0bba..ade41d6ae 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -64,7 +64,7 @@ "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Dossier sans nom" "L\'application %1$s est désactivée" - + %1$s a %2$d notification %1$s a %2$d notifications @@ -83,13 +83,13 @@ "Cette fonction est désactivée par votre administrateur" "Autoriser la rotation de l\'écran d\'accueil" "Lorsque vous faites pivoter le téléphone" - "Points de notification" - "Activé" - "Désactivé" + "Points de notification" + "Activé" + "Désactivé" "L\'accès aux notifications est requis" "Pour afficher les points de notification, activez les notifications d\'application pour %1$s" "Modifier les paramètres" - "Afficher les points de notification" + "Afficher les points de notification" "Ajouter l\'icône à l\'écran d\'accueil" "Pour les nouvelles applications" "Modifier la forme de l\'icône" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 55c7b6bfd..aeb61673c 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -64,7 +64,7 @@ "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Dossier sans nom" "%1$s est désactivé." - + %1$s comporte %2$d notification %1$s comporte %2$d notifications @@ -83,13 +83,13 @@ "Désactivé par votre administrateur" "Autoriser la rotation de l\'écran d\'accueil" "Lorsque vous faites pivoter le téléphone" - "Pastilles de notification" - "Activé" - "Désactivé" + "Pastilles de notification" + "Activé" + "Désactivé" "Accès aux notifications requis" "Pour afficher les pastilles de notification, activez les notifications de l\'application %1$s" "Modifier les paramètres" - "Afficher les pastilles de notification" + "Afficher les pastilles de notification" "Ajouter l\'icône à l\'écran d\'accueil" "Pour les nouvelles applications" "Modifier la forme des icônes" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 9a5772fc5..35d5022f2 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -64,7 +64,7 @@ "Esta aplicación é do sistema e non se pode desinstalar." "Cartafol sen nome" "Desactivouse %1$s" - + %1$s, ten %2$d notificacións %1$s, ten %2$d notificación @@ -83,13 +83,13 @@ "Función desactivada polo administrador" "Permitir xirar a pantalla de inicio" "Ao xirar o teléfono" - "Puntos de notificacións" - "Activado" - "Desactivado" + "Puntos de notificacións" + "Activado" + "Desactivado" "Necesítase acceso ás notificacións" "Para que se mostren os puntos de notificacións, activa as notificacións da aplicación %1$s" "Cambiar configuración" - "Mostrar puntos de notificación" + "Mostrar puntos de notificación" "Engadir icona á pantalla de inicio" "Para novas aplicacións" "Cambiar forma das iconas" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 0678cbaf6..6fcb8e6ef 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -64,7 +64,7 @@ "આ એક સિસ્ટમ ઍપ્લિકેશન છે અને અનઇન્સ્ટોલ કરી શકાતી નથી." "અનામી ફોલ્ડર" "%1$s અક્ષમ કરી" - + %1$sના %2$d નોટિફિકેશન છે %1$sના %2$d નોટિફિકેશન છે @@ -83,13 +83,13 @@ "તમારા વ્યવસ્થાપક દ્વારા અક્ષમ કરેલ" "હોમ સ્ક્રીનને ફેરવવાની મંજૂરી આપો" "જ્યારે ફોન ફેરવવામાં આવે ત્યારે" - "સૂચના બિંદુઓ" - "ચાલુ" - "બંધ" + "સૂચના બિંદુઓ" + "ચાલુ" + "બંધ" "નોટિફિકેશનનો ઍક્સેસની જરૂરી છે" "નોટિફિકેશન માટેનું ચિહ્ન બતાવવા હેતુ, %1$s માટેની ઍપ્લિકેશન નોટિફિકેશન ચાલુ કરો" "સેટિંગ્સ બદલો" - "નોટિફિકેશન માટેનું ચિહ્ન બતાવો" + "નોટિફિકેશન માટેનું ચિહ્ન બતાવો" "હોમ સ્ક્રીન પર આઇકન ઉમેરો" "નવી ઍપ્લિકેશનો માટે" "આઇકનનો આકાર બદલો" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index bd51f808f..4a4504d15 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -64,7 +64,7 @@ "यह एक सिस्टम ऐप्लिकेशन है और इसे अनइंस्टॉल नहीं किया जा सकता." "अनामित फ़ोल्डर" "%1$s अक्षम है" - + %1$s की %2$d सूचनाएं हैं %1$s की %2$d सूचनाएं हैं @@ -83,13 +83,13 @@ "आपके एडमिन ने बंद किया हुआ है" "होमस्क्रीन घुमाने की अनुमति दें" "फ़ोन घुुमाए जाने पर" - "सूचना बिंदु" - "चालू" - "बंद" + "सूचना बिंदु" + "चालू" + "बंद" "सूचना के एक्सेस की ज़रूरत है" "सूचना बिंदु दिखाने के लिए, %1$s के ऐप्लिकेशन सूचना चालू करें" "सेटिंग बदलें" - "नई सूचनाएं बताने वाला गोल निशान दिखाएं" + "नई सूचनाएं बताने वाला गोल निशान दिखाएं" "होम स्क्रीन में आइकॉन जोड़ें" "नए ऐप्लिकेशन के लिए" "आइकॉन का आकार बदलें" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index a4b40280e..7d78f84ef 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -64,7 +64,7 @@ "Ovo je aplikacija sustava i ne može se ukloniti." "Neimenovana mapa" "Aplikacija %1$s onemogućena" - + %1$s, ima %2$d obavijest %1$s, ima %2$d obavijesti %1$s, ima %2$d obavijesti @@ -84,13 +84,13 @@ "Onemogućio administrator" "Dopusti zakretanje početnog zaslona" "Kada se telefon zakrene" - "Točke obavijesti" - "Uključeno" - "Isključeno" + "Točke obavijesti" + "Uključeno" + "Isključeno" "Potreban je pristup obavijestima" "Za prikaz točaka obavijesti uključite obavijesti aplikacije %1$s" "Promjena postavki" - "Prikaži točke obavijesti" + "Prikaži točke obavijesti" "Dodaj ikonu na početni zaslon" "Za nove aplikacije" "Promijeni oblik ikona" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index d8c433d46..3ded2359d 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -64,7 +64,7 @@ "Ez egy rendszeralkalmazás, és nem lehet eltávolítani." "Névtelen mappa" "A(z) %1$s letiltva" - + A(z) %1$s %2$d értesítéssel rendelkezik A(z) %1$s %2$d értesítéssel rendelkezik @@ -83,13 +83,13 @@ "A rendszergazda letiltotta" "A kezdőképernyő elforgatásának engedélyezése" "A telefon elforgatásakor" - "Értesítési pöttyök" - "Bekapcsolva" - "Kikapcsolva" + "Értesítési pöttyök" + "Bekapcsolva" + "Kikapcsolva" "Értesítésekhez való hozzáférésre van szükség" "Az értesítési pöttyök megjelenítéséhez kapcsolja be a(z) %1$s alkalmazás értesítéseit" "Beállítások módosítása" - "Értesítési pöttyök megjelenítése" + "Értesítési pöttyök megjelenítése" "Ikon hozzáadása a kezdőképernyőhöz" "Új alkalmazásoknál" "Ikon formájának módosítása" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 13bf0c661..0d9b6e65d 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -64,7 +64,7 @@ "Սա համակարգային ծրագիր է և չի կարող ապատեղադրվել:" "Անանուն պանակ" "%1$s հավելվածն անջատված է" - + %1$s, ունի %2$d ծանուցում %1$s, ունի %2$d ծանուցում @@ -83,13 +83,13 @@ "Անջատվել է ձեր ադմինիստրատորի կողմից" "Թույլ տալ հիմնական էկրանի պտտումը" "Հեռախոսը պտտելու դեպքում" - "Ծանուցումների կետիկներ" - "Միացված է" - "Անջատված է" + "Ծանուցումների կետիկներ" + "Միացված է" + "Անջատված է" "Անհրաժեշտ է ծանուցման թույլտվություն" "Ծանուցումների կետիկները ցուցադրելու համար միացրեք ծանուցումները %1$s-ի համար" "Փոխել կարգավորումները" - "Ցուցադրել ծանուցումների կետիկները" + "Ցուցադրել ծանուցումների կետիկները" "Ավելացնել պատկերակը Հիմնական էկրանին" "Նոր հավելվածների համար" "Փոխել պատկերակների տեսքը" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index a4c6a5451..27ff10b1e 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -64,7 +64,7 @@ "Ini adalah aplikasi sistem dan tidak dapat dicopot pemasangannya." "Folder Tanpa Nama" "%1$s dinonaktifkan" - + %1$s, memiliki %2$d notifikasi %1$s, memiliki %2$d notifikasi @@ -83,13 +83,13 @@ "Dinonaktifkan oleh admin" "Izinkan layar Utama diputar" "Saat ponsel diputar" - "Titik notifikasi" - "Aktif" - "Nonaktif" + "Titik notifikasi" + "Aktif" + "Nonaktif" "Perlu akses notifikasi" "Guna menampilkan Titik Notifikasi, aktifkan notifikasi aplikasi untuk %1$s" "Ubah setelan" - "Tampilkan titik notifikasi" + "Tampilkan titik notifikasi" "Tambahkan ikon ke Layar utama" "Untuk aplikasi baru" "Ubah bentuk ikon" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 733d0b776..39bff24aa 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -64,7 +64,7 @@ "Þetta er kerfisforrit sem ekki er hægt að fjarlægja." "Ónefnd mappa" "Óvirkt %1$s" - + %1$s, er með %2$d tilkynningu %1$s, er með %2$d tilkynningar @@ -83,13 +83,13 @@ "Gert óvirkt af kerfisstjóra" "Leyfa snúning fyrir heimaskjá" "Þegar símanum er snúið" - "Tilkynningapunktar" - "Kveikt" - "Slökkt" + "Tilkynningapunktar" + "Kveikt" + "Slökkt" "Aðgangs að tilkynningum er krafist" "Til að sýna tilkynningarpunkta skaltu kveikja á forritstilkynningum fyrir %1$s" "Breyta stillingum" - "Sýna tilkynningapunkta" + "Sýna tilkynningapunkta" "Bæta tákni á heimaskjáinn" "Fyrir ný forrit" "Breyta formi tákns" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 1c53c7594..8edd6a200 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -64,7 +64,7 @@ "Questa è un\'app di sistema e non può essere disinstallata." "Cartella senza nome" "App %1$s disattivata" - + %1$s ha %2$d notifiche %1$s ha %2$d notifica @@ -83,13 +83,13 @@ "Disattivata dall\'amministratore" "Consenti rotazione della schermata Home" "Con il telefono ruotato" - "Indicatori notifica" - "Attiva" - "Non attiva" + "Indicatori notifica" + "Attiva" + "Non attiva" "Accesso alle notifiche necessario" "Per mostrare gli indicatori di notifica, attiva le notifiche per l\'app %1$s" "Modifica impostazioni" - "Mostra indicatori di notifica" + "Mostra indicatori di notifica" "Aggiungi icone alla schermata Home" "Per le nuove app" "Cambia la forma delle icone" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index 6ad2a0052..79f579ead 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -64,7 +64,7 @@ "זוהי אפליקציית מערכת ולא ניתן להסיר את התקנתה." "תיקיה ללא שם" "%1$s מושבתת" - + לאפליקציה %1$s יש %2$d התראות לאפליקציה %1$s יש %2$d התראות לאפליקציה %1$s יש %2$d התראות @@ -85,13 +85,13 @@ "הושבת על ידי מנהל המערכת שלך" "אפשרות סיבוב של מסך דף הבית" "כאשר הטלפון מסובב" - "סימני ההתראות" - "מופעלת" - "כבויה" + "סימני ההתראות" + "מופעלת" + "כבויה" "נדרשת גישה להתראות" "כדי להציג את סימני ההתראות,יש להפעיל התראות מהאפליקציה %1$s" "שנה את ההגדרות" - "הצגה של סימן ההתראות" + "הצגה של סימן ההתראות" "הוספת סמל במסך דף הבית" "לאפליקציות חדשות" "שינוי הצורה של הסמלים" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 421060064..20330f114 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -64,7 +64,7 @@ "このシステムアプリはアンインストールできません。" "名前のないフォルダ" "「%1$s」は無効です" - + %1$s: %2$d 件の通知 %1$s: %2$d 件の通知 @@ -83,13 +83,13 @@ "管理者により無効にされています" "ホーム画面の回転を許可" "スマートフォンが回転したとき" - "通知ドット" - "ON" - "OFF" + "通知ドット" + "ON" + "OFF" "通知へのアクセス権限が必要" "通知ドットを表示するには、「%1$s」のアプリ通知を ON にしてください" "設定を変更" - "通知ドットの表示" + "通知ドットの表示" "ホーム画面にアイコンを追加" "新しいアプリをダウンロードしたとき" "アイコンの形の変更" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 8b4503ea1..39acfd469 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -64,7 +64,7 @@ "ეს სისტემური აპია და მისი წაშლა შეუძლებელია." "უსახელო საქაღალდე" "%1$s გაითიშა" - + %1$s-ში %2$d შეტყობინებაა %1$s-ში %2$d შეტყობინებაა @@ -83,13 +83,13 @@ "გათიშულია თქვენი ადმინისტრატორის მიერ" "მთავარი ეკრანის შეტრიალების დაშვება" "ტელეფონის შეტრიალებისას" - "შეტყობინების ნიშნულები" - "ჩართული" - "გამორთული" + "შეტყობინების ნიშნულები" + "ჩართული" + "გამორთული" "საჭიროა შეტყობინებებზე წვდომა" "შეტყობინებათა ნიშნულების საჩვენებლად, ჩართეთ აპის შეტყობინებები %1$s-ისთვის" "პარამეტრების შეცვლა" - "შეტყობინების ნიშნულების ჩვენება" + "შეტყობინების ნიშნულების ჩვენება" "ხატულას მთავარ ეკრანზე დამატება" "ახალი აპებისთვის" "ხატულას ფორმის შეცვლა" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index bdcb8b03c..2985903c4 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -64,7 +64,7 @@ "Бұл жүйе қолданбасы, сондықтан оны алу мүмкін емес." "Атауы жоқ қалта" "%1$s өшірілді" - + %1$s қолданбасында %2$d хабарландыру бар %1$s қолданбасында %2$d хабарландыру бар @@ -83,13 +83,13 @@ "Әкімші өшірді" "Негізгі экранның бұрылуына рұқсат ету" "Телефон бұрылғанда" - "Хабарландыру белгілері" - "Қосулы" - "Өшірулі" + "Хабарландыру белгілері" + "Қосулы" + "Өшірулі" "Хабарландыруға кіру рұқсаты қажет" "Хабарландыру белгілерін көрсету үшін %1$s қолданбасының қолданба хабарландыруларын қосыңыз" "Параметрлерді өзгерту" - "Хабарландыру белгілерін көрсету" + "Хабарландыру белгілерін көрсету" "Негізгі экранға белгіше енгізу" "Жаңа қолданбаларға арналған" "Белгіше пішінін өзгерту" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index db67e31ce..69705a383 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -64,7 +64,7 @@ "នេះ​​​ជា​កម្មវិធី​ប្រព័ន្ធ មិន​អាច​លុប​បាន​ទេ។" "ថត​គ្មាន​ឈ្មោះ" "បានបិទដំណើរការ %1$s" - + %1$s មាន​ការ​ជូន​ដំណឹង %2$d %1$s មាន​ការ​ជូន​ដំណឹង %2$d @@ -83,13 +83,13 @@ "បានបិទដំណើរការដោយអ្នកគ្រប់គ្រងរបស់អ្នក" "អនុញ្ញាតការបងិ្វលអេក្រង់ដើម" "នៅពេលដែលបង្វិលទូរស័ព្ទរបស់អ្នក" - "ស្លាកជូនដំណឹង" - "បើក" - "បិទ" + "ស្លាកជូនដំណឹង" + "បើក" + "បិទ" "តម្រូវ​ឲ្យមាន​សិទ្ធិចូល​ប្រើប្រាស់​ការជូនដំណឹង" "ដើម្បីបង្ហាញស្លាកជូនដំណឹង សូមបើកការជូនដំណឹងកម្មវិធីសម្រាប់ %1$s" "ប្ដូរ​ការកំណត់" - "បង្ហាញ​ស្លាក​ជូនដំណឹង" + "បង្ហាញ​ស្លាក​ជូនដំណឹង" "បញ្ចូល​រូបតំណាង​ទៅ​អេក្រង់​ដើម" "សម្រាប់កម្មវិធីថ្មី" "ប្តូររូបរាងរូបតំណាង" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 91b08dc93..7be783fb0 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -64,7 +64,7 @@ "ಇದೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." "ಹೆಸರಿಲ್ಲದ ಫೋಲ್ಡರ್" "%1$s ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" - + %1$s, %2$d ಅಧಿಸೂಚನೆಗಳನ್ನು ಹೊಂದಿದೆ %1$s, %2$d ಅಧಿಸೂಚನೆಗಳನ್ನು ಹೊಂದಿದೆ @@ -83,13 +83,13 @@ "ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ" "ಮುಖಪುಟ ತಿರುಗುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ" "ಫೋನ್‌ ತಿರುಗಿಸಿದಾಗ" - "ಅಧಿಸೂಚನೆ ಡಾಟ್‌ಗಳು" - "ಆನ್" - "ಆಫ್" + "ಅಧಿಸೂಚನೆ ಡಾಟ್‌ಗಳು" + "ಆನ್" + "ಆಫ್" "ಅಧಿಸೂಚನೆ ಪ್ರವೇಶ ಅಗತ್ಯವಿದೆ" "ಅಧಿಸೂಚನೆ ಚುಕ್ಕೆಗಳನ್ನು ತೋರಿಸಲು, %1$s ಗೆ ಅಪ್ಲಿಕೇಶನ್‌ ಅಧಿಸೂಚನೆಗಳನ್ನು ಆನ್‌ ಮಾಡಿ" "ಸೆಟ್ಟಿಂಗ್‌‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ" - "ಅಧಿಸೂಚನೆ ಡಾಟ್‌ಗಳನ್ನು ತೋರಿಸಿ" + "ಅಧಿಸೂಚನೆ ಡಾಟ್‌ಗಳನ್ನು ತೋರಿಸಿ" "ಮುಖಪುಟದ ಪರದೆಗೆ ಐಕಾನ್ ಸೇರಿಸಿ" "ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ" "ಐಕಾನ್ ಆಕಾರವನ್ನು ಬದಲಿಸಿ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 7130f715a..6f1ed2e8d 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -64,7 +64,7 @@ "시스템 앱은 제거할 수 없습니다." "이름이 없는 폴더" "%1$s 사용 안함" - + %2$d개의 %1$s 알림 있음 %2$d개의 %1$s 알림 있음 @@ -83,13 +83,13 @@ "관리자가 사용 중지함" "홈 화면 회전 허용" "휴대전화 회전 시" - "알림 표시 점" - "사용" - "사용 안함" + "알림 표시 점" + "사용" + "사용 안함" "알림 액세스 권한 필요" "알림 표시점을 표시하려면 %1$s의 앱 알림을 사용 설정하세요." "설정 변경" - "알림 표시 점 보기" + "알림 표시 점 보기" "홈 화면에 아이콘 추가" "새로 설치한 앱에 적용" "아이콘 모양 변경" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index efa3d87cb..ecc8f3d9b 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -64,7 +64,7 @@ "Бул системдик колдонмо жана аны чечкенге болбойт." "Аты жок фолдер" "%1$s өчүрүлгөн" - + %1$s, %2$d эскертме бар %1$s, %2$d эскертме бар @@ -83,13 +83,13 @@ "Администраторуңуз өчүрүп койгон" "Башкы экранды айлантууга уруксат берүү" "Телефон айланганда" - "Билдирмелер белгилери" - "Күйүк" - "Өчүк" + "Билдирмелер белгилери" + "Күйүк" + "Өчүк" "Эскертмелерге уруксат берилиши керек" "Эскертме белгилерин көрсөтүү максатында, %1$s үчүн колдонмонун эскертмелерин күйгүзүү керек" "Жөндөөлөрдү өзгөртүү" - "Эскертме белгилерин көрсөтүү" + "Эскертме белгилерин көрсөтүү" "Башкы экранга сүрөтчө кошуу" "Жаңы колдонмолор үчүн" "Сүрөтчөнүн формасын өзгөртүү" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index 95b36d392..4e1fa93d6 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -64,7 +64,7 @@ "ນີ້ແມ່ນແອັບຯຂອງລະບົບ ແລະບໍ່ສາມາດຖອນການຕິດຕັ້ງອອກໄດ້." "ໂຟນເດີຍັງບໍ່ຖືກຕັ້ງຊື່" "ປິດການນຳໃຊ້ %1$s ແລ້ວ" - + %1$s, ມີ %2$d ການແຈ້ງເຕືອນ %1$s, ມີ %2$d ການແຈ້ງເຕືອນ @@ -83,13 +83,13 @@ "ຖືກປິດການນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ" "ອະນຸຍາດໃຫ້ໝຸນໜ້າຈໍທຳອິດໄດ້" "ເມື່ອໝຸນໂທລະສັບ" - "ຈຸດການແຈ້ງເຕືອນ" - "ເປີດ" - "ປິດ" + "ຈຸດການແຈ້ງເຕືອນ" + "ເປີດ" + "ປິດ" "ຕ້ອງໃຊ້ການເຂົ້າເຖິງການແຈ້ງເຕືອນ" "ເພື່ອສະແດງຈຸດການແຈ້ງເຕືອນ, ໃຫ້ເປີດການແຈ້ງເຕືອນສຳລັບ %1$s" "ບັນທຶກການຕັ້ງຄ່າ" - "ສະແດງຈຸດການແຈ້ງເຕືອນ" + "ສະແດງຈຸດການແຈ້ງເຕືອນ" "ເພີ່ມໄອຄອນໃສ່ໜ້າຈໍຫຼັກ" "ສຳລັບແອັບໃໝ່" "ປ່ຽນຮູບຮ່າງໄອຄອນ" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index d0917e0f2..b10860be4 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -64,7 +64,7 @@ "Tai sistemos programa ir jos negalima pašalinti." "Aplankas be pavadinimo" "„%1$s“ išjungta" - + %1$s“, yra %2$d pranešimas %1$s“, yra %2$d pranešimai %1$s“, yra %2$d pranešimo @@ -85,13 +85,13 @@ "Išjungė administratorius" "Leisti pasukti pagrindinį ekraną" "Kai telefonas pasukamas" - "Pranešimų taškai" - "Įjungta" - "Išjungta" + "Pranešimų taškai" + "Įjungta" + "Išjungta" "Reikalinga prieiga prie pranešimų" "Kad būtų rodomi pranešimų taškai, įjunkite programos „%1$s“ pranešimus." "Keisti nustatymus" - "Rodyti pranešimų taškus" + "Rodyti pranešimų taškus" "Pridėti piktogr. prie pagrindinio ekrano" "Skirta naujoms programoms" "Pakeisti piktogramos formą" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index b627f1c08..e6cfbf49a 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -64,7 +64,7 @@ "Šī ir sistēmas lietotne, un to nevar atinstalēt." "Mape bez nosaukuma" "Lietotne %1$s ir atspējota" - + %1$s, ir %2$d paziņojumi %1$s, ir %2$d paziņojums %1$s, ir %2$d paziņojumi @@ -84,13 +84,13 @@ "Atspējojis administrators" "Atļaut sākuma ekrāna pagriešanu" "Pagriežot tālruni" - "Paziņojumu punkti" - "Ieslēgts" - "Izslēgts" + "Paziņojumu punkti" + "Ieslēgts" + "Izslēgts" "Nepieciešama piekļuve paziņojumiem" "Lai tiktu rādīti paziņojumu punkti, ieslēdziet paziņojumus lietotnei %1$s." "Mainīt iestatījumus" - "Rādīt paziņojumu punktus" + "Rādīt paziņojumu punktus" "Pievienot ikonu sākuma ekrānā" "Jaunām lietotnēm" "Mainīt ikonu formu" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 40ea52a28..008fbdb2d 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -64,7 +64,7 @@ "Ова е системска апликација и не може да се деинсталира." "Неименувана папка" "%1$s е оневозможена" - + %1$s има %2$d известување %1$s има %2$d известувања @@ -83,13 +83,13 @@ "Оневозможено од администраторот" "Дозволете ротација на Почетниот екран" "Кога телефонот се ротира" - "Точки за известување" - "Вклучено" - "Исклучено" + "Точки за известување" + "Вклучено" + "Исклучено" "Потребен е пристап до известувањата" "За да се прикажуваат „Точки за известување“, вклучете ги известувањата за апликацијата %1$s" "Промени ги поставките" - "Прикажи точки за известување" + "Прикажи точки за известување" "Додај икона на почетниот екран" "За нови апликации" "Променете ја формата на иконата" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index e6973dee6..0e8f50c22 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -64,7 +64,7 @@ "ഇതൊരു സിസ്‌റ്റം അപ്ലിക്കേഷനായതിനാൽ അൺഇൻസ്‌റ്റാളുചെയ്യാനാവില്ല." "പേരുനൽകാത്ത ഫോൾഡർ" "%1$s പ്രവർത്തനരഹിതമാക്കി" - + %1$s-ന്, %2$d അറിയിപ്പുകൾ ഉണ്ട് %1$s-ന്, %2$d അറിയിപ്പ് ഉണ്ട് @@ -83,13 +83,13 @@ "അഡ്മിൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു" "ഹോം സ്ക്രീൻ തിരിക്കൽ അനുവദിക്കുക" "ഫോൺ തിരിച്ച നിലയിലായിരിക്കുമ്പോൾ" - "അറിയിപ്പ് ഡോട്ടുകൾ" - "ഓൺ" - "ഓഫ്" + "അറിയിപ്പ് ഡോട്ടുകൾ" + "ഓൺ" + "ഓഫ്" "അറിയിപ്പിനായുള്ള ആക്‌സസ് ആവശ്യമാണ്" "അറിയിപ്പ് ഡോട്ടുകൾ കാണിക്കുന്നതിന്, %1$s എന്നയാളിനായുള്ള ആപ്പ് അറിയിപ്പുകൾ ഓണാക്കുക" "ക്രമീകരണം മാറ്റുക" - "അറിയിപ്പ് ഡോട്ടുകൾ കാണിക്കുക" + "അറിയിപ്പ് ഡോട്ടുകൾ കാണിക്കുക" "ഹോം സ്ക്രീനിലേക്ക് ഐക്കൺ ചേർക്കുക" "പുതിയ ആപ്പുകൾക്ക്" "ഐക്കണിന്റെ ആകാരം മാറ്റുക" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index d28c401de..a57e3dccd 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -64,7 +64,7 @@ "Энэ апп нь системийн апп ба устгах боломжгүй." "Нэргүй фолдер" "%1$s-г идэвхгүй болгосон" - + %1$s, %2$d мэдэгдэл байна %1$s, %2$d мэдэгдэл байна @@ -83,13 +83,13 @@ "Таны админ идэвхгүй болгосон" "Нүүр дэлгэцийг эргүүлэхийг зөвшөөрөх" "Утсыг эргүүлсэн үед" - "Мэдэгдлийн цэг" - "Асаалттай" - "Унтраалттай" + "Мэдэгдлийн цэг" + "Асаалттай" + "Унтраалттай" "Мэдэгдлийн хандалт шаардлагатай" "Мэдэгдлийн цэгийг харуулахын тулд %1$s-д аппын мэдэгдлийг асаана уу" "Тохиргоог өөрчлөх" - "Мэдэгдлийн цэгийг харуулах" + "Мэдэгдлийн цэгийг харуулах" "Нүүр хуудаст дүрс тэмдэг нэмэх" "Шинэ аппад зориулсан" "Дүрс тэмдгийн хэлбэрийг өөрчлөх" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index ec7ddb190..7941bceed 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -64,7 +64,7 @@ "हा सिस्टम अॅप आहे आणि अनइंस्टॉल केला जाऊ शकत नाही." "अनामित फोल्डर" "%1$s अक्षम केला आहे" - + %1$s, कडे %2$d सूचना आहे %1$s, कडे %2$d सूचना आहेत @@ -83,13 +83,13 @@ "आपल्या प्रशासकाने अक्षम केले" "मुख्यस्क्रीन फिरविण्‍यास अनुमती द्या" "फोन फिरविला जातो तेव्हा" - "सूचना बिंदू" - "चालू" - "बंद" + "सूचना बिंदू" + "चालू" + "बंद" "सूचनांच्या अ‍ॅक्सेसची आवश्यकता आहे" "सूचना बिंदू दाखवण्यासाठी, %1$s साठी अ‍ॅप सूचना चालू करा" "सेटिंग्ज बदला" - "सूचना बिंदू दाखवा" + "सूचना बिंदू दाखवा" "होम स्क्रीनवर आयकन जोडा" "नवीन अॅप्ससाठी" "चिन्हाचा आकार बदला" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 29fe3437b..6e4d44585 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -64,7 +64,7 @@ "Ini ialah apl sistem dan tidak boleh dinyahpasang." "Folder Tanpa Nama" "%1$s dilumpuhkan" - + %1$s, mempunyai %2$d pemberitahuan %1$s, mempunyai %2$d pemberitahuan @@ -83,13 +83,13 @@ "Dilumpuhkan oleh pentadbir anda" "Benarkan putaran Skrin Utama" "Apabila telefon diputar" - "Titik pemberitahuan" - "Hidup" - "Mati" + "Titik pemberitahuan" + "Hidup" + "Mati" "Akses pemberitahuan diperlukan" "Untuk menunjukkan Titik Pemberitahuan, hidupkan pemberitahuan apl untuk %1$s" "Tukar tetapan" - "Tunjukkan titik pemberitahuan" + "Tunjukkan titik pemberitahuan" "Tambahkan ikon pada Skrin Utama" "Untuk apl baharu" "Tukar bentuk ikon" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 0b07e3094..8fbded37f 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -64,7 +64,7 @@ "ဤအပ်ပလီကေးရှင်းမှာ စစ်စတန်ပိုင်းဆိုင်ရာ အပ်ပလီကေးရှင်းဖြစ်ပါသည်။ ထုတ်ပစ်၍ မရပါ" "အမည်မရှိအကန့်" "%1$s ကို ပိတ်ထားသည်" - + %1$s တွင် အကြောင်းကြားချက် %2$d ခု ရှိသည် %1$s တွင် အကြောင်းကြားချက် %2$d ခု ရှိသည် @@ -83,13 +83,13 @@ "သင့်စီမံခန့်ခွဲသူက ပိတ်လိုက်ပါသည်" "ပင်မစာမျက်နှာလှည့်ခြင်းကို ခွင့်ပြုပါ" "ဖုန်းကိုလှည့်ထားစဉ်" - "အကြောင်းကြားချက်အမှတ်အသားများ" - "ဖွင့်ထားသည်" - "ပိတ်ထားသည်" + "အကြောင်းကြားချက်အမှတ်အသားများ" + "ဖွင့်ထားသည်" + "ပိတ်ထားသည်" "အကြောင်းကြားချက် အသုံးပြုခွင့် လိုအပ်သည်" "အကြောင်းကြားချက် အစက်များကို ပြသရန် %1$s အတွက် အက်ပ်အကြောင်းကြားချက်များကို ဖွင့်ပါ" "ဆက်တင်များ ပြောင်းရန်" - "အကြောင်းကြားချက် အမှတ်အသားများကို ပြရန်" + "အကြောင်းကြားချက် အမှတ်အသားများကို ပြရန်" "ပင်မစာမျက်နှာသို့ သင်္ကေတပုံ ထည့်ရန်" "အက်ပ်အသစ်များအတွက်" "သင်္ကေတပုံစံကို ပြောင်းရန်" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index c0049e1b3..72708dfcc 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -64,7 +64,7 @@ "Dette er en systemapp som ikke kan avinstalleres." "Mappe uten navn" "Slo av %1$s" - + %1$s har %2$d varsler %1$s har %2$d varsel @@ -83,13 +83,13 @@ "Administratoren har slått av funksjonen" "Tillat rotasjon av startskjermen" "Når telefonen roteres" - "Varselsprikker" - "På" - "Av" + "Varselsprikker" + "På" + "Av" "Tilgang til varsler er nødvendig" "Slå på appvarsler for %1$s for å vise varselsprikker" "Endre innstillingene" - "Vis varselsprikker" + "Vis varselsprikker" "Legg til ikon på startsiden" "For nye apper" "Endre formen på ikonet" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 11333623d..2800c8bf8 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -64,7 +64,7 @@ "यो प्रणाली अनुप्रयोग हो र यसलाई स्थापना रद्द गर्न सकिँदैन।" "बेनाम फोल्डर" "असक्षम पारिएको %1$s" - + %1$s, यसमा %2$d सूचनाहरू छन्‌ %1$s, यसमा %2$d सूचना छ @@ -83,13 +83,13 @@ "तपाईँको प्रशासकद्वारा असक्षम गरिएको" "गृह स्क्रिनलाई घुम्ने अनुमति दिनुहोस्" "फोनलाई घुमाइँदा" - "सूचनाको प्रतीक जनाउने थोप्लोहरू" - "सक्रिय छ" - "निष्क्रिय छ" + "सूचनाको प्रतीक जनाउने थोप्लोहरू" + "सक्रिय छ" + "निष्क्रिय छ" "सूचनासम्बन्धी पहुँच आवश्यक हुन्छ" "सूचनाको प्रतीक जनाउने थोप्लाहरू देखाउन %1$s को अनुप्रयोगसम्बन्धी सूचनाहरूलाई सक्रिय गर्नुहोस्" "सेटिङहरू बदल्नुहोस्" - "सूचनाको प्रतीक जनाउने थोप्लाहरू देखाउनुहोस्" + "सूचनाको प्रतीक जनाउने थोप्लाहरू देखाउनुहोस्" "गृह स्क्रिनमा आइकन थप्नुहोस्" "नयाँ अनुप्रयोगका लागि" "आइकनको आकार परिवर्तन गर्नुहोस्" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 8b4e7b4a2..fc1b9832e 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -64,7 +64,7 @@ "Dit is een systeemapp die niet kan worden verwijderd." "Naamloze map" "%1$s is uitgeschakeld" - + %1$s heeft %2$d meldingen %1$s heeft %2$d melding @@ -83,13 +83,13 @@ "Uitgeschakeld door je beheerder" "Draaien van startscherm toestaan" "Wanneer de telefoon gedraaid is" - "Meldingsstipjes" - "Aan" - "Uit" + "Meldingsstipjes" + "Aan" + "Uit" "Toegang tot meldingen vereist" "Als je meldingsstipjes wilt weergeven, schakel je app-meldingen in voor %1$s" "Instellingen wijzigen" - "Meldingsstipjes weergeven" + "Meldingsstipjes weergeven" "Pictogram toevoegen aan startscherm" "Voor nieuwe apps" "Vorm van pictogram wijzigen" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 29e35ea59..b3182841c 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -64,7 +64,7 @@ "ଏହା ଏକ ସିଷ୍ଟମ୍‌ ଆପ୍‌ ଅଟେ ଏବଂ ଏହା ଅନଇନଷ୍ଟଲ୍‌ କରାଯାଇ ପାରିବ ନାହିଁ।" "ବେନାମୀ ଫୋଲ୍ଡର୍‌" "%1$s ଅକ୍ଷମ କରାଗଲା" - + %1$s, ରେ %2$d ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଅଛି %1$s, ରେ %2$d ବିଜ୍ଞପ୍ତି ଅଛି @@ -83,13 +83,13 @@ "ଆପଣଙ୍କ ଆଡମିନଙ୍କ ଦ୍ୱାରା ଅକ୍ଷମ କରାଯାଇଛି" "ହୋମ୍‌ ସ୍କ୍ରୀନ୍ ବୁଲାଇବା ଅନୁମତି ଦିଅନ୍ତୁ" "ଯେତେବେଳେ ଫୋନକୁ ବୁଲାଯାଇଥାଏ" - "ବିଜ୍ଞପ୍ତି ବିନ୍ଦୁଗୁଡ଼ିକ" - "ଅନ୍" - "ଅଫ୍‌" + "ବିଜ୍ଞପ୍ତି ବିନ୍ଦୁଗୁଡ଼ିକ" + "ଅନ୍" + "ଅଫ୍‌" "ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ୍‌ ଆବଶ୍ୟକ ଅଟେ" "ବିଜ୍ଞପ୍ତି ବିନ୍ଦୁ ଦେଖାଇବାକୁ, %1$s ପାଇଁ ଆପ୍‌ ବିଜ୍ଞପ୍ତି ଅନ୍‌ କରନ୍ତୁ" "ସେଟିଙ୍ଗ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" - "ବିଜ୍ଞପ୍ତି ଡଟ୍‌ଗୁଡ଼ିକୁ ଦେଖାନ୍ତୁ" + "ବିଜ୍ଞପ୍ତି ଡଟ୍‌ଗୁଡ଼ିକୁ ଦେଖାନ୍ତୁ" "ହୋମ୍‌ ସ୍କ୍ରୀନରେ ଆଇକନ୍‌କୁ ଯୋଡ଼ନ୍ତୁ" "ନୂଆ ଆପ୍‌ ପାଇଁ" "ଆଇକନ୍‌ର ଆକାର ପରିବର୍ତ୍ତନ କରନ୍ତୁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index a7911178a..7800abb24 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -64,7 +64,7 @@ "ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।" "ਬਿਨਾਂ ਨਾਮ ਦਿੱਤਾ ਫੋਲਡਰ" "%1$s ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ" - + %1$s, ਦੀ %2$d ਸੂਚਨਾ %1$s, ਦੀਆਂ %2$d ਸੂਚਨਾਵਾਂ @@ -83,13 +83,13 @@ "ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਈ ਗਈ" "ਹੋਮ ਸਕ੍ਰੀਨ ਨੂੰ ਘੁੰਮਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ" "ਜਦੋਂ ਫ਼ੋਨ ਘੁੰਮਾਇਆ ਜਾਂਦਾ ਹੈ" - "ਸੂਚਨਾ ਬਿੰਦੂ" - "ਚਾਲੂ" - "ਬੰਦ" + "ਸੂਚਨਾ ਬਿੰਦੂ" + "ਚਾਲੂ" + "ਬੰਦ" "ਸੂਚਨਾ ਪਹੁੰਚ ਲੋੜੀਂਦੀ ਹੈ" "ਸੂਚਨਾ ਬਿੰਦੂਆਂ ਦਿਖਾਉਣ ਲਈ, %1$s ਲਈ ਐਪ ਸੂਚਨਾਵਾਂ ਚਾਲੂ ਕਰੋ" "ਸੈਟਿੰਗਾਂ ਬਦਲੋ" - "ਸੂਚਨਾ ਬਿੰਦੂ ਦਿਖਾਓ" + "ਸੂਚਨਾ ਬਿੰਦੂ ਦਿਖਾਓ" "ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਪ੍ਰਤੀਕ ਸ਼ਾਮਲ ਕਰੋ" "ਨਵੀਆਂ ਐਪਾਂ ਲਈ" "ਪ੍ਰਤੀਕ ਦੀ ਆਕ੍ਰਿਤੀ ਬਦਲੋ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 6b4796d02..6bb4d8daf 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -64,7 +64,7 @@ "To aplikacja systemowa i nie można jej odinstalować." "Folder bez nazwy" "Aplikacja %1$s jest wyłączona" - + %1$s%2$d powiadomienia %1$s%2$d powiadomień %1$s%2$d powiadomienia @@ -85,13 +85,13 @@ "Funkcja wyłączona przez administratora" "Zezwalaj na obrót ekranu głównego" "Po obróceniu telefonu" - "Plakietki z powiadomieniami" - "Włączono" - "Wyłączono" + "Plakietki z powiadomieniami" + "Włączono" + "Wyłączono" "Wymagany jest dostęp do powiadomień" "Aby pokazać plakietki z powiadomieniami, włącz powiadomienia aplikacji %1$s" "Zmień ustawienia" - "Pokaż plakietki z powiadomieniami" + "Pokaż plakietki z powiadomieniami" "Dodaj ikonę do ekranu głównego" "W przypadku nowych aplikacji" "Zmień kształt ikon" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index a0d311f04..3a8a15982 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -64,7 +64,7 @@ "É uma aplicação de sistema e não pode ser desinstalada." "Pasta sem nome" "%1$s desativado" - + %1$s, tem %2$d notificações. %1$s, tem %2$d notificação. @@ -83,13 +83,13 @@ "Desativada pelo gestor" "Permitir rotação do ecrã principal" "Quando o telemóvel é rodado" - "Pontos de notificação" - "Ativada" - "Desativada" + "Pontos de notificação" + "Ativada" + "Desativada" "Acesso a notificações necessário" "Para mostrar os Pontos de notificação, ative as notificações de aplicações para o %1$s" "Alterar definições" - "Mostrar pontos de notificação" + "Mostrar pontos de notificação" "Adicionar ícone ao ecrã principal" "Para novas aplicações" "Alterar forma do ícone" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index e64033985..1e9ecc453 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -64,7 +64,7 @@ "Este é um app do sistema e não pode ser desinstalado." "Pasta sem nome" "%1$s desativado" - + O app %1$s tem %2$d notificação O app %1$s tem %2$d notificações @@ -83,13 +83,13 @@ "Desativado pelo administrador" "Permitir rotação da tela inicial" "Quando o smartphone for girado" - "Pontos de notificação" - "Ativado" - "Desativado" + "Pontos de notificação" + "Ativado" + "Desativado" "Acesso a notificações necessário" "Para mostrar pontos de notificação, ative as notificações de app para %1$s" "Alterar configurações" - "Mostrar pontos de notificação" + "Mostrar pontos de notificação" "Adicionar ícone à tela inicial" "Para novos apps" "Alterar forma de ícones" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 546492987..a05ea0ff0 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -64,7 +64,7 @@ "Aceasta este o aplicație de sistem și nu poate fi dezinstalată." "Dosar fără nume" "S-a dezactivat %1$s" - + %1$s are %2$d notificări %1$s are %2$d de notificări %1$s are %2$d notificare @@ -84,13 +84,13 @@ "Dezactivată de administrator" "Permiteți rotirea ecranului de pornire" "Când telefonul este rotit" - "Puncte de notificare" - "Activat" - "Dezactivat" + "Puncte de notificare" + "Activat" + "Dezactivat" "Este necesar accesul la notificări" "Pentru a afișa punctele de notificare, activați notificările din aplicație pentru %1$s" "Modificați setările" - "Afișați punctele de notificare" + "Afișați punctele de notificare" "Adaugă pictograme în ecranul de pornire" "Pentru aplicații noi" "Schimbați forma pictogramei" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 7ba4a4704..65885753f 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -64,7 +64,7 @@ "Это системное приложение, его нельзя удалить." "Папка без названия" "Приложение %1$s отключено" - + В приложении \"%1$s\" %2$d уведомление В приложении \"%1$s\" %2$d уведомления В приложении \"%1$s\" %2$d уведомлений @@ -85,13 +85,13 @@ "Функция отключена администратором" "Разрешить поворачивать главный экран" "Когда телефон повернут" - "Значки уведомлений" - "Вкл." - "Выкл." + "Значки уведомлений" + "Вкл." + "Выкл." "Нет доступа к уведомлениям" "Чтобы показывать значки уведомлений, включите уведомления в приложении \"%1$s\"" "Изменить настройки" - "Показывать значки уведомлений" + "Показывать значки уведомлений" "Добавлять значки" "Добавлять значки установленных приложений на главный экран" "Изменить форму значков" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 83eaff0cb..9ddc1c7f7 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -64,7 +64,7 @@ "මෙය පද්ධති යෙදුමක් වන අතර අස්ථාපනය කළ නොහැක." "නම් නොකළ ෆෝල්ඩරය" "%1$s අබල කෙරිණි" - + %1$s, දැනුම්දීම් %2$dක් ඇත %1$s, දැනුම්දීම් %2$dක් ඇත @@ -83,13 +83,13 @@ "ඔබගේ පරිපාලක විසින් අබල කරන ලදී" "මුල් පිටු තිරය කරකැවීමට ඉඩ දෙන්න" "දුරකථනය කරකවන විට" - "දැනුම්දීම් තිත්" - "ක්‍රියාත්මකයි" - "ක්‍රියාවිරහිතයි" + "දැනුම්දීම් තිත්" + "ක්‍රියාත්මකයි" + "ක්‍රියාවිරහිතයි" "දැනුම්දීම් ප්‍රවේශය අවශ්‍යයි" "දැනුම්දීම් තිත් පෙන්වීමට, %1$s සඳහා යෙදුම් දැනුම්දීම් සබල කරන්න" "සැකසීම් වෙනස් කරන්න" - "දැනුම් දීමේ තිත් පෙන්වන්න" + "දැනුම් දීමේ තිත් පෙන්වන්න" "මුල් පිටු තිරය වෙත අයිකනය එක් කරන්න" "නව යෙදුම් සඳහා" "නිරූපක හැඩය වෙනස් කරන්න" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index c983fe152..f006adaca 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -64,7 +64,7 @@ "Toto je systémová aplikácia a nedá sa odinštalovať." "Nepomenovaný priečinok" "Aplikácia %1$s je deaktivovaná" - + Aplikácia %1$s%2$d upozornenia Aplikácia %1$s%2$d upozornenia Aplikácia %1$s%2$d upozornení @@ -85,13 +85,13 @@ "Zakázané vaším správcom" "Povoliť otáčanie plochy" "Pri otočení telefónu" - "Bodky upozornení" - "Zapnuté" - "Vypnuté" + "Bodky upozornení" + "Zapnuté" + "Vypnuté" "Vyžaduje sa prístup k upozorneniam" "Ak chcete, aby sa zobrazovali bodky upozornení, zapnite upozornenia aplikácie %1$s" "Zmeniť nastavenia" - "Zobrazovať bodky upozornení" + "Zobrazovať bodky upozornení" "Pridať ikonu na plochu" "Pri inštalácii novej aplikácie" "Zmeniť tvar ikony" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index a037c4136..9a097be10 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -64,7 +64,7 @@ "To je sistemska aplikacija in je ni mogoče odstraniti." "Neimenovana mapa" "Aplikacija %1$s je onemogočena" - + Aplikacija %1$s ima %2$d obvestilo Aplikacija %1$s ima %2$d obvestili Aplikacija %1$s ima %2$d obvestila @@ -85,13 +85,13 @@ "Onemogočil skrbnik." "Omogočanje sukanja začetnega zaslona" "Ko se telefon zasuka" - "Obvestilne pike" - "Vklopljeno" - "Izklopljeno" + "Obvestilne pike" + "Vklopljeno" + "Izklopljeno" "Potreben je dostop do obvestil" "Za prikaz obvestilnih pik vklopite obvestila aplikacije %1$s" "Spremeni nastavitve" - "Pokaži obvestilne pike" + "Pokaži obvestilne pike" "Dodaj ikono na začetni zaslon" "Za nove aplikacije" "Spremeni obliko ikon" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index c26b7a596..ed4241e2b 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -64,7 +64,7 @@ "Ky është aplikacion sistemi dhe nuk mund të çinstalohet." "Dosje e paemërtuar" "%1$s u çaktivizua" - + %1$s, ka %2$d njoftime %1$s, ka %2$d njoftime @@ -83,13 +83,13 @@ "Çaktivizuar nga administratori" "Lejo rrotullimin e ekranit kryesor" "Kur telefoni rrotullohet" - "Pikat e njoftimeve" - "Aktiv" - "Joaktiv" + "Pikat e njoftimeve" + "Aktiv" + "Joaktiv" "Nevojitet qasja në njoftime" "Për të shfaqur \"Pikat e njoftimeve\", aktivizo njoftimet e aplikacionit për %1$s" "Ndrysho cilësimet" - "Shfaq pikat e njoftimeve" + "Shfaq pikat e njoftimeve" "Shto ikonë në ekranin bazë" "Për aplikacionet e reja" "Ndrysho formën e ikonës" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 38f9c9d01..6df4c134b 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -64,7 +64,7 @@ "Ово је системска апликација и не може да се деинсталира." "Неименовани директоријум" "Апликација %1$s је онемогућена" - + %1$s има %2$d обавештење %1$s има %2$d обавештења %1$s има %2$d обавештења @@ -84,13 +84,13 @@ "Администратор је онемогућио" "Дозволи ротацију почетног екрана" "Када се телефон ротира" - "Тачке за обавештења" - "Укључено" - "Искључено" + "Тачке за обавештења" + "Укључено" + "Искључено" "Потребан је приступ за обавештења" "Да бисте приказали тачке за обавештења, укључите обавештења за апликацију %1$s" "Промените подешавања" - "Приказуј тачке за обавештења" + "Приказуј тачке за обавештења" "Додај икону на почетни екран" "За нове апликације" "Промените облик икона" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 7ef24dc0a..377973890 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -64,7 +64,7 @@ "Det här är en systemapp som inte kan avinstalleras." "Namnlös mapp" "%1$s har inaktiverats" - + %1$s har %2$d aviseringar %1$s har %2$d avisering @@ -83,13 +83,13 @@ "Inaktiverat av administratören" "Tillåt rotering av startskärmen" "När mobilen vrids" - "Aviseringsprickar" - "På" - "Av" + "Aviseringsprickar" + "På" + "Av" "Åtkomst till aviseringar krävs" "Aktivera appaviseringar för %1$s om du vill att aviseringsprickar ska visas" "Ändra inställningar" - "Visa aviseringsprickar" + "Visa aviseringsprickar" "Lägg till ikonen på startskärmen" "För nya appar" "Ändra form på ikoner" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 875f9a455..b4ee6b660 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -64,7 +64,7 @@ "Hii ni programu ya mfumo na haiwezi kuondolewa." "Folda isiyo na jina" "%1$s imezimwa" - + %1$s, ina arifa %2$d %1$s, ina arifa %2$d @@ -85,13 +85,13 @@ "Imezimwa na msimamizi wako" "Ruhusu kuzungusha skrini ya Kwanza" "Simu inapozungushwa" - "Vitone vya arifa" - "Imewashwa" - "Imezimwa" + "Vitone vya arifa" + "Imewashwa" + "Imezimwa" "Inahitaji idhini ya kufikia arifa" "Ili kuonyesha Vitone vya Arifa, washa kipengele cha arifa za programu katika %1$s" "Badilisha mipangilio" - "Onyesha kitone cha arifa" + "Onyesha kitone cha arifa" "Ongeza aikoni kwenye Skrini ya kwanza" "Kwa ajili ya programu mpya" "Badilisha umbo la aikoni" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 805b254a7..cc9875905 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -64,7 +64,7 @@ "இது அமைப்பு பயன்பாடு என்பதால் நிறுவல் நீக்கம் செய்ய முடியாது." "பெயரிடப்படாத கோப்புறை" "%1$s முடக்கப்பட்டது" - + %1$s பயன்பாட்டில், %2$d அறிவிப்புகள் வந்துள்ளன %1$s பயன்பாட்டில், %2$d அறிவிப்பு வந்துள்ளது @@ -83,13 +83,13 @@ "உங்கள் நிர்வாகி முடக்கியுள்ளார்" "முகப்புத் திரை சுழற்சியை அனுமதி" "மொபைலைச் சுழற்றும் போது" - "அறிவிப்புப் புள்ளிகள்" - "ஆன்" - "முடக்கப்பட்டுள்ளது" + "அறிவிப்புப் புள்ளிகள்" + "ஆன்" + "முடக்கப்பட்டுள்ளது" "அறிவிப்பிற்கான அணுகல் தேவை" "அறிவிப்புப் புள்ளிகளைக் காட்ட, %1$s இன் பயன்பாட்டு அறிவிப்புகளை இயக்கவும்" "அமைப்புகளை மாற்று" - "அறிவிப்புப் புள்ளிகளைக் காட்டு" + "அறிவிப்புப் புள்ளிகளைக் காட்டு" "முகப்புத் திரையில் ஐகானைச் சேர்" "புதிய பயன்பாடுகளுக்கு" "ஐகான் வடிவத்தை மாற்று" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 67c3a7feb..b4479a0e7 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -64,7 +64,7 @@ "ఇది సిస్టమ్ యాప్ మరియు దీన్ని అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడదు." "పేరు లేని ఫోల్డర్" "%1$s నిలిపివేయబడింది" - + %1$s %2$d నోటిఫికేషన్‌‌లను కలిగి ఉన్నారు %1$s %2$d నోటిఫికేషన్‌ను కలిగి ఉన్నారు @@ -83,13 +83,13 @@ "మీ నిర్వాహకులు నిలిపివేసారు" "హోమ్ స్క్రీన్ భ్రమణాన్ని అనుమతించండి" "ఫోన్‌‌ను తిప్పినప్పుడు" - "నోటిఫికేషన్ డాట్‌లు" - "ఆన్" - "ఆఫ్" + "నోటిఫికేషన్ డాట్‌లు" + "ఆన్" + "ఆఫ్" "నోటిఫికేషన్ యాక్సెస్ అవసరం" "నోటిఫికేషన్ డాట్‌లను చూపించడానికి %1$sకు యాప్ నోటిఫికేషన్‌లను ఆన్ చేయండి" "సెట్టింగ్‌లను మార్చు" - "నోటిఫికేషన్ డాట్‌లను చూపుతుంది" + "నోటిఫికేషన్ డాట్‌లను చూపుతుంది" "హోమ్ స్క్రీన్‌కి చిహ్నాన్ని జోడించు" "కొత్త యాప్‌ల కోసం" "చిహ్న ఆకారాన్ని మార్చు" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index cbf22a63a..ef5115bd1 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -64,7 +64,7 @@ "นี่เป็นแอประบบและไม่สามารถถอนการติดตั้งได้" "โฟลเดอร์ที่ไม่มีชื่อ" "ปิดใช้ %1$s" - + %1$s มีการแจ้งเตือน %2$d รายการ %1$s มีการแจ้งเตือน %2$d รายการ @@ -83,13 +83,13 @@ "ปิดใช้โดยผู้ดูแลระบบ" "อนุญาตให้หมุนหน้าจอหลัก" "เมื่อหมุนโทรศัพท์" - "จุดแจ้งเตือน" - "เปิด" - "ปิด" + "จุดแจ้งเตือน" + "เปิด" + "ปิด" "ต้องได้รับสิทธิ์เข้าถึงการแจ้งเตือน" "เปิดการแจ้งเตือนแอปของ %1$s เพื่อแสดงจุดแจ้งเตือน" "เปลี่ยนการตั้งค่า" - "แสดงจุดแจ้งเตือน" + "แสดงจุดแจ้งเตือน" "เพิ่มไอคอนในหน้าจอหลัก" "สำหรับแอปใหม่" "เปลี่ยนรูปร่างไอคอน" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 8329e33e4..8f46738c0 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -64,7 +64,7 @@ "Isa itong app ng system at hindi maaaring i-uninstall." "Walang Pangalang Folder" "Naka-disable ang %1$s" - + May %2$d notification ang %1$s May %2$d na notification ang %1$s @@ -83,13 +83,13 @@ "Na-disable ng iyong admin" "Payagan ang pag-rotate ng Home screen" "Kailan maro-rotate ang telepono" - "Mga notification dot" - "Naka-on" - "Naka-off" + "Mga notification dot" + "Naka-on" + "Naka-off" "Kinakailangan ng access sa notification" "Upang ipakita ang Mga Notification Dot, i-on ang mga notification ng app para sa %1$s" "Baguhin ang mga setting" - "Ipakita ang mga notification dot" + "Ipakita ang mga notification dot" "Idagdag ang icon sa Home screen" "Para sa mga bagong app" "Baguhin ang hugis ng icon" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 6e77c4810..42dc57f04 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -64,7 +64,7 @@ "Bu bir sistem uygulamasıdır ve yüklemesi kaldırılamaz." "Adsız Klasör" "%1$s devre dışı" - + %1$s uygulamasının %2$d bildirimi var %1$s uygulamasının %2$d bildirimi var @@ -83,13 +83,13 @@ "Yöneticiniz tarafından devre dışı bırakıldı" "Ana ekranı döndürmeye izin ver" "Telefon döndürüldüğünde" - "Bildirim noktaları" - "Açık" - "Kapalı" + "Bildirim noktaları" + "Açık" + "Kapalı" "Bildirim erişimi gerekli" "Bildirim Noktaları\'nı göstermek için %1$s uygulamasının bildirimlerini açın" "Ayarları değiştir" - "Bildirim noktalarını göster" + "Bildirim noktalarını göster" "Ana ekrana simge ekle" "Yeni uygulamalar için" "Simge şeklini değiştir" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 1d23e4ece..6e99878b9 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -64,7 +64,7 @@ "Це системна програма, її неможливо видалити." "Папка без назви" "%1$s вимкнено" - + Додаток %1$s має %2$d сповіщення Додаток %1$s має %2$d сповіщення Додаток %1$s має %2$d сповіщень @@ -85,13 +85,13 @@ "Вимкнув адміністратор" "Дозволити обертання головного екрана" "Коли телефон обертається" - "Значки сповіщень" - "Увімкнено" - "Вимкнено" + "Значки сповіщень" + "Увімкнено" + "Вимкнено" "Потрібен доступ до сповіщень" "Щоб показувати значки сповіщень, увімкніть сповіщення в додатку %1$s" "Змінити налаштування" - "Показувати значки сповіщень" + "Показувати значки сповіщень" "Додати значок на головний екран" "Для нових додатків" "Змінити форму значка" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index d46ac2a20..097f71c14 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -64,7 +64,7 @@ "یہ ایک سسٹم ایپ ہے اور اسے اَن انسٹال نہیں کیا جا سکتا ہے۔" "بلا نام فولڈر" "%1$s غیر فعال ہے" - + %1$s میں %2$d اطلاعات ہیں %1$s میں %2$d اطلاع ہے @@ -83,13 +83,13 @@ "آپ کے منتظم کی طرف سے غیر فعال کر دیا گیا" "ہوم اسکرین گھمانے کی اجازت دیں" "جب فون گھمایا جاتا ہے" - "اطلاعاتی ڈاٹس" - "آن" - "آف" + "اطلاعاتی ڈاٹس" + "آن" + "آف" "اطلاعاتی رسائی درکار ہے" "اطلاعاتی ڈاٹس دکھانے کی خاطر %1$s کیلئے ایپ کی اطلاعات آن کریں" "ترتیبات تبدیل کریں" - "اطلاعاتی ڈاٹس دکھائیں" + "اطلاعاتی ڈاٹس دکھائیں" "آئیکن کو ہوم اسکرین میں شامل کریں" "نئی ایپس کیلئے" "آئیکن کی شکل تبدیل کریں" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index c3b3ddee1..81f377f1a 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -64,7 +64,7 @@ "Bu tizim ilovasi, shuning uchun o‘chirib bo‘lmaydi." "Nomsiz jild" "%1$s ilovasi o‘chirib qo‘yildi" - + %1$s, %2$d ta bildirishnoma bor %1$s, %2$d ta bildirishnoma bor @@ -83,13 +83,13 @@ "Administrator tomonidan o‘chirilgan" "Asosiy ekranni aylantirishga ruxsat berish" "Telefon burilganda" - "Bildirishnoma belgilari" - "Yoniq" - "O‘chiq" + "Bildirishnoma belgilari" + "Yoniq" + "O‘chiq" "Bildirishnomalarga ruxsat berilmagan" "Bildirishnoma belgilarini ko‘rsatish uchun %1$s ilovasida bildirishnomalarni yoqing" "Sozlamalarni o‘zgartirish" - "Bildirishnoma belgilarini ko‘rsatish" + "Bildirishnoma belgilarini ko‘rsatish" "Bosh ekranga ikonka chiqarish" "Yangi o‘rnatilgan ilovalar ikonkasini bosh ekranga chiqarish" "Ikonka shaklini o‘zgartirish" diff --git a/res/values-v26/bools.xml b/res/values-v26/bools.xml index 30537fe12..ad8c7a186 100644 --- a/res/values-v26/bools.xml +++ b/res/values-v26/bools.xml @@ -17,7 +17,7 @@ --> - true + true false \ No newline at end of file diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index a27d26cc8..6f095e709 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -64,7 +64,7 @@ "Đây là ứng dụng hệ thống và không thể gỡ cài đặt." "Thư mục chưa đặt tên" "Đã vô hiệu hóa %1$s" - + %1$s, có %2$d thông báo %1$s, có %2$d thông báo @@ -83,13 +83,13 @@ "Bị tắt bởi quản trị viên của bạn" "Cho phép xoay Màn hình chính" "Khi xoay điện thoại" - "Dấu chấm thông báo" - "Đang bật" - "Đã tắt" + "Dấu chấm thông báo" + "Đang bật" + "Đã tắt" "Cần quyền truy cập thông báo" "Để hiển thị Dấu chấm thông báo, hãy bật thông báo ứng dụng cho %1$s" "Thay đổi cài đặt" - "Hiển thị dấu chấm thông báo" + "Hiển thị dấu chấm thông báo" "Thêm biểu tượng vào màn hình chính" "Cho ứng dụng mới" "Thay đổi hình dạng biểu tượng" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index dbe70c966..c6a5d6052 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -64,7 +64,7 @@ "这是系统应用,无法卸载。" "未命名文件夹" "已停用%1$s" - + %1$s,有 %2$d 个通知 %1$s,有 %2$d 个通知 @@ -83,13 +83,13 @@ "已被您的管理员停用" "允许旋转主屏幕" "手机旋转时" - "通知圆点" - "开启" - "关闭" + "通知圆点" + "开启" + "关闭" "需要获取通知使用权" "要显示通知圆点,请开启%1$s的应用通知功能" "更改设置" - "显示通知圆点" + "显示通知圆点" "将图标添加到主屏幕" "适用于新应用" "更改图标形状" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index ff59d0240..43b1d1dac 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -64,7 +64,7 @@ "這是系統應用程式,無法將其解除安裝。" "未命名的資料夾" "「%1$s」已停用" - + %1$s,有 %2$d 項通知 %1$s,有 %2$d 項通知 @@ -83,13 +83,13 @@ "已由您的管理員停用" "允許主畫面旋轉" "當手機旋轉時" - "通知圓點" - "開啟" - "關閉" + "通知圓點" + "開啟" + "關閉" "需要獲取通知存取權" "如要顯示「通知圓點」,請開啟「%1$s」的應用程式通知功能" "變更設定" - "顯示通知圓點" + "顯示通知圓點" "將圖示加到主畫面" "適用於新安裝的應用程式" "變更圖示形狀" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 246f6ebbe..776985485 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -64,7 +64,7 @@ "這是系統應用程式,不可解除安裝。" "未命名的資料夾" "已停用 %1$s" - + %1$s,有 %2$d 則通知 %1$s,有 %2$d 則通知 @@ -83,13 +83,13 @@ "已由你的管理員停用" "允許旋轉主螢幕" "當手機旋轉時" - "通知圓點" - "已啟用" - "已停用" + "通知圓點" + "已啟用" + "已停用" "需要取得通知存取權" "如要顯示通知圓點,請開啟「%1$s」的應用程式通知功能" "變更設定" - "顯示通知圓點" + "顯示通知圓點" "將圖示加到主螢幕" "適用於新安裝的應用程式" "變更圖示形狀" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index c25319e1f..bc204eb46 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -64,7 +64,7 @@ "Lolu uhlelo lokusebenza lwesistimu futhi alikwazi ukukhishwa." "Ifolda engenagama" "Kukhutshaziwe %1$s" - + %1$s, inezaziso ezingu-%2$d %1$s, inezaziso ezingu-%2$d @@ -83,13 +83,13 @@ "Kukhutshazwe umlawuli wakho" "Vumela ukuphendukiswa kwesikrini sasekhaya" "Uma ifoni iphendukiswa" - "Amachashazi esaziso" - "Kuvuliwe" - "Kuvaliwe" + "Amachashazi esaziso" + "Kuvuliwe" + "Kuvaliwe" "Ukufinyelela izaziso kuyadingeka" "Ukuze ubonisa amcashazi esaziso, vula izaziso zohlelo lokusebenza ze-%1$s" "Shintsha izilungiselelo" - "Bonisa amacashazi esaziso" + "Bonisa amacashazi esaziso" "Engeza isithonjana eskrinini sasekhaya" "Kwezinhlelo zokusebenza ezintsha" "Shintsha isimo sesithonjana" diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 956270cba..0bb5837d1 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -33,7 +33,7 @@ - + diff --git a/res/values/bools.xml b/res/values/bools.xml index 53c67e2f1..bc2c67887 100644 --- a/res/values/bools.xml +++ b/res/values/bools.xml @@ -17,7 +17,7 @@ --> - false + false true \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index fb6eb4326..771149bfe 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -141,7 +141,7 @@ Disabled %1$s - + %1$s, has %2$d notification %1$s, has %2$d notifications @@ -184,11 +184,11 @@ When phone is rotated - Notification dots - - On - - Off + Notification dots + + On + + Off Notification access needed @@ -196,7 +196,7 @@ Change settings - Show notification dots + Show notification dots Add icon to Home screen diff --git a/res/values/styles.xml b/res/values/styles.xml index e6791aa29..a1ea3b4e8 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -42,7 +42,7 @@ #44000000 @drawable/workspace_bg @style/WidgetContainerTheme - ?android:attr/colorPrimary + ?android:attr/colorPrimary #FFF false @@ -76,7 +76,7 @@ #424242 #757575 @style/WidgetContainerTheme.Dark - #FF464646 + #FF464646 true #000 diff --git a/res/xml/launcher_preferences.xml b/res/xml/launcher_preferences.xml index 2c86f8ebf..be3cb0e28 100644 --- a/res/xml/launcher_preferences.xml +++ b/res/xml/launcher_preferences.xml @@ -17,18 +17,18 @@ - - + - + BADGE_SCALE_PROPERTY - = new Property(Float.TYPE, "badgeScale") { + private static final Property DOT_SCALE_PROPERTY + = new Property(Float.TYPE, "dotScale") { @Override public Float get(BubbleTextView bubbleTextView) { return bubbleTextView.mDotParams.scale; @@ -115,12 +115,12 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, private float mTextAlpha = 1; @ViewDebug.ExportedProperty(category = "launcher") - private BadgeInfo mBadgeInfo; + private DotInfo mDotInfo; private DotRenderer mDotRenderer; @ViewDebug.ExportedProperty(category = "launcher", deepExport = true) private DotRenderer.DrawParams mDotParams; - private Animator mBadgeScaleAnim; - private boolean mForceHideBadge; + private Animator mDotScaleAnim; + private boolean mForceHideDot; @ViewDebug.ExportedProperty(category = "launcher") private boolean mStayPressed; @@ -190,29 +190,29 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, * Resets the view so it can be recycled. */ public void reset() { - mBadgeInfo = null; + mDotInfo = null; mDotParams.color = Color.TRANSPARENT; - cancelBadgeScaleAnim(); + cancelDotScaleAnim(); mDotParams.scale = 0f; - mForceHideBadge = false; + mForceHideDot = false; } - private void cancelBadgeScaleAnim() { - if (mBadgeScaleAnim != null) { - mBadgeScaleAnim.cancel(); + private void cancelDotScaleAnim() { + if (mDotScaleAnim != null) { + mDotScaleAnim.cancel(); } } - private void animateBadgeScale(float... badgeScales) { - cancelBadgeScaleAnim(); - mBadgeScaleAnim = ObjectAnimator.ofFloat(this, BADGE_SCALE_PROPERTY, badgeScales); - mBadgeScaleAnim.addListener(new AnimatorListenerAdapter() { + private void animateDotScale(float... dotScales) { + cancelDotScaleAnim(); + mDotScaleAnim = ObjectAnimator.ofFloat(this, DOT_SCALE_PROPERTY, dotScales); + mDotScaleAnim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - mBadgeScaleAnim = null; + mDotScaleAnim = null; } }); - mBadgeScaleAnim.start(); + mDotScaleAnim.start(); } public void applyFromShortcutInfo(ShortcutInfo info) { @@ -226,7 +226,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, applyPromiseState(promiseStateChanged); } - applyBadgeState(info, false /* animate */); + applyDotState(info, false /* animate */); } public void applyFromApplicationInfo(AppInfo info) { @@ -242,7 +242,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, PromiseAppInfo promiseAppInfo = (PromiseAppInfo) info; applyProgressLevel(promiseAppInfo.level); } - applyBadgeState(info, false /* animate */); + applyDotState(info, false /* animate */); } public void applyFromPackageItemInfo(PackageItemInfo info) { @@ -366,22 +366,22 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } @SuppressWarnings("wrongcall") - protected void drawWithoutBadge(Canvas canvas) { + protected void drawWithoutDot(Canvas canvas) { super.onDraw(canvas); } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); - drawBadgeIfNecessary(canvas); + drawDotIfNecessary(canvas); } /** - * Draws the icon badge in the top right corner of the icon bounds. + * Draws the notification dot in the top right corner of the icon bounds. * @param canvas The canvas to draw to. */ - protected void drawBadgeIfNecessary(Canvas canvas) { - if (!mForceHideBadge && (hasBadge() || mDotParams.scale > 0)) { + protected void drawDotIfNecessary(Canvas canvas) { + if (!mForceHideDot && (hasDot() || mDotParams.scale > 0)) { getIconBounds(mDotParams.iconBounds); mDotParams.spaceForOffset.set((getWidth() - mIconSize) / 2, getPaddingTop()); final int scrollX = getScrollX(); @@ -392,21 +392,21 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } } - public void forceHideBadge(boolean forceHideBadge) { - if (mForceHideBadge == forceHideBadge) { + public void forceHideDot(boolean forceHideDot) { + if (mForceHideDot == forceHideDot) { return; } - mForceHideBadge = forceHideBadge; + mForceHideDot = forceHideDot; - if (forceHideBadge) { + if (forceHideDot) { invalidate(); - } else if (hasBadge()) { - animateBadgeScale(0, 1); + } else if (hasDot()) { + animateDotScale(0, 1); } } - private boolean hasBadge() { - return mBadgeInfo != null; + private boolean hasDot() { + return mDotInfo != null; } public void getIconBounds(Rect outBounds) { @@ -536,28 +536,28 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, return null; } - public void applyBadgeState(ItemInfo itemInfo, boolean animate) { + public void applyDotState(ItemInfo itemInfo, boolean animate) { if (mIcon instanceof FastBitmapDrawable) { - boolean wasBadged = mBadgeInfo != null; - mBadgeInfo = mActivity.getBadgeInfoForItem(itemInfo); - boolean isBadged = mBadgeInfo != null; - float newBadgeScale = isBadged ? 1f : 0; + boolean wasDotted = mDotInfo != null; + mDotInfo = mActivity.getDotInfoForItem(itemInfo); + boolean isDotted = mDotInfo != null; + float newDotScale = isDotted ? 1f : 0; mDotRenderer = mActivity.getDeviceProfile().mDotRenderer; - if (wasBadged || isBadged) { - // Animate when a badge is first added or when it is removed. - if (animate && (wasBadged ^ isBadged) && isShown()) { - animateBadgeScale(newBadgeScale); + if (wasDotted || isDotted) { + // Animate when a dot is first added or when it is removed. + if (animate && (wasDotted ^ isDotted) && isShown()) { + animateDotScale(newDotScale); } else { - cancelBadgeScaleAnim(); - mDotParams.scale = newBadgeScale; + cancelDotScaleAnim(); + mDotParams.scale = newDotScale; invalidate(); } } if (itemInfo.contentDescription != null) { - if (hasBadge()) { - int count = mBadgeInfo.getNotificationCount(); + if (hasDot()) { + int count = mDotInfo.getNotificationCount(); setContentDescription(getContext().getResources().getQuantityString( - R.plurals.badged_app_label, count, itemInfo.contentDescription, count)); + R.plurals.dotted_app_label, count, itemInfo.contentDescription, count)); } else { setContentDescription(itemInfo.contentDescription); } diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 42f913c81..c1c12046e 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -128,7 +128,7 @@ public class DeviceProfile { private final Rect mHotseatPadding = new Rect(); private boolean mIsSeascape; - // Icon badges + // Notification dots public DotRenderer mDotRenderer; public DeviceProfile(Context context, InvariantDeviceProfile inv, diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index b6fa0718b..ce6de2a2a 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -77,7 +77,7 @@ import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DiscoveryBounce; import com.android.launcher3.anim.PropertyListBuilder; -import com.android.launcher3.badge.BadgeInfo; +import com.android.launcher3.dot.DotInfo; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.compat.LauncherAppsCompatVO; import com.android.launcher3.config.FeatureFlags; @@ -473,8 +473,8 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, } @Override - public BadgeInfo getBadgeInfoForItem(ItemInfo info) { - return mPopupDataProvider.getBadgeInfoForItem(info); + public DotInfo getDotInfoForItem(ItemInfo info) { + return mPopupDataProvider.getDotInfoForItem(info); } @Override @@ -1105,13 +1105,13 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, } }; - public void updateIconBadges(final Set updatedBadges) { - mWorkspace.updateIconBadges(updatedBadges); - mAppsView.getAppsStore().updateIconBadges(updatedBadges); + public void updateNotificationDots(final Set updatedDots) { + mWorkspace.updateNotificationDots(updatedDots); + mAppsView.getAppsStore().updateNotificationDots(updatedDots); PopupContainerWithArrow popup = PopupContainerWithArrow.getOpen(Launcher.this); if (popup != null) { - popup.updateNotificationHeader(updatedBadges); + popup.updateNotificationHeader(updatedDots); } } diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java index 338c20bbc..182a4ee1f 100644 --- a/src/com/android/launcher3/LauncherAppState.java +++ b/src/com/android/launcher3/LauncherAppState.java @@ -50,7 +50,7 @@ public class LauncherAppState { private final IconCache mIconCache; private final WidgetPreviewLoader mWidgetCache; private final InvariantDeviceProfile mInvariantDeviceProfile; - private final SecureSettingsObserver mNotificationBadgingObserver; + private final SecureSettingsObserver mNotificationDotsObserver; public static LauncherAppState getInstance(final Context context) { return INSTANCE.get(context); @@ -98,19 +98,19 @@ public class LauncherAppState { UserManagerCompat.getInstance(mContext).enableAndResetCache(); mInvariantDeviceProfile.addOnChangeListener(this::onIdpChanged); - if (!mContext.getResources().getBoolean(R.bool.notification_badging_enabled)) { - mNotificationBadgingObserver = null; + if (!mContext.getResources().getBoolean(R.bool.notification_dots_enabled)) { + mNotificationDotsObserver = null; } else { - // Register an observer to rebind the notification listener when badging is re-enabled. - mNotificationBadgingObserver = + // Register an observer to rebind the notification listener when dots are re-enabled. + mNotificationDotsObserver = newNotificationSettingsObserver(mContext, this::onNotificationSettingsChanged); - mNotificationBadgingObserver.register(); - mNotificationBadgingObserver.dispatchOnChange(); + mNotificationDotsObserver.register(); + mNotificationDotsObserver.dispatchOnChange(); } } - protected void onNotificationSettingsChanged(boolean isNotificationBadgingEnabled) { - if (isNotificationBadgingEnabled) { + protected void onNotificationSettingsChanged(boolean areNotificationDotsEnabled) { + if (areNotificationDotsEnabled) { NotificationListener.requestRebind(new ComponentName( mContext, NotificationListener.class)); } @@ -137,8 +137,8 @@ public class LauncherAppState { final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(mContext); launcherApps.removeOnAppsChangedCallback(mModel); PackageInstallerCompat.getInstance(mContext).onStop(); - if (mNotificationBadgingObserver != null) { - mNotificationBadgingObserver.unregister(); + if (mNotificationDotsObserver != null) { + mNotificationDotsObserver.unregister(); } } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index c8e660b92..8a39b3b40 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -63,7 +63,7 @@ import com.android.launcher3.accessibility.AccessibleDragListenerAdapter; import com.android.launcher3.accessibility.WorkspaceAccessibilityHelper; import com.android.launcher3.anim.AnimatorSetBuilder; import com.android.launcher3.anim.Interpolators; -import com.android.launcher3.badge.FolderBadgeInfo; +import com.android.launcher3.dot.FolderDotInfo; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.dragndrop.DragController; @@ -3168,7 +3168,7 @@ public class Workspace extends PagedView }); } - public void updateIconBadges(final Set updatedBadges) { + public void updateNotificationDots(final Set updatedDots) { final PackageUserKey packageUserKey = new PackageUserKey(null, null); final IntSet folderIds = new IntSet(); mapOverItems(MAP_RECURSE, new ItemOperator() { @@ -3176,8 +3176,8 @@ public class Workspace extends PagedView public boolean evaluate(ItemInfo info, View v) { if (info instanceof ShortcutInfo && v instanceof BubbleTextView && packageUserKey.updateFromItemInfo(info)) { - if (updatedBadges.contains(packageUserKey)) { - ((BubbleTextView) v).applyBadgeState(info, true /* animate */); + if (updatedDots.contains(packageUserKey)) { + ((BubbleTextView) v).applyDotState(info, true /* animate */); folderIds.add(info.container); } } @@ -3192,11 +3192,11 @@ public class Workspace extends PagedView public boolean evaluate(ItemInfo info, View v) { if (info instanceof FolderInfo && folderIds.contains(info.id) && v instanceof FolderIcon) { - FolderBadgeInfo folderBadgeInfo = new FolderBadgeInfo(); + FolderDotInfo folderDotInfo = new FolderDotInfo(); for (ShortcutInfo si : ((FolderInfo) info).contents) { - folderBadgeInfo.addBadgeInfo(mLauncher.getBadgeInfoForItem(si)); + folderDotInfo.addDotInfo(mLauncher.getDotInfoForItem(si)); } - ((FolderIcon) v).setBadgeInfo(folderBadgeInfo); + ((FolderIcon) v).setDotInfo(folderDotInfo); } // process all the shortcuts return false; diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java index dc3489290..cf0f2a3fe 100644 --- a/src/com/android/launcher3/allapps/AllAppsStore.java +++ b/src/com/android/launcher3/allapps/AllAppsStore.java @@ -121,12 +121,12 @@ public class AllAppsStore { mIconContainers.remove(container); } - public void updateIconBadges(Set updatedBadges) { + public void updateNotificationDots(Set updatedDots) { updateAllIcons((child) -> { if (child.getTag() instanceof ItemInfo) { ItemInfo info = (ItemInfo) child.getTag(); - if (mTempKey.updateFromItemInfo(info) && updatedBadges.contains(mTempKey)) { - child.applyBadgeState(info, true /* animate */); + if (mTempKey.updateFromItemInfo(info) && updatedDots.contains(mTempKey)) { + child.applyDotState(info, true /* animate */); } } }); diff --git a/src/com/android/launcher3/badge/BadgeInfo.java b/src/com/android/launcher3/badge/BadgeInfo.java deleted file mode 100644 index f03544fb0..000000000 --- a/src/com/android/launcher3/badge/BadgeInfo.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.launcher3.badge; - -import com.android.launcher3.notification.NotificationInfo; -import com.android.launcher3.notification.NotificationKeyData; -import com.android.launcher3.util.PackageUserKey; - -import java.util.ArrayList; -import java.util.List; - -/** - * Contains data to be used in an icon badge. - */ -public class BadgeInfo { - - public static final int MAX_COUNT = 999; - - /** Used to link this BadgeInfo to icons on the workspace and all apps */ - private PackageUserKey mPackageUserKey; - - /** - * The keys of the notifications that this badge represents. These keys can later be - * used to retrieve {@link NotificationInfo}'s. - */ - private List mNotificationKeys; - - /** - * The current sum of the counts in {@link #mNotificationKeys}, - * updated whenever a key is added or removed. - */ - private int mTotalCount; - - public BadgeInfo(PackageUserKey packageUserKey) { - mPackageUserKey = packageUserKey; - mNotificationKeys = new ArrayList<>(); - } - - /** - * Returns whether the notification was added or its count changed. - */ - public boolean addOrUpdateNotificationKey(NotificationKeyData notificationKey) { - int indexOfPrevKey = mNotificationKeys.indexOf(notificationKey); - NotificationKeyData prevKey = indexOfPrevKey == -1 ? null - : mNotificationKeys.get(indexOfPrevKey); - if (prevKey != null) { - if (prevKey.count == notificationKey.count) { - return false; - } - // Notification was updated with a new count. - mTotalCount -= prevKey.count; - mTotalCount += notificationKey.count; - prevKey.count = notificationKey.count; - return true; - } - boolean added = mNotificationKeys.add(notificationKey); - if (added) { - mTotalCount += notificationKey.count; - } - return added; - } - - /** - * Returns whether the notification was removed (false if it didn't exist). - */ - public boolean removeNotificationKey(NotificationKeyData notificationKey) { - boolean removed = mNotificationKeys.remove(notificationKey); - if (removed) { - mTotalCount -= notificationKey.count; - } - return removed; - } - - public List getNotificationKeys() { - return mNotificationKeys; - } - - public int getNotificationCount() { - return Math.min(mTotalCount, MAX_COUNT); - } - - /** - * Whether newBadge represents the same PackageUserKey as this badge, and icons with - * this badge should be invalidated. So, for instance, if a badge has 3 notifications - * and one of those notifications is updated, this method should return false because - * the badge still says "3" and the contents of those notifications are only retrieved - * upon long-click. This method always returns true when adding or removing notifications, - * or if the badge has a notification icon to show. - */ - public boolean shouldBeInvalidated(BadgeInfo newBadge) { - return mPackageUserKey.equals(newBadge.mPackageUserKey) - && (getNotificationCount() != newBadge.getNotificationCount()); - } -} diff --git a/src/com/android/launcher3/badge/FolderBadgeInfo.java b/src/com/android/launcher3/badge/FolderBadgeInfo.java deleted file mode 100644 index fa5e8a43d..000000000 --- a/src/com/android/launcher3/badge/FolderBadgeInfo.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.launcher3.badge; - -import android.view.ViewDebug; - -import com.android.launcher3.Utilities; - -/** - * Subclass of BadgeInfo that only contains the badge count, which is - * the sum of all the Folder's items' notifications (each counts as 1). - */ -public class FolderBadgeInfo extends BadgeInfo { - - private static final int MIN_COUNT = 0; - - private int mNumNotifications; - - public FolderBadgeInfo() { - super(null); - } - - public void addBadgeInfo(BadgeInfo badgeToAdd) { - if (badgeToAdd == null) { - return; - } - mNumNotifications += badgeToAdd.getNotificationKeys().size(); - mNumNotifications = Utilities.boundToRange( - mNumNotifications, MIN_COUNT, BadgeInfo.MAX_COUNT); - } - - public void subtractBadgeInfo(BadgeInfo badgeToSubtract) { - if (badgeToSubtract == null) { - return; - } - mNumNotifications -= badgeToSubtract.getNotificationKeys().size(); - mNumNotifications = Utilities.boundToRange( - mNumNotifications, MIN_COUNT, BadgeInfo.MAX_COUNT); - } - - @Override - public int getNotificationCount() { - // This forces the folder badge to always show up as a dot. - return 0; - } - - @ViewDebug.ExportedProperty(category = "launcher") - public boolean hasBadge() { - return mNumNotifications > 0; - } -} diff --git a/src/com/android/launcher3/dot/DotInfo.java b/src/com/android/launcher3/dot/DotInfo.java new file mode 100644 index 000000000..9d0e5d38d --- /dev/null +++ b/src/com/android/launcher3/dot/DotInfo.java @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.dot; + +import com.android.launcher3.notification.NotificationInfo; +import com.android.launcher3.notification.NotificationKeyData; +import com.android.launcher3.util.PackageUserKey; + +import java.util.ArrayList; +import java.util.List; + +/** + * Contains data to be used for a notification dot. + */ +public class DotInfo { + + public static final int MAX_COUNT = 999; + + /** Used to link this DotInfo to icons on the workspace and all apps */ + private PackageUserKey mPackageUserKey; + + /** + * The keys of the notifications that this dot represents. These keys can later be + * used to retrieve {@link NotificationInfo}'s. + */ + private List mNotificationKeys; + + /** + * The current sum of the counts in {@link #mNotificationKeys}, + * updated whenever a key is added or removed. + */ + private int mTotalCount; + + public DotInfo(PackageUserKey packageUserKey) { + mPackageUserKey = packageUserKey; + mNotificationKeys = new ArrayList<>(); + } + + /** + * Returns whether the notification was added or its count changed. + */ + public boolean addOrUpdateNotificationKey(NotificationKeyData notificationKey) { + int indexOfPrevKey = mNotificationKeys.indexOf(notificationKey); + NotificationKeyData prevKey = indexOfPrevKey == -1 ? null + : mNotificationKeys.get(indexOfPrevKey); + if (prevKey != null) { + if (prevKey.count == notificationKey.count) { + return false; + } + // Notification was updated with a new count. + mTotalCount -= prevKey.count; + mTotalCount += notificationKey.count; + prevKey.count = notificationKey.count; + return true; + } + boolean added = mNotificationKeys.add(notificationKey); + if (added) { + mTotalCount += notificationKey.count; + } + return added; + } + + /** + * Returns whether the notification was removed (false if it didn't exist). + */ + public boolean removeNotificationKey(NotificationKeyData notificationKey) { + boolean removed = mNotificationKeys.remove(notificationKey); + if (removed) { + mTotalCount -= notificationKey.count; + } + return removed; + } + + public List getNotificationKeys() { + return mNotificationKeys; + } + + public int getNotificationCount() { + return Math.min(mTotalCount, MAX_COUNT); + } + + /** + * TODO: this is outdated now that we only show dots instead of icons/numbers. can remove? + * Whether newDot represents the same PackageUserKey as this badge, and icons with + * this badge should be invalidated. So, for instance, if a badge has 3 notifications + * and one of those notifications is updated, this method should return false because + * the badge still says "3" and the contents of those notifications are only retrieved + * upon long-click. This method always returns true when adding or removing notifications, + * or if the badge has a notification icon to show. + */ + public boolean shouldBeInvalidated(DotInfo newDot) { + return mPackageUserKey.equals(newDot.mPackageUserKey) + && (getNotificationCount() != newDot.getNotificationCount()); + } +} diff --git a/src/com/android/launcher3/dot/FolderDotInfo.java b/src/com/android/launcher3/dot/FolderDotInfo.java new file mode 100644 index 000000000..b5eb8cd58 --- /dev/null +++ b/src/com/android/launcher3/dot/FolderDotInfo.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.dot; + +import android.view.ViewDebug; + +import com.android.launcher3.Utilities; + +/** + * Subclass of DotInfo that only contains the dot count, which is + * the sum of all the Folder's items' notifications (each counts as 1). + */ +public class FolderDotInfo extends DotInfo { + + private static final int MIN_COUNT = 0; + + private int mNumNotifications; + + public FolderDotInfo() { + super(null); + } + + public void addDotInfo(DotInfo dotToAdd) { + if (dotToAdd == null) { + return; + } + mNumNotifications += dotToAdd.getNotificationKeys().size(); + mNumNotifications = Utilities.boundToRange( + mNumNotifications, MIN_COUNT, DotInfo.MAX_COUNT); + } + + public void subtractDotInfo(DotInfo dotToSubtract) { + if (dotToSubtract == null) { + return; + } + mNumNotifications -= dotToSubtract.getNotificationKeys().size(); + mNumNotifications = Utilities.boundToRange( + mNumNotifications, MIN_COUNT, DotInfo.MAX_COUNT); + } + + @Override + public int getNotificationCount() { + return mNumNotifications; + } + + @ViewDebug.ExportedProperty(category = "launcher") + public boolean hasDot() { + return mNumNotifications > 0; + } +} diff --git a/src/com/android/launcher3/dragndrop/FolderAdaptiveIcon.java b/src/com/android/launcher3/dragndrop/FolderAdaptiveIcon.java index e40397bf3..794ab4eb0 100644 --- a/src/com/android/launcher3/dragndrop/FolderAdaptiveIcon.java +++ b/src/com/android/launcher3/dragndrop/FolderAdaptiveIcon.java @@ -102,7 +102,7 @@ public class FolderAdaptiveIcon extends AdaptiveIconDrawable { c.setBitmap(badgeBitmap); bg.drawShadow(c); bg.drawBackgroundStroke(c); - icon.drawBadge(c); + icon.drawDot(c); // Initialize preview final float sizeScaleFactor = 1 + 2 * AdaptiveIconDrawable.getExtraInsetFraction(); diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 94c8d4549..51c2998ec 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -645,8 +645,8 @@ public class Folder extends AbstractFloatingView implements DragSource, mFolderIcon.mBackground.fadeInBackgroundShadow(); mFolderIcon.mBackground.animateBackgroundStroke(); mFolderIcon.onFolderClose(mContent.getCurrentPage()); - if (mFolderIcon.hasBadge()) { - mFolderIcon.animateBadgeScale(0f, 1f); + if (mFolderIcon.hasDot()) { + mFolderIcon.animateDotScale(0f, 1f); } mFolderIcon.requestFocus(); } diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index 50d14428d..30dbe698c 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -56,7 +56,7 @@ import com.android.launcher3.StylusEventHelper; import com.android.launcher3.Utilities; import com.android.launcher3.Workspace; import com.android.launcher3.anim.Interpolators; -import com.android.launcher3.badge.FolderBadgeInfo; +import com.android.launcher3.dot.FolderDotInfo; import com.android.launcher3.dragndrop.BaseItemDragListener; import com.android.launcher3.dragndrop.DragLayer; import com.android.launcher3.dragndrop.DragView; @@ -109,23 +109,23 @@ public class FolderIcon extends FrameLayout implements FolderListener { private Alarm mOpenAlarm = new Alarm(); @ViewDebug.ExportedProperty(category = "launcher", deepExport = true) - private FolderBadgeInfo mBadgeInfo = new FolderBadgeInfo(); + private FolderDotInfo mDotInfo = new FolderDotInfo(); private DotRenderer mDotRenderer; @ViewDebug.ExportedProperty(category = "launcher", deepExport = true) private DotRenderer.DrawParams mDotParams; - private float mBadgeScale; - private Animator mBadgeScaleAnim; + private float mDotScale; + private Animator mDotScaleAnim; - private static final Property BADGE_SCALE_PROPERTY - = new Property(Float.TYPE, "badgeScale") { + private static final Property DOT_SCALE_PROPERTY + = new Property(Float.TYPE, "dotScale") { @Override public Float get(FolderIcon folderIcon) { - return folderIcon.mBadgeScale; + return folderIcon.mDotScale; } @Override public void set(FolderIcon folderIcon, Float value) { - folderIcon.mBadgeScale = value; + folderIcon.mDotScale = value; folderIcon.invalidate(); } }; @@ -382,9 +382,9 @@ public class FolderIcon extends FrameLayout implements FolderListener { itemReturnedOnFailedDrop); } - public void setBadgeInfo(FolderBadgeInfo badgeInfo) { - updateBadgeScale(mBadgeInfo.hasBadge(), badgeInfo.hasBadge()); - mBadgeInfo = badgeInfo; + public void setDotInfo(FolderDotInfo dotInfo) { + updateDotScale(mDotInfo.hasDot(), dotInfo.hasDot()); + mDotInfo = dotInfo; } public ClippedFolderIconLayoutRule getLayoutRule() { @@ -392,41 +392,41 @@ public class FolderIcon extends FrameLayout implements FolderListener { } /** - * Sets mBadgeScale to 1 or 0, animating if wasBadged or isBadged is false - * (the badge is being added or removed). + * Sets mDotScale to 1 or 0, animating if wasDotted or isDotted is false + * (the dot is being added or removed). */ - private void updateBadgeScale(boolean wasBadged, boolean isBadged) { - float newBadgeScale = isBadged ? 1f : 0f; - // Animate when a badge is first added or when it is removed. - if ((wasBadged ^ isBadged) && isShown()) { - animateBadgeScale(newBadgeScale); + private void updateDotScale(boolean wasDotted, boolean isDotted) { + float newDotScale = isDotted ? 1f : 0f; + // Animate when a dot is first added or when it is removed. + if ((wasDotted ^ isDotted) && isShown()) { + animateDotScale(newDotScale); } else { - cancelBadgeScaleAnim(); - mBadgeScale = newBadgeScale; + cancelDotScaleAnim(); + mDotScale = newDotScale; invalidate(); } } - private void cancelBadgeScaleAnim() { - if (mBadgeScaleAnim != null) { - mBadgeScaleAnim.cancel(); + private void cancelDotScaleAnim() { + if (mDotScaleAnim != null) { + mDotScaleAnim.cancel(); } } - public void animateBadgeScale(float... badgeScales) { - cancelBadgeScaleAnim(); - mBadgeScaleAnim = ObjectAnimator.ofFloat(this, BADGE_SCALE_PROPERTY, badgeScales); - mBadgeScaleAnim.addListener(new AnimatorListenerAdapter() { + public void animateDotScale(float... dotScales) { + cancelDotScaleAnim(); + mDotScaleAnim = ObjectAnimator.ofFloat(this, DOT_SCALE_PROPERTY, dotScales); + mDotScaleAnim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - mBadgeScaleAnim = null; + mDotScaleAnim = null; } }); - mBadgeScaleAnim.start(); + mDotScaleAnim.start(); } - public boolean hasBadge() { - return mBadgeInfo != null && mBadgeInfo.hasBadge(); + public boolean hasDot() { + return mDotInfo != null && mDotInfo.hasDot(); } private float getLocalCenterForIndex(int index, int curNumItems, int[] center) { @@ -487,18 +487,18 @@ public class FolderIcon extends FrameLayout implements FolderListener { mBackground.drawBackgroundStroke(canvas); } - drawBadge(canvas); + drawDot(canvas); } - public void drawBadge(Canvas canvas) { - if ((mBadgeInfo != null && mBadgeInfo.hasBadge()) || mBadgeScale > 0) { + public void drawDot(Canvas canvas) { + if ((mDotInfo != null && mDotInfo.hasDot()) || mDotScale > 0) { Rect iconBounds = mDotParams.iconBounds; BubbleTextView.getIconBounds(this, iconBounds, mLauncher.getDeviceProfile().iconSizePx); - // If we are animating to the accepting state, animate the badge out. - mDotParams.scale = Math.max(0, mBadgeScale - mBackground.getScaleProgress()); + // If we are animating to the accepting state, animate the dot out. + mDotParams.scale = Math.max(0, mDotScale - mBackground.getScaleProgress()); mDotParams.spaceForOffset.set(getWidth() - iconBounds.right, iconBounds.top); - mDotParams.color = mBackground.getBadgeColor(); + mDotParams.color = mBackground.getDotColor(); mDotRenderer.draw(canvas, mDotParams); } } @@ -567,20 +567,20 @@ public class FolderIcon extends FrameLayout implements FolderListener { @Override public void onAdd(ShortcutInfo item, int rank) { - boolean wasBadged = mBadgeInfo.hasBadge(); - mBadgeInfo.addBadgeInfo(mLauncher.getBadgeInfoForItem(item)); - boolean isBadged = mBadgeInfo.hasBadge(); - updateBadgeScale(wasBadged, isBadged); + boolean wasDotted = mDotInfo.hasDot(); + mDotInfo.addDotInfo(mLauncher.getDotInfoForItem(item)); + boolean isDotted = mDotInfo.hasDot(); + updateDotScale(wasDotted, isDotted); invalidate(); requestLayout(); } @Override public void onRemove(ShortcutInfo item) { - boolean wasBadged = mBadgeInfo.hasBadge(); - mBadgeInfo.subtractBadgeInfo(mLauncher.getBadgeInfoForItem(item)); - boolean isBadged = mBadgeInfo.hasBadge(); - updateBadgeScale(wasBadged, isBadged); + boolean wasDotted = mDotInfo.hasDot(); + mDotInfo.subtractDotInfo(mLauncher.getDotInfoForItem(item)); + boolean isDotted = mDotInfo.hasDot(); + updateDotScale(wasDotted, isDotted); invalidate(); requestLayout(); } diff --git a/src/com/android/launcher3/folder/PreviewBackground.java b/src/com/android/launcher3/folder/PreviewBackground.java index 3c9e2dc20..60f0eee17 100644 --- a/src/com/android/launcher3/folder/PreviewBackground.java +++ b/src/com/android/launcher3/folder/PreviewBackground.java @@ -39,7 +39,6 @@ import android.view.View; import com.android.launcher3.CellLayout; import com.android.launcher3.DeviceProfile; -import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.util.Themes; import com.android.launcher3.views.ActivityContext; @@ -64,7 +63,7 @@ public class PreviewBackground { float mScale = 1f; private float mColorMultiplier = 1f; private int mBgColor; - private int mBadgeColor; + private int mDotColor; private float mStrokeWidth; private int mStrokeAlpha = MAX_BG_OPACITY; private int mShadowAlpha = 255; @@ -127,7 +126,7 @@ public class PreviewBackground { int availableSpaceX, int topPadding) { mInvalidateDelegate = invalidateDelegate; mBgColor = Themes.getAttrColor(context, android.R.attr.colorPrimary); - mBadgeColor = Themes.getAttrColor(context, R.attr.folderBadgeColor); + mDotColor = Themes.getAttrColor(context, R.attr.folderDotColor); DeviceProfile grid = activity.getDeviceProfile(); previewSize = grid.folderIconSizePx; @@ -193,8 +192,8 @@ public class PreviewBackground { return setColorAlphaBound(mBgColor, alpha); } - public int getBadgeColor() { - return mBadgeColor; + public int getDotColor() { + return mDotColor; } public void drawBackground(Canvas canvas) { diff --git a/src/com/android/launcher3/notification/NotificationInfo.java b/src/com/android/launcher3/notification/NotificationInfo.java index 691893579..92f2265b5 100644 --- a/src/com/android/launcher3/notification/NotificationInfo.java +++ b/src/com/android/launcher3/notification/NotificationInfo.java @@ -30,13 +30,14 @@ import android.view.View; import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAppState; +import com.android.launcher3.dot.DotInfo; import com.android.launcher3.graphics.IconPalette; import com.android.launcher3.util.PackageUserKey; /** * An object that contains relevant information from a {@link StatusBarNotification}. This should * only be created when we need to show the notification contents on the UI; until then, a - * {@link com.android.launcher3.badge.BadgeInfo} with only the notification key should + * {@link DotInfo} with only the notification key should * be passed around, and then this can be constructed using the StatusBarNotification from * {@link NotificationListener#getNotificationsForKeys(java.util.List)}. */ diff --git a/src/com/android/launcher3/notification/NotificationKeyData.java b/src/com/android/launcher3/notification/NotificationKeyData.java index 508cf877c..5050457b9 100644 --- a/src/com/android/launcher3/notification/NotificationKeyData.java +++ b/src/com/android/launcher3/notification/NotificationKeyData.java @@ -26,7 +26,7 @@ import androidx.annotation.NonNull; /** * The key data associated with the notification, used to determine what to include - * in badges and dummy popup views before they are populated. + * in dots and dummy popup views before they are populated. * * @see NotificationInfo for the full data used when populating the dummy views. */ diff --git a/src/com/android/launcher3/notification/NotificationListener.java b/src/com/android/launcher3/notification/NotificationListener.java index f27b72819..e57a051f8 100644 --- a/src/com/android/launcher3/notification/NotificationListener.java +++ b/src/com/android/launcher3/notification/NotificationListener.java @@ -77,7 +77,7 @@ public class NotificationListener extends NotificationListenerService { /** The last notification key that was dismissed from launcher UI */ private String mLastKeyDismissedByLauncher; - private SecureSettingsObserver mNotificationBadgingObserver; + private SecureSettingsObserver mNotificationDotsObserver; private final Handler.Callback mWorkerCallback = new Handler.Callback() { @Override @@ -169,7 +169,7 @@ public class NotificationListener extends NotificationListenerService { if (notificationListener != null) { notificationListener.onNotificationFullRefresh(); } else if (!sIsCreated && sNotificationsChangedListener != null) { - // User turned off badging globally, so we unbound this service; + // User turned off dots globally, so we unbound this service; // tell the listener that there are no notifications to remove dots. sNotificationsChangedListener.onNotificationFullRefresh( Collections.emptyList()); @@ -194,16 +194,16 @@ public class NotificationListener extends NotificationListenerService { super.onListenerConnected(); sIsConnected = true; - mNotificationBadgingObserver = - newNotificationSettingsObserver(this, this::onNotificationBadgingChanged); - mNotificationBadgingObserver.register(); - mNotificationBadgingObserver.dispatchOnChange(); + mNotificationDotsObserver = + newNotificationSettingsObserver(this, this::onNotificationSettingsChanged); + mNotificationDotsObserver.register(); + mNotificationDotsObserver.dispatchOnChange(); onNotificationFullRefresh(); } - private void onNotificationBadgingChanged(boolean isNotificationBadgingEnabled) { - if (!isNotificationBadgingEnabled && sIsConnected) { + private void onNotificationSettingsChanged(boolean areNotificationDotsEnabled) { + if (!areNotificationDotsEnabled && sIsConnected) { requestUnbind(); } } @@ -216,7 +216,7 @@ public class NotificationListener extends NotificationListenerService { public void onListenerDisconnected() { super.onListenerDisconnected(); sIsConnected = false; - mNotificationBadgingObserver.unregister(); + mNotificationDotsObserver.unregister(); } @Override diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java index 37a000da2..0c098da0f 100644 --- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java +++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java @@ -53,7 +53,7 @@ import com.android.launcher3.LauncherModel; import com.android.launcher3.R; import com.android.launcher3.accessibility.LauncherAccessibilityDelegate; import com.android.launcher3.accessibility.ShortcutMenuAccessibilityDelegate; -import com.android.launcher3.badge.BadgeInfo; +import com.android.launcher3.dot.DotInfo; import com.android.launcher3.dragndrop.DragController; import com.android.launcher3.dragndrop.DragOptions; import com.android.launcher3.dragndrop.DragView; @@ -279,7 +279,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } mLauncher.getDragController().addDragListener(this); - mOriginalIcon.forceHideBadge(true); + mOriginalIcon.forceHideDot(true); // All views are added. Animate layout from now on. setLayoutTransition(new LayoutTransition()); @@ -462,32 +462,32 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } /** - * Updates the notification header if the original icon's badge updated. + * Updates the notification header if the original icon's dot updated. */ - public void updateNotificationHeader(Set updatedBadges) { + public void updateNotificationHeader(Set updatedDots) { ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag(); PackageUserKey packageUser = PackageUserKey.fromItemInfo(itemInfo); - if (updatedBadges.contains(packageUser)) { + if (updatedDots.contains(packageUser)) { updateNotificationHeader(); } } private void updateNotificationHeader() { ItemInfoWithIcon itemInfo = (ItemInfoWithIcon) mOriginalIcon.getTag(); - BadgeInfo badgeInfo = mLauncher.getBadgeInfoForItem(itemInfo); - if (mNotificationItemView != null && badgeInfo != null) { + DotInfo dotInfo = mLauncher.getDotInfoForItem(itemInfo); + if (mNotificationItemView != null && dotInfo != null) { mNotificationItemView.updateHeader( - badgeInfo.getNotificationCount(), itemInfo.iconColor); + dotInfo.getNotificationCount(), itemInfo.iconColor); } } - public void trimNotifications(Map updatedBadges) { + public void trimNotifications(Map updatedDots) { if (mNotificationItemView == null) { return; } ItemInfo originalInfo = (ItemInfo) mOriginalIcon.getTag(); - BadgeInfo badgeInfo = updatedBadges.get(PackageUserKey.fromItemInfo(originalInfo)); - if (badgeInfo == null || badgeInfo.getNotificationKeys().size() == 0) { + DotInfo dotInfo = updatedDots.get(PackageUserKey.fromItemInfo(originalInfo)); + if (dotInfo == null || dotInfo.getNotificationKeys().size() == 0) { // No more notifications, remove the notification views and expand all shortcuts. mNotificationItemView.removeAllViews(); mNotificationItemView = null; @@ -495,7 +495,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, updateDividers(); } else { mNotificationItemView.trimNotifications( - NotificationKeyData.extractKeysOnly(badgeInfo.getNotificationKeys())); + NotificationKeyData.extractKeysOnly(dotInfo.getNotificationKeys())); } } @@ -540,14 +540,14 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, protected void onCreateCloseAnimation(AnimatorSet anim) { // Animate original icon's text back in. anim.play(mOriginalIcon.createTextAlphaAnimator(true /* fadeIn */)); - mOriginalIcon.forceHideBadge(false); + mOriginalIcon.forceHideDot(false); } @Override protected void closeComplete() { super.closeComplete(); mOriginalIcon.setTextVisibility(mOriginalIcon.shouldTextBeVisible()); - mOriginalIcon.forceHideBadge(false); + mOriginalIcon.forceHideDot(false); } @Override diff --git a/src/com/android/launcher3/popup/PopupDataProvider.java b/src/com/android/launcher3/popup/PopupDataProvider.java index 320650397..a7184947c 100644 --- a/src/com/android/launcher3/popup/PopupDataProvider.java +++ b/src/com/android/launcher3/popup/PopupDataProvider.java @@ -23,7 +23,7 @@ import android.util.Log; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.Utilities; -import com.android.launcher3.badge.BadgeInfo; +import com.android.launcher3.dot.DotInfo; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.notification.NotificationKeyData; import com.android.launcher3.notification.NotificationListener; @@ -53,8 +53,8 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan /** Maps launcher activity components to a count of how many shortcuts they have. */ private HashMap mDeepShortcutMap = new HashMap<>(); - /** Maps packages to their BadgeInfo's . */ - private Map mPackageUserToBadgeInfos = new HashMap<>(); + /** Maps packages to their DotInfo's . */ + private Map mPackageUserToDotInfos = new HashMap<>(); /** Maps packages to their Widgets */ private ArrayList mAllWidgets = new ArrayList<>(); @@ -65,83 +65,83 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan @Override public void onNotificationPosted(PackageUserKey postedPackageUserKey, NotificationKeyData notificationKey, boolean shouldBeFilteredOut) { - BadgeInfo badgeInfo = mPackageUserToBadgeInfos.get(postedPackageUserKey); - boolean badgeShouldBeRefreshed; - if (badgeInfo == null) { + DotInfo dotInfo = mPackageUserToDotInfos.get(postedPackageUserKey); + boolean dotShouldBeRefreshed; + if (dotInfo == null) { if (!shouldBeFilteredOut) { - BadgeInfo newBadgeInfo = new BadgeInfo(postedPackageUserKey); - newBadgeInfo.addOrUpdateNotificationKey(notificationKey); - mPackageUserToBadgeInfos.put(postedPackageUserKey, newBadgeInfo); - badgeShouldBeRefreshed = true; + DotInfo newDotInfo = new DotInfo(postedPackageUserKey); + newDotInfo.addOrUpdateNotificationKey(notificationKey); + mPackageUserToDotInfos.put(postedPackageUserKey, newDotInfo); + dotShouldBeRefreshed = true; } else { - badgeShouldBeRefreshed = false; + dotShouldBeRefreshed = false; } } else { - badgeShouldBeRefreshed = shouldBeFilteredOut - ? badgeInfo.removeNotificationKey(notificationKey) - : badgeInfo.addOrUpdateNotificationKey(notificationKey); - if (badgeInfo.getNotificationKeys().size() == 0) { - mPackageUserToBadgeInfos.remove(postedPackageUserKey); + dotShouldBeRefreshed = shouldBeFilteredOut + ? dotInfo.removeNotificationKey(notificationKey) + : dotInfo.addOrUpdateNotificationKey(notificationKey); + if (dotInfo.getNotificationKeys().size() == 0) { + mPackageUserToDotInfos.remove(postedPackageUserKey); } } - if (badgeShouldBeRefreshed) { - mLauncher.updateIconBadges(Utilities.singletonHashSet(postedPackageUserKey)); + if (dotShouldBeRefreshed) { + mLauncher.updateNotificationDots(Utilities.singletonHashSet(postedPackageUserKey)); } } @Override public void onNotificationRemoved(PackageUserKey removedPackageUserKey, NotificationKeyData notificationKey) { - BadgeInfo oldBadgeInfo = mPackageUserToBadgeInfos.get(removedPackageUserKey); - if (oldBadgeInfo != null && oldBadgeInfo.removeNotificationKey(notificationKey)) { - if (oldBadgeInfo.getNotificationKeys().size() == 0) { - mPackageUserToBadgeInfos.remove(removedPackageUserKey); + DotInfo oldDotInfo = mPackageUserToDotInfos.get(removedPackageUserKey); + if (oldDotInfo != null && oldDotInfo.removeNotificationKey(notificationKey)) { + if (oldDotInfo.getNotificationKeys().size() == 0) { + mPackageUserToDotInfos.remove(removedPackageUserKey); } - mLauncher.updateIconBadges(Utilities.singletonHashSet(removedPackageUserKey)); - trimNotifications(mPackageUserToBadgeInfos); + mLauncher.updateNotificationDots(Utilities.singletonHashSet(removedPackageUserKey)); + trimNotifications(mPackageUserToDotInfos); } } @Override public void onNotificationFullRefresh(List activeNotifications) { if (activeNotifications == null) return; - // This will contain the PackageUserKeys which have updated badges. - HashMap updatedBadges = new HashMap<>(mPackageUserToBadgeInfos); - mPackageUserToBadgeInfos.clear(); + // This will contain the PackageUserKeys which have updated dots. + HashMap updatedDots = new HashMap<>(mPackageUserToDotInfos); + mPackageUserToDotInfos.clear(); for (StatusBarNotification notification : activeNotifications) { PackageUserKey packageUserKey = PackageUserKey.fromNotification(notification); - BadgeInfo badgeInfo = mPackageUserToBadgeInfos.get(packageUserKey); - if (badgeInfo == null) { - badgeInfo = new BadgeInfo(packageUserKey); - mPackageUserToBadgeInfos.put(packageUserKey, badgeInfo); + DotInfo dotInfo = mPackageUserToDotInfos.get(packageUserKey); + if (dotInfo == null) { + dotInfo = new DotInfo(packageUserKey); + mPackageUserToDotInfos.put(packageUserKey, dotInfo); } - badgeInfo.addOrUpdateNotificationKey(NotificationKeyData + dotInfo.addOrUpdateNotificationKey(NotificationKeyData .fromNotification(notification)); } - // Add and remove from updatedBadges so it contains the PackageUserKeys of updated badges. - for (PackageUserKey packageUserKey : mPackageUserToBadgeInfos.keySet()) { - BadgeInfo prevBadge = updatedBadges.get(packageUserKey); - BadgeInfo newBadge = mPackageUserToBadgeInfos.get(packageUserKey); - if (prevBadge == null) { - updatedBadges.put(packageUserKey, newBadge); + // Add and remove from updatedDots so it contains the PackageUserKeys of updated dots. + for (PackageUserKey packageUserKey : mPackageUserToDotInfos.keySet()) { + DotInfo prevDot = updatedDots.get(packageUserKey); + DotInfo newDot = mPackageUserToDotInfos.get(packageUserKey); + if (prevDot == null) { + updatedDots.put(packageUserKey, newDot); } else { - if (!prevBadge.shouldBeInvalidated(newBadge)) { - updatedBadges.remove(packageUserKey); + if (!prevDot.shouldBeInvalidated(newDot)) { + updatedDots.remove(packageUserKey); } } } - if (!updatedBadges.isEmpty()) { - mLauncher.updateIconBadges(updatedBadges.keySet()); + if (!updatedDots.isEmpty()) { + mLauncher.updateNotificationDots(updatedDots.keySet()); } - trimNotifications(updatedBadges); + trimNotifications(updatedDots); } - private void trimNotifications(Map updatedBadges) { + private void trimNotifications(Map updatedDots) { PopupContainerWithArrow openContainer = PopupContainerWithArrow.getOpen(mLauncher); if (openContainer != null) { - openContainer.trimNotifications(updatedBadges); + openContainer.trimNotifications(updatedDots); } } @@ -163,17 +163,17 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan return count == null ? 0 : count; } - public BadgeInfo getBadgeInfoForItem(ItemInfo info) { + public DotInfo getDotInfoForItem(ItemInfo info) { if (!DeepShortcutManager.supportsShortcuts(info)) { return null; } - return mPackageUserToBadgeInfos.get(PackageUserKey.fromItemInfo(info)); + return mPackageUserToDotInfos.get(PackageUserKey.fromItemInfo(info)); } public @NonNull List getNotificationKeysForItem(ItemInfo info) { - BadgeInfo badgeInfo = getBadgeInfoForItem(info); - return badgeInfo == null ? Collections.EMPTY_LIST : badgeInfo.getNotificationKeys(); + DotInfo dotInfo = getDotInfoForItem(info); + return dotInfo == null ? Collections.EMPTY_LIST : dotInfo.getNotificationKeys(); } /** This makes a potentially expensive binder call and should be run on a background thread. */ diff --git a/src/com/android/launcher3/settings/IconBadgingPreference.java b/src/com/android/launcher3/settings/IconBadgingPreference.java deleted file mode 100644 index 7c97b38d2..000000000 --- a/src/com/android/launcher3/settings/IconBadgingPreference.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.launcher3.settings; - -import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY; -import static com.android.launcher3.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGS; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.content.ComponentName; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.os.Bundle; -import android.provider.Settings; -import android.util.AttributeSet; -import android.view.View; - -import com.android.launcher3.R; -import com.android.launcher3.notification.NotificationListener; -import com.android.launcher3.util.SecureSettingsObserver; - -import androidx.preference.Preference; -import androidx.preference.PreferenceViewHolder; - -/** - * A {@link Preference} for indicating icon badging status. - * Also has utility methods for updating UI based on badging status changes. - */ -public class IconBadgingPreference extends Preference - implements SecureSettingsObserver.OnChangeListener { - - private boolean mWidgetFrameVisible = false; - - /** Hidden field Settings.Secure.ENABLED_NOTIFICATION_LISTENERS */ - private static final String NOTIFICATION_ENABLED_LISTENERS = "enabled_notification_listeners"; - - public IconBadgingPreference( - Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } - - public IconBadgingPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - public IconBadgingPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public IconBadgingPreference(Context context) { - super(context); - } - - private void setWidgetFrameVisible(boolean isVisible) { - if (mWidgetFrameVisible != isVisible) { - mWidgetFrameVisible = isVisible; - notifyChanged(); - } - } - - @Override - public void onBindViewHolder(PreferenceViewHolder holder) { - super.onBindViewHolder(holder); - - View widgetFrame = holder.findViewById(android.R.id.widget_frame); - if (widgetFrame != null) { - widgetFrame.setVisibility(mWidgetFrameVisible ? View.VISIBLE : View.GONE); - } - } - - @Override - public void onSettingsChanged(boolean enabled) { - int summary = enabled ? R.string.icon_badging_desc_on : R.string.icon_badging_desc_off; - - boolean serviceEnabled = true; - if (enabled) { - // Check if the listener is enabled or not. - String enabledListeners = Settings.Secure.getString( - getContext().getContentResolver(), NOTIFICATION_ENABLED_LISTENERS); - ComponentName myListener = - new ComponentName(getContext(), NotificationListener.class); - serviceEnabled = enabledListeners != null && - (enabledListeners.contains(myListener.flattenToString()) || - enabledListeners.contains(myListener.flattenToShortString())); - if (!serviceEnabled) { - summary = R.string.title_missing_notification_access; - } - } - setWidgetFrameVisible(!serviceEnabled); - setFragment(serviceEnabled ? null : NotificationAccessConfirmation.class.getName()); - setSummary(summary); - } - - public static class NotificationAccessConfirmation - extends DialogFragment implements DialogInterface.OnClickListener { - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final Context context = getActivity(); - String msg = context.getString(R.string.msg_missing_notification_access, - context.getString(R.string.derived_app_name)); - return new AlertDialog.Builder(context) - .setTitle(R.string.title_missing_notification_access) - .setMessage(msg) - .setNegativeButton(android.R.string.cancel, null) - .setPositiveButton(R.string.title_change_settings, this) - .create(); - } - - @Override - public void onClick(DialogInterface dialogInterface, int i) { - ComponentName cn = new ComponentName(getActivity(), NotificationListener.class); - Bundle showFragmentArgs = new Bundle(); - showFragmentArgs.putString(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString()); - - Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - .putExtra(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString()) - .putExtra(EXTRA_SHOW_FRAGMENT_ARGS, showFragmentArgs); - getActivity().startActivity(intent); - } - } -} diff --git a/src/com/android/launcher3/settings/NotificationDotsPreference.java b/src/com/android/launcher3/settings/NotificationDotsPreference.java new file mode 100644 index 000000000..f30470a44 --- /dev/null +++ b/src/com/android/launcher3/settings/NotificationDotsPreference.java @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.launcher3.settings; + +import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY; +import static com.android.launcher3.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGS; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.ComponentName; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.provider.Settings; +import android.util.AttributeSet; +import android.view.View; + +import com.android.launcher3.R; +import com.android.launcher3.notification.NotificationListener; +import com.android.launcher3.util.SecureSettingsObserver; + +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; + +/** + * A {@link Preference} for indicating notification dots status. + * Also has utility methods for updating UI based on dots status changes. + */ +public class NotificationDotsPreference extends Preference + implements SecureSettingsObserver.OnChangeListener { + + private boolean mWidgetFrameVisible = false; + + /** Hidden field Settings.Secure.ENABLED_NOTIFICATION_LISTENERS */ + private static final String NOTIFICATION_ENABLED_LISTENERS = "enabled_notification_listeners"; + + public NotificationDotsPreference( + Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public NotificationDotsPreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public NotificationDotsPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public NotificationDotsPreference(Context context) { + super(context); + } + + private void setWidgetFrameVisible(boolean isVisible) { + if (mWidgetFrameVisible != isVisible) { + mWidgetFrameVisible = isVisible; + notifyChanged(); + } + } + + @Override + public void onBindViewHolder(PreferenceViewHolder holder) { + super.onBindViewHolder(holder); + + View widgetFrame = holder.findViewById(android.R.id.widget_frame); + if (widgetFrame != null) { + widgetFrame.setVisibility(mWidgetFrameVisible ? View.VISIBLE : View.GONE); + } + } + + @Override + public void onSettingsChanged(boolean enabled) { + int summary = enabled + ? R.string.notification_dots_desc_on + : R.string.notification_dots_desc_off; + + boolean serviceEnabled = true; + if (enabled) { + // Check if the listener is enabled or not. + String enabledListeners = Settings.Secure.getString( + getContext().getContentResolver(), NOTIFICATION_ENABLED_LISTENERS); + ComponentName myListener = + new ComponentName(getContext(), NotificationListener.class); + serviceEnabled = enabledListeners != null && + (enabledListeners.contains(myListener.flattenToString()) || + enabledListeners.contains(myListener.flattenToShortString())); + if (!serviceEnabled) { + summary = R.string.title_missing_notification_access; + } + } + setWidgetFrameVisible(!serviceEnabled); + setFragment(serviceEnabled ? null : NotificationAccessConfirmation.class.getName()); + setSummary(summary); + } + + public static class NotificationAccessConfirmation + extends DialogFragment implements DialogInterface.OnClickListener { + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final Context context = getActivity(); + String msg = context.getString(R.string.msg_missing_notification_access, + context.getString(R.string.derived_app_name)); + return new AlertDialog.Builder(context) + .setTitle(R.string.title_missing_notification_access) + .setMessage(msg) + .setNegativeButton(android.R.string.cancel, null) + .setPositiveButton(R.string.title_change_settings, this) + .create(); + } + + @Override + public void onClick(DialogInterface dialogInterface, int i) { + ComponentName cn = new ComponentName(getActivity(), NotificationListener.class); + Bundle showFragmentArgs = new Bundle(); + showFragmentArgs.putString(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString()); + + Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + .putExtra(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString()) + .putExtra(EXTRA_SHOW_FRAGMENT_ARGS, showFragmentArgs); + getActivity().startActivity(intent); + } + } +} diff --git a/src/com/android/launcher3/settings/SettingsActivity.java b/src/com/android/launcher3/settings/SettingsActivity.java index 7c158d9f7..77682e55e 100644 --- a/src/com/android/launcher3/settings/SettingsActivity.java +++ b/src/com/android/launcher3/settings/SettingsActivity.java @@ -54,7 +54,7 @@ public class SettingsActivity extends Activity private static final String DEVELOPER_OPTIONS_KEY = "pref_developer_options"; private static final String FLAGS_PREFERENCE_KEY = "flag_toggler"; - private static final String ICON_BADGING_PREFERENCE_KEY = "pref_icon_badging"; + private static final String NOTIFICATION_DOTS_PREFERENCE_KEY = "pref_icon_badging"; /** Hidden field Settings.Secure.ENABLED_NOTIFICATION_LISTENERS */ private static final String NOTIFICATION_ENABLED_LISTENERS = "enabled_notification_listeners"; @@ -120,7 +120,7 @@ public class SettingsActivity extends Activity */ public static class LauncherSettingsFragment extends PreferenceFragment { - private SecureSettingsObserver mIconBadgingObserver; + private SecureSettingsObserver mNotificationDotsObserver; private String mHighLightKey; private boolean mPreferenceHighlighted = false; @@ -165,21 +165,21 @@ public class SettingsActivity extends Activity */ protected boolean initPreference(Preference preference) { switch (preference.getKey()) { - case ICON_BADGING_PREFERENCE_KEY: + case NOTIFICATION_DOTS_PREFERENCE_KEY: if (!Utilities.ATLEAST_OREO || - !getResources().getBoolean(R.bool.notification_badging_enabled)) { + !getResources().getBoolean(R.bool.notification_dots_enabled)) { return false; } - // Listen to system notification badge settings while this UI is active. - mIconBadgingObserver = newNotificationSettingsObserver( - getActivity(), (IconBadgingPreference) preference); - mIconBadgingObserver.register(); + // Listen to system notification dot settings while this UI is active. + mNotificationDotsObserver = newNotificationSettingsObserver( + getActivity(), (NotificationDotsPreference) preference); + mNotificationDotsObserver.register(); // Also listen if notification permission changes - mIconBadgingObserver.getResolver().registerContentObserver( + mNotificationDotsObserver.getResolver().registerContentObserver( Settings.Secure.getUriFor(NOTIFICATION_ENABLED_LISTENERS), false, - mIconBadgingObserver); - mIconBadgingObserver.dispatchOnChange(); + mNotificationDotsObserver); + mNotificationDotsObserver.dispatchOnChange(); return true; case ADD_ICON_PREFERENCE_KEY: @@ -245,9 +245,9 @@ public class SettingsActivity extends Activity @Override public void onDestroy() { - if (mIconBadgingObserver != null) { - mIconBadgingObserver.unregister(); - mIconBadgingObserver = null; + if (mNotificationDotsObserver != null) { + mNotificationDotsObserver.unregister(); + mNotificationDotsObserver = null; } super.onDestroy(); } diff --git a/src/com/android/launcher3/views/ActivityContext.java b/src/com/android/launcher3/views/ActivityContext.java index cee7eee22..c9cdeffb9 100644 --- a/src/com/android/launcher3/views/ActivityContext.java +++ b/src/com/android/launcher3/views/ActivityContext.java @@ -22,7 +22,7 @@ import android.view.View.AccessibilityDelegate; import com.android.launcher3.DeviceProfile; import com.android.launcher3.ItemInfo; -import com.android.launcher3.badge.BadgeInfo; +import com.android.launcher3.dot.DotInfo; /** * An interface to be used along with a context for various activities in Launcher. This allows a @@ -34,7 +34,7 @@ public interface ActivityContext { return false; } - default BadgeInfo getBadgeInfoForItem(ItemInfo info) { + default DotInfo getDotInfoForItem(ItemInfo info) { return null; } diff --git a/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java b/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java index 323eecb91..d89e7f81d 100644 --- a/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java +++ b/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java @@ -62,7 +62,7 @@ public class DoubleShadowBubbleTextView extends BubbleTextView { getPaint().setShadowLayer(mShadowInfo.ambientShadowBlur, 0, 0, setColorAlphaBound(mShadowInfo.ambientShadowColor, alpha)); - drawWithoutBadge(canvas); + drawWithoutDot(canvas); canvas.save(); canvas.clipRect(getScrollX(), getScrollY() + getExtendedPaddingTop(), getScrollX() + getWidth(), @@ -70,10 +70,10 @@ public class DoubleShadowBubbleTextView extends BubbleTextView { getPaint().setShadowLayer(mShadowInfo.keyShadowBlur, 0.0f, mShadowInfo.keyShadowOffset, setColorAlphaBound(mShadowInfo.keyShadowColor, alpha)); - drawWithoutBadge(canvas); + drawWithoutDot(canvas); canvas.restore(); - drawBadgeIfNecessary(canvas); + drawDotIfNecessary(canvas); } public static class ShadowInfo { -- cgit v1.2.3