Commit 06919a97 authored by Christian Dullweber's avatar Christian Dullweber Committed by Commit Bot

Fix site settings page not closing after clear

mMaxPermissionOrder was not updated correctly. Avoid this problem by
not storing it globally.

Bug: 1117422
Change-Id: Ic200c7f6130347cec6635e4d09fa460c99a3a7da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2364533
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Andy Paicu <andypaicu@chromium.org>
Auto-Submit: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: default avatarAndy Paicu <andypaicu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799595}
parent fade9662
......@@ -141,8 +141,6 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// The Preference key for chooser object permissions.
private static final String CHOOSER_PERMISSION_PREFERENCE_KEY = "chooser_permission_list";
// The maximum order of a permission preference.
private int mMaxPermissionOrder;
// The number of user and policy chosen object permissions displayed.
private int mObjectUserPermissionCount;
private int mObjectPolicyPermissionCount;
......@@ -350,7 +348,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
SettingsUtils.addPreferencesFromResource(this, R.xml.single_website_preferences);
mMaxPermissionOrder = 0;
int maxPermissionOrder = 0;
PreferenceScreen preferenceScreen = getPreferenceScreen();
// Iterate over preferences in reverse order because some preferences will be removed during
// this setup, causing indices of later preferences to change.
......@@ -359,10 +357,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpPreference(preference);
if (getContentSettingsTypeFromPreferenceKey(preference.getKey())
!= ContentSettingsType.DEFAULT) {
mMaxPermissionOrder = Math.max(mMaxPermissionOrder, preference.getOrder());
maxPermissionOrder = Math.max(maxPermissionOrder, preference.getOrder());
}
}
setUpChosenObjectPreferences(mMaxPermissionOrder);
setUpChosenObjectPreferences(maxPermissionOrder);
setUpOsWarningPreferences();
setUpAdsInformationalBanner();
......@@ -795,7 +793,13 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private boolean hasPermissionsPreferences() {
if (mObjectUserPermissionCount > 0 || mObjectPolicyPermissionCount > 0) return true;
if (mMaxPermissionOrder > 0) return true;
PreferenceScreen preferenceScreen = getPreferenceScreen();
for (int i = 0; i < preferenceScreen.getPreferenceCount(); i++) {
String key = preferenceScreen.getPreference(i).getKey();
if (getContentSettingsTypeFromPreferenceKey(key) != ContentSettingsType.DEFAULT) {
return true;
}
}
return false;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment