summaryrefslogtreecommitdiff
path: root/android/sdl_android/src/main/java/com/smartdevicelink/proxy
diff options
context:
space:
mode:
authorBilal Alsharifi <bilal.alsharifi@gmail.com>2020-06-12 11:17:21 -0400
committerBilal Alsharifi <bilal.alsharifi@gmail.com>2020-06-12 11:17:21 -0400
commit1b15fb34eceec0b7715477c23f9073824638719c (patch)
treeb09c06d9ad92ec5ded86edbe6ae654e7d5eabae0 /android/sdl_android/src/main/java/com/smartdevicelink/proxy
parentf246f22e16aab9b95cd0a3fd0af084e7a1fc6fcb (diff)
downloadsdl_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.java21
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.