[Settings] Fix NPE from updating subinfo changed.

- Refactor code to avoid NPE.

Bug: 278721219
Test: make passed
Test: atest MobileDataPreferenceControllerTest passed
Change-Id: I1fe57b8835677335ae9102cfff71451060ea4f78
This commit is contained in:
tom hsu
2023-05-02 16:40:04 +08:00
committed by Tom Hsu
parent d3897afda6
commit fa0bdabc6a
2 changed files with 5 additions and 7 deletions

View File

@@ -25,10 +25,10 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.fragment.app.FragmentManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
@@ -232,13 +232,12 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon
mSubscriptionInfoEntityList.forEach(entity -> {
if (entity.getSubId() == mSubId) {
mSubscriptionInfoEntity = entity;
if (entity.getSubId() == SubscriptionManager.getDefaultDataSubscriptionId()) {
mDefaultSubId = entity.getSubId();
}
}
});
int subId = mSubscriptionInfoEntity.getSubId();
if (mSubscriptionInfoEntity != null
&& subId == SubscriptionManager.getDefaultDataSubscriptionId()) {
mDefaultSubId = subId;
}
update();
refreshSummary(mPreference);
}

View File

@@ -20,7 +20,6 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEA
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;