From 24e7f904e38cd391414e4de210451abc5d546ffa Mon Sep 17 00:00:00 2001 From: Aswin Sankar Date: Thu, 8 Sep 2022 18:51:43 -0700 Subject: 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 --- telephony/java/android/telephony/NetworkService.java | 2 +- telephony/java/android/telephony/data/DataService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'telephony') 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(); } -- cgit v1.2.3-59-g8ed1b