Skip to content

Commit 170771f

Browse files
Reconnect on language change
1 parent ebafb3b commit 170771f

2 files changed

Lines changed: 12 additions & 21 deletions

File tree

android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,13 @@ void initializeProxy() {
112112
}
113113
}
114114

115-
private void cycleProxy(SdlDisconnectedReason disconnectedReason) {
115+
@Override
116+
void cycleProxy(SdlDisconnectedReason disconnectedReason) {
116117
cleanProxy();
117118
initializeProxy();
118119
if (!SdlDisconnectedReason.LEGACY_BLUETOOTH_MODE_ENABLED.equals(disconnectedReason) && !SdlDisconnectedReason.PRIMARY_TRANSPORT_CYCLE_REQUEST.equals(disconnectedReason)) {
119120
//We don't want to alert higher if we are just cycling for legacy bluetooth
120-
onClose("Sdl Proxy Cycled", new SdlException("Sdl Proxy Cycled", SdlExceptionCause.SDL_PROXY_CYCLED));
121+
onClose("Sdl Proxy Cycled", new SdlException("Sdl Proxy Cycled", SdlExceptionCause.SDL_PROXY_CYCLED), disconnectedReason);
121122
}
122123
try {
123124
session.startSession();
@@ -160,7 +161,7 @@ void onTransportDisconnected(String info, boolean availablePrimary, BaseTranspor
160161
Log.d(TAG, "notifying RPC session ended, but potential primary transport available");
161162
cycleProxy(SdlDisconnectedReason.PRIMARY_TRANSPORT_CYCLE_REQUEST);
162163
} else {
163-
onClose(info, null);
164+
onClose(info, null, null);
164165
}
165166
}
166167

base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -326,10 +326,10 @@ public OnHMIStatus getCurrentHMIStatus() {
326326
return currentHMIStatus;
327327
}
328328

329-
void onClose(String info, Exception e) {
329+
void onClose(String info, Exception e, SdlDisconnectedReason reason) {
330330
Log.i(TAG, "onClose");
331331
if (lifecycleListener != null) {
332-
lifecycleListener.onProxyClosed((LifecycleManager) this, info, e, null);
332+
lifecycleListener.onProxyClosed((LifecycleManager) this, info, e, reason);
333333
}
334334
}
335335

@@ -446,7 +446,7 @@ public void run() {
446446
cleanProxy();
447447
} else {
448448
Log.v(TAG, "re-registering for language change");
449-
processLanguageChange();
449+
cycleProxy(SdlDisconnectedReason.LANGUAGE_CHANGE);
450450
}
451451
break;
452452
case UNREGISTER_APP_INTERFACE:
@@ -460,19 +460,6 @@ public void run() {
460460

461461
};
462462

463-
private void processLanguageChange() {
464-
if (session != null) {
465-
if (session.getIsConnected()) {
466-
session.close();
467-
}
468-
try {
469-
session.startSession();
470-
} catch (SdlException e) {
471-
e.printStackTrace();
472-
}
473-
}
474-
}
475-
476463
/* *******************************************************************************************************
477464
********************************** INTERNAL - RPC LISTENERS !! END !! *********************************
478465
*********************************************************************************************************/
@@ -856,7 +843,7 @@ private void sendRPCMessagePrivate(RPCMessage message, boolean isInternalMessage
856843
final ISdlConnectionListener sdlConnectionListener = new ISdlConnectionListener() {
857844
@Override
858845
public void onTransportDisconnected(String info) {
859-
onClose(info, null);
846+
onClose(info, null, null);
860847

861848
}
862849

@@ -868,7 +855,7 @@ public void onTransportDisconnected(String info, boolean availablePrimary, BaseT
868855

869856
@Override
870857
public void onTransportError(String info, Exception e) {
871-
onClose(info, e);
858+
onClose(info, e, null);
872859

873860
}
874861

@@ -1509,6 +1496,9 @@ void onProtocolSessionStarted(SessionType sessionType) {
15091496
}
15101497
}
15111498

1499+
void cycleProxy(SdlDisconnectedReason disconnectedReason) {
1500+
}
1501+
15121502
void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) {
15131503
}
15141504

0 commit comments

Comments
 (0)