From 30244cbf5b7eaf6152bcdc2cb5b6848f6e10798d Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sun, 25 Feb 2018 23:04:10 +0100 Subject: #8808 add dialog for always-on vpn infos --- .../bitmaskclient/fragments/AlwaysOnDialog.java | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java (limited to 'app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java new file mode 100644 index 00000000..80510b86 --- /dev/null +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java @@ -0,0 +1,67 @@ +package se.leap.bitmaskclient.fragments; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v7.app.AlertDialog; +import android.support.v7.app.AppCompatDialogFragment; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CheckBox; + +import butterknife.ButterKnife; +import butterknife.InjectView; +import se.leap.bitmaskclient.R; + +import static se.leap.bitmaskclient.ConfigHelper.saveShowAlwaysOnDialog; + +/** + * Created by cyberta on 25.02.18. + */ + + + +public class AlwaysOnDialog extends AppCompatDialogFragment { + + public final static String TAG = AlwaysOnDialog.class.getName(); + + @InjectView(R.id.do_not_show_again) + CheckBox doNotShowAgainCheckBox; + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @NonNull + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + LayoutInflater inflater = getActivity().getLayoutInflater(); + View view = inflater.inflate(R.layout.checkbox_confirm_dialog, null); + ButterKnife.inject(this, view); + + builder.setView(view) + .setMessage(R.string.always_on_vpn_user_message) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + if (doNotShowAgainCheckBox.isChecked()) { + saveShowAlwaysOnDialog(getContext(), false); + } + Intent intent = new Intent("android.net.vpn.SETTINGS"); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + } + }) + .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(); + } +} -- cgit v1.2.3 From b14e4b9a7940adb4580c0f3c7a0edcb339c73ae8 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Fri, 2 Mar 2018 23:09:08 +0100 Subject: #8808 adds an optional dialog that shows instruction hints for always-on vpn --- .../main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java index 80510b86..4e8e3d79 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java @@ -15,6 +15,7 @@ import android.widget.CheckBox; import butterknife.ButterKnife; import butterknife.InjectView; import se.leap.bitmaskclient.R; +import se.leap.bitmaskclient.views.IconTextView; import static se.leap.bitmaskclient.ConfigHelper.saveShowAlwaysOnDialog; @@ -31,6 +32,9 @@ public class AlwaysOnDialog extends AppCompatDialogFragment { @InjectView(R.id.do_not_show_again) CheckBox doNotShowAgainCheckBox; + @InjectView(R.id.user_message) + IconTextView userMessage; + @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -44,8 +48,9 @@ public class AlwaysOnDialog extends AppCompatDialogFragment { View view = inflater.inflate(R.layout.checkbox_confirm_dialog, null); ButterKnife.inject(this, view); + userMessage.setIcon(R.drawable.ic_settings); + userMessage.setText(getString(R.string.always_on_vpn_user_message)); builder.setView(view) - .setMessage(R.string.always_on_vpn_user_message) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { if (doNotShowAgainCheckBox.isChecked()) { @@ -61,7 +66,6 @@ public class AlwaysOnDialog extends AppCompatDialogFragment { dialog.cancel(); } }); - // Create the AlertDialog object and return it return builder.create(); } } -- cgit v1.2.3