Skip to content

Commit

Permalink
add widget background transparency setting
Browse files Browse the repository at this point in the history
  • Loading branch information
Razeeman committed Jan 2, 2024
1 parent 899ddf9 commit e8e8877
Show file tree
Hide file tree
Showing 41 changed files with 265 additions and 29 deletions.
1 change: 1 addition & 0 deletions core/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">إظهار المتتبعات في عرض تقويم</string>
<string name="settings_reverse_order_in_calendar">ترتيب عكسي للمتتبعات</string>
<string name="settings_days_in_calendar">الأيام في التقويم</string>
<string name="settings_widget_transparency">القطعة شفافية الخلفية</string>
<string name="settings_show_activity_filters">إظهار عوامل تصفية النشاط على الشاشة الرئيسية</string>
<string name="settings_show_goals_separately">إظهار الأهداف في علامة تبويب منفصلة</string>
<string name="settings_allow_multitasking">السماح بتعدد المهام</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-ca/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Mostra els enregistraments en vista de calendari</string>
<string name="settings_reverse_order_in_calendar">Inverteix l\'ordre dels enregistraments</string>
<string name="settings_days_in_calendar">Dies al calendari</string>
<string name="settings_widget_transparency">Transparència de fons del widget</string>
<string name="settings_show_activity_filters">Mostra els filtres d\'activitat a la pantalla principal.</string>
<string name="settings_show_goals_separately">Mostra els objectius en una pestanya separada</string>
<string name="settings_allow_multitasking">Permet la multitasca</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Datensätze in der Kalenderansicht anzeigen</string>
<string name="settings_reverse_order_in_calendar">Umgekehrte Reihenfolge der Aufzeichnungen</string>
<string name="settings_days_in_calendar">Tage im Kalender</string>
<string name="settings_widget_transparency">Widget-Hintergrundtransparenz</string>
<string name="settings_show_activity_filters">Aktivitätsfilter auf dem Hauptbildschirm anzeigen</string>
<string name="settings_show_goals_separately">Ziele auf einer separaten Registerkarte anzeigen</string>
<string name="settings_allow_multitasking">Multitasking erlauben</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Mostrar registros en la vista de calendario</string>
<string name="settings_reverse_order_in_calendar">Orden inverso de registros</string>
<string name="settings_days_in_calendar">Días en el calendario</string>
<string name="settings_widget_transparency">Transparencia del fondo del widget</string>
<string name="settings_show_activity_filters">Mostrar filtros de actividad en la pantalla principal</string>
<string name="settings_show_goals_separately">Mostrar objetivos en una pestaña separada</string>
<string name="settings_allow_multitasking">Permitir el registro multitarea</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-fa/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">نمایش تاریخچه ها در نمای تقویم</string>
<string name="settings_reverse_order_in_calendar">ترتیب برعکس تاریخچه ها</string>
<string name="settings_days_in_calendar">روزها در تقویم</string>
<string name="settings_widget_transparency">شفافیت پس زمینه ویجت</string>
<string name="settings_show_activity_filters">فیلتر فعالیت ها را در صفحه اصلی نمایش بده</string>
<string name="settings_show_goals_separately">نمایش اهداف در یک برگه جداگانه</string>
<string name="settings_allow_multitasking">انجام دادن همزمان فعالیت ها</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Utiliser une vue calendrier pour la liste des enregistrements</string>
<string name="settings_reverse_order_in_calendar">Inverser l\'ordre des enregistrements</string>
<string name="settings_days_in_calendar">Jours dans le calendrier</string>
<string name="settings_widget_transparency">Transparence de l\'arrière-plan du widget</string>
<string name="settings_show_activity_filters">Afficher les filtres d\'activité sur l\'écran principal</string>
<string name="settings_show_goals_separately">Afficher les objectifs dans un onglet séparé</string>
<string name="settings_allow_multitasking">Autoriser le multitâche</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-hi/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">कैलेंडर दृश्य में रिकॉर्ड दिखाएं</string>
<string name="settings_reverse_order_in_calendar">अभिलेखों का उल्टा क्रम</string>
<string name="settings_days_in_calendar">कैलेंडर में दिन</string>
<string name="settings_widget_transparency">विजेट पृष्ठभूमि पारदर्शिता</string>
<string name="settings_show_activity_filters">मुख्य स्क्रीन पर गतिविधि फ़िल्टर दिखाएं</string>
<string name="settings_show_goals_separately">एक अलग टैब पर लक्ष्य दिखाएँ</string>
<string name="settings_allow_multitasking">मल्टीटास्किंग की अनुमति दें</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-in/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Tampilkan rekor dalam tampilan kalender</string>
<string name="settings_reverse_order_in_calendar">Urutan terbalik catatan</string>
<string name="settings_days_in_calendar">Hari dalam kalender</string>
<string name="settings_widget_transparency">Transparansi latar belakang widget</string>
<string name="settings_show_activity_filters">Tampilkan filter aktivitas di layar utama</string>
<string name="settings_show_goals_separately">Tampilkan sasaran di tab terpisah</string>
<string name="settings_allow_multitasking">Izinkan tugas ganda</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-it/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Mostra i record nella vista calendario</string>
<string name="settings_reverse_order_in_calendar">Ordine inverso dei record</string>
<string name="settings_days_in_calendar">Giorni in calendario</string>
<string name="settings_widget_transparency">Trasparenza dello sfondo del widget</string>
<string name="settings_show_activity_filters">Mostra i filtri delle attività sulla schermata principale</string>
<string name="settings_show_goals_separately">Mostra gli obiettivi in una scheda separata</string>
<string name="settings_allow_multitasking">Abilita multitasking</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-ja/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">カレンダービューで計測記録を表示</string>
<string name="settings_reverse_order_in_calendar">レコードの逆順</string>
<string name="settings_days_in_calendar">カレンダーの日数</string>
<string name="settings_widget_transparency">ウィジェットの背景の透明度</string>
<string name="settings_show_activity_filters">メイン画面にアクティビティ フィルタを表示する</string>
<string name="settings_show_goals_separately">別のタブに目標を表示する</string>
<string name="settings_allow_multitasking">マルチタスクを可能にする</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-ko/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">기록을 캘린더 형식으로 보기</string>
<string name="settings_reverse_order_in_calendar">순서 뒤집기</string>
<string name="settings_days_in_calendar">표시할 일 수</string>
<string name="settings_widget_transparency">위젯 배경 투명도</string>
<string name="settings_show_activity_filters">메인 화면에 활동 필터 표시</string>
<string name="settings_show_goals_separately">목표 탭 분리</string>
<string name="settings_allow_multitasking">멀티태스킹 활성화</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-nl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Toon records in kalenderweergave</string>
<string name="settings_reverse_order_in_calendar">Omgekeerde volgorde van records</string>
<string name="settings_days_in_calendar">Dagen in kalender</string>
<string name="settings_widget_transparency">Widgetachtergrondtransparantie</string>
<string name="settings_show_activity_filters">Activiteitsfilters weergeven op hoofdscherm</string>
<string name="settings_show_goals_separately">Toon doelen op een apart tabblad</string>
<string name="settings_allow_multitasking">Multitasking toestaan</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Mostrar registros na visualização de calendário</string>
<string name="settings_reverse_order_in_calendar">Ordem inversa dos registros</string>
<string name="settings_days_in_calendar">Dias no calendário</string>
<string name="settings_widget_transparency">Transparência de fundo do widget</string>
<string name="settings_show_activity_filters">Mostrar filtros de atividade na tela principal</string>
<string name="settings_show_goals_separately">Mostrar metas em uma guia separada</string>
<string name="settings_allow_multitasking">Permitir atividades simultâneas</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Показывать записи в виде календаря</string>
<string name="settings_reverse_order_in_calendar">Обратный порядок записей</string>
<string name="settings_days_in_calendar">Дней в календаре</string>
<string name="settings_widget_transparency">Прозрачность фона виджета</string>
<string name="settings_show_activity_filters">Показывать фильтры активности на главном экране</string>
<string name="settings_show_goals_separately">Показывать цели на отдельной вкладке</string>
<string name="settings_allow_multitasking">Разрешить многозадачность</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-sv/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Visa händelser i kalendervy</string>
<string name="settings_reverse_order_in_calendar">Byt ordning på händelser</string>
<string name="settings_days_in_calendar">Dagar i kalendern</string>
<string name="settings_widget_transparency">Transparens för widgetbakgrund</string>
<string name="settings_show_activity_filters">Visa aktivitetsfilter på huvudskärmen</string>
<string name="settings_show_goals_separately">Visa mål på en separat flik</string>
<string name="settings_allow_multitasking">Tillåt multitasking</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-tr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Kayıtları takvim görünümünde göster</string>
<string name="settings_reverse_order_in_calendar">Kayıtların ters sırası</string>
<string name="settings_days_in_calendar">Takvimdeki günler</string>
<string name="settings_widget_transparency">Widget arka plan şeffaflığı</string>
<string name="settings_show_activity_filters">Aktivite filtrelerini ana ekranda göster</string>
<string name="settings_show_goals_separately">Hedefleri ayrı bir sekmede göster</string>
<string name="settings_allow_multitasking">Çoklu göreve izin ver</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-uk/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Показувати записи в календарі</string>
<string name="settings_reverse_order_in_calendar">Зворотний порядок записів</string>
<string name="settings_days_in_calendar">Дні в календарі</string>
<string name="settings_widget_transparency">Прозорість фону віджета</string>
<string name="settings_show_activity_filters">Показувати фільтри активності на головному екрані</string>
<string name="settings_show_goals_separately">Показати цілі на окремій вкладці</string>
<string name="settings_allow_multitasking">Дозволити багатозадачність</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">顯示月曆檢視紀錄</string>
<string name="settings_reverse_order_in_calendar">反轉記錄順序</string>
<string name="settings_days_in_calendar">日曆中的天數</string>
<string name="settings_widget_transparency">小部件背景透明度</string>
<string name="settings_show_activity_filters">主視窗上顯示活動過濾器</string>
<string name="settings_show_goals_separately">在單獨的選項卡上顯示目標</string>
<string name="settings_allow_multitasking">允許多任務</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values-zh/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">在日历视图中显示记录</string>
<string name="settings_reverse_order_in_calendar">倒序记录</string>
<string name="settings_days_in_calendar">日历中的天数</string>
<string name="settings_widget_transparency">小部件背景透明度</string>
<string name="settings_show_activity_filters">在主屏幕上显示活动过滤器</string>
<string name="settings_show_goals_separately">在单独的选项卡上显示目标</string>
<string name="settings_allow_multitasking">允许同时对多个活动进行追踪</string>
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<string name="settings_show_records_calendar">Show records in calendar view</string>
<string name="settings_reverse_order_in_calendar">Reverse order of records</string>
<string name="settings_days_in_calendar">Days in calendar</string>
<string name="settings_widget_transparency">Widget background transparency</string>
<string name="settings_show_activity_filters">Show activity filters on main screen</string>
<string name="settings_show_goals_separately">Show goals on a separate tab</string>
<string name="settings_allow_multitasking">Allow multitasking</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ class PrefsRepoImpl @Inject constructor(
KEY_REPEAT_BUTTON_TYPE, 0
)

