Merge "Add a method to get controllers with same parent class type." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
c6636f9a25
@@ -348,6 +348,13 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
return null;
|
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. */
|
/** Returns all controllers of type T. */
|
||||||
protected <T extends AbstractPreferenceController> List<T> useAll(Class<T> clazz) {
|
protected <T extends AbstractPreferenceController> List<T> useAll(Class<T> clazz) {
|
||||||
return (List<T>) mPreferenceControllers.getOrDefault(clazz, Collections.emptyList());
|
return (List<T>) mPreferenceControllers.getOrDefault(clazz, Collections.emptyList());
|
||||||
|
|||||||
@@ -334,12 +334,10 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme
|
|||||||
convertToEsimPreferenceController.init(mSubId, mSubscriptionInfoEntity);
|
convertToEsimPreferenceController.init(mSubId, mSubscriptionInfoEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<AbstractSubscriptionPreferenceController> subscriptionPreferenceControllers =
|
List<AbstractPreferenceController> subscriptionPreferenceControllers =
|
||||||
useAll(AbstractSubscriptionPreferenceController.class);
|
useGroup(AbstractSubscriptionPreferenceController.class);
|
||||||
for (AbstractSubscriptionPreferenceController controller :
|
subscriptionPreferenceControllers.forEach(
|
||||||
subscriptionPreferenceControllers) {
|
controller -> ((AbstractSubscriptionPreferenceController) controller).init(mSubId));
|
||||||
controller.init(mSubId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user