Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7e24ff7
Add New UI elements
AkosPaha01 Jul 14, 2025
d1fce8b
Update more UI
AkosPaha01 Jul 15, 2025
2991811
Fix Switch Keyboard Widget Configuration screen
AkosPaha01 Jul 15, 2025
3c8334a
Fixed card corner radius if there is only one element
AkosPaha01 Jul 15, 2025
6093d46
Fixed corner radius for old android
AkosPaha01 Jul 15, 2025
f1435fe
Fixed searchbar paddings
AkosPaha01 Jul 16, 2025
4eaf043
Fixed repo recyclerview
AkosPaha01 Jul 16, 2025
3f336b5
Fixed navigation icon position
AkosPaha01 Jul 16, 2025
6bffe2b
Fixed top and bottom padding for repo, download theme list. Fixed app…
AkosPaha01 Jul 16, 2025
3d0b12e
Fixed gap issues between listItems
AkosPaha01 Jul 16, 2025
c35263c
Reducing the bottom margin of the list on repo, theme pack, flag shar…
AkosPaha01 Jul 16, 2025
acaf1bc
Add windowInsets to the theme list screen
AkosPaha01 Jul 16, 2025
9142b34
Add setWindowInsetsAnimation to the download list screen
AkosPaha01 Jul 16, 2025
b6e59fb
Removing dpToPxRounded from the wrong place
AkosPaha01 Jul 16, 2025
5e99b47
Update dependencies
AkosPaha01 Jul 16, 2025
1e6b8bc
Fixing the list of themes when downloading a theme pack
AkosPaha01 Jul 17, 2025
0d19134
Update Gradle Version
AkosPaha01 Jul 17, 2025
4608777
Update Chinese Translations
AkosPaha01 Jul 18, 2025
3f9bbce
Update Gradle Version
AkosPaha01 Jul 18, 2025
2c41773
Removing resource without required default value
AkosPaha01 Jul 18, 2025
c2d8c53
Update Repo Icon
AkosPaha01 Jul 18, 2025
4e9e448
Update Gradle, MDC-Android and Firebase Dependencies
AkosPaha01 Jul 22, 2025
cde59bf
Update CMake, Gradle
AkosPaha01 Jul 25, 2025
a95d92b
πŸͺ² Debug Release 3.9.5 (395009)
AkosPaha01 Jul 25, 2025
58b363d
πŸͺ² Debug Release 3.9.6 (396000)
AkosPaha01 Jul 29, 2025
db3bd0e
πŸͺ² Debug Release 3.9.6 (396000)
AkosPaha01 Jul 29, 2025
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
12 changes: 6 additions & 6 deletions .github/workflows/buildCi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '4.0.2'
cmake-version: '4.0.3'

- name: Setup Ninja
run: sudo apt-get install ninja-build
Expand All @@ -34,7 +34,7 @@ jobs:

- uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
ndk-version: r28c

- name: Get Commit Message
id: commitMessage
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '4.0.2'
cmake-version: '4.0.3'

- name: Setup Ninja
run: sudo apt-get install ninja-build
Expand All @@ -171,7 +171,7 @@ jobs:

- uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
ndk-version: r28c

- name: Get Commit Message
id: commitMessage
Expand Down Expand Up @@ -304,7 +304,7 @@ jobs:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '4.0.2'
cmake-version: '4.0.3'

- name: Setup Ninja
run: sudo apt-get install ninja-build
Expand All @@ -314,7 +314,7 @@ jobs:

- uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
ndk-version: r28c

- name: Get Commit Message
id: commitMessage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/buildPro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '4.0.2'
cmake-version: '4.0.3'

- name: Setup Ninja
run: sudo apt-get install ninja-build
Expand All @@ -26,7 +26,7 @@ jobs:

- uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
ndk-version: r28c

- name: Get Commit Message
id: commitMessage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pullRequest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '4.0.2'
cmake-version: '4.0.3'

- name: Setup Ninja
run: sudo apt-get install ninja-build
Expand All @@ -34,7 +34,7 @@ jobs:

- uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
ndk-version: r28c

