diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9af1f61b..dff444e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+### Changed
+
+- Compatibility updates for Android 15 & 16
+
## [1.3.1] - 2025-07-22
### Changed
- Updated translations
diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml
index bf002297..6e04d2f6 100644
--- a/app/detekt-baseline.xml
+++ b/app/detekt-baseline.xml
@@ -76,7 +76,6 @@
NestedBlockDepth:IntentHandlerActivity.kt$IntentHandlerActivity$private fun Intent.dismissAlarm()
NestedBlockDepth:IntentHandlerActivity.kt$IntentHandlerActivity$private fun Intent.setNewAlarm()
PrintStackTrace:AlarmService.kt$AlarmService$e
- ReturnCount:Context.kt$fun Context.firstDayOrder(bitMask: Int): Int
SwallowedException:Converters.kt$Converters$e: Exception
SwallowedException:DBHelper.kt$DBHelper$e: Exception
SwallowedException:ExportHelper.kt$ExportHelper$e: Exception
diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml
index 923c4da4..92a730f4 100644
--- a/app/lint-baseline.xml
+++ b/app/lint-baseline.xml
@@ -45,17 +45,6 @@
column="25"/>
-
-
-
-
@@ -139,7 +128,7 @@
errorLine1="gradlePlugins-agp = "8.11.1""
errorLine2=" ~~~~~~~~">
@@ -150,7 +139,7 @@
errorLine1="androidx-lifecycle = "2.8.7""
errorLine2=" ~~~~~~~">
@@ -161,7 +150,7 @@
errorLine1="androidx-lifecycle = "2.8.7""
errorLine2=" ~~~~~~~">
@@ -172,20 +161,42 @@
errorLine1="androidx-lifecycle = "2.8.7""
errorLine2=" ~~~~~~~">
+ message="A newer version of androidx.room:room-compiler than 2.8.2 is available: 2.8.3"
+ errorLine1="room = "2.8.2""
+ errorLine2=" ~~~~~~~">
+ file="$HOME/Projects/Fossify/FossifyOrg/Clock/gradle/libs.versions.toml"
+ line="23"
+ column="8"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -261,7 +294,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
@@ -333,7 +366,7 @@
+
+
+
+
@@ -1122,7 +1162,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt
index 33752cbe..5dde6663 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt
@@ -52,12 +52,10 @@ class AlarmActivity : SimpleActivity() {
private val binding by viewBinding(ActivityAlarmBinding::inflate)
override fun onCreate(savedInstanceState: Bundle?) {
- isMaterialActivity = true
super.onCreate(savedInstanceState)
setContentView(binding.root)
showOverLockscreen()
updateTextColors(binding.root)
- updateStatusbarColor(getProperBackgroundColor())
val id = intent.getIntExtra(ALARM_ID, -1)
alarm = dbHelper.getAlarmWithId(id)
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/IntentHandlerActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/IntentHandlerActivity.kt
index a3a42c77..7e457b52 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/IntentHandlerActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/IntentHandlerActivity.kt
@@ -58,7 +58,6 @@ class IntentHandlerActivity : SimpleActivity() {
}
override fun onCreate(savedInstanceState: Bundle?) {
- isMaterialActivity = true
super.onCreate(savedInstanceState)
handleIntent(intent)
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt
index 1f192f43..44d6a7bc 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt
@@ -65,19 +65,13 @@ class MainActivity : SimpleActivity() {
private val binding: ActivityMainBinding by viewBinding(ActivityMainBinding::inflate)
override fun onCreate(savedInstanceState: Bundle?) {
- isMaterialActivity = true
super.onCreate(savedInstanceState)
setContentView(binding.root)
appLaunched(BuildConfig.APPLICATION_ID)
setupOptionsMenu()
refreshMenuItems()
- updateMaterialActivityViews(
- mainCoordinatorLayout = binding.mainCoordinator,
- nestedView = binding.mainHolder,
- useTransparentNavigation = false,
- useTopSearchMenu = false
- )
+ setupEdgeToEdge(padBottomImeAndSystem = listOf(binding.mainTabsHolder))
storeStateVariables()
initFragments()
@@ -101,7 +95,7 @@ class MainActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
- setupToolbar(binding.mainToolbar, statusBarColor = getProperBackgroundColor())
+ setupTopAppBar(binding.mainAppbar, topBarColor = getProperBackgroundColor())
val configTextColor = getProperTextColor()
if (storedTextColor != configTextColor) {
getInactiveTabIndexes(binding.viewPager.currentItem).forEach {
@@ -334,7 +328,6 @@ class MainActivity : SimpleActivity() {
binding.mainTabsHolder.getTabAt(binding.viewPager.currentItem)?.select()
val bottomBarColor = getBottomNavigationBackgroundColor()
binding.mainTabsHolder.setBackgroundColor(bottomBarColor)
- updateNavigationBarColor(bottomBarColor)
}
private fun getInactiveTabIndexes(activeIndex: Int): List {
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt
index eaef508b..66a10e18 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt
@@ -69,22 +69,16 @@ class SettingsActivity : SimpleActivity() {
}
override fun onCreate(savedInstanceState: Bundle?) {
- isMaterialActivity = true
super.onCreate(savedInstanceState)
setContentView(binding.root)
- updateMaterialActivityViews(
- mainCoordinatorLayout = binding.settingsCoordinator,
- nestedView = binding.settingsHolder,
- useTransparentNavigation = true,
- useTopSearchMenu = false
- )
- setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsToolbar)
+ setupEdgeToEdge(padBottomSystem = listOf(binding.settingsNestedScrollview))
+ setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsAppbar)
}
override fun onResume() {
super.onResume()
- setupToolbar(binding.settingsToolbar, NavigationIcon.Arrow)
+ setupTopAppBar(binding.settingsAppbar, NavigationIcon.Arrow)
setupCustomizeColors()
setupUseEnglish()
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/WidgetAnalogueConfigureActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/WidgetAnalogueConfigureActivity.kt
index 6a4499f8..9cedd98d 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/WidgetAnalogueConfigureActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/WidgetAnalogueConfigureActivity.kt
@@ -35,6 +35,7 @@ class WidgetAnalogueConfigureActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setResult(RESULT_CANCELED)
setContentView(binding.root)
+ setupEdgeToEdge(padTopSystem = listOf(binding.root), padBottomSystem = listOf(binding.root))
initVariables()
val isCustomizingColors = intent.extras?.getBoolean(IS_CUSTOMIZING_COLORS) == true
diff --git a/app/src/main/kotlin/org/fossify/clock/activities/WidgetDigitalConfigureActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/WidgetDigitalConfigureActivity.kt
index 1f3752cf..a0875416 100644
--- a/app/src/main/kotlin/org/fossify/clock/activities/WidgetDigitalConfigureActivity.kt
+++ b/app/src/main/kotlin/org/fossify/clock/activities/WidgetDigitalConfigureActivity.kt
@@ -39,6 +39,7 @@ class WidgetDigitalConfigureActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setResult(RESULT_CANCELED)
setContentView(binding.root)
+ setupEdgeToEdge(padTopSystem = listOf(binding.root), padBottomSystem = listOf(binding.root))
initVariables()
mWidgetId = intent.extras?.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 47f26d57..5db3ec21 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -5,19 +5,26 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+ android:layout_height="wrap_content">
+
+
+
+
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+ android:layout_height="wrap_content">
+
+
+
+
+ android:scrollbars="none"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">