diff options
author | lalottacontinua <loddatio@posteo.de> | 2018-07-21 03:01:44 -0700 |
---|---|---|
committer | lalottacontinua <loddatio@posteo.de> | 2018-07-21 03:01:44 -0700 |
commit | 7434a53d0c2545375ff9844a510c9fc8b09948f0 (patch) | |
tree | bdf7b4a2ee6043c3c63cce265fa7c52e5eb92273 /app/src/production | |
parent | ce6f1c9c9b402bc2e92462353bb56cadfb9b2f35 (diff) | |
parent | 9b50dcae236f9f93d24f7991df4d7acf64219b73 (diff) |
Merge branch '#8886_add_provider' into 'master'
#8886 add provider
See merge request leap/bitmask_android!79
Diffstat (limited to 'app/src/production')
3 files changed, 41 insertions, 137 deletions
diff --git a/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java b/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java new file mode 100644 index 00000000..32c78c38 --- /dev/null +++ b/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java @@ -0,0 +1,39 @@ +package se.leap.bitmaskclient; + +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.TextInputEditText; +import android.support.design.widget.TextInputLayout; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.View; +import android.widget.Button; + +import butterknife.InjectView; + +public class AddProviderActivity extends AddProviderBaseActivity { + + final public static String TAG = "AddProviderActivity"; + + @InjectView(R.id.button_save) + Button saveButton; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.a_add_provider); + init(); + + } + + + + @Override + public void setupSaveButton() { + saveButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + saveProvider(); + } + }); + } +} diff --git a/app/src/production/java/se/leap/bitmaskclient/NewProviderDialog.java b/app/src/production/java/se/leap/bitmaskclient/NewProviderDialog.java deleted file mode 100644 index cce49d9b..00000000 --- a/app/src/production/java/se/leap/bitmaskclient/NewProviderDialog.java +++ /dev/null @@ -1,119 +0,0 @@ -/** - * Copyright (c) 2013 LEAP Encryption Access Project and contributers - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package se.leap.bitmaskclient; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.EditText; -import android.widget.Toast; - -import butterknife.ButterKnife; -import butterknife.InjectView; - -/** - * Implements the new custom provider dialog. - * - * @author parmegv - */ -public class NewProviderDialog extends DialogFragment { - - final public static String TAG = "newProviderDialog"; - - @InjectView(R.id.new_provider_url) - EditText urlInputField; - - public interface NewProviderDialogInterface { - void showAndSelectProvider(String url_provider); - } - - NewProviderDialogInterface interfaceWithConfigurationWizard; - - @Override - public void onAttach(Context context) { - super.onAttach(context); - try { - interfaceWithConfigurationWizard = (NewProviderDialogInterface) context; - } catch (ClassCastException e) { - throw new ClassCastException(context.toString() - + " must implement NoticeDialogListener"); - } - } - - @Override - @NonNull - public Dialog onCreateDialog(Bundle savedInstanceState) { - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - LayoutInflater inflater = getActivity().getLayoutInflater(); - View view = inflater.inflate(R.layout.d_new_provider, null); - ButterKnife.inject(this, view); - Bundle arguments = getArguments(); - if (arguments != null) { - urlInputField.setText(arguments.getString(Provider.MAIN_URL, "")); - } - - builder.setView(view) - .setMessage(R.string.introduce_new_provider) - .setPositiveButton(R.string.save, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - saveProvider(); - } - }) - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - } - }); - // Create the AlertDialog object and return it - return builder.create(); - } - - private void saveProvider() { - String entered_url = urlInputField.getText().toString().trim(); - if (!entered_url.startsWith("https://")) { - if (entered_url.startsWith("http://")) { - entered_url = entered_url.substring("http://".length()); - } - entered_url = "https://".concat(entered_url); - } - - if (validURL(entered_url)) { - interfaceWithConfigurationWizard.showAndSelectProvider(entered_url); - Toast.makeText(getActivity().getApplicationContext(), R.string.valid_url_entered, Toast.LENGTH_LONG).show(); - } else { - urlInputField.setText(""); - Toast.makeText(getActivity().getApplicationContext(), R.string.not_valid_url_entered, Toast.LENGTH_LONG).show(); - } - } - - /** - * Checks if the entered url is valid or not. - * - * @param enteredUrl - * @return true if it's not empty nor contains only the protocol. - */ - boolean validURL(String enteredUrl) { - //return !enteredUrl.isEmpty() && enteredUrl.matches("http[s]?://.+") && !enteredUrl.replaceFirst("http[s]?://", "").isEmpty(); - return android.util.Patterns.WEB_URL.matcher(enteredUrl).matches(); - } -} diff --git a/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java b/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java index cf1d1aa6..172c9e61 100644 --- a/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java +++ b/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java @@ -39,34 +39,18 @@ public class ProviderListActivity extends ProviderListBaseActivity { setUpProvider(); } - @Override - public void showAndSelectProvider(String provider_main_url) { - try { - provider = new Provider(new URL((provider_main_url))); - autoSelectProvider(provider); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - - private void autoSelectProvider(Provider provider) { - this.provider = provider; - onItemSelectedLogic(); - showProgressBar(); - } - /** * Asks ProviderAPI to download a new provider.json file * */ public void setUpProvider() { - mConfigState.setAction(SETTING_UP_PROVIDER); + configState.setAction(SETTING_UP_PROVIDER); ProviderAPICommand.execute(this, SET_UP_PROVIDER, provider); } @Override public void retrySetUpProvider(@NonNull Provider provider) { - mConfigState.setAction(SETTING_UP_PROVIDER); + configState.setAction(SETTING_UP_PROVIDER); ProviderAPICommand.execute(this, SET_UP_PROVIDER, provider); } |