Fix Date & Time pref group being blank in some scenarios (#2651)
Co-authored-by: Daria Hamrah Paytakht <info@dariarnd.ir> Co-authored-by: Daria Hamrah Paytakht <info@dariarnd.ir>
This commit is contained in:
@@ -5,8 +5,10 @@ import com.android.launcher3.R
|
||||
|
||||
/**
|
||||
* Contains the data of a single calendar system for smartspace.
|
||||
*
|
||||
* @param formatCustomizationSupport If the calendar system supports date & time format customization.
|
||||
*/
|
||||
open class SmartspaceCalendar(@StringRes val nameResourceId: Int) {
|
||||
open class SmartspaceCalendar(@StringRes val nameResourceId: Int, val formatCustomizationSupport: Boolean = true) {
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -24,7 +26,7 @@ open class SmartspaceCalendar(@StringRes val nameResourceId: Int) {
|
||||
object Gregorian : SmartspaceCalendar(nameResourceId = R.string.smartspace_calendar_gregorian) {
|
||||
override fun toString() = "gregorian"
|
||||
}
|
||||
object Persian : SmartspaceCalendar(nameResourceId = R.string.smartspace_calendar_persian) {
|
||||
object Persian : SmartspaceCalendar(nameResourceId = R.string.smartspace_calendar_persian, formatCustomizationSupport = false) {
|
||||
override fun toString() = "persian"
|
||||
}
|
||||
|
||||
|
||||
@@ -119,15 +119,21 @@ fun SmartspaceDateAndTimePreferences() {
|
||||
) {
|
||||
val preferenceManager2 = preferenceManager2()
|
||||
|
||||
val calendarSelectionAdapter = preferenceManager2.enableSmartspaceCalendarSelection.getAdapter()
|
||||
val calendarAdapter = preferenceManager2.smartspaceCalendar.getAdapter()
|
||||
val showDateAdapter = preferenceManager2.smartspaceShowDate.getAdapter()
|
||||
val showTimeAdapter = preferenceManager2.smartspaceShowTime.getAdapter()
|
||||
val use24HourFormatAdapter = preferenceManager2.smartspace24HourFormat.getAdapter()
|
||||
|
||||
val calendarHasMinimumContent = !showDateAdapter.state.value || !showTimeAdapter.state.value
|
||||
val isGregorian = calendarAdapter.state.value != SmartspaceCalendar.Persian
|
||||
|
||||
ExpandAndShrink(visible = isGregorian) {
|
||||
val calendar = if (calendarSelectionAdapter.state.value) {
|
||||
calendarAdapter.state.value
|
||||
} else {
|
||||
preferenceManager2.smartspaceCalendar.defaultValue
|
||||
}
|
||||
|
||||
ExpandAndShrink(visible = calendar.formatCustomizationSupport) {
|
||||
DividerColumn {
|
||||
SwitchPreference(
|
||||
adapter = showDateAdapter,
|
||||
|
||||
Reference in New Issue
Block a user