Add new api for host with region precision
Update existing changes to include host related changes
This commit is contained in:
@@ -127,8 +127,9 @@ public class BraveVpnNativeWorker {
|
||||
BraveVpnNativeWorkerJni.get().getTimezonesForRegions(mNativeBraveVpnNativeWorker);
|
||||
}
|
||||
|
||||
public void getHostnamesForRegion(String region) {
|
||||
BraveVpnNativeWorkerJni.get().getHostnamesForRegion(mNativeBraveVpnNativeWorker, region);
|
||||
public void getHostnamesForRegion(String region, String regionPrecision) {
|
||||
BraveVpnNativeWorkerJni.get()
|
||||
.getHostnamesForRegion(mNativeBraveVpnNativeWorker, region, regionPrecision);
|
||||
}
|
||||
|
||||
public void getWireguardProfileCredentials(
|
||||
@@ -191,7 +192,8 @@ public class BraveVpnNativeWorker {
|
||||
|
||||
void getTimezonesForRegions(long nativeBraveVpnNativeWorker);
|
||||
|
||||
void getHostnamesForRegion(long nativeBraveVpnNativeWorker, String region);
|
||||
void getHostnamesForRegion(
|
||||
long nativeBraveVpnNativeWorker, String region, String regionPrecision);
|
||||
|
||||
void getWireguardProfileCredentials(
|
||||
long nativeBraveVpnNativeWorker,
|
||||
|
||||
@@ -185,7 +185,6 @@ public abstract class BraveVpnParentActivity
|
||||
|
||||
@Override
|
||||
public void onGetHostnamesForRegion(String jsonHostNames, boolean isSuccess) {
|
||||
Log.e("brave_vpn", "jsonHostNames : " + jsonHostNames);
|
||||
KeyPair keyPair = new KeyPair();
|
||||
mBraveVpnPrefModel.setClientPrivateKey(keyPair.getPrivateKey().toBase64());
|
||||
mBraveVpnPrefModel.setClientPublicKey(keyPair.getPublicKey().toBase64());
|
||||
|
||||
@@ -60,6 +60,12 @@ public class VpnPaywallActivity extends BraveVpnParentActivity {
|
||||
private SelectedPlanType mSelectedPlanType = SelectedPlanType.YEARLY;
|
||||
private ProductDetails mProductDetails;
|
||||
|
||||
@Override
|
||||
public void onResumeWithNative() {
|
||||
super.onResumeWithNative();
|
||||
BraveVpnUtils.dismissProgressDialog();
|
||||
}
|
||||
|
||||
private void initializeViews() {
|
||||
setContentView(R.layout.activity_vpn_paywall);
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import org.chromium.brave_vpn.mojom.BraveVpnConstants;
|
||||
import org.chromium.brave_vpn.mojom.Region;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.vpn.adapters.VpnServerAdapter;
|
||||
@@ -37,7 +38,7 @@ public class VpnServerActivity extends BraveVpnParentActivity {
|
||||
private RecyclerView mServerRegionList;
|
||||
|
||||
public interface OnCitySelection {
|
||||
void onCityClick(Region city);
|
||||
void onCityClick(Region city, int position);
|
||||
}
|
||||
|
||||
private void initializeViews() {
|
||||
@@ -99,11 +100,12 @@ public class VpnServerActivity extends BraveVpnParentActivity {
|
||||
|
||||
mVpnServerAdapter = new VpnServerAdapter(VpnServerActivity.this);
|
||||
mVpnServerAdapter.setCities(cities);
|
||||
mVpnServerAdapter.setRegion(region);
|
||||
mVpnServerAdapter.setOnCitySelection(
|
||||
new OnCitySelection() {
|
||||
@Override
|
||||
public void onCityClick(Region city) {
|
||||
if (BraveVpnPrefUtils.getServerRegion().equals(city.name)) {
|
||||
public void onCityClick(Region city, int position) {
|
||||
if (BraveVpnPrefUtils.getRegionName().equals(city.name)) {
|
||||
Toast.makeText(
|
||||
VpnServerActivity.this,
|
||||
R.string.already_selected_the_server,
|
||||
@@ -115,7 +117,11 @@ public class VpnServerActivity extends BraveVpnParentActivity {
|
||||
region.countryIsoCode,
|
||||
region.name,
|
||||
region.namePretty,
|
||||
city.namePretty);
|
||||
city.name,
|
||||
city.namePretty,
|
||||
position == 0
|
||||
? BraveVpnConstants.REGION_PRECISION_COUNTRY
|
||||
: BraveVpnConstants.REGION_PRECISION_CITY);
|
||||
changeServerRegion();
|
||||
}
|
||||
}
|
||||
|
||||
+10
-2
@@ -25,6 +25,7 @@ import org.chromium.brave_vpn.mojom.ServiceHandler;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.vpn.BraveVpnServiceFactoryAndroid;
|
||||
import org.chromium.chrome.browser.vpn.adapters.BraveVpnServerSelectionAdapter;
|
||||
import org.chromium.chrome.browser.vpn.models.BraveVpnServerRegion;
|
||||
import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils;
|
||||
import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils;
|
||||
import org.chromium.mojo.bindings.ConnectionErrorHandler;
|
||||
@@ -89,14 +90,21 @@ public class VpnServerSelectionActivity extends BraveVpnParentActivity
|
||||
MaterialSwitch automaticSwitch =
|
||||
(MaterialSwitch) findViewById(R.id.automatic_server_switch);
|
||||
boolean isAutomatic =
|
||||
BraveVpnPrefUtils.getServerRegion()
|
||||
BraveVpnPrefUtils.getRegionName()
|
||||
.equals(BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC);
|
||||
mServerRegionList.setVisibility(isAutomatic ? View.GONE : View.VISIBLE);
|
||||
automaticSwitch.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
BraveVpnUtils.selectedServerRegion = null;
|
||||
BraveVpnUtils.selectedServerRegion =
|
||||
new BraveVpnServerRegion(
|
||||
"",
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC,
|
||||
"",
|
||||
"",
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC,
|
||||
BraveVpnConstants.REGION_PRECISION_COUNTRY);
|
||||
changeServerRegion();
|
||||
}
|
||||
});
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ public class BraveVpnServerSelectionAdapter
|
||||
R.plurals.server_text, region.serverCount, region.serverCount);
|
||||
holder.cityServerText.setText(cityText.concat(serverText));
|
||||
holder.serverRadioButton.setChecked(
|
||||
BraveVpnPrefUtils.getServerRegion().equals(region.name));
|
||||
BraveVpnPrefUtils.getRegionName().equals(region.name));
|
||||
holder.serverSelectionItemLayout.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
|
||||
@@ -17,7 +17,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.radiobutton.MaterialRadioButton;
|
||||
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.brave_vpn.mojom.Region;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.vpn.activities.VpnServerActivity.OnCitySelection;
|
||||
@@ -30,6 +29,7 @@ public class VpnServerAdapter extends RecyclerView.Adapter<VpnServerAdapter.View
|
||||
private final Context mContext;
|
||||
private List<Region> mCities = new ArrayList<>();
|
||||
private OnCitySelection mOnCitySelection;
|
||||
private Region mRegion;
|
||||
|
||||
public VpnServerAdapter(Context context) {
|
||||
this.mContext = context;
|
||||
@@ -53,14 +53,15 @@ public class VpnServerAdapter extends RecyclerView.Adapter<VpnServerAdapter.View
|
||||
.getQuantityString(
|
||||
R.plurals.server_text, city.serverCount, city.serverCount);
|
||||
holder.cityServerText.setText((position == 0) ? city.name : cityServerText);
|
||||
Log.e("brave_vpn", "hostname : " + BraveVpnPrefUtils.getHostnameDisplay());
|
||||
holder.serverRadioButton.setChecked(
|
||||
BraveVpnPrefUtils.getHostnameDisplay().equals(city.namePretty));
|
||||
boolean isEnabled =
|
||||
BraveVpnPrefUtils.getRegionName().equals(mRegion.name)
|
||||
&& BraveVpnPrefUtils.getRegionCityName().equals(city.name);
|
||||
holder.serverRadioButton.setChecked(isEnabled);
|
||||
holder.serverSelectionItemLayout.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mOnCitySelection.onCityClick(city);
|
||||
mOnCitySelection.onCityClick(city, holder.getAdapterPosition());
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -71,6 +72,10 @@ public class VpnServerAdapter extends RecyclerView.Adapter<VpnServerAdapter.View
|
||||
return mCities.size();
|
||||
}
|
||||
|
||||
public void setRegion(Region region) {
|
||||
this.mRegion = region;
|
||||
}
|
||||
|
||||
public void setCities(List<Region> cities) {
|
||||
this.mCities = cities;
|
||||
}
|
||||
|
||||
@@ -11,17 +11,23 @@ public class BraveVpnServerRegion {
|
||||
private String mCountryIsoCode;
|
||||
private String mRegionName;
|
||||
private String mRegionNamePretty;
|
||||
private String mRegionCityName;
|
||||
private String mRegionCityNamePretty;
|
||||
private String mRegionPrecision;
|
||||
|
||||
public BraveVpnServerRegion(
|
||||
String countryIsoCode,
|
||||
String regionName,
|
||||
String regionNamePretty,
|
||||
String regionCityNamePretty) {
|
||||
String regionCityName,
|
||||
String regionCityNamePretty,
|
||||
String regionPrecision) {
|
||||
this.mCountryIsoCode = countryIsoCode;
|
||||
this.mRegionName = regionName;
|
||||
this.mRegionNamePretty = regionNamePretty;
|
||||
this.mRegionCityName = regionCityName;
|
||||
this.mRegionCityNamePretty = regionCityNamePretty;
|
||||
this.mRegionPrecision = regionPrecision;
|
||||
}
|
||||
|
||||
public String getCountryIsoCode() {
|
||||
@@ -36,10 +42,18 @@ public class BraveVpnServerRegion {
|
||||
return mRegionNamePretty;
|
||||
}
|
||||
|
||||
public String getRegionCityName() {
|
||||
return mRegionCityName;
|
||||
}
|
||||
|
||||
public String getRegionCityNamePretty() {
|
||||
return mRegionCityNamePretty;
|
||||
}
|
||||
|
||||
public String getRegionPrecision() {
|
||||
return mRegionPrecision;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
@@ -53,9 +67,16 @@ public class BraveVpnServerRegion {
|
||||
+ ", mRegionNamePretty='"
|
||||
+ mRegionNamePretty
|
||||
+ '\''
|
||||
+ ", mRegionCityName='"
|
||||
+ mRegionCityName
|
||||
+ '\''
|
||||
+ ", mRegionCityNamePretty='"
|
||||
+ mRegionCityNamePretty
|
||||
+ '\''
|
||||
+ '\''
|
||||
+ ", mRegionPrecision='"
|
||||
+ mRegionPrecision
|
||||
+ '\''
|
||||
+ '}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.brave_vpn.mojom.BraveVpnConstants;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.billing.InAppPurchaseWrapper;
|
||||
import org.chromium.chrome.browser.billing.PurchaseModel;
|
||||
@@ -75,10 +76,6 @@ public class BraveVpnApiResponseUtils {
|
||||
TimeZone.getDefault().getID()));
|
||||
return;
|
||||
}
|
||||
Log.e(
|
||||
"brave_vpn",
|
||||
"BraveVpnUtils.selectedServerRegion : "
|
||||
+ BraveVpnUtils.selectedServerRegion.toString());
|
||||
if (BraveVpnUtils.selectedServerRegion != null) {
|
||||
if (!BraveVpnUtils.selectedServerRegion
|
||||
.getRegionName()
|
||||
@@ -86,9 +83,9 @@ public class BraveVpnApiResponseUtils {
|
||||
region = BraveVpnUtils.selectedServerRegion.getRegionName();
|
||||
braveVpnServerRegion = BraveVpnUtils.selectedServerRegion;
|
||||
}
|
||||
BraveVpnUtils.selectedServerRegion = null;
|
||||
// BraveVpnUtils.selectedServerRegion = null;
|
||||
} else {
|
||||
String serverRegion = BraveVpnPrefUtils.getServerRegion();
|
||||
String serverRegion = BraveVpnPrefUtils.getRegionName();
|
||||
region =
|
||||
serverRegion.equals(BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC)
|
||||
? region
|
||||
@@ -96,7 +93,18 @@ public class BraveVpnApiResponseUtils {
|
||||
}
|
||||
|
||||
Log.e("brave_vpn", "handleOnGetTimezonesForRegions : region :" + region);
|
||||
BraveVpnNativeWorker.getInstance().getHostnamesForRegion(region);
|
||||
Log.e(
|
||||
"brave_vpn",
|
||||
"handleOnGetTimezonesForRegions : braveVpnServerRegion.getRegionPrecision() :"
|
||||
+ braveVpnServerRegion.getRegionPrecision());
|
||||
region =
|
||||
(braveVpnServerRegion
|
||||
.getRegionPrecision()
|
||||
.equals(BraveVpnConstants.REGION_PRECISION_CITY)
|
||||
? braveVpnServerRegion.getRegionCityName()
|
||||
: region);
|
||||
BraveVpnNativeWorker.getInstance()
|
||||
.getHostnamesForRegion(region, braveVpnServerRegion.getRegionPrecision());
|
||||
braveVpnPrefModel.setServerRegion(braveVpnServerRegion);
|
||||
} else {
|
||||
BraveVpnUtils.showToast(
|
||||
|
||||
@@ -32,7 +32,9 @@ public class BraveVpnPrefUtils {
|
||||
private static final String PREF_BRAVE_VPN_SERVER_CHANGE_LOCATION = "server_change_location";
|
||||
private static final String PREF_BRAVE_VPN_SERVER_ISO_CODE = "server_iso_code";
|
||||
private static final String PREF_BRAVE_VPN_SERVER_NAME_PRETTY = "server_name_pretty";
|
||||
private static final String PREF_BRAVE_VPN_SERVER_CITY_NAME = "server_city_name";
|
||||
private static final String PREF_BRAVE_VPN_SERVER_CITY_NAME_PRETTY = "server_city_name_pretty";
|
||||
private static final String PREF_BRAVE_VPN_SERVER_PRECISION = "server_precision";
|
||||
|
||||
private static final String PREF_BRAVE_VPN_RESET_CONFIGURATION =
|
||||
"brave_vpn_reset_configuration";
|
||||
@@ -155,7 +157,7 @@ public class BraveVpnPrefUtils {
|
||||
return ChromeSharedPreferences.getInstance().readLong(PREF_BRAVE_VPN_PURCHASE_EXPIRY, 0);
|
||||
}
|
||||
|
||||
public static String getServerRegion() {
|
||||
public static String getRegionName() {
|
||||
return ChromeSharedPreferences.getInstance()
|
||||
.readString(PREF_BRAVE_VPN_SERVER_CHANGE_LOCATION, PREF_BRAVE_VPN_AUTOMATIC);
|
||||
}
|
||||
@@ -186,6 +188,16 @@ public class BraveVpnPrefUtils {
|
||||
.writeString(PREF_BRAVE_VPN_SERVER_NAME_PRETTY, newValue);
|
||||
}
|
||||
|
||||
public static String getRegionCityName() {
|
||||
return ChromeSharedPreferences.getInstance()
|
||||
.readString(PREF_BRAVE_VPN_SERVER_CITY_NAME, "");
|
||||
}
|
||||
|
||||
public static void setRegionCityName(String newValue) {
|
||||
ChromeSharedPreferences.getInstance()
|
||||
.writeString(PREF_BRAVE_VPN_SERVER_CITY_NAME, newValue);
|
||||
}
|
||||
|
||||
public static String getRegionCityNamePretty() {
|
||||
return ChromeSharedPreferences.getInstance()
|
||||
.readString(PREF_BRAVE_VPN_SERVER_CITY_NAME_PRETTY, "");
|
||||
@@ -196,6 +208,16 @@ public class BraveVpnPrefUtils {
|
||||
.writeString(PREF_BRAVE_VPN_SERVER_CITY_NAME_PRETTY, newValue);
|
||||
}
|
||||
|
||||
public static String getRegionPrecision() {
|
||||
return ChromeSharedPreferences.getInstance()
|
||||
.readString(PREF_BRAVE_VPN_SERVER_PRECISION, "");
|
||||
}
|
||||
|
||||
public static void setRegionPrecision(String newValue) {
|
||||
ChromeSharedPreferences.getInstance()
|
||||
.writeString(PREF_BRAVE_VPN_SERVER_PRECISION, newValue);
|
||||
}
|
||||
|
||||
public static void setApiAuthToken(String value) {
|
||||
ChromeSharedPreferences.getInstance().writeString(PREF_BRAVE_VPN_API_AUTH_TOKEN, value);
|
||||
}
|
||||
@@ -254,7 +276,9 @@ public class BraveVpnPrefUtils {
|
||||
setRegionIsoCode(braveVpnPrefModel.getServerRegion().getCountryIsoCode());
|
||||
setRegionName(braveVpnPrefModel.getServerRegion().getRegionName());
|
||||
setRegionNamePretty(braveVpnPrefModel.getServerRegion().getRegionNamePretty());
|
||||
setRegionCityName(braveVpnPrefModel.getServerRegion().getRegionCityName());
|
||||
setRegionCityNamePretty(braveVpnPrefModel.getServerRegion().getRegionCityNamePretty());
|
||||
setRegionPrecision(braveVpnPrefModel.getServerRegion().getRegionPrecision());
|
||||
setPurchaseToken(braveVpnPrefModel.getPurchaseToken());
|
||||
setProductId(braveVpnPrefModel.getProductId());
|
||||
setSubscriberCredential(braveVpnPrefModel.getSubscriberCredential());
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.json.JSONObject;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.brave_vpn.mojom.BraveVpnConstants;
|
||||
import org.chromium.brave_vpn.mojom.Region;
|
||||
import org.chromium.chrome.browser.BraveRewardsNativeWorker;
|
||||
import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker;
|
||||
@@ -161,7 +162,9 @@ public class BraveVpnUtils {
|
||||
region.getString("country-iso-code"),
|
||||
region.getString("name"),
|
||||
region.getString("name-pretty"),
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC);
|
||||
"",
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC,
|
||||
BraveVpnConstants.REGION_PRECISION_COUNTRY);
|
||||
return braveVpnServerRegion;
|
||||
}
|
||||
}
|
||||
@@ -261,7 +264,9 @@ public class BraveVpnUtils {
|
||||
server.getString("country-iso-code"),
|
||||
server.getString("name"),
|
||||
server.getString("name-pretty"),
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC);
|
||||
"",
|
||||
BraveVpnPrefUtils.PREF_BRAVE_VPN_AUTOMATIC,
|
||||
BraveVpnConstants.REGION_PRECISION_COUNTRY);
|
||||
vpnServerRegions.add(vpnServerRegion);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
|
||||
Reference in New Issue
Block a user