Merge pull request #16087 from brave/dp_link_subscription_followup

Update link subscription behaviour
This commit is contained in:
Deep Pandya
2022-11-25 10:47:26 -05:00
committed by GitHub
2 changed files with 73 additions and 62 deletions
@@ -20,6 +20,7 @@ import android.util.Pair;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import com.android.billingclient.api.Purchase;
import com.wireguard.android.backend.GoBackend;
@@ -70,6 +71,8 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav
public static final String PREF_SUPPORT_VPN = "support_vpn";
public static final String PREF_SERVER_RESET_CONFIGURATION = "server_reset_configuration";
private static final String PREF_SPLIT_TUNNELING = "split_tunneling";
private static final String PREF_BRAVE_VPN_SUBSCRIPTION_SECTION =
"brave_vpn_subscription_section";
private static final int INVALIDATE_CREDENTIAL_TIMER_COUNT = 5000;
@@ -84,6 +87,7 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav
private ChromeBasePreference mSubscriptionStatus;
private ChromeBasePreference mSubscriptionExpires;
private ChromeBasePreference mServerHost;
private ChromeBasePreference mLinkSubscriptionPreference;
private BraveVpnPrefModel mBraveVpnPrefModel;
@Override
@@ -165,21 +169,6 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav
return true;
}
});
if (findPreference(PREF_LINK_SUBSCRIPTION) != null) {
findPreference(PREF_LINK_SUBSCRIPTION)
.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent(getActivity(), ChromeTabbedActivity.class);
intent.putExtra(
BraveActivity.OPEN_URL, BraveVpnUtils.getBraveAccountUrl());
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
getActivity().finish();
startActivity(intent);
return true;
}
});
}
findPreference(PREF_SERVER_RESET_CONFIGURATION)
.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@@ -198,15 +187,30 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav
return true;
}
});
if (!ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_VPN_LINK_SUBSCRIPTION_ANDROID_UI)
&& !BraveVpnPrefUtils.isSubscriptionPurchase()) {
removePreferenceIfPresent(PREF_LINK_SUBSCRIPTION);
}
}
private void removePreferenceIfPresent(String key) {
Preference preference = getPreferenceScreen().findPreference(key);
if (preference != null) getPreferenceScreen().removePreference(preference);
mLinkSubscriptionPreference = new ChromeBasePreference(getActivity());
mLinkSubscriptionPreference.setTitle(
getResources().getString(R.string.link_subscription_title));
mLinkSubscriptionPreference.setSummary(
getResources().getString(R.string.link_subscription_text));
mLinkSubscriptionPreference.setKey(PREF_LINK_SUBSCRIPTION);
mLinkSubscriptionPreference.setVisible(
ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_VPN_LINK_SUBSCRIPTION_ANDROID_UI)
&& BraveVpnPrefUtils.isSubscriptionPurchase());
mLinkSubscriptionPreference.setOnPreferenceClickListener(
new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent(getActivity(), ChromeTabbedActivity.class);
intent.putExtra(BraveActivity.OPEN_URL, BraveVpnUtils.getBraveAccountUrl());
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
getActivity().finish();
startActivity(intent);
return true;
}
});
PreferenceCategory preferenceCategory =
(PreferenceCategory) findPreference(PREF_BRAVE_VPN_SUBSCRIPTION_SECTION);
preferenceCategory.addPreference(mLinkSubscriptionPreference);
}
@Override
@@ -261,6 +265,12 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav
} else {
BraveVpnUtils.dismissProgressDialog();
}
if (mLinkSubscriptionPreference != null) {
mLinkSubscriptionPreference.setVisible(
ChromeFeatureList.isEnabled(
BraveFeatureList.BRAVE_VPN_LINK_SUBSCRIPTION_ANDROID_UI)
&& BraveVpnPrefUtils.isSubscriptionPurchase());
}
}
private void updateSummary(String preferenceString, String summary) {