Skip to content

Commit b5d9d75

Browse files
committed
api v3.4.7 commit
1 parent e5e3506 commit b5d9d75

File tree

3 files changed

+27
-23
lines changed

3 files changed

+27
-23
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
google()
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:3.1.1'
9+
classpath 'com.android.tools.build:gradle:3.1.2'
1010

1111
// NOTE: Do not place your application dependencies here; they belong
1212
// in the individual module build.gradle files

library/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ android {
3131
defaultConfig {
3232
minSdkVersion 18
3333
targetSdkVersion 27
34-
versionCode 56
35-
versionName "3.4.6"
34+
versionCode 57
35+
versionName "3.4.7"
3636
}
3737
buildTypes {
3838
release {

library/src/main/java/com/mbientlab/metawear/impl/JseMetaWearBoard.java

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -523,29 +523,32 @@ private Task<File> downloadFirmware(Pair<Version, String> latest) {
523523

524524
@Override
525525
public Task<File> downloadFirmwareAsync(final String version) {
526-
if (connected) {
527-
if (version == null) {
528-
File info1Json = io.findDownloadedFile("info1.json");
529-
if (!info1Json.exists() || info1Json.lastModified() < Calendar.getInstance().getTimeInMillis() - RELEASE_INFO_TTL) {
530-
return io.downloadFileAsync(String.format(Locale.US, "%s/metawear/info1.json", RELEASES_URL), "info1.json")
531-
.onSuccessTask(task -> downloadFirmware(findRelease(task.getResult())));
532-
} else {
533-
try {
534-
Pair<Version, String> latest = findRelease(info1Json);
535-
File firmware = io.findDownloadedFile(buildFirmwareFileName(latest));
536-
return !firmware.exists() ? downloadFirmware(latest) : Task.forResult(firmware);
537-
} catch (Exception e) {
538-
return Task.forError(e);
539-
}
540-
}
526+
if (persist.boardInfo.hardwareRevision == null) {
527+
return Task.forError(new IllegalStateException("Hardware revision unavailable"));
528+
}
529+
if (persist.boardInfo.modelNumber == null) {
530+
return Task.forError(new IllegalStateException("Model number unavailable"));
531+
}
532+
if (version == null) {
533+
File info1Json = io.findDownloadedFile("info1.json");
534+
if (!info1Json.exists() || info1Json.lastModified() < Calendar.getInstance().getTimeInMillis() - RELEASE_INFO_TTL) {
535+
return io.downloadFileAsync(String.format(Locale.US, "%s/metawear/info1.json", RELEASES_URL), "info1.json")
536+
.onSuccessTask(task -> downloadFirmware(findRelease(task.getResult())));
541537
} else {
542-
final Version versionObj = new Version(version);
543-
return downloadFirmware(new Pair<>(versionObj, "firmware.zip"))
544-
.continueWithTask(task -> task.isFaulted() ? downloadFirmware(new Pair<>(versionObj, "firmware.bin")) : task)
545-
.continueWithTask(task -> task.isFaulted() ? Task.forError(new RuntimeException("Firmware version \'" + version + "\' not available for this board", task.getError())) : task);
538+
try {
539+
Pair<Version, String> latest = findRelease(info1Json);
540+
File firmware = io.findDownloadedFile(buildFirmwareFileName(latest));
541+
return !firmware.exists() ? downloadFirmware(latest) : Task.forResult(firmware);
542+
} catch (Exception e) {
543+
return Task.forError(e);
544+
}
546545
}
546+
} else {
547+
final Version versionObj = new Version(version);
548+
return downloadFirmware(new Pair<>(versionObj, "firmware.zip"))
549+
.continueWithTask(task -> task.isFaulted() ? downloadFirmware(new Pair<>(versionObj, "firmware.bin")) : task)
550+
.continueWithTask(task -> task.isFaulted() ? Task.forError(new RuntimeException("Firmware version \'" + version + "\' not available for this board", task.getError())) : task);
547551
}
548-
return Task.forError(new IllegalStateException("No active BLE connection"));
549552
}
550553
@Override
551554
public Task<File> downloadLatestFirmwareAsync() {
@@ -752,6 +755,7 @@ public Task<Void> connectAsync() {
752755

753756
if (task.isFaulted()) {
754757
if (inMetaBootMode()) {
758+
connected = true;
755759
return Task.forResult(null);
756760
} else {
757761
if (task.getError() instanceof TaskTimeoutException) {

0 commit comments

Comments
 (0)