From eabb163fde0a6ad3dbe7a5c8e4e4224b5dc4db1d Mon Sep 17 00:00:00 2001 From: Philipp Heckel Date: Sat, 18 Jun 2022 20:10:01 -0400 Subject: [PATCH] Add accessibility label for base URL dropdown --- app/src/main/java/io/heckel/ntfy/ui/BaseUrl.kt | 10 ++++++++++ app/src/main/res/values/strings.xml | 6 +++++- fastlane/metadata/android/en-US/changelog/28.txt | 3 ++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/heckel/ntfy/ui/BaseUrl.kt b/app/src/main/java/io/heckel/ntfy/ui/BaseUrl.kt index d1fd23a9..d54de060 100644 --- a/app/src/main/java/io/heckel/ntfy/ui/BaseUrl.kt +++ b/app/src/main/java/io/heckel/ntfy/ui/BaseUrl.kt @@ -9,13 +9,17 @@ import io.heckel.ntfy.R fun initBaseUrlDropdown(baseUrls: List, textView: AutoCompleteTextView, layout: TextInputLayout) { // Base URL dropdown behavior; Oh my, why is this so complicated?! + val context = layout.context val toggleEndIcon = { if (textView.text.isNotEmpty()) { layout.setEndIconDrawable(R.drawable.ic_cancel_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_clear) } else if (baseUrls.isEmpty()) { layout.setEndIconDrawable(0) + layout.endIconContentDescription = "" } else { layout.setEndIconDrawable(R.drawable.ic_drop_down_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_choose) } } layout.setEndIconOnClickListener { @@ -23,11 +27,14 @@ fun initBaseUrlDropdown(baseUrls: List, textView: AutoCompleteTextView, textView.text.clear() if (baseUrls.isEmpty()) { layout.setEndIconDrawable(0) + layout.endIconContentDescription = "" } else { layout.setEndIconDrawable(R.drawable.ic_drop_down_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_choose) } } else if (textView.text.isEmpty() && baseUrls.isNotEmpty()) { layout.setEndIconDrawable(R.drawable.ic_drop_up_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_choose) textView.showDropDown() } } @@ -49,10 +56,13 @@ fun initBaseUrlDropdown(baseUrls: List, textView: AutoCompleteTextView, textView.setAdapter(adapter) if (baseUrls.count() == 1) { layout.setEndIconDrawable(R.drawable.ic_cancel_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_clear) textView.setText(baseUrls.first()) } else if (baseUrls.count() > 1) { layout.setEndIconDrawable(R.drawable.ic_drop_down_gray_24dp) + layout.endIconContentDescription = context.getString(R.string.add_dialog_base_urls_dropdown_choose) } else { layout.setEndIconDrawable(0) + layout.endIconContentDescription = "" } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 54993a12..92167949 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,6 @@ - + + Notifications (min priority) Notifications (low priority) @@ -101,6 +103,8 @@ Password Login failed. User %1$s not authorized. New user + Choose service URL + Clear service URL You haven\'t received any notifications for this topic yet. diff --git a/fastlane/metadata/android/en-US/changelog/28.txt b/fastlane/metadata/android/en-US/changelog/28.txt index 42000e06..1ae098b4 100644 --- a/fastlane/metadata/android/en-US/changelog/28.txt +++ b/fastlane/metadata/android/en-US/changelog/28.txt @@ -1,6 +1,7 @@ Bugs: -* Fixed: Long-click selecting of notifications scrolls to the top (#235, thanks to @wunter8) +* Long-click selecting of notifications doesn't scoll to the top anymore (#235, thanks to @wunter8) * Add attachment and click URL extras to MESSAGE_RECEIVED broadcast (#329, thanks to @wunter8) +* Accessibility: Clear/choose service URL button in base URL dropdown now has a label (#292, thanks to @mhameed for reporting) Additional translations: * Italian (thanks to @Genio2003)