Skip to content

Commit 94c251a

Browse files
committed
Refactor and organize code
1 parent b5e96d2 commit 94c251a

78 files changed

Lines changed: 467 additions & 1246 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ android {
2727
}
2828

2929
compileOptions {
30-
sourceCompatibility = JavaVersion.VERSION_18
31-
targetCompatibility = JavaVersion.VERSION_18
30+
sourceCompatibility = JavaVersion.VERSION_21
31+
targetCompatibility = JavaVersion.VERSION_21
3232
}
3333

3434
kotlin {
3535
compilerOptions {
36-
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_18)
36+
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
3737
}
3838
}
3939
}

app/src/main/AndroidManifest.xml

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22
xmlns:tools="http://schemas.android.com/tools">
33

4+
<!--foreground service permissions-->
5+
46
<uses-permission
57
android:name="android.permission.FOREGROUND_SERVICE"
68
tools:ignore="ForegroundServicesPolicy" />
79
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
810
<uses-permission android:name="android.permission.VIBRATE" />
911

12+
<!--use hardware sensors/components-->
13+
1014
<uses-feature
1115
android:name="android.hardware.sensor.accelerometer"
1216
android:required="true" />
@@ -41,7 +45,7 @@
4145
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
4246

4347
<service
44-
android:name=".services.accessibility.LockAccessibilityService"
48+
android:name=".services.accessibility.lock.LockAccessibility"
4549
android:exported="true"
4650
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
4751
tools:ignore="AccessibilityPolicy">
@@ -53,34 +57,30 @@
5357
android:resource="@xml/accessibility_service_config" />
5458
</service>
5559

56-
<!--compass quick settings tile service-->
60+
<!--coin flip quick settings tile service-->
5761

5862
<service
59-
android:name=".tiles.CompassTileService"
63+
android:name=".tiles.coinflip.CoinFlipTileService"
6064
android:exported="true"
61-
android:foregroundServiceType="specialUse"
62-
android:icon="@drawable/ic_compass_off"
63-
android:label="@string/compass_tile_label"
65+
android:icon="@drawable/ic_coin_off"
66+
android:label="@string/coin_flip_tile_label"
6467
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
6568
<intent-filter>
6669
<action android:name="android.service.quicksettings.action.QS_TILE" />
6770
</intent-filter>
6871
<meta-data
6972
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
7073
android:value="true" />
71-
<property
72-
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
73-
android:value="Required for accessing compass sensor data while tile is active" />
7474
</service>
7575

76-
<!--bubble level quick settings tile service-->
76+
<!--compass quick settings tile service-->
7777

7878
<service
79-
android:name=".tiles.LevelTileService"
79+
android:name=".tiles.compass.CompassTileService"
8080
android:exported="true"
8181
android:foregroundServiceType="specialUse"
82-
android:icon="@drawable/ic_level_off"
83-
android:label="@string/level_tile_label"
82+
android:icon="@drawable/ic_compass_off"
83+
android:label="@string/compass_tile_label"
8484
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
8585
<intent-filter>
8686
<action android:name="android.service.quicksettings.action.QS_TILE" />
@@ -90,53 +90,53 @@
9090
android:value="true" />
9191
<property
9292
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
93-
android:value="Required for accessing accelerometer sensor data while tile is active" />
93+
android:value="Required for accessing compass sensor data while tile is active" />
9494
</service>
9595

96-
<!--lux meter quick settings tile service-->
96+
<!--dice roll quick settings tile service-->
9797

9898
<service
99-
android:name=".tiles.LuxMeterTileService"
99+
android:name=".tiles.diceroll.DiceRollTileService"
100100
android:exported="true"
101-
android:foregroundServiceType="specialUse"
102-
android:icon="@drawable/ic_lux_meter_off"
103-
android:label="@string/lux_meter_tile_label"
101+
android:icon="@drawable/ic_dice_off"
102+
android:label="@string/dice_roll_tile_label"
104103
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
105104
<intent-filter>
106105
<action android:name="android.service.quicksettings.action.QS_TILE" />
107106
</intent-filter>
108107
<meta-data
109108
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
110109
android:value="true" />
111-
<property
112-
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
113-
android:value="Required for accessing light sensor data while tile is active" />
114110
</service>
115111