override var widgetBackgroundTransparencyPercent: Long by prefs.delegate(
KEY_WIDGET_TRANSPARENCY_PERCENT, 60
)

override fun setWidget(widgetId: Int, recordType: Long) {
prefs.edit().putLong(KEY_WIDGET + widgetId, recordType).apply()
}
Expand Down Expand Up @@ -434,6 +438,7 @@ class PrefsRepoImpl @Inject constructor(
private const val KEY_AUTOMATIC_EXPORT_ERROR = "automaticExportError"
private const val KEY_AUTOMATIC_EXPORT_LAST_SAVE_TIME = "automaticExportLastSaveTime"
private const val KEY_REPEAT_BUTTON_TYPE = "repeatButtonType"
private const val KEY_WIDGET_TRANSPARENCY_PERCENT = "widgetTransparencyPercent"
private const val KEY_WIDGET = "widget_"
private const val KEY_STATISTICS_WIDGET_FILTERED_TYPES = "statistics_widget_filtered_types_"
private const val KEY_STATISTICS_WIDGET_FILTERED_CATEGORIES = "statistics_widget_filtered_categories_"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,14 @@ class PrefsInteractor @Inject constructor(
}
}

suspend fun setWidgetBackgroundTransparencyPercent(value: Long) = withContext(Dispatchers.IO) {
prefsRepo.widgetBackgroundTransparencyPercent = value
}

