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
44 changes: 0 additions & 44 deletions .github/workflows/android.yml

This file was deleted.

27 changes: 0 additions & 27 deletions .github/workflows/crowdin-upload.yml

This file was deleted.

56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Build and Publish Release

on:
workflow_dispatch:

jobs:
build-release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: gradle/actions/wrapper-validation@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin

# Native dependencies setup
- name: Set up CMake and Ninja
uses: lukka/get-cmake@v4.1.2

- name: Build Release APK
run: ./gradlew clean assembleRelease

- name: Detect latest Android Build Tools
run: |
# Find the latest directory in the build-tools folder
LATEST_BUILD_TOOLS=$(ls -1 $ANDROID_HOME/build-tools | sort -n | tail -1)
echo "LATEST_BUILD_TOOLS=$LATEST_BUILD_TOOLS" >> $GITHUB_ENV
echo "Found build-tools: $LATEST_BUILD_TOOLS"

- name: Sign Release APK
uses: r0adkll/sign-android-release@v1
env:
BUILD_TOOLS_VERSION: ${{ env.LATEST_BUILD_TOOLS }}
id: sign_app
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.SIGNING_KEY_STORE_BASE64 }}
alias: ${{ secrets.SIGNING_KEY_ALIAS }}
keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }}
keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}

- name: Rename Signed APK
run: mv "${{ steps.sign_app.outputs.signedReleaseFile }}" trackman-keyboard-release.apk

- name: Upload Signed APK
uses: actions/upload-artifact@v4
with:
name: trackman-keyboard-release
path: trackman-keyboard-release.apk
70 changes: 0 additions & 70 deletions .github/workflows/validate-strings-no-translations.yml

This file was deleted.

9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
<img align="left" width="80" height="80"
src=".github/repo_icon.png" alt="App icon">

# FlorisBoard [![Crowdin](https://badges.crowdin.net/florisboard/localized.svg)](https://crowdin.florisboard.org) [![Matrix badge](https://img.shields.io/badge/chat-%23florisboard%3amatrix.org-blue)](https://matrix.to/#/#florisboard:matrix.org) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) [![FlorisBoard CI](https://github.com/florisboard/florisboard/actions/workflows/android.yml/badge.svg?event=push)](https://github.com/florisboard/florisboard/actions/workflows/android.yml)
# Trackman Keyboard

This is a custom version of **FlorisBoard** keyboard optimized for Range Kiosks use-cases.
It removes unnecessary features and simplifies the user interface to provide a more
focused typing experience. Access to settings and customization options are disabled
to prevent users from changing the device configuration.

# FlorisBoard [![Crowdin](https://badges.crowdin.net/florisboard/localized.svg)](https://crowdin.florisboard.org) [![Matrix badge](https://img.shields.io/badge/chat-%23florisboard%3amatrix.org-blue)](https://matrix.to/#/#florisboard:matrix.org) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)

**FlorisBoard** is a free and open-source keyboard for Android 8.0+
devices. It aims at being modern, user-friendly and customizable while
Expand Down
35 changes: 34 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
import com.android.build.api.dsl.ApplicationExtension
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import java.io.FileInputStream
import java.util.Properties

plugins {
alias(libs.plugins.agp.application)
Expand All @@ -40,6 +42,10 @@ val projectVersionNameSuffix = projectVersionName.substringAfter("-", "").let {
}
}

val keystorePropertiesFile: File = rootProject.file("keystore.properties")
val keystoreProperties = Properties()
keystoreProperties.load(FileInputStream(keystorePropertiesFile))

kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
Expand All @@ -65,8 +71,17 @@ configure<ApplicationExtension> {
targetCompatibility = JavaVersion.VERSION_11
}

signingConfigs {
create("config") {
storeFile = file(keystoreProperties["storeFile"] as String)
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
storePassword = keystoreProperties["storePassword"] as String
}
}

defaultConfig {
applicationId = "dev.patrickgold.florisboard"
applicationId = "dk.trackman.keyboard"
minSdk = projectMinSdk.toInt()
targetSdk = projectTargetSdk.toInt()
versionCode = projectVersionCode.toInt()
Expand All @@ -85,6 +100,18 @@ configure<ApplicationExtension> {
}
}

flavorDimensions.add("target")

productFlavors {
create("standard") {
dimension = "target"
}
create("msi") {
dimension = "target"
applicationIdSuffix = ".msinda2"
}
}

bundle {
language {
// We disable language split because FlorisBoard does not use
Expand All @@ -106,6 +133,8 @@ configure<ApplicationExtension> {

isDebuggable = true
isJniDebuggable = false

signingConfig = signingConfigs.getByName("config")
}

create("beta") {
Expand All @@ -115,6 +144,8 @@ configure<ApplicationExtension> {
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
isMinifyEnabled = true
isShrinkResources = true

signingConfig = signingConfigs.getByName("config")
}

named("release") {
Expand All @@ -123,6 +154,8 @@ configure<ApplicationExtension> {
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
isMinifyEnabled = true
isShrinkResources = true

signingConfig = signingConfigs.getByName("config")
}

create("benchmark") {
Expand Down
2 changes: 1 addition & 1 deletion app/src/beta/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="floris_app_name" translatable="false" type="string">FlorisBoard Beta</item>
<item name="floris_app_name" translatable="false" type="string">Trackman Keyboard Beta</item>
</resources>
2 changes: 1 addition & 1 deletion app/src/debug/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="floris_app_name" translatable="false" type="string">FlorisBoard Debug</item>
<item name="floris_app_name" translatable="false" type="string">Trackman Keyboard Debug</item>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"all": {
"~enter": {
"main": { "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
"relevant": [
{ "code": -112, "label": "compact_layout_to_right", "type": "system_gui" },
{ "code": -213, "label": "ime_ui_mode_clipboard", "type": "system_gui"}
]
},
"~left": {
"main": { "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
"relevant": [
{ "code": -111, "label": "compact_layout_to_left", "type": "system_gui" },
{ "code": -301, "label": "settings", "type": "system_gui" }
]
}
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
{
"all": {
"~enter": {
"main": { "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
"relevant": [
{ "code": -112, "label": "compact_layout_to_right", "type": "system_gui" },
{ "code": -213, "label": "ime_ui_mode_clipboard", "type": "system_gui"}
]
},
"~left": {
"main": { "code": -212, "label": "ime_ui_mode_media", "type": "system_gui" },
"relevant": [
{ "code": -111, "label": "compact_layout_to_left", "type": "system_gui" },
{ "code": -301, "label": "settings", "type": "system_gui" }
]
}
}
}
25 changes: 25 additions & 0 deletions app/src/main/assets/ime/theme/com.trackman.themes/extension.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"$": "ime.extension.theme",
"meta": {
"id": "com.trackman.themes",
"version": "0.2.0",
"title": "Trackman default themes",
"description": "Trackman themes (both day and night) for the keyboard UI",
"maintainers": [ "trackman" ],
"license": "apache-2.0"
},
"themes": [
{
"id": "trackman_day",
"label": "Trackman Day",
"authors": [ "trackman" ],
"isNight": false
},
{
"id": "trackman_night",
"label": "Trackman Night",
"authors": [ "trackman" ],
"isNight": true
}
]
}
Loading
Loading