diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt b/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt index b9c55ac..762251f 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt @@ -2,6 +2,7 @@ package com.github.droidworksstudio.launcher.helper import android.annotation.SuppressLint import android.app.Activity +import android.app.AlarmManager import android.content.ActivityNotFoundException import android.content.ComponentName import android.content.Context @@ -10,12 +11,17 @@ import android.content.res.Configuration import android.content.res.Resources import android.net.Uri import android.os.Build +import android.text.SpannableStringBuilder +import android.text.style.ImageSpan import android.util.Log +import android.util.TypedValue import android.view.Gravity import android.view.View import android.view.Window import android.view.WindowInsets import android.widget.TextView +import androidx.annotation.RequiresApi +import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.widget.LinearLayoutCompat import androidx.navigation.NavOptions import com.github.droidworksstudio.common.showLongToast @@ -172,6 +178,38 @@ class AppHelper @Inject constructor() { return dailyWordsArray[wordIndex] } + @RequiresApi(Build.VERSION_CODES.Q) + fun getNextAlarm(context: Context, preferenceHelper: PreferenceHelper): CharSequence { + val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager + val nextAlarmClock = alarmManager.nextAlarmClock + + if (nextAlarmClock == null) return "No alarm is set." + + val alarmTime = nextAlarmClock.triggerTime + val formattedTime = SimpleDateFormat("EEE, MMM d hh:mm a", Locale.getDefault()).format(alarmTime) + + val drawable = AppCompatResources.getDrawable(context, R.drawable.ic_alarm_clock) + val fontSize = TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_SP, + (preferenceHelper.alarmClockTextSize / 1.5).toFloat(), + context.resources.displayMetrics + ).toInt() + + drawable?.setBounds(0, 0, fontSize, fontSize) + + return SpannableStringBuilder(" ").apply { + drawable?.let { + setSpan( + ImageSpan(it, ImageSpan.ALIGN_CENTER), + 0, 1, + SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE + ) + } + append(" $formattedTime") + } + } + + fun shareApplicationButton(context: Context) { val shareIntent = Intent(Intent.ACTION_SEND) val description = context.getString(R.string.advanced_settings_share_application_description, context.getString(R.string.app_name)) diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/helper/PreferenceHelper.kt b/app/src/main/java/com/github/droidworksstudio/launcher/helper/PreferenceHelper.kt index 2633179..74e07ec 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/helper/PreferenceHelper.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/helper/PreferenceHelper.kt @@ -43,6 +43,10 @@ class PreferenceHelper @Inject constructor(@ApplicationContext context: Context) get() = prefs.getBoolean(Constants.SHOW_DAILY_WORD, false) set(value) = prefs.edit().putBoolean(Constants.SHOW_DAILY_WORD, value).apply() + var showAlarmClock: Boolean + get() = prefs.getBoolean(Constants.SHOW_ALARM_CLOCK, false) + set(value) = prefs.edit().putBoolean(Constants.SHOW_ALARM_CLOCK, value).apply() + var showWeatherWidget: Boolean get() = prefs.getBoolean(Constants.SHOW_WEATHER_WIDGET, false) set(value) = prefs.edit().putBoolean(Constants.SHOW_WEATHER_WIDGET, value).apply() @@ -59,6 +63,10 @@ class PreferenceHelper @Inject constructor(@ApplicationContext context: Context) get() = prefs.getInt(Constants.DATE_COLOR, setColor.toInt()) set(value) = prefs.edit().putInt(Constants.DATE_COLOR, value).apply() + var alarmClockColor: Int + get() = prefs.getInt(Constants.ALARM_CLOCK_COLOR, setColor.toInt()) + set(value) = prefs.edit().putInt(Constants.ALARM_CLOCK_COLOR, value).apply() + var timeColor: Int get() = prefs.getInt(Constants.TIME_COLOR, setColor.toInt()) set(value) = prefs.edit().putInt(Constants.TIME_COLOR, value).apply() @@ -127,6 +135,10 @@ class PreferenceHelper @Inject constructor(@ApplicationContext context: Context) get() = prefs.getInt(Constants.HOME_TIME_ALIGNMENT, Gravity.START) set(value) = prefs.edit().putInt(Constants.HOME_TIME_ALIGNMENT, value).apply() + var homeAlarmClockAlignment: Int + get() = prefs.getInt(Constants.HOME_ALARM_CLOCK_ALIGNMENT, Gravity.START) + set(value) = prefs.edit().putInt(Constants.HOME_ALARM_CLOCK_ALIGNMENT, value).apply() + var homeDailyWordAlignment: Int get() = prefs.getInt(Constants.HOME_DAILY_WORD_ALIGNMENT, Gravity.START) set(value) = prefs.edit().putInt(Constants.HOME_DAILY_WORD_ALIGNMENT, value).apply() @@ -147,6 +159,10 @@ class PreferenceHelper @Inject constructor(@ApplicationContext context: Context) get() = prefs.getFloat(Constants.APP_TEXT_SIZE, 24f) set(value) = prefs.edit().putFloat(Constants.APP_TEXT_SIZE, value).apply() + var alarmClockTextSize: Float + get() = prefs.getFloat(Constants.ALARM_CLOCK_TEXT_SIZE, 22f) + set(value) = prefs.edit().putFloat(Constants.ALARM_CLOCK_TEXT_SIZE, value).apply() + var dailyWordTextSize: Float get() = prefs.getFloat(Constants.DAILY_WORD_TEXT_SIZE, 18f) set(value) = prefs.edit().putFloat(Constants.DAILY_WORD_TEXT_SIZE, value).apply() diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AlignmentBottomSheetDialogFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AlignmentBottomSheetDialogFragment.kt index fde577f..7430141 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AlignmentBottomSheetDialogFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AlignmentBottomSheetDialogFragment.kt @@ -77,6 +77,10 @@ class AlignmentBottomSheetDialogFragment : BottomSheetDialogFragment() { binding.selectWordTextSize.apply { text = appHelper.gravityToString(preferenceHelper.homeDailyWordAlignment) } + + binding.selectAlarmClockTextSize.apply { + text = appHelper.gravityToString(preferenceHelper.homeAlarmClockAlignment) + } } private fun observeClickListener() { @@ -99,6 +103,11 @@ class AlignmentBottomSheetDialogFragment : BottomSheetDialogFragment() { selectedAlignment = REQUEST_KEY_WORD_ALIGNMENT showListDialog(selectedAlignment) } + + binding.bottomAlignmentAlarmClockView.setOnClickListener { + selectedAlignment = REQUEST_KEY_ALARM_CLOCK_ALIGNMENT + showListDialog(selectedAlignment) + } } @@ -144,6 +153,14 @@ class AlignmentBottomSheetDialogFragment : BottomSheetDialogFragment() { binding.selectWordTextSize ) } + + REQUEST_KEY_ALARM_CLOCK_ALIGNMENT -> { + setAlignment( + selectedAlignment, + gravity, + binding.selectAlarmClockTextSize + ) + } } } dialog.show() @@ -178,6 +195,11 @@ class AlignmentBottomSheetDialogFragment : BottomSheetDialogFragment() { alignmentGetter = { preferenceHelper.homeDailyWordAlignment } } + REQUEST_KEY_ALARM_CLOCK_ALIGNMENT -> { + alignmentPreference = { preferenceViewModel.setHomeAlarmClockAppAlignment(it) } + alignmentGetter = { preferenceHelper.homeAlarmClockAlignment } + } + else -> return } @@ -190,6 +212,7 @@ class AlignmentBottomSheetDialogFragment : BottomSheetDialogFragment() { private const val REQUEST_KEY_DATE_ALIGNMENT = "REQUEST_KEY_DATE_ALIGNMENT" private const val REQUEST_KEY_TIME_ALIGNMENT = "REQUEST_KEY_TIME_ALIGNMENT" private const val REQUEST_KEY_APP_ALIGNMENT = "REQUEST_KEY_APP_ALIGNMENT" + private const val REQUEST_KEY_ALARM_CLOCK_ALIGNMENT = "REQUEST_KEY_ALARM_CLOCK_ALIGNMENT" private const val REQUEST_KEY_WORD_ALIGNMENT = "REQUEST_KEY_WORD_ALIGNMENT" } } \ No newline at end of file diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/ColorBottomSheetDialogFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/ColorBottomSheetDialogFragment.kt index 15054df..cc20c14 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/ColorBottomSheetDialogFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/ColorBottomSheetDialogFragment.kt @@ -80,6 +80,11 @@ class ColorBottomSheetDialogFragment : BottomSheetDialogFragment() { setTextColor(preferenceHelper.batteryColor) } + binding.selectAlarmClockTextColor.apply { + text = bottomDialogHelper.getColorText(preferenceHelper.alarmClockColor) + setTextColor(preferenceHelper.alarmClockColor) + } + binding.selectWordTextColor.apply { text = bottomDialogHelper.getColorText(preferenceHelper.dailyWordColor) setTextColor(preferenceHelper.dailyWordColor) @@ -138,6 +143,14 @@ class ColorBottomSheetDialogFragment : BottomSheetDialogFragment() { ) } + binding.bottomColorAlarmClockView.setOnClickListener { + showColorPickerDialog( + binding.selectAlarmClockTextColor, + REQUEST_KEY_DAILY_ALARM_CLOCK_COLOR, + preferenceHelper.alarmClockColor + ) + } + binding.bottomColorWidgetBackgroundView.setOnClickListener { showColorPickerDialog( binding.selectWidgetBackgroundColor, @@ -170,11 +183,6 @@ class ColorBottomSheetDialogFragment : BottomSheetDialogFragment() { setTextColor(pickedColor) } when (requestCode) { - REQUEST_KEY_DAILY_WORD_COLOR -> { - preferenceViewModel.setDailyWordColor(pickedColor) - Log.d("Tag", "Settings Daily Color: ${Integer.toHexString(pickedColor)}") - } - REQUEST_KEY_BATTERY_COLOR -> { preferenceViewModel.setBatteryColor(pickedColor) Log.d("Tag", "Settings Battery Color: ${Integer.toHexString(pickedColor)}") @@ -195,6 +203,16 @@ class ColorBottomSheetDialogFragment : BottomSheetDialogFragment() { Log.d("Tag", "Settings Time Color: ${Integer.toHexString(color)}") } + REQUEST_KEY_DAILY_ALARM_CLOCK_COLOR -> { + preferenceViewModel.setAlarmClockColor(pickedColor) + Log.d("Tag", "Settings Alarm Clock Color: ${Integer.toHexString(pickedColor)}") + } + + REQUEST_KEY_DAILY_WORD_COLOR -> { + preferenceViewModel.setDailyWordColor(pickedColor) + Log.d("Tag", "Settings Daily Word Color: ${Integer.toHexString(pickedColor)}") + } + REQUEST_KEY_WIDGET_BACKGROUND_COLOR -> { preferenceViewModel.setWidgetBackgroundColor(pickedColor) Log.d("Tag", "Settings Widget Background Color: ${Integer.toHexString(color)}") @@ -213,6 +231,7 @@ class ColorBottomSheetDialogFragment : BottomSheetDialogFragment() { companion object { private const val REQUEST_KEY_DATE_COLOR = "REQUEST_DATE_COLOR" private const val REQUEST_KEY_TIME_COLOR = "REQUEST_TIME_COLOR" + private const val REQUEST_KEY_DAILY_ALARM_CLOCK_COLOR = "REQUEST_KEY_DAILY_ALARM_CLOCK_COLOR" private const val REQUEST_KEY_DAILY_WORD_COLOR = "REQUEST_DAILY_WORD_COLOR" private const val REQUEST_KEY_APP_COLOR = "REQUEST_APP_COLOR" private const val REQUEST_KEY_BATTERY_COLOR = "REQUEST_BATTERY_COLOR" diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/TextBottomSheetDialogFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/TextBottomSheetDialogFragment.kt index 9aee561..1a14cba 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/TextBottomSheetDialogFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/TextBottomSheetDialogFragment.kt @@ -57,6 +57,8 @@ class TextBottomSheetDialogFragment : BottomSheetDialogFragment() { binding.selectTimeTextSize.setText("${preferenceHelper.timeTextSize}") binding.selectAppTextSize.setText("${preferenceHelper.appTextSize}") binding.selectBatteryTextSize.setText("${preferenceHelper.batteryTextSize}") + binding.selectAlarmClockTextSize.setText("${preferenceHelper.alarmClockTextSize}") + binding.selectDailyWordTextSize.setText("${preferenceHelper.dailyWordTextSize}") } private fun observeValueChange() { @@ -64,17 +66,23 @@ class TextBottomSheetDialogFragment : BottomSheetDialogFragment() { val timeValue = binding.selectTimeTextSize.text.toString() val appValue = binding.selectAppTextSize.text.toString() val batteryValue = binding.selectBatteryTextSize.text.toString() + val alarmValue = binding.selectAlarmClockTextSize.text.toString() + val wordValue = binding.selectDailyWordTextSize.text.toString() val dateFloatValue = parseFloatValue(dateValue, preferenceHelper.dateTextSize) val timeFloatValue = parseFloatValue(timeValue, preferenceHelper.timeTextSize) val appFloatValue = parseFloatValue(appValue, preferenceHelper.appTextSize) val batteryFloatValue = parseFloatValue(batteryValue, preferenceHelper.batteryTextSize) + val alarmFloatValue = parseFloatValue(alarmValue, preferenceHelper.alarmClockTextSize) + val wordFloatValue = parseFloatValue(wordValue, preferenceHelper.dailyWordTextSize) dismiss() preferenceViewModel.setDateTextSize(dateFloatValue) preferenceViewModel.setTimeTextSize(timeFloatValue) preferenceViewModel.setAppTextSize(appFloatValue) preferenceViewModel.setBatteryTextSize(batteryFloatValue) + preferenceViewModel.setAlarmClockTextSize(alarmFloatValue) + preferenceViewModel.setDailyWordTextSize(wordFloatValue) } private fun parseFloatValue(text: String, defaultValue: Float): Float { diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt index cb0e1d5..be5f8fd 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt @@ -139,6 +139,7 @@ class HomeFragment : Fragment(), preferenceViewModel.setShowTime(preferenceHelper.showTime) preferenceViewModel.setShowDate(preferenceHelper.showDate) + preferenceViewModel.setShowAlarmClock(preferenceHelper.showAlarmClock) preferenceViewModel.setShowDailyWord(preferenceHelper.showDailyWord) } @@ -252,9 +253,11 @@ class HomeFragment : Fragment(), } } + @RequiresApi(Build.VERSION_CODES.Q) private fun observeUserInterfaceSettings() { preferenceViewModel.setShowTime(preferenceHelper.showTime) preferenceViewModel.setShowDate(preferenceHelper.showDate) + preferenceViewModel.setShowAlarmClock(preferenceHelper.showAlarmClock) preferenceViewModel.setShowDailyWord(preferenceHelper.showDailyWord) preferenceViewModel.setShowBattery(preferenceHelper.showBattery) @@ -297,6 +300,17 @@ class HomeFragment : Fragment(), preferenceHelper.showDailyWord ) } + + preferenceViewModel.showDailyWordLiveData.observe(viewLifecycleOwner) { + appHelper.updateUI( + binding.alarm, + preferenceHelper.homeAlarmClockAlignment, + preferenceHelper.alarmClockColor, + preferenceHelper.alarmClockTextSize, + preferenceHelper.showAlarmClock + ) + } + binding.apply { nestScrollView.hideKeyboard() @@ -312,6 +326,7 @@ class HomeFragment : Fragment(), date.format12Hour = datePattern date.format24Hour = datePattern + alarm.text = appHelper.getNextAlarm(context, preferenceHelper) word.text = appHelper.wordOfTheDay(resources) } } diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt index e8a281e..8af8fde 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt @@ -91,6 +91,7 @@ class SettingsLookFeelFragment : Fragment(), timeSwitchCompat.isChecked = preferenceHelper.showTime dateSwitchCompat.isChecked = preferenceHelper.showDate batterySwitchCompat.isChecked = preferenceHelper.showBattery + alarmClockSwitchCompat.isChecked = preferenceHelper.showAlarmClock dailyWordSwitchCompat.isChecked = preferenceHelper.showDailyWord appIconsSwitchCompat.isChecked = preferenceHelper.showAppIcon appIconDotsSwitchCompat.isChecked = preferenceHelper.showAppIconAsDots @@ -158,6 +159,10 @@ class SettingsLookFeelFragment : Fragment(), preferenceViewModel.setShowBattery(isChecked) } + alarmClockSwitchCompat.setOnCheckedChangeListener { _, isChecked -> + preferenceViewModel.setShowAlarmClock(isChecked) + } + dailyWordSwitchCompat.setOnCheckedChangeListener { _, isChecked -> preferenceViewModel.setShowDailyWord(isChecked) } diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/utils/Constants.kt b/app/src/main/java/com/github/droidworksstudio/launcher/utils/Constants.kt index 464ee29..3489b35 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/utils/Constants.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/utils/Constants.kt @@ -29,6 +29,7 @@ object Constants { const val SHOW_DATE = "SHOW_DATE" const val SHOW_TIME = "SHOW_TIME" const val SHOW_DAILY_WORD = "SHOW_DAILY_WORD" + const val SHOW_ALARM_CLOCK = "SHOW_ALARM_CLOCK" const val SHOW_BATTERY = "SHOW_BATTERY" const val SHOW_STATUS_BAR = "SHOW_STATUS_BAR" @@ -39,6 +40,7 @@ object Constants { const val DATE_COLOR = "DATE_COLOR" const val TIME_COLOR = "TIME_COLOR" const val BATTERY_COLOR = "BATTERY_COLOR" + const val ALARM_CLOCK_COLOR = "ALARM_CLOCK_COLOR" const val DAILY_WORD_COLOR = "DAILY_WORD_COLOR" const val WIDGET_BACKGROUND_COLOR = "WIDGET_BACKGROUND_COLOR" const val WIDGET_TEXT_COLOR = "WIDGET_TEXT_COLOR" @@ -48,6 +50,7 @@ object Constants { const val DATE_TEXT_SIZE = "DATE_TEXT_SIZE" const val TIME_TEXT_SIZE = "TIME_TEXT_SIZE" const val APP_TEXT_SIZE = "APP_TEXT_SIZE" + const val ALARM_CLOCK_TEXT_SIZE = "ALARM_CLOCK_TEXT_SIZE" const val DAILY_WORD_TEXT_SIZE = "DAILY_WORD_TEXT_SIZE" const val APP_TEXT_PADDING = "APP_TEXT_PADDING" @@ -64,6 +67,7 @@ object Constants { const val HOME_DATE_ALIGNMENT = "HOME_DATE_ALIGNMENT" const val HOME_TIME_ALIGNMENT = "HOME_TIME_ALIGNMENT" const val HOME_APP_ALIGNMENT = "HOME_APP_ALIGNMENT" + const val HOME_ALARM_CLOCK_ALIGNMENT = "HOME_ALARM_CLOCK_ALIGNMENT" const val HOME_DAILY_WORD_ALIGNMENT = "HOME_DAILY_WORD_ALIGNMENT" const val NOTIFICATION_SERVICE = "statusbar" diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/viewmodel/PreferenceViewModel.kt b/app/src/main/java/com/github/droidworksstudio/launcher/viewmodel/PreferenceViewModel.kt index 927eeab..89e969e 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/viewmodel/PreferenceViewModel.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/viewmodel/PreferenceViewModel.kt @@ -17,6 +17,7 @@ class PreferenceViewModel @Inject constructor( val showTimeLiveData: MutableLiveData = MutableLiveData() val showDateLiveData: MutableLiveData = MutableLiveData() val showDailyWordLiveData: MutableLiveData = MutableLiveData() + val showAlarmClockLiveData: MutableLiveData = MutableLiveData() val showBatteryLiveData: MutableLiveData = MutableLiveData() private val showWeatherWidgetLiveData: MutableLiveData = MutableLiveData() private val showWeatherWidgetSunSetRiseLiveData: MutableLiveData = MutableLiveData() @@ -26,11 +27,13 @@ class PreferenceViewModel @Inject constructor( private val homeAppAlignmentLiveData: MutableLiveData = MutableLiveData() private val homeDateAlignmentLiveData: MutableLiveData = MutableLiveData() private val homeTimeAlignmentLiveData: MutableLiveData = MutableLiveData() + private val homeAlarmClockAlignmentLiveData: MutableLiveData = MutableLiveData() private val homeDailyWordAlignmentLiveData: MutableLiveData = MutableLiveData() private val dateColorLiveData: MutableLiveData = MutableLiveData() private val timeColorLiveData: MutableLiveData = MutableLiveData() private val batteryColorLiveData: MutableLiveData = MutableLiveData() private val dailyWordColorLiveData: MutableLiveData = MutableLiveData() + private val alarmClockColorLiveData: MutableLiveData = MutableLiveData() private val widgetBackgroundColorLiveData: MutableLiveData = MutableLiveData() private val widgetTextColorLiveData: MutableLiveData = MutableLiveData() private val appColorLiveData: MutableLiveData = MutableLiveData() @@ -38,6 +41,8 @@ class PreferenceViewModel @Inject constructor( private val timeTextSizeLiveData: MutableLiveData = MutableLiveData() private val appTextSizeLiveData: MutableLiveData = MutableLiveData() private val batteryTextSizeLiveData: MutableLiveData = MutableLiveData() + private val alarmClockTextSizeLiveData: MutableLiveData = MutableLiveData() + private val dailyWordTextSizeLiveData: MutableLiveData = MutableLiveData() private val autoOpenAppsLiveData: MutableLiveData = MutableLiveData() private val searchFromStartLiveData: MutableLiveData = MutableLiveData() private val autoKeyboardLiveData: MutableLiveData = MutableLiveData() @@ -86,6 +91,11 @@ class PreferenceViewModel @Inject constructor( showDailyWordLiveData.postValue(preferenceHelper.showDailyWord) } + fun setShowAlarmClock(showAlarmClock: Boolean) { + preferenceHelper.showAlarmClock = showAlarmClock + showAlarmClockLiveData.postValue(preferenceHelper.showAlarmClock) + } + fun setShowAppIcons(showAppIcons: Boolean) { preferenceHelper.showAppIcon = showAppIcons showAppIconLiveData.postValue(preferenceHelper.showAppIcon) @@ -96,6 +106,11 @@ class PreferenceViewModel @Inject constructor( showAppIconAsDotsLiveData.postValue(preferenceHelper.showAppIconAsDots) } + fun setAlarmClockColor(alarmClockColor: Int) { + preferenceHelper.alarmClockColor = alarmClockColor + alarmClockColorLiveData.postValue(preferenceHelper.alarmClockColor) + } + fun setDailyWordColor(dailyWordColor: Int) { preferenceHelper.dailyWordColor = dailyWordColor dailyWordColorLiveData.postValue(preferenceHelper.dailyWordColor) @@ -176,6 +191,11 @@ class PreferenceViewModel @Inject constructor( homeDailyWordAlignmentLiveData.postValue(preferenceHelper.homeDailyWordAlignment) } + fun setHomeAlarmClockAppAlignment(homeAlarmClockAlignment: Int) { + preferenceHelper.homeAlarmClockAlignment = homeAlarmClockAlignment + homeAlarmClockAlignmentLiveData.postValue(preferenceHelper.homeAlarmClockAlignment) + } + fun setDateTextSize(dateTextSize: Float) { preferenceHelper.dateTextSize = dateTextSize dateTextSizeLiveData.postValue(preferenceHelper.dateTextSize) @@ -196,6 +216,16 @@ class PreferenceViewModel @Inject constructor( batteryTextSizeLiveData.postValue(preferenceHelper.batteryTextSize) } + fun setAlarmClockTextSize(alarmTextSize: Float) { + preferenceHelper.alarmClockTextSize = alarmTextSize + alarmClockTextSizeLiveData.postValue(preferenceHelper.alarmClockTextSize) + } + + fun setDailyWordTextSize(dailyWordTextSize: Float) { + preferenceHelper.dailyWordTextSize = dailyWordTextSize + dailyWordTextSizeLiveData.postValue(preferenceHelper.dailyWordTextSize) + } + fun setAppPaddingSize(appPaddingSize: Float) { preferenceHelper.homeAppPadding = appPaddingSize appPaddingSizeLiveData.postValue(preferenceHelper.homeAppPadding) diff --git a/app/src/main/res/drawable/ic_alarm_clock.xml b/app/src/main/res/drawable/ic_alarm_clock.xml new file mode 100644 index 0000000..7bbb102 --- /dev/null +++ b/app/src/main/res/drawable/ic_alarm_clock.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/layout/bottomsheetdialog_alignment_settings.xml b/app/src/main/res/layout/bottomsheetdialog_alignment_settings.xml index 4ea4193..b464588 100644 --- a/app/src/main/res/layout/bottomsheetdialog_alignment_settings.xml +++ b/app/src/main/res/layout/bottomsheetdialog_alignment_settings.xml @@ -133,6 +133,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index b6785a4..76eba85 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -77,6 +77,14 @@ android:textSize="32sp" tools:text="Thu, 30 Dec" /> + + + + + + + + + + Show Date Show Time Show Battery + Show Alarm Clock Show Daily Word Show App Icons Show App Icons As Dots @@ -115,6 +116,7 @@ Date\u0020:\u0020 Time\u0020:\u0020 App\u0020:\u0020 + Alarm\u0020:\u0020 Word\u0020:\u0020 Battery\u0020:\u0020