summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java')
-rw-r--r--src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
index 678209d935..2bd7de9d50 100644
--- a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
@@ -23,7 +23,6 @@ import android.telephony.SubscriptionManager;
import com.android.settings.core.BasePreferenceController;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -33,7 +32,7 @@ public abstract class TelephonyBasePreferenceController extends BasePreferenceCo
implements TelephonyAvailabilityCallback, TelephonyAvailabilityHandler {
protected int mSubId;
private AtomicInteger mAvailabilityStatus = new AtomicInteger(0);
- private AtomicBoolean mUnsetAvailabilityStatus = new AtomicBoolean(false);
+ private AtomicInteger mSetSessionCount = new AtomicInteger(0);
public TelephonyBasePreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
@@ -42,7 +41,7 @@ public abstract class TelephonyBasePreferenceController extends BasePreferenceCo
@Override
public int getAvailabilityStatus() {
- if (!mUnsetAvailabilityStatus.get()) {
+ if (mSetSessionCount.get() <= 0) {
mAvailabilityStatus.set(MobileNetworkUtils
.getAvailability(mContext, mSubId, this::getAvailabilityStatus));
}
@@ -52,11 +51,12 @@ public abstract class TelephonyBasePreferenceController extends BasePreferenceCo
@Override
public void setAvailabilityStatus(int status) {
mAvailabilityStatus.set(status);
+ mSetSessionCount.getAndIncrement();
}
@Override
- public void unsetAvailabilityStatus(boolean enable) {
- mUnsetAvailabilityStatus.set(enable);
+ public void unsetAvailabilityStatus() {
+ mSetSessionCount.getAndDecrement();
}
/**