Skip to content

Commit fe0475f

Browse files
authored
Fix(UI): Varius highlight/color changes for better accessibility, Closes #2024
1 parent 50e746c commit fe0475f

File tree

5 files changed

+47
-30
lines changed

5 files changed

+47
-30
lines changed

app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchResultBuilder.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.lagradost.cloudstream3.ui.search
22

33
import android.annotation.SuppressLint
44
import android.content.Context
5+
import android.content.res.ColorStateList
56
import android.view.View
67
import android.widget.ImageView
78
import android.widget.ProgressBar
@@ -25,6 +26,7 @@ import com.lagradost.cloudstream3.utils.DataStoreHelper
2526
import com.lagradost.cloudstream3.utils.DataStoreHelper.fixVisual
2627
import com.lagradost.cloudstream3.utils.ImageLoader.loadImage
2728
import com.lagradost.cloudstream3.utils.SubtitleHelper
29+
import com.lagradost.cloudstream3.utils.UIHelper.colorFromAttribute
2830
import com.lagradost.cloudstream3.utils.getImageFromDrawable
2931

3032
object SearchResultBuilder {
@@ -324,5 +326,8 @@ object SearchResultBuilder {
324326
}
325327
boxes[boxes.size - 1].setBackgroundResource(R.drawable.bg_color_bottom)
326328
}
329+
textIsDub?.apply {
330+
backgroundTintList = ColorStateList.valueOf(context.colorFromAttribute(R.attr.textColor))
331+
}
327332
}
328333
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:color="@color/transparent" android:state_focused="true" />
4+
<item android:color="?attr/textColor" />
5+
</selector>

app/src/main/res/layout/fragment_library.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@
5050
android:background="?selectableItemBackgroundBorderless"
5151
android:contentDescription="@string/change_providers_img_des"
5252
android:padding="5dp"
53-
android:visibility="gone"
54-
tools:visibility="visible"
5553
android:src="@drawable/ic_baseline_sort_24"
56-
app:tint="?attr/textColor" />
54+
android:visibility="gone"
55+
app:tint="?attr/textColor"
56+
tools:visibility="visible" />
5757

5858
<FrameLayout
5959
android:layout_width="match_parent"
@@ -78,11 +78,11 @@
7878

7979
android:nextFocusRight="@id/search_filter"
8080
android:paddingStart="-10dp"
81+
app:closeIcon="@drawable/ic_baseline_close_24"
8182
app:iconifiedByDefault="false"
8283
app:queryBackground="@color/transparent"
8384
app:queryHint="@string/search_hint"
8485
app:searchIcon="@drawable/search_icon"
85-
app:closeIcon="@drawable/ic_baseline_close_24"
8686
tools:ignore="RtlSymmetry">
8787

8888
</androidx.appcompat.widget.SearchView>
@@ -159,6 +159,7 @@
159159
android:layout_width="match_parent"
160160
android:layout_height="match_parent"
161161
android:layout_marginBottom="40dp">
162+
162163
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
163164
android:id="@+id/library_random"
164165
style="@style/ExtendedFloatingActionButton"
@@ -195,6 +196,7 @@
195196
app:tabIndicatorGravity="center"
196197
app:tabIndicatorHeight="30dp"
197198
app:tabMode="scrollable"
199+
app:tabRippleColor="?attr/textColor"
198200
app:tabSelectedTextColor="?attr/primaryBlackBackground"
199201
app:tabTextAppearance="@style/TabNoCaps"
200202
app:tabTextColor="?attr/textColor" />

app/src/main/res/layout/fragment_library_tv.xml

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@
3636
android:layout_height="25dp"
3737
android:layout_gravity="end|center_vertical"
3838
android:layout_marginStart="10dp"
39-
android:padding="2dp"
4039
android:background="?selectableItemBackgroundBorderless"
4140
android:contentDescription="@string/change_providers_img_des"
4241
android:focusable="true"
4342
android:nextFocusLeft="@id/navigation_library"
4443
android:nextFocusRight="@id/library_sort"
45-
android:tag="@string/tv_no_focus_tag"
44+
android:padding="2dp"
4645
android:src="@drawable/ic_baseline_extension_24"
46+
android:tag="@string/tv_no_focus_tag"
4747
app:tint="?attr/textColor" />
4848

