Skip to content

Commit 5af4c34

Browse files
Test Update
1 parent 0868d8d commit 5af4c34

File tree

5 files changed

+216
-119
lines changed

5 files changed

+216
-119
lines changed

app/build.gradle.kts

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -81,67 +81,67 @@ android {
8181
}
8282

8383
dependencies {
84-
val androidxTestKotlin = "1.7.5"
85-
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
86-
implementation("androidx.core:core-ktx:1.15.0")
87-
implementation("androidx.appcompat:appcompat:1.7.0")
88-
implementation("androidx.recyclerview:recyclerview:1.3.2")
84+
// Core libraries
85+
implementation(libs.core.ktx)
86+
implementation(libs.appcompat)
87+
implementation(libs.recyclerview)
8988

90-
// Android lifecycle
91-
implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")
92-
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
89+
// Android Lifecycle
90+
implementation(libs.lifecycle.extensions)
91+
implementation(libs.lifecycle.viewmodel.ktx)
9392

9493
// Navigation
95-
implementation("androidx.navigation:navigation-fragment-ktx:2.8.3")
94+
implementation(libs.navigation.fragment.ktx)
95+
implementation(libs.navigation.ui.ktx)
9696

9797
// Work Manager
98-
implementation("androidx.work:work-runtime-ktx:2.10.0")
99-
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
100-
implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0")
101-
102-
// Text similarity
103-
implementation("org.apache.commons:commons-text:1.12.0")
104-
implementation("com.google.code.gson:gson:2.11.0")
105-
106-
// JETPACK
107-
// Integration with activities
108-
//noinspection GradleDependency
109-
implementation("androidx.activity:activity-compose:1.9.1")
110-
// Compose Material Design
111-
implementation("androidx.compose.material:material:$androidxTestKotlin")
112-
implementation("com.github.SmartToolFactory:Compose-Colorful-Sliders:1.2.0")
113-
// Animations
114-
implementation("androidx.compose.animation:animation:$androidxTestKotlin")
115-
implementation("androidx.navigation:navigation-ui-ktx:2.8.4")
116-
117-
// AndroidX
118-
implementation("androidx.compose.ui:ui:$androidxTestKotlin")
119-
implementation("androidx.compose.ui:ui-tooling:$androidxTestKotlin")
120-
implementation("androidx.compose.foundation:foundation:$androidxTestKotlin")
121-
implementation("androidx.biometric:biometric-ktx:1.4.0-alpha02")
122-
123-
//color picker
124-
implementation("net.mm2d.color-chooser:color-chooser:0.7.3")
125-
126-
val acraVersion = "5.11.3"
127-
implementation("ch.acra:acra-core:$acraVersion")
128-
implementation("ch.acra:acra-dialog:$acraVersion")
129-
implementation("ch.acra:acra-mail:$acraVersion")
130-
131-
val androidxTestEspresso = "3.6.1"
132-
androidTestImplementation("androidx.test.espresso:espresso-core:$androidxTestEspresso")
133-
androidTestImplementation("androidx.test.espresso:espresso-contrib:$androidxTestEspresso")
134-
implementation("androidx.test.espresso:espresso-idling-resource:$androidxTestEspresso")
135-
implementation("androidx.test.espresso:espresso-idling-resource:$androidxTestEspresso")
136-
137-
// Test rules and transitive dependencies:
138-
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$androidxTestKotlin")
139-
// Needed for createComposeRule, but not createAndroidComposeRule:
140-
debugImplementation("androidx.compose.ui:ui-test-manifest:$androidxTestKotlin")
141-
androidTestImplementation("androidx.navigation:navigation-testing:2.8.4")
142-
debugImplementation("androidx.fragment:fragment-testing:1.8.5")
143-
implementation("androidx.test:core-ktx:1.6.1")
144-
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
145-
androidTestImplementation("androidx.test:runner:1.6.2")
146-
androidTestImplementation("androidx.test:rules:1.6.1")
98+
implementation(libs.work.runtime.ktx)
99+
100+
// UI Components
101+
implementation(libs.constraintlayout)
102+
implementation(libs.constraintlayout.compose)
103+
implementation(libs.activity.compose)
104+
105+
// Jetpack Compose
106+
implementation(libs.compose.material) // Compose Material Design
107+
implementation(libs.compose.animation) // Animations
108+
implementation(libs.compose.ui) // Core UI library
109+
implementation(libs.compose.foundation) // Foundation library
110+
implementation(libs.compose.ui.tooling) // UI tooling for previews
111+
112+
// Text similarity and JSON handling
113+
implementation(libs.commons.text)
114+
implementation(libs.gson)
115+
116+
// Color picker and sliders
117+
implementation(libs.color.chooser) // Simple color picker
118+
implementation(libs.compose.colorful.sliders) // Compose colorful sliders
119+
120+
// Biometric support
121+
implementation(libs.biometric.ktx)
122+
123+
// ACRA for crash reporting
124+
implementation(libs.acra.core)
125+
implementation(libs.acra.dialog)
126+
implementation(libs.acra.mail)
127+
128+
// AndroidX Test - Espresso
129+
androidTestImplementation(libs.espresso.core)
130+
androidTestImplementation(libs.espresso.contrib)
131+
implementation(libs.espresso.idling.resource) // Idling resources for Espresso tests
132+
133+
// Test rules and other testing dependencies
134+
androidTestImplementation(libs.test.runner)
135+
androidTestImplementation(libs.test.rules)
136+
implementation(libs.test.core.ktx) // Test core utilities
137+
138+
// Jetpack Compose Testing
139+
androidTestImplementation(libs.ui.test.junit4) // For createComposeRule
140+
debugImplementation(libs.ui.test.manifest) // Debug-only dependencies for Compose testing
141+
142+
// Fragment testing
143+
debugImplementation(libs.fragment.testing)
144+
145+
// Navigation testing
146+
androidTestImplementation(libs.navigation.testing)
147147
}

