[Settings] Remove access to getSimOperator() API

Replace getSimOperator() by having SubscriptionInfo
from getAccessibleSubscriptionInfo().

Bug: 144263441
Test: Manual
make RunSettingsRoboTests -j ROBOTEST_FILTER=ApnEditorTest

Change-Id: I25cc9dc0912564b8d6f8b23b53f3eb20a51eea32
This commit is contained in:
Bonian Chen
2019-11-13 17:25:13 +08:00
parent 3af21959b5
commit bb53dd5f93
5 changed files with 165 additions and 69 deletions

View File

@@ -46,6 +46,14 @@ public class ProxySubscriptionManager extends SubscriptionManager.OnSubscription
* When active subscriptions list get changed
*/
void onChanged();
/**
* get Lifecycle of listener
*
* @return Returns Lifecycle.
*/
default Lifecycle getLifecycle() {
return null;
}
}
/**
@@ -94,7 +102,11 @@ public class ProxySubscriptionManager extends SubscriptionManager.OnSubscription
private void notifyAllListeners() {
for (OnActiveSubscriptionChangedListener listener : mActiveSubscriptionsListeners) {
listener.onChanged();
final Lifecycle lifecycle = listener.getLifecycle();
if ((lifecycle == null)
|| (lifecycle.getCurrentState().isAtLeast(Lifecycle.State.STARTED))) {
listener.onChanged();
}
}
}
@@ -110,6 +122,9 @@ public class ProxySubscriptionManager extends SubscriptionManager.OnSubscription
* @param lifecycle life cycle to reference
*/
public void setLifecycle(Lifecycle lifecycle) {
if (mLifecycle == lifecycle) {
return;
}
if (mLifecycle != null) {
mLifecycle.removeObserver(this);
}
@@ -179,6 +194,25 @@ public class ProxySubscriptionManager extends SubscriptionManager.OnSubscription
return mSubsciptionsMonitor.getActiveSubscriptionInfo(subId);
}
/**
* Get a list of accessible subscription info
*
* @return A list of accessible subscription info
*/
public List<SubscriptionInfo> getAccessibleSubscriptionsInfo() {
return mSubsciptionsMonitor.getAccessibleSubscriptionsInfo();
}
/**
* Get an accessible subscription info with given subscription ID
*
* @param subId target subscription ID
* @return A subscription info which is accessible list
*/
public SubscriptionInfo getAccessibleSubscriptionInfo(int subId) {
return mSubsciptionsMonitor.getAccessibleSubscriptionInfo(subId);
}
/**
* Clear data cached within proxy
*/