4949
<ImageView
@@ -57,24 +57,24 @@
5757
android:focusable="true"
5858
android:nextFocusLeft="@id/provider_selector"
5959
android:nextFocusRight="@id/list_selector"
60-
android:tag="@string/tv_no_focus_tag"
6160
android:src="@drawable/ic_baseline_sort_24"
61+
android:tag="@string/tv_no_focus_tag"
6262
app:tint="?attr/textColor" />
6363

6464
<ImageView
6565
android:id="@+id/list_selector"
6666
android:layout_width="25dp"
6767
android:layout_height="25dp"
6868
android:layout_gravity="end|center_vertical"
69-
android:padding="1dp"
7069
android:layout_marginStart="10dp"
7170
android:background="?selectableItemBackgroundBorderless"
7271
android:contentDescription="@string/change_providers_img_des"
7372
android:focusable="true"
7473
android:nextFocusLeft="@id/library_sort"
7574
android:nextFocusRight="@id/main_search"
76-
android:tag="@string/tv_no_focus_tag"
75+
android:padding="1dp"
7776
android:src="@drawable/ic_baseline_filter_list_24"
77+
android:tag="@string/tv_no_focus_tag"
7878
app:tint="?attr/textColor" />
7979

8080
<FrameLayout
@@ -91,19 +91,19 @@
9191
android:layout_height="match_parent"
9292
android:layout_gravity="end"
9393

94+
android:focusable="true"
9495
android:iconifiedByDefault="false"
9596
android:imeOptions="actionSearch"
9697
android:inputType="text"
97-
android:focusable="true"
98-
android:tag="tv_no_focus_tag"
9998
android:nextFocusLeft="@id/list_selector"
10099
android:nextFocusDown="@id/search_result_root"
101100
android:paddingStart="-10dp"
101+
android:tag="tv_no_focus_tag"
102+
app:closeIcon="@drawable/ic_baseline_close_24"
102103
app:iconifiedByDefault="false"
103104
app:queryBackground="@color/transparent"
104105
app:queryHint="@string/search_hint"
105106
app:searchIcon="@drawable/search_icon"
106-
app:closeIcon="@drawable/ic_baseline_close_24"
107107
tools:ignore="RtlSymmetry">
108108

109109
</androidx.appcompat.widget.SearchView>
@@ -116,16 +116,17 @@
116116
android:layout_width="match_parent"
117117
android:layout_height="40dp"
118118
android:layout_gravity="top"
119-
android:nextFocusDown="@id/search_result_root"
120119
android:background="?attr/primaryGrayBackground"
121-
android:paddingHorizontal="5dp"
122120
android:focusable="true"
121+
android:nextFocusDown="@id/search_result_root"
122+
android:paddingHorizontal="5dp"
123123
app:tabGravity="center"
124124
app:tabIndicator="@drawable/indicator_background"
125125
app:tabIndicatorColor="?attr/white"
126126
app:tabIndicatorGravity="center"
127127
app:tabIndicatorHeight="30dp"
128128
app:tabMode="scrollable"
129+
app:tabRippleColor="?attr/textColor"
129130
app:tabSelectedTextColor="?attr/primaryBlackBackground"
130131
app:tabTextAppearance="@style/TabNoCaps"
131132
app:tabTextColor="?attr/textColor" />
@@ -136,23 +137,23 @@
136137
android:layout_height="match_parent"
137138
app:layout_behavior="@string/appbar_scrolling_view_behavior">
138139