suspend fun getWidgetBackgroundTransparencyPercent(): Long = withContext(Dispatchers.IO) {
prefsRepo.widgetBackgroundTransparencyPercent
}

suspend fun clear() = withContext(Dispatchers.IO) {
prefsRepo.clear()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.example.util.simpletimetracker.domain.model

data class WidgetTransparencyPercent(
val value: Long,
)
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ interface PrefsRepo {

var repeatButtonType: Int

var widgetBackgroundTransparencyPercent: Long

fun setWidget(widgetId: Int, recordType: Long)

fun getWidget(widgetId: Int): Long
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import com.example.util.simpletimetracker.domain.model.CardOrder
import com.example.util.simpletimetracker.domain.model.DayOfWeek
import com.example.util.simpletimetracker.domain.model.DaysInCalendar
import com.example.util.simpletimetracker.domain.model.RepeatButtonType
import com.example.util.simpletimetracker.domain.model.WidgetTransparencyPercent
import com.example.util.simpletimetracker.domain.model.count
import com.example.util.simpletimetracker.feature_settings.R
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsTranslatorViewData
Expand All @@ -33,6 +34,7 @@ import com.example.util.simpletimetracker.feature_settings.viewData.FirstDayOfWe
import com.example.util.simpletimetracker.feature_settings.viewData.LanguageViewData
import com.example.util.simpletimetracker.feature_settings.viewData.RepeatButtonViewData
import com.example.util.simpletimetracker.feature_settings.viewData.SettingsDurationViewData
import com.example.util.simpletimetracker.feature_settings.viewData.WidgetTransparencyViewData
import com.example.util.simpletimetracker.feature_views.spinner.CustomSpinner
import com.example.util.simpletimetracker.navigation.params.screen.HelpDialogParams
import java.util.Calendar
Expand Down Expand Up @@ -60,6 +62,15 @@ class SettingsMapper @Inject constructor(
DaysInCalendar.SEVEN,
)

private val widgetTransparencyList: List<WidgetTransparencyPercent> = listOf(
WidgetTransparencyPercent(100),
WidgetTransparencyPercent(80),
WidgetTransparencyPercent(60),
WidgetTransparencyPercent(40),
WidgetTransparencyPercent(20),
WidgetTransparencyPercent(0),
)

private val dayOfWeekList: List<DayOfWeek> = listOf(
DayOfWeek.MONDAY,
DayOfWeek.TUESDAY,
Expand Down Expand Up @@ -137,6 +148,20 @@ class SettingsMapper @Inject constructor(
return daysInCalendarList.getOrElse(position) { daysInCalendarList.first() }
}

fun toWidgetTransparencyViewData(currentValue: WidgetTransparencyPercent): WidgetTransparencyViewData {
return WidgetTransparencyViewData(
items = widgetTransparencyList
.map(::toWidgetTransparencyName)
.map(CustomSpinner::CustomSpinnerTextItem),
selectedPosition = toPosition(currentValue),
selectedValue = toWidgetTransparencyName(currentValue),
)
}

fun toWidgetTransparency(position: Int): WidgetTransparencyPercent {
return widgetTransparencyList.getOrElse(position) { widgetTransparencyList.first() }
}

fun toFirstDayOfWeekViewData(currentOrder: DayOfWeek): FirstDayOfWeekViewData {
return FirstDayOfWeekViewData(
items = dayOfWeekList
Expand Down Expand Up @@ -337,6 +362,14 @@ class SettingsMapper @Inject constructor(
return daysInCalendar.count.toString()
}

private fun toPosition(widgetTransparency: WidgetTransparencyPercent): Int {
return widgetTransparencyList.indexOf(widgetTransparency).takeUnless { it == -1 }.orZero()
}

private fun toWidgetTransparencyName(widgetTransparency: WidgetTransparencyPercent): String {
return "${widgetTransparency.value}%"
}

private fun toPosition(dayOfWeek: DayOfWeek): Int {
return dayOfWeekList.indexOf(dayOfWeek).takeUnless { it == -1 }.orZero()
}
Expand Down
Loading

0 comments on commit e8e8877

Please sign in to comment.