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