diff options
author | 2022-09-08 18:51:43 -0700 | |
---|---|---|
committer | 2022-09-22 00:08:01 +0000 | |
commit | 4041689bf39e6c5c4619d3bd1b3c43de2a02371c (patch) | |
tree | d275beae84dc080a9c5ccc5ad64bc146ab37de03 | |
parent | 61d96df6f2a4a632d782f8deafaaee6add3f9b0a (diff) |
NetworkService: quitSafely() on onDestroy()
- When IwlanNetworkService is un-bound, such as when phone app dies,
the typical sequence is onUnbind() followed by onDestroy() immediately.
- Messages queued by onUnbind() are not processed, which leaves the
IwlanNetworkService in an unexpected state for the next onBind().
- The change is applied to DataService.java as well for safety.
Bug: 237447534
Test:
Live test by crashing com.android.phone to verify fix to unbind/destroy
behavior.
Change-Id: I25d968867401bd7d285735c83c71e3649467c5db
Merged-In: I25d968867401bd7d285735c83c71e3649467c5db
-rw-r--r-- | telephony/java/android/telephony/NetworkService.java | 2 | ||||
-rw-r--r-- | telephony/java/android/telephony/data/DataService.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/telephony/java/android/telephony/NetworkService.java b/telephony/java/android/telephony/NetworkService.java index c75de42707a6..ac892da765e7 100644 --- a/telephony/java/android/telephony/NetworkService.java +++ b/telephony/java/android/telephony/NetworkService.java @@ -265,7 +265,7 @@ public abstract class NetworkService extends Service { /** @hide */ @Override public void onDestroy() { - mHandlerThread.quit(); + mHandlerThread.quitSafely(); super.onDestroy(); } diff --git a/telephony/java/android/telephony/data/DataService.java b/telephony/java/android/telephony/data/DataService.java index 700d61597d00..d8b2cbebdf28 100644 --- a/telephony/java/android/telephony/data/DataService.java +++ b/telephony/java/android/telephony/data/DataService.java @@ -725,7 +725,7 @@ public abstract class DataService extends Service { @Override public void onDestroy() { - mHandlerThread.quit(); + mHandlerThread.quitSafely(); super.onDestroy(); } |