summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Henigan <robert.henigan@livio.io>2021-09-01 11:08:36 -0400
committerGitHub <noreply@github.com>2021-09-01 11:08:36 -0400
commit8356439986c1f3feb1b66d9b64e9832841b2e69c (patch)
tree8dde4829e52f74010ed4890df79eff2e4200764e
parent05b6219e3a616677a7e11fd092ca46f9b8736b4e (diff)
downloadsdl_android-8356439986c1f3feb1b66d9b64e9832841b2e69c.tar.gz
Update Handler constructors from deprecated versions (#1726)
* Update Handler constructors from deprecated * Change to mainLooper * Add null checks for myLooper to prep looper * Cleanup where looper was already prepared * Replace mainLooper with myLooper for non UI tasks Co-authored-by: Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java3
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/protocol/heartbeat/HeartbeatMonitor.java2
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java5
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java15
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java8
6 files changed, 24 insertions, 11 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java b/android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java
index 7c8df5b98..3eba6af30 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java
@@ -337,7 +337,7 @@ public class VirtualDisplayEncoder {
Looper.prepare();
// create a Handler for this thread
- mHandler = new Handler() {
+ mHandler = new Handler(Looper.myLooper()) {
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_TICK: {
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
index 6f0e68aba..97e8c8bca 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java
@@ -38,6 +38,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.os.Handler;
+import android.os.Looper;
import androidx.annotation.RestrictTo;
@@ -227,7 +228,7 @@ public class LockScreenManager extends BaseSubManager {
mLockScreenShouldBeAutoDismissed = false;
}
if (!receivedFirstDDNotification) {
- new Handler().postDelayed(new Runnable() {
+ new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
launchLockScreenActivity();
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/protocol/heartbeat/HeartbeatMonitor.java b/android/sdl_android/src/main/java/com/smartdevicelink/protocol/heartbeat/HeartbeatMonitor.java
index c60cdaadf..831e59da4 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/protocol/heartbeat/HeartbeatMonitor.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/protocol/heartbeat/HeartbeatMonitor.java
@@ -155,7 +155,7 @@ public class HeartbeatMonitor implements IHeartbeatMonitor {
Looper.prepare();
mHeartbeatThreadLooper = Looper.myLooper();
- mHeartbeatThreadHandler = new Handler();
+ mHeartbeatThreadHandler = new Handler(mHeartbeatThreadLooper);
mIsAckReceived = true;
isHeartbeatReceived = true;
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
index fba01a561..31cea21c8 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/MultiplexBluetoothTransport.java
@@ -348,7 +348,10 @@ public class MultiplexBluetoothTransport extends MultiplexBaseTransport {
}
private void timerDelayRemoveDialog(final BluetoothSocket sock) {
- timeOutHandler = new Handler();
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ timeOutHandler = new Handler(Looper.myLooper());
socketRunnable = new Runnable() {
public void run() {
//Log.e(TAG, "BLUETOOTH SOCKET CONNECT TIMEOUT - ATTEMPT TO CLOSE SOCKET");
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
index be68e8c13..7f6eb2b40 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
@@ -1442,7 +1442,10 @@ public class SdlRouterService extends Service {
public void resetForegroundTimeOut(long delay) {
synchronized (FOREGROUND_NOTIFICATION_LOCK) {
if (foregroundTimeoutHandler == null) {
- foregroundTimeoutHandler = new Handler();
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ foregroundTimeoutHandler = new Handler(Looper.myLooper());
}
if (foregroundTimeoutRunnable == null) {
foregroundTimeoutRunnable = new Runnable() {
@@ -2536,7 +2539,10 @@ public class SdlRouterService extends Service {
* This method is used to check for the newest version of this class to make sure the latest and greatest is up and running.
*/
private void startAltTransportTimer() {
- altTransportTimerHandler = new Handler();
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ altTransportTimerHandler = new Handler(Looper.myLooper());
altTransportTimerRunnable = new Runnable() {
public void run() {
altTransportTimerHandler = null;
@@ -3095,7 +3101,10 @@ public class SdlRouterService extends Service {
this.messenger = messenger;
this.sessionIds = new Vector<Long>();
this.queues = new ConcurrentHashMap<>();
- queueWaitHandler = new Handler();
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ queueWaitHandler = new Handler(Looper.myLooper());
registeredTransports = new SparseArray<ArrayList<TransportType>>();
awaitingSession = new Vector<>();
setDeathNote(); //messaging Version
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java
index a1392aace..6c3050301 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java
@@ -402,10 +402,10 @@ public class TransportManager extends TransportManagerBase {
return; //Already in legacy mode
}
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
if (transportListener.onLegacyModeEnabled(info)) {
- if (Looper.myLooper() == null) {
- Looper.prepare();
- }
legacyBluetoothHandler = new LegacyBluetoothHandler(this);
legacyBluetoothTransport = new MultiplexBluetoothTransport(legacyBluetoothHandler);
if (contextWeakReference.get() != null) {
@@ -415,7 +415,7 @@ public class TransportManager extends TransportManagerBase {
contextWeakReference.get().registerReceiver(legacyDisconnectReceiver, intentFilter);
}
} else {
- new Handler().postDelayed(new Runnable() {
+ new Handler(Looper.myLooper()).postDelayed(new Runnable() {
@Override
public void run() {
transportListener.onError(info + " - Legacy mode unacceptable; shutting down.");