From 859849fe47d316bdcc7ad34d0bdf687fe5520c39 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 29 Jul 2025 16:47:03 +0530 Subject: [PATCH 01/10] chore: bump target SDK version to 35 --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1a202e24..56bc9e1a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,8 +26,8 @@ commons = "5.4.0" #Gradle gradlePlugins-agp = "8.11.1" #build -app-build-compileSDKVersion = "34" -app-build-targetSDK = "34" +app-build-compileSDKVersion = "35" +app-build-targetSDK = "35" app-build-minimumSDK = "26" app-build-javaVersion = "VERSION_17" app-build-kotlinJVMTarget = "17" From e3349beeb89f9c5d7c22fab035353b48ba75d180 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sat, 18 Oct 2025 19:11:56 +0530 Subject: [PATCH 02/10] chore: bump target SDK version to 36 --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 56bc9e1a..3fdcadae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,8 +26,8 @@ commons = "5.4.0" #Gradle gradlePlugins-agp = "8.11.1" #build -app-build-compileSDKVersion = "35" -app-build-targetSDK = "35" +app-build-compileSDKVersion = "36" +app-build-targetSDK = "36" app-build-minimumSDK = "26" app-build-javaVersion = "VERSION_17" app-build-kotlinJVMTarget = "17" From b26e3fa92a0ea8a376e500216b6a28d02b2c6fe6 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 21 Oct 2025 15:29:25 +0530 Subject: [PATCH 03/10] refactor: update edge-to-edge implementation --- .../org/fossify/clock/activities/AlarmActivity.kt | 1 - .../fossify/clock/activities/IntentHandlerActivity.kt | 1 - .../org/fossify/clock/activities/MainActivity.kt | 10 ++++------ .../org/fossify/clock/activities/SettingsActivity.kt | 9 +++------ 4 files changed, 7 insertions(+), 14 deletions(-) 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..f3082208 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt @@ -52,7 +52,6 @@ class AlarmActivity : SimpleActivity() { private val binding by viewBinding(ActivityAlarmBinding::inflate) override fun onCreate(savedInstanceState: Bundle?) { - isMaterialActivity = true super.onCreate(savedInstanceState) setContentView(binding.root) showOverLockscreen() 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..34ee212b 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt @@ -65,18 +65,16 @@ 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 + updateEdgeToEdge( + topAppBar = binding.mainToolbar, + scrollingView = binding.viewPager, + bottomBar = binding.mainTabsHolder ) storeStateVariables() 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..018b94bf 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt @@ -69,15 +69,12 @@ 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 + updateEdgeToEdge( + topAppBar = binding.settingsToolbar, + scrollingView = binding.settingsNestedScrollview, ) setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsToolbar) } From e31f82461736bfb6deb35a533e9701349f95d4b1 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 21 Oct 2025 15:50:45 +0530 Subject: [PATCH 04/10] build: add maven local to repositories --- settings.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.gradle.kts b/settings.gradle.kts index 1a436578..1e486fdd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,6 +11,7 @@ dependencyResolutionManagement { mavenCentral() google() maven { setUrl("https://jitpack.io") } + mavenLocal() } } include(":app") From 8e3e6a096cf07c8b21a837fe284f94ab332662dc Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 21 Oct 2025 16:04:55 +0530 Subject: [PATCH 05/10] refactor: update edge-to-edge implementation --- .../main/kotlin/org/fossify/clock/activities/MainActivity.kt | 2 +- .../kotlin/org/fossify/clock/activities/SettingsActivity.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 34ee212b..11a243bd 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt @@ -99,7 +99,7 @@ class MainActivity : SimpleActivity() { override fun onResume() { super.onResume() - setupToolbar(binding.mainToolbar, statusBarColor = getProperBackgroundColor()) + setupTopAppBar(binding.mainToolbar, statusBarColor = getProperBackgroundColor()) val configTextColor = getProperTextColor() if (storedTextColor != configTextColor) { getInactiveTabIndexes(binding.viewPager.currentItem).forEach { 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 018b94bf..6e172b4e 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt @@ -81,7 +81,7 @@ class SettingsActivity : SimpleActivity() { override fun onResume() { super.onResume() - setupToolbar(binding.settingsToolbar, NavigationIcon.Arrow) + setupTopAppBar(binding.settingsToolbar, NavigationIcon.Arrow) setupCustomizeColors() setupUseEnglish() From f06702ec553a34b9ad22e02d368da6c82329b637 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 21 Oct 2025 16:10:40 +0530 Subject: [PATCH 06/10] refactor: migrate away from deprecated onBackPressed() --- .../fossify/clock/activities/AlarmActivity.kt | 1 - .../fossify/clock/activities/MainActivity.kt | 9 ++------ .../clock/activities/SettingsActivity.kt | 9 +++----- .../WidgetAnalogueConfigureActivity.kt | 1 + .../WidgetDigitalConfigureActivity.kt | 1 + app/src/main/res/layout/activity_main.xml | 21 +++++++++++------ app/src/main/res/layout/activity_settings.xml | 23 ++++++++++++------- gradle/libs.versions.toml | 2 +- 8 files changed, 37 insertions(+), 30 deletions(-) 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 f3082208..5dde6663 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/AlarmActivity.kt @@ -56,7 +56,6 @@ class AlarmActivity : SimpleActivity() { 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/MainActivity.kt b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt index 11a243bd..44d6a7bc 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/MainActivity.kt @@ -71,11 +71,7 @@ class MainActivity : SimpleActivity() { setupOptionsMenu() refreshMenuItems() - updateEdgeToEdge( - topAppBar = binding.mainToolbar, - scrollingView = binding.viewPager, - bottomBar = binding.mainTabsHolder - ) + setupEdgeToEdge(padBottomImeAndSystem = listOf(binding.mainTabsHolder)) storeStateVariables() initFragments() @@ -99,7 +95,7 @@ class MainActivity : SimpleActivity() { override fun onResume() { super.onResume() - setupTopAppBar(binding.mainToolbar, statusBarColor = getProperBackgroundColor()) + setupTopAppBar(binding.mainAppbar, topBarColor = getProperBackgroundColor()) val configTextColor = getProperTextColor() if (storedTextColor != configTextColor) { getInactiveTabIndexes(binding.viewPager.currentItem).forEach { @@ -332,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 6e172b4e..66a10e18 100644 --- a/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/clock/activities/SettingsActivity.kt @@ -72,16 +72,13 @@ class SettingsActivity : SimpleActivity() { super.onCreate(savedInstanceState) setContentView(binding.root) - updateEdgeToEdge( - topAppBar = binding.settingsToolbar, - scrollingView = binding.settingsNestedScrollview, - ) - setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsToolbar) + setupEdgeToEdge(padBottomSystem = listOf(binding.settingsNestedScrollview)) + setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsAppbar) } override fun onResume() { super.onResume() - setupTopAppBar(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"> Date: Sun, 26 Oct 2025 20:06:54 +0530 Subject: [PATCH 07/10] chore(deps): update org.fossify.commons to 5.5.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 55a47b82..ae6faf08 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,7 +22,7 @@ numberpicker = "2.4.13" #Room room = "2.8.2" #Fossify -commons = "6.0.0" +commons = "5.5.0" #Gradle gradlePlugins-agp = "8.11.1" #build From 7bee2b668cd9f05eea0837bbacc32bc82f30d947 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 26 Oct 2025 20:42:00 +0530 Subject: [PATCH 08/10] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) 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 From da65ef5b9303cd914e5075e2eab27fe9f758528c Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 26 Oct 2025 21:13:34 +0530 Subject: [PATCH 09/10] build: bump detekt return count limit --- detekt.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/detekt.yml b/detekt.yml index 6472c5a3..73ddc0c1 100644 --- a/detekt.yml +++ b/detekt.yml @@ -40,6 +40,11 @@ style: maxLineLength: 120 excludePackageStatements: true excludeImportStatements: true + ReturnCount: + active: true + max: 4 + excludeGuardClauses: true + excludes: ["**/test/**", "**/androidTest/**"] naming: FunctionNaming: From 1811ef5d946d2c3d292d90988130092cfdff74c1 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 26 Oct 2025 21:46:57 +0530 Subject: [PATCH 10/10] chore: update lint baselines --- app/detekt-baseline.xml | 1 - app/lint-baseline.xml | 116 +++++++++++++++++++++++++++------------- 2 files changed, 78 insertions(+), 39 deletions(-) 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=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">