Handles DeadObjectExceptions in WalletContextualLocationsService.
Flag: EXEMPT bugfix
Bug: 315309572
Change-Id: Ic745d24313c75447c5bbfc69f24a030e8505dbd8
diff --git a/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt b/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
index 3c50c7b..09b1f45 100644
--- a/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
+++ b/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
@@ -1,6 +1,7 @@
package com.android.systemui.wallet.controller
import android.content.Intent
+import android.os.DeadObjectException
import android.os.IBinder
import android.util.Log
import androidx.annotation.VisibleForTesting
@@ -47,7 +48,11 @@
controller.allWalletCards.collect { cards ->
val cardsSize = cards.size
Log.i(TAG, "Number of cards registered $cardsSize")
- listener?.registerNewWalletCards(cards)
+ try {
+ listener?.registerNewWalletCards(cards)
+ } catch (e: DeadObjectException) {
+ Log.e(TAG, "Failed to register wallet cards because IWalletCardsUpdatedListener is dead")
+ }
}
}
} else {
@@ -55,7 +60,11 @@
controller.allWalletCards.collect { cards ->
val cardsSize = cards.size
Log.i(TAG, "Number of cards registered $cardsSize")
- listener?.registerNewWalletCards(cards)
+ try {
+ listener?.registerNewWalletCards(cards)
+ } catch (e: DeadObjectException) {
+ Log.e(TAG, "Failed to register wallet cards because IWalletCardsUpdatedListener is dead")
+ }
}
}
}