Check EuiccMan#isEnabled earlier before getting euiccController.
Bug: 133880261
Bug: 131695762
Test: WIP
Change-Id: I7f6d494aa22065c09cc29b23a07a3262fe7067b7
(cherry picked from commit e22fb382bdd393d3d93b251738118ae90d8a0db1)
diff --git a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
index d56aee8..fd30b8e4 100644
--- a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
+++ b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
@@ -699,6 +699,13 @@
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
public void updateEmbeddedSubscriptions(List<Integer> cardIds,
@Nullable UpdateEmbeddedSubsCallback callback) {
+ // Do nothing if eUICCs are disabled. (Previous entries may remain in the cache, but they
+ // are filtered out of list calls as long as EuiccManager.isEnabled returns false).
+ if (!mEuiccManager.isEnabled()) {
+ callback.run(false /* hasChanges */);
+ return;
+ }
+
mBackgroundHandler.post(() -> {
List<GetEuiccProfileInfoListResult> results = new ArrayList<>();
for (int cardId : cardIds) {
@@ -735,11 +742,6 @@
*/
private boolean updateEmbeddedSubscriptionsCache(GetEuiccProfileInfoListResult result) {
if (DBG) logd("updateEmbeddedSubscriptionsCache");
- // Do nothing if eUICCs are disabled. (Previous entries may remain in the cache, but they
- // are filtered out of list calls as long as EuiccManager.isEnabled returns false).
- if (!mEuiccManager.isEnabled()) {
- return false;
- }
if (result == null) {
// IPC to the eUICC controller failed.