summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aswin Sankar <apsankar@google.com> 2022-09-08 18:51:43 -0700
committer Aswin Sankar <apsankar@google.com> 2022-09-22 00:08:01 +0000
commit4041689bf39e6c5c4619d3bd1b3c43de2a02371c (patch)
treed275beae84dc080a9c5ccc5ad64bc146ab37de03
parent61d96df6f2a4a632d782f8deafaaee6add3f9b0a (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.java2
-rw-r--r--telephony/java/android/telephony/data/DataService.java2
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();
}