Skip to content

Commit 06989a5

Browse files
committed
Update UI elements to match Material3Expressive
1 parent 32ae8be commit 06989a5

33 files changed

+398
-146
lines changed

.idea/deviceManager.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle.kts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
13
plugins {
24
id("com.android.application")
35
kotlin("android")
@@ -14,10 +16,10 @@ android {
1416

1517
defaultConfig {
1618
applicationId = "de.dertyp7214.rboardpatcher"
17-
minSdk = 23
19+
minSdk = 26
1820
targetSdk = 36
19-
versionCode = 3406
20-
versionName = "3.4"
21+
versionCode = 3500
22+
versionName = "3.5"
2123

2224
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2325
}
@@ -37,16 +39,18 @@ android {
3739
}
3840
compileOptions {
3941
isCoreLibraryDesugaringEnabled = true
40-
sourceCompatibility = JavaVersion.current()
41-
targetCompatibility = JavaVersion.current()
4242
}
4343

44-
kotlinOptions {
45-
jvmTarget = JavaVersion.current().toString()
46-
freeCompilerArgs += listOf(
47-
"-P",
48-
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
49-
)
44+
kotlin {
45+
compilerOptions {
46+
freeCompilerArgs = freeCompilerArgs.get() + listOf(
47+
"-P",
48+
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true",
49+
"-Xsuppress-version-warnings"
50+
)
51+
jvmToolchain(23)
52+
jvmTarget.set(JvmTarget.JVM_23)
53+
}
5054
}
5155

5256
packaging {

app/src/main/java/de/dertyp7214/rboardpatcher/adapter/PatchAdapter.kt

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ import android.annotation.SuppressLint
44
import android.content.Context
55
import android.graphics.Color
66
import android.graphics.Typeface
7+
import android.os.Build
78
import android.view.LayoutInflater
89
import android.view.View
910
import android.view.ViewGroup
1011
import android.widget.ImageView
1112
import android.widget.TextView
1213
import androidx.recyclerview.widget.RecyclerView
1314
import com.google.android.material.card.MaterialCardView
15+
import de.dertyp7214.rboardcomponents.core.dpToPxRounded
1416
import de.dertyp7214.rboardpatcher.R
1517
import de.dertyp7214.rboardpatcher.api.types.PatchMeta
1618
import de.dertyp7214.rboardpatcher.core.getAttr
@@ -100,7 +102,36 @@ class PatchAdapter(
100102

101103
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
102104
val patchMeta = list[position]
103-
105+
when (position) {
106+
0 -> {
107+
if (list.size == 1){
108+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_rounded)
109+
val param = holder.root.layoutParams as ViewGroup.MarginLayoutParams
110+
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
111+
holder.root.layoutParams = param
112+
113+
}
114+
else{
115+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_top)
116+
val param = holder.root.layoutParams as ViewGroup.MarginLayoutParams
117+
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
118+
holder.root.layoutParams = param
119+
120+
}
121+
}
122+
list.lastIndex -> {
123+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_bottom)
124+
val param = holder.root.layoutParams as ViewGroup.MarginLayoutParams
125+
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 4.dpToPxRounded(context))
126+
holder.root.layoutParams = param
127+
}
128+
else -> {
129+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background)
130+
val param = holder.root.layoutParams as ViewGroup.MarginLayoutParams
131+
param.setMargins(16.dpToPxRounded(context), 0.dpToPxRounded(context), 16.dpToPxRounded(context), 0.dpToPxRounded(context))
132+
holder.root.layoutParams = param
133+
}
134+
}
104135
if (selected[patchMeta]) holder.root.setCardBackgroundColor(selectedColor)
105136
else holder.root.setCardBackgroundColor(Color.TRANSPARENT)
106137

@@ -122,8 +153,43 @@ class PatchAdapter(
122153
if (isEnabled) {
123154
selected[patchMeta] = !selected[patchMeta]
124155

125-
if (selected[patchMeta]) holder.root.setCardBackgroundColor(selectedColor)
126-
else holder.root.setCardBackgroundColor(Color.TRANSPARENT)
156+
if (selected[patchMeta]) {
157+
when (position) {
158+
0 -> {
159+
if (list.size == 1) {
160+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_rounded_colored)
161+
} else {
162+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_top_colored)
163+
}
164+
}
165+
166+
list.lastIndex -> {
167+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_bottom_colored)
168+
}
169+
170+
else -> {
171+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_colored)
172+
}
173+
}
174+
}
175+
else
176+
when (position) {
177+
0 -> {
178+
if (list.size == 1) {
179+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_rounded)
180+
} else {
181+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_top)
182+
}
183+
}
184+
185+
list.lastIndex -> {
186+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background_bottom)
187+
}
188+
189+
else -> {
190+
holder.root.setBackgroundResource(R.drawable.color_surface_overlay_background)
191+
}
192+
}
127193
}
128194
}
129195
}