- name: Setup JDK
uses: actions/setup-java@v4
Expand Down
8 changes: 3 additions & 5 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ android {
compileSdk = 36
buildToolsVersion = "36.0.0"
buildFeatures.dataBinding = true
ndkVersion = "28.1.13356709"
ndkVersion = "28.2.13676358"
buildFeatures.viewBinding = true
buildFeatures.buildConfig = true

defaultConfig {
applicationId = "de.dertyp7214.rboardthememanager"
minSdk = 23
targetSdk = 36
versionCode = 395008
versionName = "3.9.5"
versionCode = 396000
versionName = "3.9.6"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down Expand Up @@ -83,8 +83,6 @@ dependencies {
implementation(project(":mathc"))
implementation(project(":rboardcomponents"))
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.messaging.ktx)
implementation(libs.firebase.analytics.ktx)

implementation(libs.protobuf.dynamic)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
package de.dertyp7214.rboardthememanager.adapter

import android.content.Context
import android.os.Build
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.view.marginBottom
import androidx.core.view.marginTop
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView
import com.tbuonomo.viewpagerdotsindicator.setBackgroundCompat
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.core.dpToPxRounded
import de.dertyp7214.rboardthememanager.core.setMargin
import de.dertyp7214.rboardthememanager.data.ThemePack

class ManageRepoThemePackAdapter(private val items: List<ThemePack>) :
class ManageRepoThemePackAdapter(private val context: Context,private val items: List<ThemePack>) :
RecyclerView.Adapter<ManageRepoThemePackAdapter.ViewHolder>() {

class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
val title: TextView = v.findViewById(R.id.title)
val author: TextView = v.findViewById(R.id.author)
val card: MaterialCardView = v.findViewById(R.id.card)
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
Expand All @@ -26,6 +36,70 @@ class ManageRepoThemePackAdapter(private val items: List<ThemePack>) :
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = items[position]

when (position) {
0 -> {
if (items.size == 1){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_rounded)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_rounded))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
}
else{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_top)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_top))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
}
}
items.lastIndex -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_bottom)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 4.dpToPxRounded(context))
holder.card.layoutParams = param
}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_bottom))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 4.dpToPxRounded(context))
holder.card.layoutParams = param
}
}
else -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param
}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param
}
}
}
holder.title.text = item.name
holder.author.text = item.author
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
package de.dertyp7214.rboardthememanager.adapter

import android.annotation.SuppressLint
import android.content.Context
import android.os.Build
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.view.marginBottom
import androidx.core.view.marginTop
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView
import com.google.android.material.checkbox.MaterialCheckBox
import com.tbuonomo.viewpagerdotsindicator.setBackgroundCompat
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.core.dpToPxRounded
import de.dertyp7214.rboardthememanager.core.setMargin
import java.util.*

class ShareFlagsAdapter(val flags: List<String>, private val onClick: (key: String) -> Unit) :
class ShareFlagsAdapter(
private val context: Context, val flags: List<String>, private val onClick: (key: String) -> Unit) :
RecyclerView.Adapter<ShareFlagsAdapter.ViewHolder>() {

init {
Expand Down Expand Up @@ -42,6 +52,7 @@ class ShareFlagsAdapter(val flags: List<String>, private val onClick: (key: Stri
val title: TextView = v.findViewById(R.id.title)
val summary: TextView = v.findViewById(R.id.summary)
val checkBox: MaterialCheckBox = v.findViewById(R.id.checkBox)
val card: MaterialCardView = v.findViewById(R.id.share_flags_card)
}

override fun getItemId(position: Int): Long {
Expand All @@ -56,6 +67,70 @@ class ShareFlagsAdapter(val flags: List<String>, private val onClick: (key: Stri

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val flag = flags[position]
when (position) {
0 -> {
if (flags.size == 1){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_rounded)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_rounded))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
}
else{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_top)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_top))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param

}
}
}
flags.lastIndex -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background_bottom)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 4.dpToPxRounded(context))
holder.card.layoutParams = param
}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background_bottom))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 4.dpToPxRounded(context))
holder.card.layoutParams = param
}
}
else -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
holder.card.setBackgroundResource(R.drawable.color_surface_overlay_background)
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param
}
else{
holder.card.setBackgroundCompat(ContextCompat.getDrawable(context,R.drawable.color_surface_overlay_background))
val param = holder.card.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
holder.card.layoutParams = param
}
}
}

holder.checkBox.isChecked = states[flag] == true
holder.checkBox.setOnClickListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package de.dertyp7214.rboardthememanager.adapter
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.GradientDrawable
import android.view.LayoutInflater
import android.view.View
Expand All @@ -15,20 +14,20 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.toBitmap
import androidx.core.graphics.drawable.toDrawable
import androidx.core.graphics.get
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView
import com.google.android.material.color.MaterialColors
import de.dertyp7214.colorutilsc.ColorUtilsC
import de.dertyp7214.rboardcomponents.utils.doAsync
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.core.getAttr
import de.dertyp7214.rboardthememanager.core.setAll
import de.dertyp7214.rboardthememanager.data.ThemeDataClass
import de.dertyp7214.rboardthememanager.utils.TraceWrapper
import de.dertyp7214.rboardcomponents.utils.doAsync
import de.dertyp7214.rboardthememanager.utils.getActiveTheme
import androidx.core.graphics.drawable.toDrawable

class ThemeAdapter(
private val context: Context,
Expand Down
Loading
Loading