Loading src/com/android/settings/network/ActiveSubsciptionsListener.java +31 −16 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.os.Looper; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; Loading @@ -39,9 +40,11 @@ import java.util.concurrent.atomic.AtomicInteger; * A listener for active subscription change */ public abstract class ActiveSubsciptionsListener extends SubscriptionManager.OnSubscriptionsChangedListener { extends SubscriptionManager.OnSubscriptionsChangedListener implements AutoCloseable { private static final String TAG = "ActiveSubsciptions"; private static final boolean DEBUG = false; /** * Constructor Loading @@ -61,6 +64,8 @@ public abstract class ActiveSubsciptionsListener CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); mSubscriptionChangeIntentFilter.addAction( TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED); mSubscriptionChangeIntentFilter.addAction( TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED); } @VisibleForTesting Loading Loading @@ -134,6 +139,13 @@ public abstract class ActiveSubsciptionsListener monitorSubscriptionsChange(false); } /** * Implementation of {@code AutoCloseable} */ public void close() { stop(); } /** * Get SubscriptionManager * Loading Loading @@ -174,6 +186,7 @@ public abstract class ActiveSubsciptionsListener mCachedActiveSubscriptionInfo = getSubscriptionManager().getActiveSubscriptionInfoList(); mCacheState.compareAndSet(STATE_LISTENING, STATE_DATA_CACHED); if (DEBUG) { if ((mCachedActiveSubscriptionInfo == null) || (mCachedActiveSubscriptionInfo.size() <= 0)) { Log.d(TAG, "active subscriptions: " + mCachedActiveSubscriptionInfo); Loading @@ -184,6 +197,7 @@ public abstract class ActiveSubsciptionsListener } Log.d(TAG, logString.toString()); } } return mCachedActiveSubscriptionInfo; } Loading @@ -208,12 +222,12 @@ public abstract class ActiveSubsciptionsListener } /** * Get a list of accessible subscription info * Get a list of all subscription info which accessible by Settings app * * @return A list of accessible subscription info */ public List<SubscriptionInfo> getAccessibleSubscriptionsInfo() { return getSubscriptionManager().getAccessibleSubscriptionInfoList(); return getSubscriptionManager().getAvailableSubscriptionInfoList(); } /** Loading @@ -223,12 +237,13 @@ public abstract class ActiveSubsciptionsListener * @return A subscription info which is accessible list */ public SubscriptionInfo getAccessibleSubscriptionInfo(int subId) { if (mCacheState.get() >= STATE_DATA_CACHED) { // Always check if subId is part of activeSubscriptions // since there's cache design within SubscriptionManager. // That give us a chance to avoid from querying ContentProvider. final SubscriptionInfo activeSubInfo = getActiveSubscriptionInfo(subId); if (activeSubInfo != null) { return activeSubInfo; } } final List<SubscriptionInfo> subInfoList = getAccessibleSubscriptionsInfo(); if (subInfoList == null) { Loading src/com/android/settings/network/ProxySubscriptionManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,7 @@ public class ProxySubscriptionManager implements LifecycleObserver { @OnLifecycleEvent(ON_DESTROY) void onDestroy() { mSubsciptionsMonitor.close(); mAirplaneModeMonitor.close(); if (mLifecycle != null) { Loading tests/robotests/src/com/android/settings/network/ActiveSubsciptionsListenerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class ActiveSubsciptionsListenerTest { @After public void cleanUp() { mListener.stop(); mListener.close(); } private class ActiveSubsciptionsListenerImpl extends ActiveSubsciptionsListener { Loading Loading
src/com/android/settings/network/ActiveSubsciptionsListener.java +31 −16 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.os.Looper; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; Loading @@ -39,9 +40,11 @@ import java.util.concurrent.atomic.AtomicInteger; * A listener for active subscription change */ public abstract class ActiveSubsciptionsListener extends SubscriptionManager.OnSubscriptionsChangedListener { extends SubscriptionManager.OnSubscriptionsChangedListener implements AutoCloseable { private static final String TAG = "ActiveSubsciptions"; private static final boolean DEBUG = false; /** * Constructor Loading @@ -61,6 +64,8 @@ public abstract class ActiveSubsciptionsListener CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); mSubscriptionChangeIntentFilter.addAction( TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED); mSubscriptionChangeIntentFilter.addAction( TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED); } @VisibleForTesting Loading Loading @@ -134,6 +139,13 @@ public abstract class ActiveSubsciptionsListener monitorSubscriptionsChange(false); } /** * Implementation of {@code AutoCloseable} */ public void close() { stop(); } /** * Get SubscriptionManager * Loading Loading @@ -174,6 +186,7 @@ public abstract class ActiveSubsciptionsListener mCachedActiveSubscriptionInfo = getSubscriptionManager().getActiveSubscriptionInfoList(); mCacheState.compareAndSet(STATE_LISTENING, STATE_DATA_CACHED); if (DEBUG) { if ((mCachedActiveSubscriptionInfo == null) || (mCachedActiveSubscriptionInfo.size() <= 0)) { Log.d(TAG, "active subscriptions: " + mCachedActiveSubscriptionInfo); Loading @@ -184,6 +197,7 @@ public abstract class ActiveSubsciptionsListener } Log.d(TAG, logString.toString()); } } return mCachedActiveSubscriptionInfo; } Loading @@ -208,12 +222,12 @@ public abstract class ActiveSubsciptionsListener } /** * Get a list of accessible subscription info * Get a list of all subscription info which accessible by Settings app * * @return A list of accessible subscription info */ public List<SubscriptionInfo> getAccessibleSubscriptionsInfo() { return getSubscriptionManager().getAccessibleSubscriptionInfoList(); return getSubscriptionManager().getAvailableSubscriptionInfoList(); } /** Loading @@ -223,12 +237,13 @@ public abstract class ActiveSubsciptionsListener * @return A subscription info which is accessible list */ public SubscriptionInfo getAccessibleSubscriptionInfo(int subId) { if (mCacheState.get() >= STATE_DATA_CACHED) { // Always check if subId is part of activeSubscriptions // since there's cache design within SubscriptionManager. // That give us a chance to avoid from querying ContentProvider. final SubscriptionInfo activeSubInfo = getActiveSubscriptionInfo(subId); if (activeSubInfo != null) { return activeSubInfo; } } final List<SubscriptionInfo> subInfoList = getAccessibleSubscriptionsInfo(); if (subInfoList == null) { Loading
src/com/android/settings/network/ProxySubscriptionManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,7 @@ public class ProxySubscriptionManager implements LifecycleObserver { @OnLifecycleEvent(ON_DESTROY) void onDestroy() { mSubsciptionsMonitor.close(); mAirplaneModeMonitor.close(); if (mLifecycle != null) { Loading
tests/robotests/src/com/android/settings/network/ActiveSubsciptionsListenerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class ActiveSubsciptionsListenerTest { @After public void cleanUp() { mListener.stop(); mListener.close(); } private class ActiveSubsciptionsListenerImpl extends ActiveSubsciptionsListener { Loading