app/src/main/java/de/dertyp7214/rboardpatcher/core/String.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@ import java.util.Locale
1212
fun String.downloadFile(path: File): File {
1313
if (path.exists()) path.deleteRecursively()
1414
path.parentFile?.let { if (!it.exists()) it.mkdirs() }
15-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
16-
Files.copy(URL(this).openStream(), path.toPath(), StandardCopyOption.REPLACE_EXISTING)
17-
} else {
18-
URL(this).openStream()
19-
.use { Files.copy(it, path.toPath()) }
20-
}
15+
Files.copy(URL(this).openStream(), path.toPath(), StandardCopyOption.REPLACE_EXISTING)
2116
return path
2217
}
2318

app/src/main/java/de/dertyp7214/rboardpatcher/screens/LoadThemeActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class LoadThemeActivity : AppCompatActivity() {
7070
recyclerView.adapter = adapter
7171
recyclerView.layoutManager = LinearLayoutManager(this)
7272
recyclerView.setHasFixedSize(true)
73-
recyclerView.addItemDecoration(MarginItemDecoration(2.dp(this), all = true))
73+
recyclerView.addItemDecoration(MarginItemDecoration(2.dp(this)))
7474

7575
when {
7676
scheme != "content" && data != null && data.scheme == "file" -> {

app/src/main/java/de/dertyp7214/rboardpatcher/screens/PatchActivity.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.google.android.material.progressindicator.CircularProgressIndicator
3333
import com.google.android.material.progressindicator.LinearProgressIndicator
3434
import com.google.gson.Gson
3535
import de.dertyp7214.rboardcomponents.components.SearchBar
36+
import de.dertyp7214.rboardcomponents.core.dpToPxRounded
3637
import de.dertyp7214.rboardpatcher.Application
3738
import de.dertyp7214.rboardpatcher.R
3839
import de.dertyp7214.rboardpatcher.adapter.PatchAdapter
@@ -42,6 +43,7 @@ import de.dertyp7214.rboardpatcher.api.types.KeyValue
4243
import de.dertyp7214.rboardpatcher.api.types.PatchMeta
4344
import de.dertyp7214.rboardpatcher.components.BaseActivity
4445
import de.dertyp7214.rboardpatcher.components.ChipContainer
46+
import de.dertyp7214.rboardpatcher.components.MarginItemDecoration
4547
import de.dertyp7214.rboardpatcher.core.Observe
4648
import de.dertyp7214.rboardpatcher.core.app
4749
import de.dertyp7214.rboardpatcher.core.decodeBitmap
@@ -332,6 +334,7 @@ class PatchActivity : BaseActivity() {
332334
recyclerView.adapter = adapter
333335
recyclerView.setHasFixedSize(true)
334336
recyclerView.layoutManager = LinearLayoutManager(this)
337+
recyclerView.addItemDecoration(MarginItemDecoration(2.dpToPxRounded(this)))
335338

336339
doAsync({
337340
val patches: List<PatchMeta> = GitHub.GboardThemes.Patches["patches.json"]
@@ -424,11 +427,7 @@ class PatchActivity : BaseActivity() {
424427
progress = { progress, stage ->
425428
CoroutineScope(Dispatchers.Main).launch {
426429
patchTheme.text = "Applying: $stage"
427-
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
428430
progressBar.setProgress(progress.roundToInt(), true)
429-
} else {
430-
progressBar.progress = progress.roundToInt()
431-
}
432431
}
433432
}) {
434433
patchTheme.isEnabled = true

app/src/main/java/de/dertyp7214/rboardpatcher/screens/PickThemeActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class PickThemeActivity : AppCompatActivity() {
9696
recyclerView.adapter = adapter
9797
recyclerView.layoutManager = LinearLayoutManager(this)
9898
recyclerView.setHasFixedSize(true)
99-
recyclerView.addItemDecoration(MarginItemDecoration(2.dp(this), all = true))
99+
recyclerView.addItemDecoration(MarginItemDecoration(2.dp(this)))
100100

101101
Application.rboardService?.apply {
102102
doAsync({

app/src/main/java/de/dertyp7214/rboardpatcher/screens/types/MainOption.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package de.dertyp7214.rboardpatcher.screens.types
33
import androidx.annotation.DrawableRes
44

55
data class MainOption(
6-
@DrawableRes val icon: Int,
6+
@param:DrawableRes val icon: Int,
77
val title: String,
88
val action: () -> Unit
99
)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item>
4+
<shape>
5+
<solid android:color="?attr/colorSurface" />
6+
<corners android:radius="5dp"/>
7+
</shape>
8+
</item>
9+
<item>
10+
<shape>
11+
<solid android:color="@color/color_primary_0_10_overlay" />
12+
<corners android:radius="5dp"/>
13+
</shape>
14+
</item>
15+
</layer-list>

0 commit comments

Comments
 (0)