diff --git a/CHANGELOG.md b/CHANGELOG.md
index 504aa48e..07dbad1d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+### Changed
+- Compatibility updates for Android 15 & 16
+
+### Fixed
+- Fixed invisible numbers in the top row ([#100])
+
## [1.5.0] - 2025-09-23
### Added
- German QWERTZ layout without dedicated umlaut keys ([#47])
@@ -93,6 +99,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[#47]: https://github.com/FossifyOrg/Keyboard/issues/47
[#78]: https://github.com/FossifyOrg/Keyboard/issues/78
+[#100]: https://github.com/FossifyOrg/Keyboard/issues/100
[#133]: https://github.com/FossifyOrg/Keyboard/issues/133
[#134]: https://github.com/FossifyOrg/Keyboard/issues/134
[#136]: https://github.com/FossifyOrg/Keyboard/issues/136
diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml
index 74a22ed2..7c17b114 100644
--- a/app/detekt-baseline.xml
+++ b/app/detekt-baseline.xml
@@ -61,7 +61,6 @@
MaxLineLength:ExportClipsDialog.kt$ExportClipsDialog$val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newPath.getFilenameFromPath())
MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$clipboardItemsPlaceholder.text = "${getText(R.string.manage_clipboard_empty)}\n\n${getText(R.string.manage_clips)}"
MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$if
- MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$updateMaterialActivityViews(clipboardCoordinator, clipboardItemsList, useTransparentNavigation = true, useTopSearchMenu = false)
MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$val msg = if (clipsImported > 0) R.string.importing_successful else R.string.no_new_entries_for_importing
MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$}
MaxLineLength:MyKeyboard.kt$MyKeyboard$*
@@ -102,11 +101,6 @@
NestedBlockDepth:MyKeyboardView.kt$MyKeyboardView$private fun onLongPress(popupKey: MyKeyboard.Key, me: MotionEvent): Boolean
NestedBlockDepth:MyKeyboardView.kt$MyKeyboardView$private fun onModifiedTouchEvent(me: MotionEvent): Boolean
NestedBlockDepth:SimpleKeyboardIME.kt$SimpleKeyboardIME$override fun onKey(code: Int)
- ReturnCount:EmojiHelper.kt$fun parseRawJsonSpecsFile(context: Context, path: String): HashMap<String, String>
- ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun onLongPress(popupKey: MyKeyboard.Key, me: MotionEvent): Boolean
- ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun onModifiedTouchEvent(me: MotionEvent): Boolean
- ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun openPopupIfRequired(me: MotionEvent): Boolean
- ReturnCount:SimpleKeyboardIME.kt$SimpleKeyboardIME$private fun getCountToDelete(inputConnection: InputConnection): Int
SpreadOperator:MyKeyboardView.kt$MyKeyboardView$(*animations.toTypedArray())
SwallowedException:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$e: ActivityNotFoundException
SwallowedException:MyKeyboard.kt$MyKeyboard$e: Exception
diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml
index 2d701178..852fcdd5 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,20 +47,53 @@
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/Keyboard/gradle/libs.versions.toml"
+ line="13"
+ column="8"/>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -362,7 +384,7 @@
diff --git a/app/src/main/kotlin/org/fossify/keyboard/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/keyboard/activities/MainActivity.kt
index 73d3fa49..ac52f9b8 100644
--- a/app/src/main/kotlin/org/fossify/keyboard/activities/MainActivity.kt
+++ b/app/src/main/kotlin/org/fossify/keyboard/activities/MainActivity.kt
@@ -25,7 +25,6 @@ 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)
@@ -33,13 +32,8 @@ class MainActivity : SimpleActivity() {
refreshMenuItems()
binding.apply {
- updateMaterialActivityViews(
- mainCoordinator,
- mainHolder,
- useTransparentNavigation = false,
- useTopSearchMenu = false
- )
- setupMaterialScrollListener(mainNestedScrollview, mainToolbar)
+ setupEdgeToEdge(padBottomSystem = listOf(mainNestedScrollview))
+ setupMaterialScrollListener(binding.mainNestedScrollview, binding.mainAppbar)
changeKeyboardHolder.setOnClickListener {
inputMethodManager.showInputMethodPicker()
@@ -49,7 +43,7 @@ class MainActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
- setupToolbar(binding.mainToolbar)
+ setupTopAppBar(binding.mainAppbar)
if (!isKeyboardEnabled()) {
ConfirmationAdvancedDialog(
activity = this,
diff --git a/app/src/main/kotlin/org/fossify/keyboard/activities/ManageClipboardItemsActivity.kt b/app/src/main/kotlin/org/fossify/keyboard/activities/ManageClipboardItemsActivity.kt
index 1e385b5e..34e22931 100644
--- a/app/src/main/kotlin/org/fossify/keyboard/activities/ManageClipboardItemsActivity.kt
+++ b/app/src/main/kotlin/org/fossify/keyboard/activities/ManageClipboardItemsActivity.kt
@@ -33,7 +33,6 @@ class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListen
private val binding by viewBinding(ActivityManageClipboardItemsBinding::inflate)
override fun onCreate(savedInstanceState: Bundle?) {
- isMaterialActivity = true
super.onCreate(savedInstanceState)
setContentView(binding.root)
setupOptionsMenu()
@@ -41,8 +40,8 @@ class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListen
updateClips()
binding.apply {
- updateMaterialActivityViews(clipboardCoordinator, clipboardItemsList, useTransparentNavigation = true, useTopSearchMenu = false)
- setupMaterialScrollListener(clipboardNestedScrollview, clipboardToolbar)
+ setupEdgeToEdge(padBottomSystem = listOf(clipboardItemsList))
+ setupMaterialScrollListener(binding.clipboardItemsList, binding.clipboardAppbar)
clipboardItemsPlaceholder.text = "${getText(R.string.manage_clipboard_empty)}\n\n${getText(R.string.manage_clips)}"
clipboardItemsPlaceholder2.apply {
@@ -57,7 +56,7 @@ class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListen
override fun onResume() {
super.onResume()
- setupToolbar(binding.clipboardToolbar, NavigationIcon.Arrow)
+ setupTopAppBar(binding.clipboardAppbar, NavigationIcon.Arrow)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
diff --git a/app/src/main/kotlin/org/fossify/keyboard/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/keyboard/activities/SettingsActivity.kt
index f75d9e2a..be7267ce 100644
--- a/app/src/main/kotlin/org/fossify/keyboard/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/org/fossify/keyboard/activities/SettingsActivity.kt
@@ -36,24 +36,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(
- mainCoordinatorLayout = settingsCoordinator,
- nestedView = 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/kotlin/org/fossify/keyboard/services/SimpleKeyboardIME.kt b/app/src/main/kotlin/org/fossify/keyboard/services/SimpleKeyboardIME.kt
index 6c54ead0..4c7c5649 100644
--- a/app/src/main/kotlin/org/fossify/keyboard/services/SimpleKeyboardIME.kt
+++ b/app/src/main/kotlin/org/fossify/keyboard/services/SimpleKeyboardIME.kt
@@ -561,7 +561,7 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared
private fun updateBackgroundColors() {
val backgroundColor = safeStorageContext.getKeyboardBackgroundColor()
binding.keyboardHolder.setBackgroundColor(backgroundColor)
- window.window?.updateNavigationBarColors(backgroundColor)
+ window.window?.setSystemBarsAppearance(backgroundColor)
}
private fun Bitmap.toIcon(): Icon {
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index a934c6fd..6d2de619 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">
-
+ android:layout_height="wrap_content">
+
+
+
+
+ android:scrollbars="none"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">