116-
<!--lock screen quick settings tile service-->
112+
<!--bubble level quick settings tile service-->
117113

118114
<service
119-
android:name=".tiles.LockTileService"
120-
android:enabled="@bool/enable_lock_tile"
115+
android:name=".tiles.level.LevelTileService"
121116
android:exported="true"
122-
android:icon="@drawable/ic_lock"
123-
android:label="@string/lock_tile_label"
117+
android:foregroundServiceType="specialUse"
118+
android:icon="@drawable/ic_level_off"
119+
android:label="@string/level_tile_label"
124120
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
125121
<intent-filter>
126122
<action android:name="android.service.quicksettings.action.QS_TILE" />
127123
</intent-filter>
128124
<meta-data
129125
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
130126
android:value="true" />
127+
<property
128+
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
129+
android:value="Required for accessing accelerometer sensor data while tile is active" />
131130
</service>
132131

133-
<!--coin flip quick settings tile service-->
132+
<!--lock screen quick settings tile service-->
134133

135134
<service
136-
android:name=".tiles.CoinFlipTileService"
135+
android:name=".tiles.lock.LockTileService"
136+
android:enabled="@bool/enable_lock_tile"
137137
android:exported="true"
138-
android:icon="@drawable/ic_coin_off"
139-
android:label="@string/coin_flip_tile_label"
138+
android:icon="@drawable/ic_lock"
139+
android:label="@string/lock_tile_label"
140140
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
141141
<intent-filter>
142142
<action android:name="android.service.quicksettings.action.QS_TILE" />
@@ -146,26 +146,30 @@
146146
android:value="true" />
147147
</service>
148148

149-
<!--dice roll quick settings tile service-->
149+
<!--lux meter quick settings tile service-->
150150

151151
<service
152-
android:name=".tiles.DiceRollTileService"
152+
android:name=".tiles.luxmeter.LuxMeterTileService"
153153
android:exported="true"
154-
android:icon="@drawable/ic_dice_off"
155-
android:label="@string/dice_roll_tile_label"
154+
android:foregroundServiceType="specialUse"
155+
android:icon="@drawable/ic_lux_meter_off"
156+
android:label="@string/lux_meter_tile_label"
156157
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
157158
<intent-filter>
158159
<action android:name="android.service.quicksettings.action.QS_TILE" />
159160
</intent-filter>
160161
<meta-data
161162
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
162163
android:value="true" />
164+
<property
165+
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
166+
android:value="Required for accessing light sensor data while tile is active" />
163167
</service>
164168

165169
<!--sos quick settings tile service-->
166170

167171
<service
168-
android:name=".tiles.SosTileService"
172+
android:name=".tiles.sos.SosTileService"
169173
android:exported="true"
170174
android:icon="@drawable/ic_sos"
171175
android:label="@string/sos_tile_label"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.wstxda.toolkit.resources.icon.coinflip
2+
3+
import com.wstxda.toolkit.R
4+
5+
object CoinFlipIconFactory {
6+
fun getHeadsIcon(): Int = R.drawable.ic_coin_heads
7+
fun getTailsIcon(): Int = R.drawable.ic_coin_tails
8+
fun getFlipIcon(): Int = R.drawable.ic_coin
9+
}

app/src/main/java/com/wstxda/toolkit/resources/icon/CompassIconFactory.kt renamed to app/src/main/java/com/wstxda/toolkit/resources/icon/compass/CompassIconFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.wstxda.toolkit.resources.icon
1+
package com.wstxda.toolkit.resources.icon.compass
22

33
import android.content.Context
44
import android.graphics.Canvas

