diff --git a/CHANGELOG.md b/CHANGELOG.md index c07a9ae1..ca62f7aa 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.1.2] - 2025-10-18 ### Changed - Updated translations diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml index 22f43ccb..21a3c71e 100644 --- a/app/detekt-baseline.xml +++ b/app/detekt-baseline.xml @@ -28,7 +28,6 @@ MaxLineLength:VectorFloodFiller.kt$VectorFloodFiller$// if we're not below the bottom of the bitmap and the pixel below this one is within the color tolerance MaxLineLength:VectorFloodFiller.kt$VectorFloodFiller$return red >= startColorRed - tolerance && red <= startColorRed + tolerance && green >= startColorGreen - tolerance && green <= startColorGreen + tolerance && blue >= startColorBlue - tolerance && blue <= startColorBlue + tolerance NestedBlockDepth:MyPath.kt$MyPath$fun readObject(pathData: String, activity: Activity) - ReturnCount:MyCanvas.kt$MyCanvas$override fun onTouchEvent(event: MotionEvent): Boolean SerialVersionUIDInSerializableClass:MyPath.kt$MyPath : PathSerializable SerialVersionUIDInSerializableClass:Svg.kt$Svg$SPath : Serializable SerialVersionUIDInSerializableClass:Svg.kt$Svg$SRect : Serializable diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml index b36f5ef7..d6a6563c 100644 --- a/app/lint-baseline.xml +++ b/app/lint-baseline.xml @@ -8,7 +8,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -19,17 +19,6 @@ file="src/main/AndroidManifest.xml"/> - - - - @@ -58,25 +47,25 @@ errorLine1="gradlePlugins-agp = "8.11.1"" errorLine2=" ~~~~~~~~"> + id="NewerVersionAvailable" + message="A newer version of org.jetbrains.kotlin.android than 2.2.20 is available: 2.2.21" + errorLine1="kotlin = "2.2.20"" + errorLine2=" ~~~~~~~~"> + file="$HOME/Projects/Fossify/FossifyOrg/Paint/gradle/libs.versions.toml" + line="3" + column="10"/> @@ -375,7 +364,7 @@ errorLine2=" ~~~~~~~~~~~~~"> @@ -386,7 +375,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -430,7 +419,7 @@ errorLine2=" ~~~~~~~~~~~~"> @@ -441,7 +430,7 @@ errorLine2=" ~~~~~~~~~"> diff --git a/app/src/main/kotlin/org/fossify/paint/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/paint/activities/MainActivity.kt index a048c9c0..c8389424 100644 --- a/app/src/main/kotlin/org/fossify/paint/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/paint/activities/MainActivity.kt @@ -103,6 +103,10 @@ class MainActivity : SimpleActivity(), CanvasListener { setupOptionsMenu() refreshMenuItems() + setupEdgeToEdge( + padBottomSystem = listOf(binding.mainScrollview, binding.strokeWidthBar), + ) + eyeDropper = EyeDropper(binding.myCanvas) { selectedColor -> setColor(selectedColor) } @@ -163,7 +167,7 @@ class MainActivity : SimpleActivity(), CanvasListener { override fun onResume() { super.onResume() - setupToolbar(binding.mainToolbar, statusBarColor = getProperBackgroundColor()) + setupTopAppBar(binding.mainAppbar, topBarColor = getProperBackgroundColor()) binding.apply { val isShowBrushSizeEnabled = config.showBrushSize @@ -234,7 +238,7 @@ class MainActivity : SimpleActivity(), CanvasListener { } } - override fun onBackPressed() { + override fun onBackPressedCompat(): Boolean { val hasUnsavedChanges = savedPathsHash != binding.myCanvas.getDrawingHashCode() if (hasUnsavedChanges && System.currentTimeMillis() - lastSavePromptTS > SAVE_DISCARD_PROMPT_INTERVAL) { lastSavePromptTS = System.currentTimeMillis() @@ -248,12 +252,12 @@ class MainActivity : SimpleActivity(), CanvasListener { if (it) { trySaveImage() } else { - super.onBackPressed() + performDefaultBack() } } - } else { - super.onBackPressed() + return true } + return false } private fun launchSettings() { diff --git a/app/src/main/kotlin/org/fossify/paint/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/paint/activities/SettingsActivity.kt index ac4540c9..bca34ece 100644 --- a/app/src/main/kotlin/org/fossify/paint/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/paint/activities/SettingsActivity.kt @@ -15,24 +15,18 @@ class SettingsActivity : SimpleActivity() { private val binding by viewBinding(ActivitySettingsBinding::inflate) override fun onCreate(savedInstanceState: Bundle?) { - isMaterialActivity = true super.onCreate(savedInstanceState) setContentView(binding.root) binding.apply { - updateMaterialActivityViews( - settingsCoordinator, - settingsHolder, - useTransparentNavigation = true, - useTopSearchMenu = false - ) - setupMaterialScrollListener(settingsNestedScrollview, settingsToolbar) + setupEdgeToEdge(padBottomSystem = listOf(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/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 7f02a1c1..15d99e29 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,21 +5,28 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + android:layout_height="wrap_content"> + + + + + android:scrollbars="none" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> - + android:layout_height="wrap_content"> + + + + + android:scrollbars="none" + app:layout_behavior="@string/appbar_scrolling_view_behavior">