From daac3fd241f41a656d2b4e9a0083bb52ec71d910 Mon Sep 17 00:00:00 2001 From: deniscerri <64997243+deniscerri@users.noreply.github.com> Date: Sun, 2 Apr 2023 15:07:53 +0200 Subject: [PATCH] fixed rtl not working with multiple search --- app/build.gradle | 6 +++--- .../com/deniscerri/ytdlnis/ui/HomeFragment.kt | 16 ++++++++++++---- .../main/res/layout/search_suggestion_item.xml | 2 +- app/src/main/res/values-ldrtl/attrs.xml | 3 +++ app/src/main/res/values/attrs.xml | 1 + 5 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/values-ldrtl/attrs.xml diff --git a/app/build.gradle b/app/build.gradle index b86367d5..fc5d6de5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,7 +22,7 @@ android { keyPassword properties["signingConfig.keyPassword"] } } - compileSdkVersion 33 + compileSdkVersion "android-UpsideDownCake" defaultConfig { applicationId "com.deniscerri.ytdl" minSdkVersion 23 @@ -119,7 +119,7 @@ dependencies { implementation "androidx.appcompat:appcompat:$appCompatVer" implementation "androidx.constraintlayout:constraintlayout:2.1.4" - implementation 'com.google.android.material:material:1.9.0-beta01' + implementation 'com.google.android.material:material:1.10.0-alpha01' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.core:core:1.9.0' implementation 'androidx.recyclerview:recyclerview:1.3.0' @@ -135,7 +135,7 @@ dependencies { androidTestImplementation "junit:junit:$junitVer" androidTestImplementation "androidx.test.ext:junit:$androidJunitVer" androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer" - androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha11" + androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha12" androidTestImplementation "androidx.test:runner:1.5.2" androidTestImplementation "androidx.test:core:1.5.0" androidTestImplementation "androidx.test:rules:1.5.0" diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt index 806a3934..ff74d367 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt @@ -14,6 +14,8 @@ import android.view.View.* import android.widget.* import androidx.constraintlayout.widget.ConstraintLayout import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.core.text.TextUtilsCompat +import androidx.core.view.ViewCompat import androidx.core.view.children import androidx.core.view.forEach import androidx.core.widget.addTextChangedListener @@ -207,6 +209,8 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi val searchView = requireView().findViewById(R.id.search_view) val queriesConstraint = requireView().findViewById(R.id.queries_constraint) val queriesInitStartBtn = queriesConstraint.findViewById(R.id.init_search_query) + val isRightToLeft = resources.getBoolean(R.bool.is_right_to_left) + infoUtil = InfoUtil(requireContext()) val linkYouCopied = searchView.findViewById(R.id.link_you_copied) @@ -337,8 +341,11 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi val drawableRight = 2 val drawableBottom = 3 if (event.action == MotionEvent.ACTION_UP) { - if (event.x > searchView.editText.right - searchView.editText.compoundDrawables[drawableRight].bounds.width() - ) { + if ( + (isRightToLeft && (event.x < (searchView.editText.left - searchView.editText.compoundDrawables[drawableLeft].bounds.width()))) || + (!isRightToLeft && (event.x > (searchView.editText.right - searchView.editText.compoundDrawables[drawableRight].bounds.width()))) + ){ + val present = queriesChipGroup!!.children.firstOrNull { (it as Chip).text.toString() == searchView.editText.text.toString() } if (present == null) { val chip = layoutinflater!!.inflate(R.layout.input_chip, queriesChipGroup, false) as Chip @@ -352,6 +359,7 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi else queriesConstraint.visibility = VISIBLE searchView.editText.setText("") return@OnTouchListener true + } } }catch (ignored: Exception){} @@ -368,7 +376,7 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi R.id.delete_results -> { resultViewModel.getTrending() selectedObjects = ArrayList() - searchBar!!.text = "" + searchBar!!.setText("") downloadAllFabCoordinator!!.visibility = GONE downloadFabs!!.visibility = GONE } @@ -408,7 +416,7 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi if (queryList.isEmpty()) return if (queryList.size == 1){ - searchBar!!.text = searchView.text + searchBar!!.setText(searchView.text) } searchView.hide() diff --git a/app/src/main/res/layout/search_suggestion_item.xml b/app/src/main/res/layout/search_suggestion_item.xml index c70cec3c..6b9722d4 100644 --- a/app/src/main/res/layout/search_suggestion_item.xml +++ b/app/src/main/res/layout/search_suggestion_item.xml @@ -30,7 +30,7 @@ android:paddingEnd="20dp" android:textSize="16sp" android:textStyle="bold" - app:drawableLeftCompat="@drawable/ic_search" /> + app:drawableStartCompat="@drawable/ic_search" /> + true + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 57f058c4..84edc60e 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -1,3 +1,4 @@ false + false \ No newline at end of file