Added options to toggle clock, date and search on or off

This commit is contained in:
ottoptj 2024-08-30 20:59:54 +03:00
commit a08bc25f6e
5 changed files with 91 additions and 2 deletions

View file

@ -289,6 +289,10 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
uiUtils.setMenuItemColors(searchView)
uiUtils.setMenuItemColors(binding.menuTitle, "A9")
uiUtils.setClockVisibility(clock)
uiUtils.setDateVisibility(dateText)
uiUtils.setSearchVisibility(searchView, binding.searchReplacement)
uiUtils.setClockAlignment(clock, dateText)
uiUtils.setSearchAlignment(searchView)
@ -387,6 +391,18 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
uiUtils.setMenuItemColors(binding.menuTitle, "A9")
}
"clockEnabled" -> {
uiUtils.setClockVisibility(clock)
}
"dateEnabled" -> {
uiUtils.setDateVisibility(dateText)
}
"searchEnabled" -> {
uiUtils.setSearchVisibility(searchView, binding.searchReplacement)
}
"clockAlignment" -> {
uiUtils.setClockAlignment(clock, dateText)
}

View file

@ -48,6 +48,10 @@ class SharedPreferenceManager (private val context: Context) {
}
// Home Screen
fun isClockEnabled(): Boolean {
return preferences.getBoolean("clockEnabled", true)
}
fun getClockAlignment(): String? {
return preferences.getString("clockAlignment", "left")
}
@ -56,6 +60,10 @@ class SharedPreferenceManager (private val context: Context) {
return preferences.getString("clockSize","medium")
}
fun isDateEnabled(): Boolean {
return preferences.getBoolean("dateEnabled", true)
}
fun getDateSize(): String? {
return preferences.getString("dateSize", "medium")
}
@ -156,6 +164,10 @@ class SharedPreferenceManager (private val context: Context) {
return preferences.getString("appMenuSize", "medium")
}
fun isSearchEnabled(): Boolean {
return preferences.getBoolean("searchEnabled", true)
}
fun getSearchAlignment(): String? {
return preferences.getString("searchAlignment", "left")
}

View file

@ -8,6 +8,7 @@ import android.util.TypedValue
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.view.ViewTreeObserver
import android.view.Window
import android.view.WindowInsets
@ -94,6 +95,39 @@ class UIUtils(private val context: Context) {
return Color.argb(newAlpha, r, g, b)
}
// Visibility
fun setClockVisibility(clock: TextClock) {
val layoutParams = clock.layoutParams
if (sharedPreferenceManager.isClockEnabled()) {
layoutParams.height = WRAP_CONTENT
} else {
layoutParams.height = 1
}
clock.layoutParams = layoutParams
}
fun setDateVisibility(dateText: TextClock) {
dateText.visibility = when (sharedPreferenceManager.isDateEnabled()) {
true -> {
View.VISIBLE
}
false -> {
View.GONE
}
}
}
fun setSearchVisibility(searchView: TextInputEditText, replacementView: View) {
if (sharedPreferenceManager.isSearchEnabled()) {
searchView.visibility = View.VISIBLE
replacementView.visibility = View.GONE
} else {
searchView.visibility = View.GONE
replacementView.visibility = View.VISIBLE
}
}
// Alignment
fun setClockAlignment(clock: TextClock, dateText: TextClock) {
val alignment = sharedPreferenceManager.getClockAlignment()

View file

@ -68,6 +68,13 @@
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:textSize="25sp" />
<Space
android:id="@+id/searchReplacement"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.1"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
@ -116,6 +123,7 @@
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:textColor="#F3F3F3"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/textClock"
app:layout_constraintStart_toStartOf="@+id/textClock"
app:layout_constraintTop_toBottomOf="@+id/textClock" />
@ -380,8 +388,7 @@
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.3"
android:visibility="visible" />
android:layout_weight="0.3" />
</LinearLayout>

View file

@ -53,6 +53,12 @@
android:layout_height="wrap_content"
app:allowDividerAbove="false"
app:title="Home Screen">
<SwitchPreference
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="true"
android:title="Enable Clock"
app:key="clockEnabled" />
<ListPreference
app:defaultValue="left"
app:entries="@array/h_alignment_options"
@ -69,6 +75,12 @@
app:key="clockSize"
app:title="Clock Size"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="true"
android:title="Enable Date"
app:key="dateEnabled" />
<ListPreference
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -119,6 +131,7 @@
android:layout_height="wrap_content"
android:defaultValue="false"
android:title="Battery Indicator"
app:dependency="dateEnabled"
app:key="batteryEnabled" />
</PreferenceCategory>
<PreferenceCategory
@ -131,6 +144,7 @@
android:layout_height="wrap_content"
android:defaultValue="false"
android:title="Weather"
app:dependency="dateEnabled"
app:key="weatherEnabled" />
<SwitchPreference
android:layout_width="wrap_content"
@ -223,6 +237,12 @@
app:key="appMenuSize"
app:title="App Menu Size"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="true"
android:title="Enable Search"
app:key="searchEnabled" />
<ListPreference
android:layout_width="wrap_content"
android:layout_height="wrap_content"