From 609f7cc3597c2f9126f2523edadbb9cf25413e38 Mon Sep 17 00:00:00 2001
From: Naveen Singh <36371707+naveensingh@users.noreply.github.com>
Date: Sun, 26 Oct 2025 22:58:23 +0530
Subject: [PATCH] chore: bump target SDK version to 35 (#195)
* chore: bump target SDK version to 35
* chore: bump target SDK version to 36
* refactor: update edge-to-edge implementation
* refactor: update edge-to-edge implementation
* refactor: update edge-to-edge implementation
* refactor: migrate away from deprecated onBackPressed()
* fix: replace removeFirst()/removeLast() with removeAt()
* chore(deps): update org.fossify.commons to 5.5.0
* docs: update changelog
* build: bump detekt return count limit
* chore: update lint baselines
---
CHANGELOG.md | 4 +
app/detekt-baseline.xml | 2 -
app/lint-baseline.xml | 225 ++++++++++--------
.../fossify/notes/activities/MainActivity.kt | 23 +-
.../notes/activities/SettingsActivity.kt | 12 +-
.../activities/WidgetConfigureActivity.kt | 1 +
.../org/fossify/notes/models/TextHistory.kt | 2 +-
app/src/main/res/layout/activity_main.xml | 24 +-
app/src/main/res/layout/activity_settings.xml | 23 +-
detekt.yml | 5 +
gradle/libs.versions.toml | 6 +-
settings.gradle.kts | 1 +
12 files changed, 186 insertions(+), 142 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dc23c737..3d120cff 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.5.0] - 2025-10-10
### Changed
- Updated translations
diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml
index 3475c07b..7f602421 100644
--- a/app/detekt-baseline.xml
+++ b/app/detekt-baseline.xml
@@ -78,8 +78,6 @@
NestedBlockDepth:MainActivity.kt$MainActivity$private fun checkIntents(intent: Intent)
NestedBlockDepth:Note.kt$Note$fun getNoteStoredValue(context: Context): String?
NestedBlockDepth:TasksFragment.kt$TasksFragment$private fun prepareTaskItems(): List<NoteItem>
- ReturnCount:TasksFragment.kt$TasksFragment$private fun saveNote(callback: () -> Unit = {})
- ReturnCount:TextFragment.kt$TextFragment$fun saveText(force: Boolean, callback: ((note: Note) -> Unit)? = null)
SwallowedException:MainActivity.kt$MainActivity$e: ActivityNotFoundException
SwallowedException:MainActivity.kt$MainActivity$e: Exception
SwallowedException:MainActivity.kt$MainActivity$e: NetworkErrorException
diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml
index fb478b04..e778dc94 100644
--- a/app/lint-baseline.xml
+++ b/app/lint-baseline.xml
@@ -8,25 +8,14 @@
file="src/main/AndroidManifest.xml"/>
-
-
-
-
@@ -80,7 +69,7 @@
errorLine1="distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -91,20 +80,42 @@
errorLine1="gradlePlugins-agp = "8.11.1""
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/Notes/gradle/libs.versions.toml"
+ line="14"
+ column="8"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1496,7 +1529,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -1507,7 +1540,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
diff --git a/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt
index bbfa640a..f67d6c86 100644
--- a/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt
+++ b/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt
@@ -158,20 +158,13 @@ class MainActivity : SimpleActivity() {
private val binding 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 = null,
- useTransparentNavigation = false,
- useTopSearchMenu = false
- )
-
+ setupEdgeToEdge(padBottomImeAndSystem = listOf(binding.viewPager))
searchQueryET = findViewById(org.fossify.commons.R.id.search_query)
searchPrevBtn = findViewById(org.fossify.commons.R.id.search_previous)
searchNextBtn = findViewById(org.fossify.commons.R.id.search_next)
@@ -204,7 +197,7 @@ class MainActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
- setupToolbar(binding.mainToolbar)
+ setupTopAppBar(binding.mainAppbar)
if (storedEnableLineWrap != config.enableLineWrap) {
initViewPager()
}
@@ -236,7 +229,7 @@ class MainActivity : SimpleActivity() {
it.applyColorFilter(contrastColor)
}
- updateTopBarColors(binding.mainToolbar, getProperBackgroundColor())
+ updateTopBarColors(binding.mainAppbar, getProperBackgroundColor())
}
override fun onPause() {
@@ -348,8 +341,8 @@ class MainActivity : SimpleActivity() {
}
}
- override fun onBackPressed() {
- if (!config.autosaveNotes && mAdapter?.anyHasUnsavedChanges() == true) {
+ override fun onBackPressedCompat(): Boolean {
+ return if (!config.autosaveNotes && mAdapter?.anyHasUnsavedChanges() == true) {
ConfirmationAdvancedDialog(
activity = this,
message = "",
@@ -361,13 +354,15 @@ class MainActivity : SimpleActivity() {
mAdapter?.saveAllFragmentTexts()
}
appLockManager.lock()
- super.onBackPressed()
+ performDefaultBack()
}
+ true
} else if (isSearchActive) {
closeSearch()
+ true
} else {
appLockManager.lock()
- super.onBackPressed()
+ false
}
}
diff --git a/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt
index 9679cc96..15bbc2e6 100644
--- a/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt
@@ -77,22 +77,16 @@ class SettingsActivity : SimpleActivity() {
private val binding by viewBinding(ActivitySettingsBinding::inflate)
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/notes/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/org/fossify/notes/activities/WidgetConfigureActivity.kt
index 2efee53b..72336e91 100644
--- a/app/src/main/kotlin/org/fossify/notes/activities/WidgetConfigureActivity.kt
+++ b/app/src/main/kotlin/org/fossify/notes/activities/WidgetConfigureActivity.kt
@@ -49,6 +49,7 @@ class WidgetConfigureActivity : 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) ?: AppWidgetManager.INVALID_APPWIDGET_ID
diff --git a/app/src/main/kotlin/org/fossify/notes/models/TextHistory.kt b/app/src/main/kotlin/org/fossify/notes/models/TextHistory.kt
index 152bbb0e..706b580c 100644
--- a/app/src/main/kotlin/org/fossify/notes/models/TextHistory.kt
+++ b/app/src/main/kotlin/org/fossify/notes/models/TextHistory.kt
@@ -26,7 +26,7 @@ class TextHistory {
fun add(item: TextHistoryItem) {
while (history.size > position) {
- history.removeLast()
+ history.removeAt(history.lastIndex)
}
history.add(item)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index c69607d4..0bb7b8d9 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -2,24 +2,30 @@
-
+ android:layout_height="wrap_content">
+
+
+
+
+ android:orientation="vertical"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+ android:layout_height="wrap_content">
+
+
+
+
+ android:scrollbars="none"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">