Add a method to get controllers with same parent class type.
Flag: EXEMPT bug fix Fix: b/382635197 Test: Manual test. Change-Id: I0a48628d032d7ce1f47cbca20e63b20149b5daa0
This commit is contained in:
@@ -348,6 +348,13 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Returns grouped controllers of input type T. */
|
||||
protected <T extends AbstractPreferenceController> List<AbstractPreferenceController> useGroup(
|
||||
Class<T> clazz) {
|
||||
return mPreferenceControllers.values().stream().flatMap(Collection::stream).filter(
|
||||
controller -> clazz.isInstance(controller)).toList();
|
||||
}
|
||||
|
||||
/** Returns all controllers of type T. */
|
||||
protected <T extends AbstractPreferenceController> List<T> useAll(Class<T> clazz) {
|
||||
return (List<T>) mPreferenceControllers.getOrDefault(clazz, Collections.emptyList());
|
||||
|
@@ -338,12 +338,10 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme
|
||||
convertToEsimPreferenceController.init(mSubId, mSubscriptionInfoEntity);
|
||||
}
|
||||
|
||||
List<AbstractSubscriptionPreferenceController> subscriptionPreferenceControllers =
|
||||
useAll(AbstractSubscriptionPreferenceController.class);
|
||||
for (AbstractSubscriptionPreferenceController controller :
|
||||
subscriptionPreferenceControllers) {
|
||||
controller.init(mSubId);
|
||||
}
|
||||
List<AbstractPreferenceController> subscriptionPreferenceControllers =
|
||||
useGroup(AbstractSubscriptionPreferenceController.class);
|
||||
subscriptionPreferenceControllers.forEach(
|
||||
controller -> ((AbstractSubscriptionPreferenceController) controller).init(mSubId));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user