app/src/main/java/com/wstxda/toolkit/resources/icon/DiceIconFactory.kt renamed to app/src/main/java/com/wstxda/toolkit/resources/icon/diceroll/DiceRollIconFactory.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.wstxda.toolkit.resources.icon
1+
package com.wstxda.toolkit.resources.icon.diceroll
22

33
import com.wstxda.toolkit.R
44

5-
object DiceIconFactory {
5+
object DiceRollIconFactory {
66
fun getAnimationFrames(): List<Int> {
77
return listOf(
88
R.drawable.ic_dice_1,

app/src/main/java/com/wstxda/toolkit/resources/icon/LevelIconFactory.kt renamed to app/src/main/java/com/wstxda/toolkit/resources/icon/level/LevelIconFactory.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.wstxda.toolkit.resources.icon
1+
package com.wstxda.toolkit.resources.icon.level
22

33
import android.content.Context
44
import android.graphics.Canvas
@@ -16,9 +16,11 @@ class LevelIconFactory(context: Context) {
1616

1717
// Base drawables
1818
private val dotBase = ContextCompat.getDrawable(context, R.drawable.ic_level_dot)!!
19-
private val dotIndicator = ContextCompat.getDrawable(context, R.drawable.ic_level_dot_indicator)!!
19+
private val dotIndicator =
20+
ContextCompat.getDrawable(context, R.drawable.ic_level_dot_indicator)!!
2021
private val lineBase = ContextCompat.getDrawable(context, R.drawable.ic_level_line)!!
21-
private val lineIndicator = ContextCompat.getDrawable(context, R.drawable.ic_level_line_indicator)!!
22+
private val lineIndicator =
23+
ContextCompat.getDrawable(context, R.drawable.ic_level_line_indicator)!!
2224

2325
// Drawable and bitmap cache for better memory
2426
private val dotBitmap = createBitmap(dotBase.intrinsicWidth, dotBase.intrinsicHeight)

app/src/main/java/com/wstxda/toolkit/resources/label/LuxMeterLabel.kt

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.wstxda.toolkit.resources.label.coinflip
2+
3+
import com.wstxda.toolkit.R
4+
import com.wstxda.toolkit.tiles.coinflip.CoinFlipTileService
5+
6+
fun CoinFlipTileService.coinFlipLabel(isHeads: Boolean): String {
7+
return if (isHeads) {
8+
getString(R.string.coin_heads_label)
9+
} else {
10+
getString(R.string.coin_tails_label)
11+
}
12+
}

app/src/main/java/com/wstxda/toolkit/resources/label/CompassLabel.kt renamed to app/src/main/java/com/wstxda/toolkit/resources/label/compass/CompassLabel.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.wstxda.toolkit.resources.label
1+
package com.wstxda.toolkit.resources.label.compass
22

3-
import com.wstxda.toolkit.tiles.CompassTileService
43
import com.wstxda.toolkit.R
4+
import com.wstxda.toolkit.tiles.compass.CompassTileService
55
import kotlin.math.roundToInt
66

7-
fun CompassTileService.label(degrees: Float): String {
7+
fun CompassTileService.compassLabel(degrees: Float): String {
88
val direction = when (degrees) {
99
in 0.0..22.5, in 337.5..360.0 -> getString(R.string.N)
1010
in 22.5..67.5 -> getString(R.string.NE)

app/src/main/java/com/wstxda/toolkit/resources/label/DiceLabel.kt renamed to app/src/main/java/com/wstxda/toolkit/resources/label/diceroll/DiceRollLabel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.wstxda.toolkit.resources.label
1+
package com.wstxda.toolkit.resources.label.diceroll
22

3-
import com.wstxda.toolkit.tiles.DiceRollTileService
43
import com.wstxda.toolkit.R
4+
import com.wstxda.toolkit.tiles.diceroll.DiceRollTileService
55

66
fun DiceRollTileService.diceLabel(roll: Int): String {
77
return when (roll) {

0 commit comments

Comments
 (0)