summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/base
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2023-10-30 18:27:28 +0100
committercyBerta <cyberta@riseup.net>2023-10-31 18:53:25 +0100
commit751cae19707c9970b03edd14008c28b2045028ce (patch)
tree8a05f807e7eac3bda01043d6b1316162e92d7651 /app/src/main/java/se/leap/bitmaskclient/base
parent2274d71a7942d5a89a27918b28041dae5be3816a (diff)
Remove old Provider setup flow. In order to update to Gradle 8, we finally say goodbye to Butterknife.
Since the old setup flow UI depends on it (and other dependencies we want to get rid of) it gets removed.
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/MainActivity.java25
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java2
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java48
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/views/ProviderHeaderView.java109
4 files changed, 9 insertions, 175 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/base/MainActivity.java
index 7dd01ccb..5da238d4 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/MainActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/MainActivity.java
@@ -19,7 +19,6 @@ package se.leap.bitmaskclient.base;
import static androidx.appcompat.app.ActionBar.DISPLAY_SHOW_CUSTOM;
import static se.leap.bitmaskclient.R.string.downloading_vpn_certificate_failed;
-import static se.leap.bitmaskclient.R.string.vpn_certificate_user_message;
import static se.leap.bitmaskclient.base.models.Constants.ASK_TO_CANCEL_VPN;
import static se.leap.bitmaskclient.base.models.Constants.BROADCAST_RESULT_CODE;
import static se.leap.bitmaskclient.base.models.Constants.BROADCAST_RESULT_KEY;
@@ -42,11 +41,9 @@ import static se.leap.bitmaskclient.providersetup.ProviderAPI.INCORRECTLY_UPDATE
import static se.leap.bitmaskclient.providersetup.ProviderAPI.TOR_EXCEPTION;
import static se.leap.bitmaskclient.providersetup.ProviderAPI.TOR_TIMEOUT;
import static se.leap.bitmaskclient.providersetup.ProviderAPI.UPDATE_INVALID_VPN_CERTIFICATE;
-import static se.leap.bitmaskclient.providersetup.ProviderAPI.USER_MESSAGE;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
@@ -69,7 +66,6 @@ import se.leap.bitmaskclient.BuildConfig;
import se.leap.bitmaskclient.R;
import se.leap.bitmaskclient.base.fragments.EipFragment;
import se.leap.bitmaskclient.base.fragments.ExcludeAppsFragment;
-import se.leap.bitmaskclient.base.fragments.LogFragment;
import se.leap.bitmaskclient.base.fragments.MainActivityErrorDialog;
import se.leap.bitmaskclient.base.fragments.MotdFragment;
import se.leap.bitmaskclient.base.fragments.NavigationDrawerFragment;
@@ -83,8 +79,6 @@ import se.leap.bitmaskclient.eip.EipCommand;
import se.leap.bitmaskclient.eip.EipSetupListener;
import se.leap.bitmaskclient.eip.EipSetupObserver;
import se.leap.bitmaskclient.providersetup.ProviderAPI;
-import se.leap.bitmaskclient.providersetup.activities.LoginActivity;
-import se.leap.bitmaskclient.providersetup.models.LeapSRPSession;
public class MainActivity extends AppCompatActivity implements EipSetupListener, Observer {
@@ -310,10 +304,10 @@ public class MainActivity extends AppCompatActivity implements EipSetupListener,
return;
}
- if (LeapSRPSession.loggedIn() || provider.allowsAnonymous()) {
+ if (provider.allowsAnonymous()) {
showMainActivityErrorDialog(error);
} else if (isInvalidCertificateForLoginOnlyProvider(error)) {
- askUserToLogIn(getString(vpn_certificate_user_message));
+ showMainActivityErrorDialog(getString(R.string.login_not_supported));
}
}
break;
@@ -341,11 +335,7 @@ public class MainActivity extends AppCompatActivity implements EipSetupListener,
// TODO CATCH ME IF YOU CAN - WHAT DO WE WANT TO DO?
break;
case INCORRECTLY_UPDATED_INVALID_VPN_CERTIFICATE:
- if (LeapSRPSession.loggedIn() || provider.allowsAnonymous()) {
showMainActivityErrorDialog(getString(downloading_vpn_certificate_failed));
- } else {
- askUserToLogIn(getString(vpn_certificate_user_message));
- }
break;
case TOR_TIMEOUT:
case TOR_EXCEPTION:
@@ -429,20 +419,11 @@ public class MainActivity extends AppCompatActivity implements EipSetupListener,
try {
JSONObject errorJson = new JSONObject(errorJsonString);
return ERROR_INVALID_VPN_CERTIFICATE.toString().equals(errorJson.getString(ERRORID)) &&
- !LeapSRPSession.loggedIn() &&
+ provider.allowsRegistered() &&
!provider.allowsAnonymous();
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
-
- private void askUserToLogIn(String userMessage) {
- Intent intent = new Intent(this, LoginActivity.class);
- intent.putExtra(PROVIDER_KEY, provider);
- if (userMessage != null) {
- intent.putExtra(USER_MESSAGE, userMessage);
- }
- startActivityForResult(intent, REQUEST_CODE_LOG_IN);
- }
}
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java b/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java
index 19f03dee..21fc81e4 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java
@@ -24,7 +24,6 @@ import static se.leap.bitmaskclient.base.models.Constants.EXTRA_MOTD_MSG;
import static se.leap.bitmaskclient.base.models.Constants.PROVIDER_EIP_DEFINITION;
import static se.leap.bitmaskclient.base.models.Constants.PROVIDER_KEY;
import static se.leap.bitmaskclient.base.models.Constants.REQUEST_CODE_CONFIGURE_LEAP;
-import static se.leap.bitmaskclient.base.utils.ConfigHelper.isDefaultBitmask;
import static se.leap.bitmaskclient.base.utils.PreferenceHelper.storeProviderInPreferences;
import android.app.Activity;
@@ -52,7 +51,6 @@ import se.leap.bitmaskclient.base.models.ProviderObservable;
import se.leap.bitmaskclient.base.utils.DateHelper;
import se.leap.bitmaskclient.base.utils.PreferenceHelper;
import se.leap.bitmaskclient.eip.EipCommand;
-import se.leap.bitmaskclient.providersetup.activities.CustomProviderSetupActivity;
import se.leap.bitmaskclient.providersetup.activities.SetupActivity;
/**
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
index 670cdfd8..c500b55b 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
@@ -16,21 +16,16 @@
*/
package se.leap.bitmaskclient.base.fragments;
-import static se.leap.bitmaskclient.R.string.vpn_certificate_user_message;
import static se.leap.bitmaskclient.base.models.Constants.ASK_TO_CANCEL_VPN;
import static se.leap.bitmaskclient.base.models.Constants.EIP_ACTION_START;
import static se.leap.bitmaskclient.base.models.Constants.EIP_EARLY_ROUTES;
import static se.leap.bitmaskclient.base.models.Constants.PROVIDER_KEY;
-import static se.leap.bitmaskclient.base.models.Constants.REQUEST_CODE_CONFIGURE_LEAP;
-import static se.leap.bitmaskclient.base.models.Constants.REQUEST_CODE_LOG_IN;
import static se.leap.bitmaskclient.base.models.Constants.REQUEST_CODE_SWITCH_PROVIDER;
-import static se.leap.bitmaskclient.base.utils.ConfigHelper.isDefaultBitmask;
import static se.leap.bitmaskclient.base.utils.PreferenceHelper.getPreferredCity;
import static se.leap.bitmaskclient.eip.EipSetupObserver.reconnectingWithDifferentGateway;
import static se.leap.bitmaskclient.eip.GatewaysManager.Load.UNKNOWN;
import static se.leap.bitmaskclient.providersetup.ProviderAPI.DOWNLOAD_GEOIP_JSON;
import static se.leap.bitmaskclient.providersetup.ProviderAPI.UPDATE_INVALID_VPN_CERTIFICATE;
-import static se.leap.bitmaskclient.providersetup.ProviderAPI.USER_MESSAGE;
import android.app.Activity;
import android.content.Context;
@@ -46,6 +41,7 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Toast;
import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
@@ -80,10 +76,7 @@ import se.leap.bitmaskclient.eip.EipCommand;
import se.leap.bitmaskclient.eip.EipStatus;
import se.leap.bitmaskclient.eip.GatewaysManager;
import se.leap.bitmaskclient.providersetup.ProviderAPICommand;
-import se.leap.bitmaskclient.providersetup.ProviderListActivity;
-import se.leap.bitmaskclient.providersetup.activities.CustomProviderSetupActivity;
-import se.leap.bitmaskclient.providersetup.activities.LoginActivity;
-import se.leap.bitmaskclient.providersetup.models.LeapSRPSession;
+import se.leap.bitmaskclient.providersetup.activities.SetupActivity;
import se.leap.bitmaskclient.tor.TorServiceCommand;
import se.leap.bitmaskclient.tor.TorStatusObservable;
@@ -136,14 +129,7 @@ public class EipFragment extends Fragment implements Observer {
}
private void handleNoProvider(Activity activity) {
- if (isDefaultBitmask()) {
- activity.startActivityForResult(new Intent(activity, ProviderListActivity.class), REQUEST_CODE_SWITCH_PROVIDER);
- } else {
- Log.e(TAG, "no provider given - try to reconfigure custom provider");
- startActivityForResult(new Intent(activity, CustomProviderSetupActivity.class), REQUEST_CODE_CONFIGURE_LEAP);
-
- }
-
+ activity.startActivityForResult(new Intent(activity, SetupActivity.class), REQUEST_CODE_SWITCH_PROVIDER);
}
@Override
@@ -283,11 +269,10 @@ public class EipFragment extends Fragment implements Observer {
if (canStartEIP()) {
startEipFromScratch();
- } else if (canLogInToStartEIP()) {
- askUserToLogIn(getString(vpn_certificate_user_message));
- } else {
- // provider has no VpnCertificate but user is logged in
+ } else if (provider.allowsAnonymous()){
updateInvalidVpnCertificate();
+ } else {
+ Toast.makeText(getContext(), R.string.config_error_found, Toast.LENGTH_LONG).show();
}
}
@@ -297,12 +282,6 @@ public class EipFragment extends Fragment implements Observer {
return (isAllowedAnon || certificateExists) && !eipStatus.isConnected() && !eipStatus.isConnecting();
}
- private boolean canLogInToStartEIP() {
- boolean isAllowedRegistered = provider.allowsRegistered();
- boolean isLoggedIn = LeapSRPSession.loggedIn();
- return isAllowedRegistered && !isLoggedIn && !eipStatus.isConnecting() && !eipStatus.isConnected();
- }
-
private void handleSwitchOff() {
if (eipStatus.isVPNRunningWithoutNetwork() || eipStatus.isConnecting() || eipStatus.isUpdatingVpnCert()) {
askPendingStartCancellation();
@@ -562,7 +541,6 @@ public class EipFragment extends Fragment implements Observer {
// eat me
}
-
stateView.setImageResource(drawableRes);
stateView.setTag(drawableRes);
if (stateView.getDrawable() instanceof Animatable) {
@@ -592,20 +570,6 @@ public class EipFragment extends Fragment implements Observer {
ProviderAPICommand.execute(getContext(), UPDATE_INVALID_VPN_CERTIFICATE, provider);
}
- private void askUserToLogIn(String userMessage) {
- Intent intent = new Intent(getContext(), LoginActivity.class);
- intent.putExtra(PROVIDER_KEY, provider);
-
- if(userMessage != null) {
- intent.putExtra(USER_MESSAGE, userMessage);
- }
-
- Activity activity = getActivity();
- if (activity != null) {
- activity.startActivityForResult(intent, REQUEST_CODE_LOG_IN);
- }
- }
-
public void showDonationReminderDialog() {
try {
FragmentTransaction fragmentTransaction = new FragmentManagerEnhanced(
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/views/ProviderHeaderView.java b/app/src/main/java/se/leap/bitmaskclient/base/views/ProviderHeaderView.java
deleted file mode 100644
index 811a54a2..00000000
--- a/app/src/main/java/se/leap/bitmaskclient/base/views/ProviderHeaderView.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package se.leap.bitmaskclient.base.views;
-
-import android.content.Context;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.RequiresApi;
-import androidx.annotation.StringRes;
-import androidx.appcompat.widget.AppCompatImageView;
-import androidx.appcompat.widget.AppCompatTextView;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.RelativeLayout;
-
-import se.leap.bitmaskclient.R;
-
-import static se.leap.bitmaskclient.base.utils.ViewHelper.convertDimensionToPx;
-
-/**
- * Created by cyberta on 29.06.18.
- */
-
-public class ProviderHeaderView extends RelativeLayout {
- private int stdPadding;
- private int compactPadding;
- private int stdImageSize;
- private int compactImageSize;
-
- AppCompatImageView providerHeaderLogo;
- AppCompatTextView providerHeaderText;
-
- public ProviderHeaderView(Context context) {
- super(context);
- initLayout(context);
- }
-
- public ProviderHeaderView(Context context, AttributeSet attrs) {
- super(context, attrs);
- initLayout(context);
- }
-
- public ProviderHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- initLayout(context);
- }
-
- @RequiresApi(21)
- public ProviderHeaderView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- initLayout(context);
- }
-
-
- void initLayout(Context context) {
- LayoutInflater inflater = (LayoutInflater) context
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View rootview = inflater.inflate(R.layout.v_provider_header, this, true);
- providerHeaderLogo = rootview.findViewById(R.id.provider_header_logo);
- providerHeaderText = rootview.findViewById(R.id.provider_header_text);
-
- stdPadding = convertDimensionToPx(context, R.dimen.stdpadding);
- compactPadding = convertDimensionToPx(context, R.dimen.compact_padding);
- stdImageSize = convertDimensionToPx(context, R.dimen.bitmask_logo);
- compactImageSize = convertDimensionToPx(context, R.dimen.bitmask_logo_compact);
- }
-
- public void setTitle(String title) {
- providerHeaderText.setText(title);
- }
-
- public void setTitle(@StringRes int stringRes) {
- providerHeaderText.setText(stringRes);
- }
-
- public void setLogo(@DrawableRes int drawableRes) {
- providerHeaderLogo.setImageResource(drawableRes);
- }
-
- public void showCompactLayout() {
- LayoutParams logoLayoutParams = (LayoutParams) providerHeaderLogo.getLayoutParams();
- logoLayoutParams.width = compactImageSize;
- logoLayoutParams.height = compactImageSize;
- providerHeaderLogo.setLayoutParams(logoLayoutParams);
-
- LayoutParams textLayoutParams = (LayoutParams) providerHeaderText.getLayoutParams();
- textLayoutParams.addRule(RIGHT_OF, R.id.provider_header_logo);
- textLayoutParams.addRule(BELOW, 0);
- textLayoutParams.addRule(ALIGN_TOP, R.id.provider_header_logo);
- textLayoutParams.setMargins(compactPadding, compactPadding, compactPadding, compactPadding);
-
- providerHeaderText.setLayoutParams(textLayoutParams);
- providerHeaderText.setMaxLines(2);
- }
-
- public void showStandardLayout() {
- LayoutParams logoLayoutParams = (LayoutParams) providerHeaderLogo.getLayoutParams();
- logoLayoutParams.width = stdImageSize;
- logoLayoutParams.height = stdImageSize;
- providerHeaderLogo.setLayoutParams(logoLayoutParams);
-
- LayoutParams textLayoutParams = (LayoutParams) providerHeaderText.getLayoutParams();
- textLayoutParams.addRule(RIGHT_OF, 0);
- textLayoutParams.addRule(BELOW, R.id.provider_header_logo);
- textLayoutParams.addRule(ALIGN_TOP, 0);
- textLayoutParams.setMargins(stdPadding, stdPadding, stdPadding, stdPadding);
- providerHeaderText.setLayoutParams(textLayoutParams);
- providerHeaderText.setMaxLines(1);
- }
-
-}