diff options
author | Robert Henigan <robert.henigan@livio.io> | 2021-09-01 11:08:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-01 11:08:36 -0400 |
commit | 8356439986c1f3feb1b66d9b64e9832841b2e69c (patch) | |
tree | 8dde4829e52f74010ed4890df79eff2e4200764e | |
parent | 05b6219e3a616677a7e11fd092ca46f9b8736b4e (diff) | |
download | sdl_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>
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."); |