Skip to content

Commit

Permalink
Re-enabling logging when DFU stopped during upload
Browse files Browse the repository at this point in the history
  • Loading branch information
philips77 committed Sep 20, 2021
1 parent 2235b85 commit e02c0eb
Showing 1 changed file with 16 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ public void pause() {
mStateLiveData.postValue(State.PAUSED);
mManager.pause();
Timber.i("Upload paused");
setLoggingEnabled(true);
setReady();
}
}
Expand All @@ -160,6 +161,7 @@ public void resume() {
mStateLiveData.postValue(State.UPLOADING);
Timber.i("Upload resumed");
mInitialBytes = 0;
setLoggingEnabled(false);
mManager.resume();
}
}
Expand All @@ -176,12 +178,7 @@ public void onUpgradeStarted(final FirmwareUpgradeController controller) {

@Override
public void onStateChanged(final FirmwareUpgradeManager.State prevState, final FirmwareUpgradeManager.State newState) {
// Enable logging for BLE transport
final McuMgrTransport transporter = mManager.getTransporter();
if (transporter instanceof McuMgrBleTransport) {
final McuMgrBleTransport bleTransporter = (McuMgrBleTransport) transporter;
bleTransporter.setLoggingEnabled(newState != FirmwareUpgradeManager.State.UPLOAD);
}
setLoggingEnabled(newState != FirmwareUpgradeManager.State.UPLOAD);
switch (newState) {
case UPLOAD:
Timber.i("Uploading firmware...");
Expand Down Expand Up @@ -223,6 +220,7 @@ public void onUploadProgressChanged(final int bytesSent, final int imageSize, fi
public void onUpgradeCompleted() {
mProgressLiveData.postValue(0);
mStateLiveData.postValue(State.COMPLETE);
setLoggingEnabled(true);
postReady();
}

Expand All @@ -231,13 +229,25 @@ public void onUpgradeCanceled(final FirmwareUpgradeManager.State state) {
mProgressLiveData.postValue(0);
mStateLiveData.postValue(State.IDLE);
mCancelledEvent.post();
setLoggingEnabled(true);
postReady();
}

@Override
public void onUpgradeFailed(final FirmwareUpgradeManager.State state, final McuMgrException error) {
mProgressLiveData.postValue(0);
mErrorLiveData.postValue(error);
setLoggingEnabled(true);
postReady();
}

private void setLoggingEnabled(final boolean enabled) {
super.postReady();

final McuMgrTransport transporter = mManager.getTransporter();
if (transporter instanceof McuMgrBleTransport) {
final McuMgrBleTransport bleTransporter = (McuMgrBleTransport) transporter;
bleTransporter.setLoggingEnabled(enabled);
}
}
}

0 comments on commit e02c0eb

Please sign in to comment.