Skip to content

Commit 5f91323

Browse files
Feat: Added a toggle to hide search text
closes #572
1 parent e7a8439 commit 5f91323

File tree

5 files changed

+49
-20
lines changed

5 files changed

+49
-20
lines changed

app/src/main/java/com/github/droidworksstudio/mlauncher/data/Prefs.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ private const val SHOW_BATTERY_ICON = "SHOW_BATTERY_ICON"
4040
private const val SHOW_DATE = "SHOW_DATE"
4141
private const val HOME_LOCKED = "HOME_LOCKED"
4242
private const val SETTINGS_LOCKED = "SETTINGS_LOCKED"
43+
private const val HIDE_SEARCH_VIEW = "HIDE_SEARCH_VIEW"
4344
private const val SHOW_CLOCK = "SHOW_CLOCK"
4445
private const val SHOW_CLOCK_FORMAT = "SHOW_CLOCK_FORMAT"
4546
private const val SHOW_ALARM = "SHOW_ALARM"
@@ -333,6 +334,10 @@ class Prefs(val context: Context) {
333334
get() = prefs.getBoolean(SETTINGS_LOCKED, false)
334335
set(value) = prefs.edit().putBoolean(SETTINGS_LOCKED, value).apply()
335336

337+
var hideSearchView: Boolean
338+
get() = prefs.getBoolean(HIDE_SEARCH_VIEW, false)
339+
set(value) = prefs.edit().putBoolean(HIDE_SEARCH_VIEW, value).apply()
340+
336341
var shortSwipeUpAction: Constants.Action
337342
get() = loadAction(SWIPE_UP_ACTION, Constants.Action.ShowAppList)
338343
set(value) = storeAction(SWIPE_UP_ACTION, value)

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/AppDrawerFragment.kt

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,21 @@ class AppDrawerFragment : Fragment() {
140140
binding.recyclerView.adapter = appAdapter
141141
binding.recyclerView.addOnScrollListener(getRecyclerViewOnScrollListener())
142142

143-
when (flag) {
144-
AppDrawerFlag.LaunchApp -> binding.search.queryHint =
145-
applyTextColor(getString(R.string.show_apps), prefs.appColor)
143+
if (prefs.hideSearchView) {
144+
binding.search.visibility = View.GONE
145+
} else {
146+
when (flag) {
147+
AppDrawerFlag.LaunchApp -> binding.search.queryHint =
148+
applyTextColor(getString(R.string.show_apps), prefs.appColor)
146149

147-
AppDrawerFlag.HiddenApps -> binding.search.queryHint =
148-
applyTextColor(getString(R.string.hidden_apps), prefs.appColor)
150+
AppDrawerFlag.HiddenApps -> binding.search.queryHint =
151+
applyTextColor(getString(R.string.hidden_apps), prefs.appColor)
149152

150-
AppDrawerFlag.SetHomeApp -> binding.search.queryHint =
151-
applyTextColor(getString(R.string.please_select_app), prefs.appColor)
153+
AppDrawerFlag.SetHomeApp -> binding.search.queryHint =
154+
applyTextColor(getString(R.string.please_select_app), prefs.appColor)
152155

153-
else -> binding.search.queryHint =
154-
applyTextColor("---", prefs.appColor)
156+
else -> {}
157+
}
155158
}
156159

157160
binding.listEmptyHint.text = applyTextColor(getString(R.string.drawer_list_empty_hint), prefs.appColor)
@@ -291,6 +294,7 @@ class AppDrawerFragment : Fragment() {
291294

292295
private fun View.showKeyboard() {
293296
if (!Prefs(requireContext()).autoShowKeyboard) return
297+
if (Prefs(requireContext()).hideSearchView) return
294298

295299
val searchTextView = binding.search.findViewById<TextView>(R.id.search_src_text)
296300
searchTextView.requestFocus()

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/settings/FeaturesFragment.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ class FeaturesFragment : Fragment() {
8181
var selectedLanguage by remember { mutableStateOf(prefs.appLanguage) }
8282
var selectedFontFamily by remember { mutableStateOf(prefs.fontFamily) }
8383
var selectedSettingsSize by remember { mutableIntStateOf(prefs.settingsSize) }
84+
var toggledHideSearchView by remember { mutableStateOf(prefs.hideSearchView) }
8485

8586
var selectedSearchEngine by remember { mutableStateOf(prefs.searchEngines) }
8687
var toggledAutoShowKeyboard by remember { mutableStateOf(prefs.autoShowKeyboard) }
@@ -208,6 +209,16 @@ class FeaturesFragment : Fragment() {
208209
}
209210
)
210211

212+
SettingsSwitch(
213+
text = stringResource(R.string.hide_search_view),
214+
fontSize = titleFontSize,
215+
defaultState = toggledHideSearchView,
216+
onCheckedChange = {
217+
toggledHideSearchView = !prefs.hideSearchView
218+
prefs.hideSearchView = toggledHideSearchView
219+
}
220+
)
221+
211222
SettingsTitle(
212223
text = stringResource(R.string.search),
213224
fontSize = titleFontSize,

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

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
android:id="@+id/mainLayout"
55
android:layout_width="match_parent"
66
android:layout_height="match_parent"
77
android:animateLayoutChanges="true"
88
android:background="?attr/primaryShadeDarkColor">
99

10+
<!-- Search Bar positioned at the top -->
1011
<LinearLayout
12+
android:id="@+id/searchContainer"
1113
android:layout_width="match_parent"
1214
android:layout_height="wrap_content"
13-
android:layout_marginTop="88dp"
14-
android:animateLayoutChanges="true"
15+
android:layout_alignParentTop="true"
16+
android:layout_marginTop="18dp"
1517
android:orientation="horizontal">
1618

1719
<androidx.appcompat.widget.SearchView
@@ -32,14 +34,15 @@
3234
app:theme="@style/AppSearchText" />
3335
</LinearLayout>
3436

37+
<!-- Drawer button and tip, positioned below search container -->
3538
<TextView
3639
android:id="@+id/drawerButton"
3740
style="@style/TextSmall"
3841
android:layout_width="wrap_content"
3942
android:layout_height="wrap_content"
40-
android:layout_gravity="end"
41-
android:layout_marginTop="52dp"
42-
android:layout_marginEnd="24dp"
43+
android:layout_below="@id/searchContainer"
44+
android:layout_alignParentEnd="true"
45+
android:layout_marginTop="10dp"
4346
android:paddingVertical="@dimen/app_padding_vertical"
4447
android:textAllCaps="true"
4548
android:visibility="gone" />
@@ -48,8 +51,9 @@
4851
android:id="@+id/appDrawerTip"
4952
android:layout_width="wrap_content"
5053
android:layout_height="wrap_content"
54+
android:layout_below="@id/drawerButton"
5155
android:layout_marginStart="20dp"
52-
android:layout_marginTop="52dp"
56+
android:layout_marginTop="10dp"
5357
android:layout_marginEnd="4dp"
5458
android:ellipsize="end"
5559
android:maxLines="1"
@@ -58,23 +62,27 @@
5862
android:textSize="16sp"
5963
android:visibility="gone" />
6064

65+
<!-- RecyclerView positioned below the Drawer TextViews -->
6166
<androidx.recyclerview.widget.RecyclerView
6267
android:id="@+id/recyclerView"
6368
android:layout_width="match_parent"
64-
android:layout_height="match_parent"
65-
android:layout_marginTop="150dp"
69+
android:layout_height="0dp"
70+
android:layout_below="@id/appDrawerTip"
71+
android:layout_alignParentBottom="true"
72+
android:layout_marginTop="16dp"
6673
android:layout_marginBottom="50dp"
6774
android:clipChildren="false"
6875
android:clipToPadding="false"
6976
android:overScrollMode="never"
7077
android:paddingBottom="48dp" />
7178

79+
<!-- List Empty Hint, center aligned -->
7280
<TextView
7381
android:id="@+id/listEmptyHint"
7482
android:layout_width="wrap_content"
7583
android:layout_height="wrap_content"
76-
android:layout_gravity="center"
84+
android:layout_centerInParent="true"
7785
android:text="@string/drawer_list_empty_hint"
7886
android:textSize="20sp" />
7987

80-
</FrameLayout>
88+
</RelativeLayout>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<string name="app_language">Interface Language</string>
3030
<string name="font_family">Font Family</string>
3131
<string name="settings_text_size">Settings Text Size</string>
32+
<string name="hide_search_view">Hide Search View</string>
3233

3334
<string name="search">Search</string>
3435

0 commit comments

Comments
 (0)