139-
<androidx.viewpager2.widget.ViewPager2
140-
android:id="@+id/viewpager"
141-
android:layout_width="match_parent"
142-
android:layout_height="match_parent"
143-
android:clipToPadding="false"
144-
android:paddingBottom="40dp"
145-
android:focusable="true"
146-
android:tag="@string/tv_no_focus_tag"
147-
tools:listitem="@layout/library_viewpager_page" />
140+
<androidx.viewpager2.widget.ViewPager2
141+
android:id="@+id/viewpager"
142+
android:layout_width="match_parent"
143+
android:layout_height="match_parent"
144+
android:clipToPadding="false"
145+
android:focusable="true"
146+
android:paddingBottom="40dp"
147+
android:tag="@string/tv_no_focus_tag"
148+
tools:listitem="@layout/library_viewpager_page" />
148149

149150
<LinearLayout
150151
android:id="@+id/library_loading_overlay"
151152
android:layout_width="match_parent"
152153
android:layout_height="match_parent"
154+
android:background="?attr/primaryBlackBackground"
153155
android:focusable="false"
154156
android:tag="@string/tv_no_focus_tag"
155-
android:background="?attr/primaryBlackBackground"
156157
android:visibility="gone"
157158
tools:visibility="visible">
158159

@@ -162,10 +163,10 @@
162163
android:layout_height="match_parent"
163164
android:layout_gravity="center"
164165
android:layout_margin="2dp"
165-
app:shimmer_auto_start="true"
166-
app:shimmer_base_alpha="0.2"
167166
android:focusable="false"
168167
android:tag="@string/tv_no_focus_tag"
168+
app:shimmer_auto_start="true"
169+
app:shimmer_base_alpha="0.2"
169170
app:shimmer_duration="@integer/loading_time"
170171
app:shimmer_highlight_alpha="0.3">
171172

@@ -174,11 +175,11 @@
174175
android:layout_width="match_parent"
175176
android:layout_height="match_parent"
176177
android:clipToPadding="false"
178+
android:focusable="false"
177179
android:gravity="center"
178180
android:horizontalSpacing="10dp"
179181
android:numColumns="3"
180182
android:paddingBottom="120dp"
181-
android:focusable="false"
182183
android:tag="@string/tv_no_focus_tag"
183184
android:verticalSpacing="10dp"
184185
tools:listitem="@layout/loading_poster_dynamic" />
@@ -190,6 +191,7 @@
190191
android:layout_width="match_parent"
191192
android:layout_height="match_parent"
192193
android:layout_marginBottom="40dp">
194+
193195
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
194196
android:id="@+id/library_random"
195197
style="@style/ExtendedFloatingActionButton"
@@ -207,9 +209,9 @@
207209
android:text="@string/sort"
208210
android:textColor="?attr/textColor"
209211
android:visibility="gone"
210-
tools:visibility="visible"
211212
app:icon="@drawable/ic_baseline_sort_24"
212-
tools:ignore="ContentDescription" />
213+
tools:ignore="ContentDescription"
214+
tools:visibility="visible" />
213215
</FrameLayout>
214216

215217
</androidx.coordinatorlayout.widget.CoordinatorLayout>

app/src/main/res/values/styles.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@
140140

141141
<style name="DubButton" parent="@style/SearchBox">
142142
<item name="android:text">@string/app_dubbed_text</item>
143+
<!-- Background is set programmatically -->
144+
<item name="textColor">?attr/primaryGrayBackground</item>
145+
<item name="android:textColor">?attr/primaryGrayBackground</item>
143146
</style>
144147

145148
<style name="SubButton" parent="@style/SearchBox">
@@ -741,7 +744,7 @@
741744
<item name="backgroundTint">?attr/iconGrayBackground</item>
742745
<item name="iconTint">?attr/textColor</item>
743746
<item name="android:textColor">?attr/textColor</item>
744-
<item name="rippleColor">?attr/textColor</item>
747+
<item name="rippleColor">@color/black_button_ripple</item>
745748
</style>
746749

747750
<style name="SmallBlackButton" parent="BlackButton">

0 commit comments

Comments
 (0)