app/src/main/java/com/github/droidworksstudio/mlauncher/data/Constants.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ object Constants {
3636
const val CLOCK_DATE_SIZE_MIN = 20
3737
const val CLOCK_DATE_SIZE_MAX = 150
3838

39-
const val BATTERY_SIZE_MIN = 20
39+
const val BATTERY_SIZE_MIN = 10
4040
const val BATTERY_SIZE_MAX = 150
4141

4242
const val TEXT_MARGIN_MIN = 0

app/src/main/java/com/github/droidworksstudio/mlauncher/data/Prefs.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ class Prefs(val context: Context) {
112112
editor.putFloat(key, value.toFloat())
113113
}
114114
}
115+
115116
is MutableSet<*> -> {
116117
val list = value.filterIsInstance<String>().toSet()
117118
editor.putStringSet(key, list)
@@ -541,9 +542,9 @@ class Prefs(val context: Context) {
541542
var batterySize: Int
542543
get() {
543544
return try {
544-
prefs.getInt(BATTERY_SIZE_TEXT, 18)
545+
prefs.getInt(BATTERY_SIZE_TEXT, 14)
545546
} catch (_: Exception) {
546-
18
547+
14
547548
}
548549
}
549550
set(value) = prefs.edit().putInt(BATTERY_SIZE_TEXT, value).apply()

app/src/main/res/layout/fragment_home.xml

Lines changed: 74 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,89 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:tools="http://schemas.android.com/tools"
4-
android:id="@+id/mainLayout"
5-
android:layout_width="match_parent"
6-
android:layout_height="match_parent"
7-
android:animateLayoutChanges="true"
8-
android:orientation="vertical"
9-
tools:context=".ui.HomeFragment">
2+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:id="@+id/mainLayout"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
android:animateLayoutChanges="true"
8+
android:orientation="vertical"
9+
tools:context=".ui.HomeFragment">
1010

1111
<FrameLayout
1212
android:id="@+id/touchArea"
13-
android:layout_marginTop="50dp"
14-
android:layout_marginBottom="50dp"
1513
android:layout_width="match_parent"
16-
android:layout_height="match_parent"/>
14+
android:layout_height="match_parent"
15+
android:layout_marginTop="50dp"
16+
android:layout_marginBottom="50dp" />
1717

18-
<!-- Clock and calendar-->
19-
<LinearLayout
20-
android:id="@+id/dateTimeLayout"
18+
<androidx.appcompat.widget.LinearLayoutCompat
19+
android:id="@+id/mainView"
2120
android:layout_width="match_parent"
22-
android:layout_height="wrap_content"
23-
android:layout_marginStart="24dp"
24-
android:layout_marginTop="56dp"
25-
android:layout_marginEnd="24dp"
26-
android:orientation="vertical"
27-
tools:visibility="visible">
28-
29-
<TextClock
30-
android:id="@+id/clock"
31-
style="@style/TextDefault"
32-
android:layout_width="wrap_content"
33-
android:layout_height="wrap_content"
34-
android:textSize="@dimen/time_size"
35-
tools:text="02:34" />
36-
37-
<TextClock
38-
android:id="@+id/date"
39-
style="@style/TextDefault"
40-
android:layout_width="wrap_content"
41-
android:layout_height="wrap_content"
42-
android:paddingHorizontal="2dp"
43-
android:textSize="@dimen/date_size"
44-
tools:text="Thu, 30 Dec" />
21+
android:layout_height="match_parent"
22+
android:layout_marginHorizontal="20dp"
23+
android:layout_marginVertical="32dp"
24+
android:orientation="vertical">
4525

46-
<LinearLayout
47-
android:id="@+id/batteryLayout"
48-
android:layout_width="wrap_content"
26+
<androidx.appcompat.widget.LinearLayoutCompat
27+
android:layout_width="match_parent"
4928
android:layout_height="wrap_content"
50-
android:orientation="horizontal"
51-
tools:visibility="visible">
29+
android:layout_marginTop="16dp"
30+
android:orientation="vertical">
5231

53-
<TextView
54-
android:id="@+id/batteryIcon"
55-
style="@style/TextDefault"
32+
<LinearLayout
33+
android:id="@+id/batteryLayout"
5634
android:layout_width="wrap_content"
5735
android:layout_height="wrap_content"
58-
android:paddingVertical="2dp"
59-
android:textSize="@dimen/date_size"
60-
android:visibility="gone" />
36+
android:layout_gravity="end"
37+
android:orientation="horizontal"
38+
tools:visibility="visible">
6139

62-
<TextView
63-
android:id="@+id/batteryText"
64-
style="@style/TextDefault"
65-
android:layout_width="wrap_content"
40+
<TextView
41+
android:id="@+id/batteryIcon"
42+
style="@style/TextDefault"
43+
android:layout_width="wrap_content"
44+
android:layout_height="wrap_content"
45+
android:paddingVertical="2dp"
46+
android:textSize="@dimen/date_size"
47+
android:visibility="gone" />
48+
49+
<TextView
50+
android:id="@+id/batteryText"
51+
style="@style/TextDefault"
52+
android:layout_width="wrap_content"
53+
android:layout_height="wrap_content"
54+
android:paddingVertical="2dp"
55+
android:textSize="@dimen/date_size" />
56+
</LinearLayout>
57+
58+
<!-- Clock and calendar-->
59+
<LinearLayout
60+
android:id="@+id/dateTimeLayout"
61+
android:layout_width="match_parent"
6662
android:layout_height="wrap_content"
67-
android:paddingVertical="2dp"
68-
android:textSize="@dimen/date_size" />
69-
</LinearLayout>
70-
</LinearLayout>
63+
android:layout_marginVertical="2dp"
64+
android:orientation="vertical"
65+
tools:visibility="visible">
66+
67+
<TextClock
68+
android:id="@+id/clock"
69+
style="@style/TextDefault"
70+
android:layout_width="wrap_content"
71+
android:layout_height="wrap_content"
72+
android:textSize="@dimen/time_size"
73+
tools:text="02:34" />
74+
75+
<TextClock
76+
android:id="@+id/date"
77+
style="@style/TextDefault"
78+
android:layout_width="wrap_content"
79+
android:layout_height="wrap_content"
80+
android:paddingHorizontal="2dp"
81+
android:textSize="@dimen/date_size"
82+
tools:text="Thu, 30 Dec" />
83+
</LinearLayout>
84+
</androidx.appcompat.widget.LinearLayoutCompat>
85+
</androidx.appcompat.widget.LinearLayoutCompat>
86+
7187

7288
<!-- Home apps-->
7389
<LinearLayout
@@ -77,8 +93,8 @@
7793
android:gravity="center_vertical"
7894
android:orientation="vertical"
7995
android:paddingHorizontal="20dp"
80-
android:paddingBottom="80dp"
81-
android:paddingTop="112dp" />
96+
android:paddingTop="112dp"
97+
android:paddingBottom="80dp" />
8298

8399
<TextView
84100
android:id="@+id/homeScreenPager"

gradle/libs.versions.toml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# gradle/libs.versions.toml
2+
3+
[versions]
4+
# AndroidX
5+
core-ktx = "1.15.0"
6+
appcompat = "1.7.0"
7+
recyclerview = "1.3.2"
8+
lifecycle-extensions = "2.2.0"
9+
lifecycle-viewmodel-ktx = "2.8.7"
10+
navigation-fragment-ktx = "2.8.4"
11+
navigation-ui-ktx = "2.8.4"
12+
constraintlayout = "2.2.0"
13+
constraintlayout-compose = "1.1.0"
14+
work-runtime-ktx = "2.10.0"
15+
biometric-ktx = "1.4.0-alpha02"
16+
activity-compose = "1.9.3"
17+
18+
# Compose Material
19+
compose-material = "1.7.5"
20+
compose-animation = "1.7.5"
21+
compose-ui = "1.7.5"
22+
compose-foundation = "1.7.5"
23+
compose-ui-tooling = "1.7.5"
24+
25+
# Libraries
26+
commons-text = "1.12.0"
27+
gson = "2.11.0"
28+
color-chooser = "0.7.3"
29+
compose-colorful-sliders = "1.2.0"
30+
31+
# ACRA
32+
acra = "5.11.3"
33+
34+
# Android Test
35+
espresso = "3.6.1"
36+
test-runner = "1.6.2"
37+
test-rules = "1.6.1"
38+
test-core-ktx = "1.6.1"
39+
40+
# Debug/Test
41+
fragment-testing = "1.8.5"
42+
ui-test-junit4 = "1.7.5"
43+
ui-test-manifest = "1.7.5"
44+
navigation-testing = "2.8.4"
45+
46+
[libraries]
47+
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
48+
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
49+
recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
50+
lifecycle-extensions = { group = "androidx.lifecycle", name = "lifecycle-extensions", version.ref = "lifecycle-extensions" }
51+
lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle-viewmodel-ktx" }
52+
navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigation-fragment-ktx" }
53+
navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigation-ui-ktx" }
54+
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
55+
constraintlayout-compose = { group = "androidx.constraintlayout", name = "constraintlayout-compose", version.ref = "constraintlayout-compose" }
56+
work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "work-runtime-ktx" }
57+
biometric-ktx = { group = "androidx.biometric", name = "biometric-ktx", version.ref = "biometric-ktx" }
58+
activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" }
59+
compose-material = { group = "androidx.compose.material", name = "material", version.ref = "compose-material" }
60+
compose-animation = { group = "androidx.compose.animation", name = "animation", version.ref = "compose-animation" }
61+
compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose-ui" }
62+
compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose-ui-tooling" }
63+
compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "compose-foundation" }
64+
commons-text = { group = "org.apache.commons", name = "commons-text", version.ref = "commons-text" }
65+
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
66+
color-chooser = { group = "net.mm2d.color-chooser", name = "color-chooser", version.ref = "color-chooser" }
67+
compose-colorful-sliders = { group = "com.github.SmartToolFactory", name = "Compose-Colorful-Sliders", version.ref = "compose-colorful-sliders" }
68+
acra-core = { group = "ch.acra", name = "acra-core", version.ref = "acra" }
69+
acra-dialog = { group = "ch.acra", name = "acra-dialog", version.ref = "acra" }
70+
acra-mail = { group = "ch.acra", name = "acra-mail", version.ref = "acra" }
71+
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
72+
espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref = "espresso" }
73+
espresso-idling-resource = { group = "androidx.test.espresso", name = "espresso-idling-resource", version.ref = "espresso" }
74+
test-runner = { group = "androidx.test", name = "runner", version.ref = "test-runner" }
75+
test-rules = { group = "androidx.test", name = "rules", version.ref = "test-rules" }
76+
test-core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "test-core-ktx" }
77+
fragment-testing = { group = "androidx.fragment", name = "fragment-testing", version.ref = "fragment-testing" }
78+
ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "ui-test-junit4" }
79+
ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "ui-test-manifest" }
80+
navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "navigation-testing" }

0 commit comments

Comments
 (0)