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">