Merge "Revert "Revert "[Settings] Code Refactor - ActiveSubsciptionsListener""" into sc-dev
This commit is contained in:
@@ -39,7 +39,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
/**
|
/**
|
||||||
* A listener for active subscription change
|
* A listener for active subscription change
|
||||||
*/
|
*/
|
||||||
public abstract class ActiveSubsciptionsListener
|
public abstract class ActiveSubscriptionsListener
|
||||||
extends SubscriptionManager.OnSubscriptionsChangedListener
|
extends SubscriptionManager.OnSubscriptionsChangedListener
|
||||||
implements AutoCloseable {
|
implements AutoCloseable {
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ public abstract class ActiveSubsciptionsListener
|
|||||||
* @param looper {@code Looper} of this listener
|
* @param looper {@code Looper} of this listener
|
||||||
* @param context {@code Context} of this listener
|
* @param context {@code Context} of this listener
|
||||||
*/
|
*/
|
||||||
public ActiveSubsciptionsListener(Looper looper, Context context) {
|
public ActiveSubscriptionsListener(Looper looper, Context context) {
|
||||||
this(looper, context, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
this(looper, context, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ public abstract class ActiveSubsciptionsListener
|
|||||||
* @param context {@code Context} of this listener
|
* @param context {@code Context} of this listener
|
||||||
* @param subscriptionId for subscription on this listener
|
* @param subscriptionId for subscription on this listener
|
||||||
*/
|
*/
|
||||||
public ActiveSubsciptionsListener(Looper looper, Context context, int subscriptionId) {
|
public ActiveSubscriptionsListener(Looper looper, Context context, int subscriptionId) {
|
||||||
super(looper);
|
super(looper);
|
||||||
mLooper = looper;
|
mLooper = looper;
|
||||||
mContext = context;
|
mContext = context;
|
@@ -37,7 +37,7 @@ import androidx.preference.Preference;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.datausage.BillingCyclePreferenceController;
|
import com.android.settings.datausage.BillingCyclePreferenceController;
|
||||||
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
|
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
|
||||||
import com.android.settings.network.ActiveSubsciptionsListener;
|
import com.android.settings.network.ActiveSubscriptionsListener;
|
||||||
import com.android.settings.network.CarrierWifiTogglePreferenceController;
|
import com.android.settings.network.CarrierWifiTogglePreferenceController;
|
||||||
import com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController;
|
import com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController;
|
||||||
import com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController;
|
import com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController;
|
||||||
@@ -74,9 +74,9 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
|
|||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
private String mClickedPrefKey;
|
private String mClickedPrefKey;
|
||||||
|
|
||||||
private ActiveSubsciptionsListener mActiveSubsciptionsListener;
|
private ActiveSubscriptionsListener mActiveSubscriptionsListener;
|
||||||
private boolean mDropFirstSubscriptionChangeNotify;
|
private boolean mDropFirstSubscriptionChangeNotify;
|
||||||
private int mActiveSubsciptionsListenerCount;
|
private int mActiveSubscriptionsListenerCount;
|
||||||
|
|
||||||
public MobileNetworkSettings() {
|
public MobileNetworkSettings() {
|
||||||
super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
|
super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
|
||||||
@@ -218,8 +218,8 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
|
|||||||
super.onResume();
|
super.onResume();
|
||||||
// TODO: remove log after fixing b/182326102
|
// TODO: remove log after fixing b/182326102
|
||||||
Log.d(LOG_TAG, "onResume() subId=" + mSubId);
|
Log.d(LOG_TAG, "onResume() subId=" + mSubId);
|
||||||
if (mActiveSubsciptionsListener == null) {
|
if (mActiveSubscriptionsListener == null) {
|
||||||
mActiveSubsciptionsListener = new ActiveSubsciptionsListener(
|
mActiveSubscriptionsListener = new ActiveSubscriptionsListener(
|
||||||
getContext().getMainLooper(), getContext(), mSubId) {
|
getContext().getMainLooper(), getContext(), mSubId) {
|
||||||
public void onChanged() {
|
public void onChanged() {
|
||||||
onSubscriptionDetailChanged();
|
onSubscriptionDetailChanged();
|
||||||
@@ -227,7 +227,7 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
|
|||||||
};
|
};
|
||||||
mDropFirstSubscriptionChangeNotify = true;
|
mDropFirstSubscriptionChangeNotify = true;
|
||||||
}
|
}
|
||||||
mActiveSubsciptionsListener.start();
|
mActiveSubscriptionsListener.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onSubscriptionDetailChanged() {
|
private void onSubscriptionDetailChanged() {
|
||||||
@@ -236,21 +236,21 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
|
|||||||
Log.d(LOG_TAG, "Callback during onResume()");
|
Log.d(LOG_TAG, "Callback during onResume()");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mActiveSubsciptionsListenerCount++;
|
mActiveSubscriptionsListenerCount++;
|
||||||
if (mActiveSubsciptionsListenerCount != 1) {
|
if (mActiveSubscriptionsListenerCount != 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadUtils.postOnMainThread(() -> {
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
mActiveSubsciptionsListenerCount = 0;
|
mActiveSubscriptionsListenerCount = 0;
|
||||||
redrawPreferenceControllers();
|
redrawPreferenceControllers();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
if (mActiveSubsciptionsListener != null) {
|
if (mActiveSubscriptionsListener != null) {
|
||||||
mActiveSubsciptionsListener.stop();
|
mActiveSubscriptionsListener.stop();
|
||||||
}
|
}
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
@@ -49,7 +49,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class ActiveSubsciptionsListenerTest {
|
public class ActiveSubscriptionsListenerTest {
|
||||||
private static final int SUB_ID1 = 3;
|
private static final int SUB_ID1 = 3;
|
||||||
private static final int SUB_ID2 = 7;
|
private static final int SUB_ID2 = 7;
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ public class ActiveSubsciptionsListenerTest {
|
|||||||
private SubscriptionManager mSubscriptionManager;
|
private SubscriptionManager mSubscriptionManager;
|
||||||
private List<SubscriptionInfo> mActiveSubscriptions;
|
private List<SubscriptionInfo> mActiveSubscriptions;
|
||||||
|
|
||||||
private ActiveSubsciptionsListenerImpl mListener;
|
private ActiveSubscriptionsListenerImpl mListener;
|
||||||
private BroadcastReceiver mReceiver;
|
private BroadcastReceiver mReceiver;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -83,7 +83,7 @@ public class ActiveSubsciptionsListenerTest {
|
|||||||
addMockSubscription(SUB_ID2);
|
addMockSubscription(SUB_ID2);
|
||||||
doReturn(mActiveSubscriptions).when(mSubscriptionManager).getActiveSubscriptionInfoList();
|
doReturn(mActiveSubscriptions).when(mSubscriptionManager).getActiveSubscriptionInfoList();
|
||||||
|
|
||||||
mListener = spy(new ActiveSubsciptionsListenerImpl(Looper.getMainLooper(), mContext));
|
mListener = spy(new ActiveSubscriptionsListenerImpl(Looper.getMainLooper(), mContext));
|
||||||
doReturn(mSubscriptionManager).when(mListener).getSubscriptionManager();
|
doReturn(mSubscriptionManager).when(mListener).getSubscriptionManager();
|
||||||
mReceiver = mListener.getSubscriptionChangeReceiver();
|
mReceiver = mListener.getSubscriptionChangeReceiver();
|
||||||
}
|
}
|
||||||
@@ -99,8 +99,8 @@ public class ActiveSubsciptionsListenerTest {
|
|||||||
mListener.close();
|
mListener.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ActiveSubsciptionsListenerImpl extends ActiveSubsciptionsListener {
|
public class ActiveSubscriptionsListenerImpl extends ActiveSubscriptionsListener {
|
||||||
public ActiveSubsciptionsListenerImpl(Looper looper, Context context) {
|
public ActiveSubscriptionsListenerImpl(Looper looper, Context context) {
|
||||||
super(looper, context);
|
super(looper, context);
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue
Block a user