Merge "Fix 'Advanced' collapse point on Network & internet page" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5c28e42538
@@ -38,6 +38,8 @@ public class MultiNetworkHeaderController extends BasePreferenceController imple
|
||||
private WifiConnectionPreferenceController mWifiController;
|
||||
private SubscriptionsPreferenceController mSubscriptionsController;
|
||||
private PreferenceCategory mPreferenceCategory;
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
private int mOriginalExpandedChildrenCount;
|
||||
|
||||
public MultiNetworkHeaderController(Context context, String key) {
|
||||
super(context, key);
|
||||
@@ -65,6 +67,8 @@ public class MultiNetworkHeaderController extends BasePreferenceController imple
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mPreferenceScreen = screen;
|
||||
mOriginalExpandedChildrenCount = mPreferenceScreen.getInitialExpandedChildrenCount();
|
||||
mPreferenceCategory = screen.findPreference(mPreferenceKey);
|
||||
mPreferenceCategory.setVisible(isAvailable());
|
||||
mWifiController.displayPreference(screen);
|
||||
@@ -82,6 +86,18 @@ public class MultiNetworkHeaderController extends BasePreferenceController imple
|
||||
|
||||
@Override
|
||||
public void onChildrenUpdated() {
|
||||
mPreferenceCategory.setVisible(isAvailable());
|
||||
final boolean available = isAvailable();
|
||||
// TODO(b/129893781) we need a better way to express where the advanced collapsing starts
|
||||
// for preference groups that have items dynamically added/removed in the top expanded
|
||||
// section.
|
||||
if (mOriginalExpandedChildrenCount != Integer.MAX_VALUE) {
|
||||
if (available) {
|
||||
mPreferenceScreen.setInitialExpandedChildrenCount(
|
||||
mOriginalExpandedChildrenCount + mPreferenceCategory.getPreferenceCount());
|
||||
} else {
|
||||
mPreferenceScreen.setInitialExpandedChildrenCount(mOriginalExpandedChildrenCount);
|
||||
}
|
||||
}
|
||||
mPreferenceCategory.setVisible(available);
|
||||
}
|
||||
}
|
||||
|
@@ -116,7 +116,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
return;
|
||||
}
|
||||
|
||||
if (mSubscriptionsListener.isAirplaneModeOn()) {
|
||||
if (!isAvailable()) {
|
||||
for (Preference pref : mSubscriptionPreferences.values()) {
|
||||
mPreferenceGroup.removePreference(pref);
|
||||
}
|
||||
|
Reference in New Issue
Block a user