From 75f81d20dbb955544dd1935c52cb8dcf52d4b0fa Mon Sep 17 00:00:00 2001
From: Koen <koen@pop-os.localdomain>
Date: Thu, 21 Dec 2023 13:10:38 +0100
Subject: [PATCH] Fixed buttons in subscription groups and made select button
 click only work when there are things selected.

---
 .../main/SubscriptionGroupFragment.kt         |  3 +-
 .../views/overlays/CreatorSelectOverlay.kt    | 35 +++----------------
 .../layout/fragment_subscriptions_group.xml   | 20 ++++++++---
 .../res/layout/overlay_creator_select.xml     | 29 +++++++++------
 app/src/main/res/values/strings.xml           |  3 +-
 5 files changed, 41 insertions(+), 49 deletions(-)

diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionGroupFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionGroupFragment.kt
index a011836f..f2b4aa8d 100644
--- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionGroupFragment.kt
+++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionGroupFragment.kt
@@ -7,7 +7,6 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.widget.Button
 import android.widget.FrameLayout
 import android.widget.ImageButton
 import android.widget.ImageView
@@ -87,7 +86,7 @@ class SubscriptionGroupFragment : MainFragment() {
         private val _buttonSettings: ImageButton;
         private val _buttonDelete: ImageButton;
 
-        private val _buttonAddCreator: Button;
+        private val _buttonAddCreator: FrameLayout;
 
         private val _enabledCreators: ArrayList<IPlatformChannel> = arrayListOf();
         private val _enabledCreatorsFiltered: ArrayList<IPlatformChannel> = arrayListOf();
diff --git a/app/src/main/java/com/futo/platformplayer/views/overlays/CreatorSelectOverlay.kt b/app/src/main/java/com/futo/platformplayer/views/overlays/CreatorSelectOverlay.kt
index 7b97cb5c..981619b2 100644
--- a/app/src/main/java/com/futo/platformplayer/views/overlays/CreatorSelectOverlay.kt
+++ b/app/src/main/java/com/futo/platformplayer/views/overlays/CreatorSelectOverlay.kt
@@ -1,52 +1,25 @@
 package com.futo.platformplayer.views.overlays
 
-import android.app.Activity
 import android.content.Context
-import android.content.Intent
-import android.graphics.Color
-import android.graphics.drawable.shapes.Shape
 import android.util.AttributeSet
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Button
-import android.widget.ImageView
-import android.widget.LinearLayout
-import androidx.activity.result.contract.ActivityResultContracts
+import android.widget.FrameLayout
 import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.net.toFile
-import androidx.core.net.toUri
 import androidx.recyclerview.widget.GridLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.futo.platformplayer.PresetImages
 import com.futo.platformplayer.R
 import com.futo.platformplayer.UIDialogs
-import com.futo.platformplayer.activities.IWithResultLauncher
-import com.futo.platformplayer.activities.MainActivity
-import com.futo.platformplayer.api.media.models.channels.IPlatformChannel
 import com.futo.platformplayer.constructs.Event0
 import com.futo.platformplayer.constructs.Event1
 import com.futo.platformplayer.dp
-import com.futo.platformplayer.models.ImageVariable
-import com.futo.platformplayer.states.StateApp
 import com.futo.platformplayer.states.StateSubscriptions
 import com.futo.platformplayer.views.AnyAdapterView
 import com.futo.platformplayer.views.AnyAdapterView.Companion.asAny
 import com.futo.platformplayer.views.SearchView
-import com.futo.platformplayer.views.adapters.AnyAdapter
-import com.futo.platformplayer.views.adapters.viewholders.CreatorBarViewHolder
 import com.futo.platformplayer.views.adapters.viewholders.SelectableCreatorBarViewHolder
-import com.futo.platformplayer.views.buttons.BigButton
-import com.github.dhaval2404.imagepicker.ImagePicker
-import com.google.android.flexbox.FlexboxLayout
-import com.google.android.material.imageview.ShapeableImageView
-import com.google.android.material.shape.CornerFamily
-import com.google.android.material.shape.ShapeAppearanceModel
-import java.io.File
 
 class CreatorSelectOverlay: ConstraintLayout {
-    private val _buttonSelect: Button;
+    private val _buttonSelect: FrameLayout;
     private val _topbar: OverlayTopbar;
 
     private val _searchBar: SearchView;
@@ -97,7 +70,7 @@ class CreatorSelectOverlay: ConstraintLayout {
             this.orientation = LinearLayoutManager.VERTICAL;
         };
         _buttonSelect.setOnClickListener {
-            _selected?.let {
+            if (_selected.isNotEmpty()) {
                 select();
             }
         };
@@ -134,7 +107,7 @@ class CreatorSelectOverlay: ConstraintLayout {
 
     private fun filterCreators(withUpdate: Boolean = true) {
         val query = _searchBar.textSearch.text.toString().lowercase();
-        val filteredEnabled = _creators.filter { query.isNullOrEmpty() || it.channel.name.lowercase().contains(query) };
+        val filteredEnabled = _creators.filter { query.isEmpty() || it.channel.name.lowercase().contains(query) };
 
         //Optimize
         _creatorsFiltered.clear();
diff --git a/app/src/main/res/layout/fragment_subscriptions_group.xml b/app/src/main/res/layout/fragment_subscriptions_group.xml
index cad3a790..b96b7cd0 100644
--- a/app/src/main/res/layout/fragment_subscriptions_group.xml
+++ b/app/src/main/res/layout/fragment_subscriptions_group.xml
@@ -182,14 +182,26 @@
         app:layout_constraintBottom_toTopOf="@id/button_creator_add"
         android:paddingBottom="10dp" />
 
-    <Button
+    <FrameLayout
         android:id="@+id/button_creator_add"
         android:layout_width="match_parent"
         android:background="@drawable/background_button_primary"
         android:layout_height="50dp"
-        android:layout_margin="10dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:text="@string/add_creator" />
+        android:layout_marginStart="5dp"
+        android:layout_marginEnd="5dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginBottom="5dp"
+        app:layout_constraintBottom_toBottomOf="parent">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fontFamily="@font/inter_regular"
+            android:text="@string/add_creator"
+            android:textSize="16dp"
+            android:layout_gravity="center"
+            android:gravity="center" />
+    </FrameLayout>
 
     <FrameLayout
         android:id="@+id/overlay"
diff --git a/app/src/main/res/layout/overlay_creator_select.xml b/app/src/main/res/layout/overlay_creator_select.xml
index e7007f89..21f59212 100644
--- a/app/src/main/res/layout/overlay_creator_select.xml
+++ b/app/src/main/res/layout/overlay_creator_select.xml
@@ -28,25 +28,32 @@
         android:layout_width="match_parent"
         android:layout_height="0dp"
         app:layout_constraintTop_toBottomOf="@id/search_bar"
-        app:layout_constraintBottom_toTopOf="@id/container_select"
+        app:layout_constraintBottom_toTopOf="@id/button_select"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent">
     </androidx.recyclerview.widget.RecyclerView>
 
-    <LinearLayout
-        android:id="@+id/container_select"
+    <FrameLayout
+        android:id="@+id/button_select"
+        android:layout_marginStart="5dp"
+        android:layout_marginEnd="5dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginBottom="5dp"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="50dp"
+        android:background="@drawable/background_button_primary"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent">
-        <Button
-            android:id="@+id/button_select"
+
+        <TextView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_margin="10dp"
-            android:background="@drawable/background_button_primary"
-            android:text="Select" />
-    </LinearLayout>
+            android:layout_height="match_parent"
+            android:fontFamily="@font/inter_regular"
+            android:text="@string/select"
+            android:textSize="16dp"
+            android:gravity="center"
+            android:layout_gravity="center" />
+    </FrameLayout>
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index df94db54..fde7ad28 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -724,7 +724,8 @@
     <string name="position">Position</string>
     <string name="tutorials">Tutorials</string>
     <string name="do_you_want_to_see_the_tutorials_you_can_find_them_at_any_time_through_the_more_button">Do you want to see the tutorials? You can find them at any time through the more button.</string>
-    <string name="add_creator">Add Creator</string>
+    <string name="add_creator">Add More</string>
+    <string name="select">Select</string>
     <string-array name="home_screen_array">
         <item>Recommendations</item>
         <item>Subscriptions</item>
-- 
GitLab