diff --git a/CHANGELOG.md b/CHANGELOG.md index 697732a7..9f6209ec 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-10-05 ### Changed - Updated translations diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml index 123873da..681960c6 100644 --- a/app/detekt-baseline.xml +++ b/app/detekt-baseline.xml @@ -73,7 +73,6 @@ MaxLineLength:CameraErrorHandler.kt$CameraErrorHandler$VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE -> context.toast(R.string.video_capture_insufficient_storage_error) MaxLineLength:ImageUtil.kt$ImageUtil$require(image.format == ImageFormat.YUV_420_888) { "Incorrect image format of the input image proxy: " + image.format } MaxLineLength:MainActivity.kt$MainActivity$if - MaxLineLength:MainActivity.kt$MainActivity$safeInsetBottom + navigationBarHeight + resources.getDimensionPixelSize(org.fossify.commons.R.dimen.bigger_margin) MaxLineLength:MainActivity.kt$MainActivity$} MaxLineLength:SettingsActivity.kt$SettingsActivity$it.beGoneIf(settingsUseEnglishHolder.isGone() && settingsPurchaseThankYouHolder.isGone() && settingsLanguageHolder.isGone()) MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) @@ -85,12 +84,7 @@ NestedBlockDepth:MediaOutputHelper.kt$MediaOutputHelper$private fun getUriForFilePath(path: String): Uri? NestedBlockDepth:PhotoProcessor.kt$PhotoProcessor$override fun doInBackground(vararg params: ByteArray): String NestedBlockDepth:VideoQualityManager.kt$VideoQualityManager$fun initSupportedQualities(cameraProvider: ProcessCameraProvider) - ReturnCount:ImageSaver.kt$ImageSaver$@SuppressLint("RestrictedApi") private fun saveImageToTempFile(): File? - ReturnCount:MediaActionSound.kt$MediaActionSound$private fun loadSound(sound: SoundState): Int - ReturnCount:MediaOutputHelper.kt$MediaOutputHelper$private fun getFileDescriptorMediaOutput(): MediaOutput.FileDescriptorMediaOutput? - ReturnCount:MediaOutputHelper.kt$MediaOutputHelper$private fun getUriForFilePath(path: String): Uri? ReturnCount:PhotoProcessor.kt$PhotoProcessor$override fun doInBackground(vararg params: ByteArray): String - ReturnCount:PhotoProcessor.kt$PhotoProcessor$private fun rotate(bitmap: Bitmap, degree: Int): Bitmap? SwallowedException:BitmapUtils.kt$BitmapUtils$ex: OutOfMemoryError SwallowedException:CameraXPreview.kt$CameraXPreview$e: Exception SwallowedException:ImageUtil.kt$ImageUtil$e: IOException diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml index 9d7fe31f..9f727466 100644 --- a/app/lint-baseline.xml +++ b/app/lint-baseline.xml @@ -41,7 +41,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -52,17 +52,6 @@ file="src/main/AndroidManifest.xml"/> - - - - @@ -92,7 +81,7 @@ errorLine2=" ~~~~"> @@ -113,7 +102,7 @@ errorLine1="distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -124,73 +113,73 @@ errorLine1="gradlePlugins-agp = "8.11.1"" errorLine2=" ~~~~~~~~"> @@ -201,22 +190,11 @@ errorLine1="androidx-ktx = "2.8.6"" errorLine2=" ~~~~~~~"> - - - - + + + + { bottomMargin = marginBottom diff --git a/app/src/main/kotlin/org/fossify/camera/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/camera/activities/SettingsActivity.kt index c239e468..591603a4 100644 --- a/app/src/main/kotlin/org/fossify/camera/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/camera/activities/SettingsActivity.kt @@ -20,26 +20,20 @@ class SettingsActivity : SimpleActivity() { private val binding by viewBinding(ActivitySettingsBinding::inflate) override fun onCreate(savedInstanceState: Bundle?) { - isMaterialActivity = true super.onCreate(savedInstanceState) binding.apply { setContentView(root) setupOptionsMenu() refreshMenuItems() - 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_settings.xml b/app/src/main/res/layout/activity_settings.xml index cbe795b6..b7bfc067 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -6,22 +6,29 @@ 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">