Skip to content

Commit 3f59d5f

Browse files
committed
refreshes the solo companion computer state on heartbeat restoration.
1 parent 4fbf03c commit 3f59d5f

File tree

7 files changed

+26
-13
lines changed

7 files changed

+26
-13
lines changed

ServiceApp/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ dependencies {
4040
def versionMajor = 1
4141
def versionMinor = 3
4242
def versionPatch = 4
43-
def versionBuild = 1 //bump for dogfood builds, public betas, etc.
43+
def versionBuild = 2 //bump for dogfood builds, public betas, etc.
4444
def versionPrefix = "3DR Services v"
4545

4646
android {

ServiceApp/src/org/droidplanner/services/android/core/drone/DroneManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,8 @@ public void onDroneEvent(DroneInterfaces.DroneEventsType event, MavLinkDrone dro
751751
if (!soloComp.isConnected()) {
752752
soloComp.start();
753753
return;
754+
} else{
755+
soloComp.refreshState();
754756
}
755757
}
756758

@@ -770,6 +772,9 @@ public void onDroneEvent(DroneInterfaces.DroneEventsType event, MavLinkDrone dro
770772
handler.removeCallbacks(disconnectSoloCompTask);
771773
if (!soloComp.isConnected())
772774
soloComp.start();
775+
else{
776+
soloComp.refreshState();
777+
}
773778
}
774779
break;
775780

ServiceApp/src/org/droidplanner/services/android/core/drone/companion/solo/AbstractLinkManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public abstract class AbstractLinkManager<T extends AbstractLinkManager.LinkList
2121

2222
protected static final long RECONNECT_COUNTDOWN = 1000l; //ms
2323

24+
public abstract void refreshState();
25+
2426
public interface LinkListener {
2527
void onLinkConnected();
2628

@@ -133,6 +135,9 @@ public void stop() {
133135
public void onIpConnected() {
134136
handler.removeCallbacks(reconnectTask);
135137
wasConnected.set(true);
138+
139+
refreshState();
140+
136141
if (linkListener != null)
137142
linkListener.onLinkConnected();
138143
}

ServiceApp/src/org/droidplanner/services/android/core/drone/companion/solo/SoloComp.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ public void stop() {
126126
soloLinkMgr.stop();
127127
}
128128

129+
public void refreshState() {
130+
soloLinkMgr.refreshState();
131+
artooMgr.refreshState();
132+
}
133+
129134
/**
130135
* Terminates and releases resources used by this companion computer instance. The instance should no longer be used after calling this method.
131136
*/

ServiceApp/src/org/droidplanner/services/android/core/drone/companion/solo/controller/ControllerLinkManager.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,7 @@ public boolean isLinkConnected() {
346346
}
347347

348348
@Override
349-
public void onIpConnected() {
350-
super.onIpConnected();
351-
349+
public void refreshState(){
352350
Timber.d("Artoo link connected.");
353351

354352
startVideoManager();

ServiceApp/src/org/droidplanner/services/android/core/drone/companion/solo/controller/VideoManager.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ void stopDecoding(DecoderListener listener) {
6060
mediaCodecManager.stopDecoding(listener);
6161
}
6262

63+
@Override
64+
public void refreshState() {
65+
//We're good to go for the video stream.
66+
Timber.d( "Connected to video stream");
67+
}
68+
6369
@Override
6470
public void start(LinkListener listener) {
6571
Timber.d("Starting video manager");
@@ -72,13 +78,6 @@ public void stop() {
7278
super.stop();
7379
}
7480

75-
@Override
76-
public void onIpConnected() {
77-
//We're good to go for the video stream.
78-
Timber.d( "Connected to video stream");
79-
super.onIpConnected();
80-
}
81-
8281
@Override
8382
public void onIpDisconnected() {
8483
Timber.d( "Video stream disconnected");

ServiceApp/src/org/droidplanner/services/android/core/drone/companion/solo/sololink/SoloLinkManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,8 @@ public void stop() {
152152
}
153153

154154
@Override
155-
public void onIpConnected() {
155+
public void refreshState(){
156156
Timber.d("Connected to sololink.");
157-
super.onIpConnected();
158157

159158
loadPresetButtonSettings();
160159
loadGoproState();
@@ -348,4 +347,6 @@ public void refreshSoloLinkVersions() {
348347
updatePixhawkVersion();
349348
updateGimbalVersion();
350349
}
350+
351+
351352
}

0 commit comments

Comments
 (0)