Skip to content

Commit 063b3fe

Browse files
committed
Implement Partial Flashing Service
1 parent aa7cd0e commit 063b3fe

32 files changed

+2990
-270
lines changed

android-partial-flashing-lib

-1
This file was deleted.

app/build.gradle

+6-4
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ plugins {
55
}
66

77
android {
8-
compileSdk 34
8+
compileSdk 35
99

1010
defaultConfig {
1111
applicationId "cc.calliope.mini"
1212
minSdk 23
13-
targetSdk 34
13+
targetSdk 35
1414
versionCode 22
1515
versionName '2.0.4'
1616
multiDexEnabled true
@@ -36,15 +36,17 @@ android {
3636
}
3737

3838
dependencies {
39+
implementation project(":partialflashing")
40+
3941
implementation 'no.nordicsemi.android.kotlin.ble:scanner:1.1.0'
4042
implementation 'no.nordicsemi.android:dfu:2.6.0'
4143

4244
implementation 'commons-io:commons-io:2.16.1'
4345
implementation 'org.apache.commons:commons-lang3:3.15.0'
4446

4547
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
46-
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.4'
47-
implementation 'androidx.navigation:navigation-ui-ktx:2.8.4'
48+
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.5'
49+
implementation 'androidx.navigation:navigation-ui-ktx:2.8.5'
4850
implementation 'androidx.preference:preference-ktx:1.2.1'
4951

5052
implementation 'androidx.browser:browser:1.8.0'

app/src/main/AndroidManifest.xml

+6
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@
122122
<service
123123
android:name=".core.service.LegacyDfuService"
124124
android:enabled="true" />
125+
<service
126+
android:name=".core.service.PartialFlashingService"
127+
android:enabled="true" />
128+
<service
129+
android:name=".core.service.PartialFlashingInitService"
130+
android:enabled="true" />
125131
<service
126132
android:name=".core.bluetooth.CheckService"
127133
android:enabled="true" />

app/src/main/java/cc/calliope/mini/BluetoothService.kt

-76
This file was deleted.

app/src/main/java/cc/calliope/mini/WebAppInterface.kt

-30
This file was deleted.

app/src/main/java/cc/calliope/mini/WebBluetoothFragment.kt

-126
This file was deleted.

app/src/main/java/cc/calliope/mini/core/service/BondingService.kt

+2-6
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import cc.calliope.mini.utils.Constants.MINI_V3
2727
import cc.calliope.mini.utils.Constants.UNIDENTIFIED
2828
import cc.calliope.mini.utils.Permission
2929
import cc.calliope.mini.utils.Preference
30-
import cc.calliope.mini.utils.Utils
3130
import kotlinx.coroutines.CoroutineScope
3231
import kotlinx.coroutines.Dispatchers
3332
import kotlinx.coroutines.SupervisorJob
@@ -88,10 +87,7 @@ open class BondingService : Service() {
8887

8988
private fun handleDeviceDisconnection(gatt: BluetoothGatt) {
9089
Log.w(TAG, "Disconnected by device. Will wait for 2 seconds before attempting to reconnect.")
91-
serviceScope.launch {
92-
delay(2000)
93-
reConnect(gatt.device.address)
94-
}
90+
reConnect(gatt.device.address)
9591
}
9692

9793
private fun handleInsufficientAuthorization(gatt: BluetoothGatt) {
@@ -105,7 +101,7 @@ open class BondingService : Service() {
105101
attempts++
106102
reConnect(gatt.device.address)
107103
} else {
108-
val message: String = getString(GattStatus.get(status).message)
104+
val message: String = getString(GattStatusUser.get(status).message)
109105
Log.e(TAG, "Connection failed, attempts: $attempts; Error: $status $message")
110106
errorCounter++
111107
notifyError(R.string.error_connection_failed)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package cc.calliope.mini.core.service
2+
3+
enum class ConnectionState(val code: Int, val description: String) {
4+
STATE_CONNECTED(2, "Connected"),
5+
STATE_CONNECTING(1, "Connecting"),
6+
STATE_DISCONNECTED(0, "Disconnected"),
7+
STATE_DISCONNECTING(3, "Disconnecting");
8+
9+
companion object {
10+
fun fromCode(code: Int): ConnectionState? {
11+
return entries.find { it.code == code }
12+
}
13+
}
14+
}

app/src/main/java/cc/calliope/mini/core/service/DfuService.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ public void onCreate() {
4949
DfuServiceInitiator.createDfuNotificationChannel(getApplicationContext());
5050
}
5151

52-
IntentFilter dfuServiceFilter = new IntentFilter();
53-
dfuServiceFilter.addAction(BROADCAST_PROGRESS);
54-
dfuServiceFilter.addAction(BROADCAST_ERROR);
55-
LocalBroadcastManager.getInstance(this).registerReceiver(progressReceiver, dfuServiceFilter);
52+
IntentFilter filter = new IntentFilter();
53+
filter.addAction(BROADCAST_PROGRESS);
54+
filter.addAction(BROADCAST_ERROR);
55+
LocalBroadcastManager.getInstance(this).registerReceiver(progressReceiver, filter);
5656
}
5757

5858
@Override

0 commit comments

Comments
 (0)