diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-06-12 11:17:21 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-06-12 11:17:21 -0400 |
commit | 1b15fb34eceec0b7715477c23f9073824638719c (patch) | |
tree | b09c06d9ad92ec5ded86edbe6ae654e7d5eabae0 /android/sdl_android/src/main/java/com/smartdevicelink/proxy | |
parent | f246f22e16aab9b95cd0a3fd0af084e7a1fc6fcb (diff) | |
download | sdl_android-1b15fb34eceec0b7715477c23f9073824638719c.tar.gz |
Update ChoiceSetManager to use Taskmaster
Diffstat (limited to 'android/sdl_android/src/main/java/com/smartdevicelink/proxy')
-rw-r--r-- | android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java index b0bda2d26..b42360019 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java @@ -50,6 +50,7 @@ import android.view.InputDevice; import android.view.MotionEvent;
import android.view.Surface;
+import com.livio.taskmaster.Taskmaster;
import com.smartdevicelink.BuildConfig;
import com.smartdevicelink.Dispatcher.IDispatchingStrategy;
import com.smartdevicelink.Dispatcher.ProxyMessageDispatcher;
@@ -313,6 +314,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> private Set<String> encryptionRequiredRPCs = new HashSet<>();
private boolean rpcSecuredServiceStarted;
private ServiceEncryptionListener serviceEncryptionListener;
+ private Taskmaster taskmaster;
// Interface broker
private SdlInterfaceBroker _interfaceBroker = null;
@@ -537,7 +539,23 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> public void startRPCEncryption() {
SdlProxyBase.this.startProtectedRPCService();
}
+
+ @Override
+ public Taskmaster getTaskmaster() {
+ return SdlProxyBase.this.getTaskmaster();
+ }
};
+
+ Taskmaster getTaskmaster() {
+ if (taskmaster == null) {
+ Taskmaster.Builder builder = new Taskmaster.Builder();
+ builder.setThreadCount(2);
+ builder.shouldBeDaemon(false);
+ taskmaster = builder.build();
+ taskmaster.start();
+ }
+ return taskmaster;
+ }
private void notifyPutFileStreamError(Exception e, String info)
{
@@ -1832,6 +1850,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> public void dispose() throws SdlException {
SdlTrace.logProxyEvent("Application called dispose() method.", SDL_LIB_TRACE_KEY);
disposeInternal(SdlDisconnectedReason.APPLICATION_REQUESTED_DISCONNECT);
+ if (taskmaster != null) {
+ taskmaster.shutdown();
+ }
}
/**
* Terminates the App's Interface Registration, closes the transport connection, ends the protocol session, and frees any resources used by the proxy.
|