Merge pull request #15773 from brave/android_vpn_preference
Fixes a crash on dynamically added vpn preference on Android
This commit is contained in:
@@ -45,7 +45,7 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
// This exculdes some settings in main settings screen.
|
||||
// This excludes some settings in main settings screen.
|
||||
public class BraveMainPreferencesBase
|
||||
extends BravePreferenceFragment implements Preference.OnPreferenceChangeListener {
|
||||
// sections
|
||||
@@ -93,6 +93,7 @@ public class BraveMainPreferencesBase
|
||||
private static final String PREF_HOME_SCREEN_WIDGET = "home_screen_widget";
|
||||
|
||||
private final HashMap<String, Preference> mRemovedPreferences = new HashMap<>();
|
||||
private Preference mVpnCalloutPreference;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -195,10 +196,14 @@ public class BraveMainPreferencesBase
|
||||
if (BraveVpnPrefUtils.shouldShowCallout() && !BraveVpnPrefUtils.isSubscriptionPurchase()
|
||||
&& BraveVpnUtils.isBraveVpnFeatureEnable()
|
||||
&& InAppPurchaseWrapper.getInstance().isSubscriptionSupported()) {
|
||||
VpnCalloutPreference vpnCalloutPreference = new VpnCalloutPreference(getActivity());
|
||||
vpnCalloutPreference.setKey(PREF_BRAVE_VPN_CALLOUT);
|
||||
vpnCalloutPreference.setOrder(firstSectionOrder);
|
||||
getPreferenceScreen().addPreference(vpnCalloutPreference);
|
||||
if (getActivity() != null && mVpnCalloutPreference == null) {
|
||||
mVpnCalloutPreference = new VpnCalloutPreference(getActivity());
|
||||
}
|
||||
if (mVpnCalloutPreference != null) {
|
||||
mVpnCalloutPreference.setKey(PREF_BRAVE_VPN_CALLOUT);
|
||||
mVpnCalloutPreference.setOrder(firstSectionOrder);
|
||||
getPreferenceScreen().addPreference(mVpnCalloutPreference);
|
||||
}
|
||||
}
|
||||
|
||||
findPreference(PREF_FEATURES_SECTION).setOrder(++firstSectionOrder);
|
||||
|
||||
Reference in New Issue
Block a user