Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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])
Expand Down Expand Up @@ -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
Expand Down
6 changes: 0 additions & 6 deletions app/detekt-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
<ID>MaxLineLength:ExportClipsDialog.kt$ExportClipsDialog$val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newPath.getFilenameFromPath())</ID>
<ID>MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$clipboardItemsPlaceholder.text = "${getText(R.string.manage_clipboard_empty)}\n\n${getText(R.string.manage_clips)}"</ID>
<ID>MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$if</ID>
<ID>MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$updateMaterialActivityViews(clipboardCoordinator, clipboardItemsList, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
<ID>MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$val msg = if (clipsImported &gt; 0) R.string.importing_successful else R.string.no_new_entries_for_importing</ID>
<ID>MaxLineLength:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$}</ID>
<ID>MaxLineLength:MyKeyboard.kt$MyKeyboard$*</ID>
Expand Down Expand Up @@ -102,11 +101,6 @@
<ID>NestedBlockDepth:MyKeyboardView.kt$MyKeyboardView$private fun onLongPress(popupKey: MyKeyboard.Key, me: MotionEvent): Boolean</ID>
<ID>NestedBlockDepth:MyKeyboardView.kt$MyKeyboardView$private fun onModifiedTouchEvent(me: MotionEvent): Boolean</ID>
<ID>NestedBlockDepth:SimpleKeyboardIME.kt$SimpleKeyboardIME$override fun onKey(code: Int)</ID>
<ID>ReturnCount:EmojiHelper.kt$fun parseRawJsonSpecsFile(context: Context, path: String): HashMap&lt;String, String&gt;</ID>
<ID>ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun onLongPress(popupKey: MyKeyboard.Key, me: MotionEvent): Boolean</ID>
<ID>ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun onModifiedTouchEvent(me: MotionEvent): Boolean</ID>
<ID>ReturnCount:MyKeyboardView.kt$MyKeyboardView$private fun openPopupIfRequired(me: MotionEvent): Boolean</ID>
<ID>ReturnCount:SimpleKeyboardIME.kt$SimpleKeyboardIME$private fun getCountToDelete(inputConnection: InputConnection): Int</ID>
<ID>SpreadOperator:MyKeyboardView.kt$MyKeyboardView$(*animations.toTypedArray())</ID>
<ID>SwallowedException:ManageClipboardItemsActivity.kt$ManageClipboardItemsActivity$e: ActivityNotFoundException</ID>
<ID>SwallowedException:MyKeyboard.kt$MyKeyboard$e: Exception</ID>
Expand Down
86 changes: 54 additions & 32 deletions app/lint-baseline.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,15 @@ 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()

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()
Expand All @@ -49,7 +43,7 @@ class MainActivity : SimpleActivity() {

override fun onResume() {
super.onResume()
setupToolbar(binding.mainToolbar)
setupTopAppBar(binding.mainAppbar)
if (!isKeyboardEnabled()) {
ConfirmationAdvancedDialog(
activity = this,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,15 @@ 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()
updateTextColors(binding.suggestionsItemsHolder)
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 {
Expand All @@ -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?) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
23 changes: 15 additions & 8 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,28 @@
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/main_toolbar"
<org.fossify.commons.views.MyAppBarLayout
android:id="@+id/main_appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:menu="@menu/menu_main"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
android:layout_height="wrap_content">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/main_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:menu="@menu/menu_main"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />

</org.fossify.commons.views.MyAppBarLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/main_nested_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:fillViewport="true"
android:scrollbars="none">
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<RelativeLayout
android:id="@+id/main_holder"
Expand Down
25 changes: 16 additions & 9 deletions app/src/main/res/layout/activity_manage_clipboard_items.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,29 @@
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/clipboard_toolbar"
<org.fossify.commons.views.MyAppBarLayout
android:id="@+id/clipboard_appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:menu="@menu/menu_manage_clipboard_items"
app:title="@string/manage_clipboard_items"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
android:layout_height="wrap_content">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/clipboard_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:menu="@menu/menu_manage_clipboard_items"
app:title="@string/manage_clipboard_items"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />

</org.fossify.commons.views.MyAppBarLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/clipboard_nested_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:fillViewport="true"
android:scrollbars="none">
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<RelativeLayout
android:id="@+id/suggestions_items_holder"
Expand Down
23 changes: 15 additions & 8 deletions app/src/main/res/layout/activity_settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,28 @@
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/settings_toolbar"
<org.fossify.commons.views.MyAppBarLayout
android:id="@+id/settings_appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:title="@string/settings"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
android:layout_height="wrap_content">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/settings_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
app:title="@string/settings"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />

</org.fossify.commons.views.MyAppBarLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/settings_nested_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:fillViewport="true"
android:scrollbars="none">
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<LinearLayout
android:id="@+id/settings_holder"
Expand Down
5 changes: 5 additions & 0 deletions detekt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ style:
maxLineLength: 120
excludePackageStatements: true
excludeImportStatements: true
ReturnCount:
active: true
max: 4
excludeGuardClauses: true
excludes: ["**/test/**", "**/androidTest/**"]

naming:
FunctionNaming:
Expand Down
6 changes: 3 additions & 3 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ detektCompose = "0.4.27"
#Room
room = "2.8.2"
#Fossify
commons = "5.4.0"
commons = "5.5.0"
#Gradle
gradlePlugins-agp = "8.11.1"
#build
app-build-compileSDKVersion = "34"
app-build-targetSDK = "34"
app-build-compileSDKVersion = "36"
app-build-targetSDK = "36"
app-build-minimumSDK = "26"
app-build-javaVersion = "VERSION_17"
app-build-kotlinJVMTarget = "17"
Expand Down
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ dependencyResolutionManagement {
google()
mavenCentral()
maven { setUrl("https://jitpack.io") }
mavenLocal()
}
}
include(":app")
Loading