diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-05-30 12:04:59 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-07-08 18:49:29 +0200 |
commit | 254d8679c656beda8442122ee31a588c5d6e2eb3 (patch) | |
tree | 255e056d48eb4d15019b385eb037032a1bc662e9 | |
parent | 873f389b3760d835d763cc062bf147e4fc0e1265 (diff) | |
download | strongswan-254d8679c656beda8442122ee31a588c5d6e2eb3.tar.bz2 strongswan-254d8679c656beda8442122ee31a588c5d6e2eb3.tar.xz |
android: Show remediation instructions instead of log on failure
6 files changed, 26 insertions, 3 deletions
diff --git a/src/frontends/android/res/values-de/strings.xml b/src/frontends/android/res/values-de/strings.xml index 6414f11c0..7682b3bc7 100644 --- a/src/frontends/android/res/values-de/strings.xml +++ b/src/frontends/android/res/values-de/strings.xml @@ -90,6 +90,7 @@ <string name="imc_state_label">Assessment:</string> <string name="imc_state_isolate">Eingeschränkt</string> <string name="imc_state_block">Fehlgeschlagen</string> + <string name="show_remediation_instructions">Korrekturanweisungen anzeigen</string> <!-- Remediation instructions --> <string name="remediation_instructions_title">Korrekturanweisungen</string> diff --git a/src/frontends/android/res/values-pl/strings.xml b/src/frontends/android/res/values-pl/strings.xml index 722bc10d3..18f886f3f 100644 --- a/src/frontends/android/res/values-pl/strings.xml +++ b/src/frontends/android/res/values-pl/strings.xml @@ -90,6 +90,7 @@ <string name="imc_state_label">Assessment:</string> <string name="imc_state_isolate">Restricted</string> <string name="imc_state_block">Failed</string> + <string name="show_remediation_instructions">View remediation instructions</string> <!-- Remediation instructions --> <string name="remediation_instructions_title">Remediation instructions</string> diff --git a/src/frontends/android/res/values-ru/strings.xml b/src/frontends/android/res/values-ru/strings.xml index c82350bdf..fdb72b549 100644 --- a/src/frontends/android/res/values-ru/strings.xml +++ b/src/frontends/android/res/values-ru/strings.xml @@ -87,6 +87,7 @@ <string name="imc_state_label">Assessment:</string> <string name="imc_state_isolate">Restricted</string> <string name="imc_state_block">Failed</string> + <string name="show_remediation_instructions">View remediation instructions</string> <!-- Remediation instructions --> <string name="remediation_instructions_title">Remediation instructions</string> diff --git a/src/frontends/android/res/values-ua/strings.xml b/src/frontends/android/res/values-ua/strings.xml index 3d82008c7..7c9e124e3 100644 --- a/src/frontends/android/res/values-ua/strings.xml +++ b/src/frontends/android/res/values-ua/strings.xml @@ -88,6 +88,7 @@ <string name="imc_state_label">Assessment:</string> <string name="imc_state_isolate">Restricted</string> <string name="imc_state_block">Failed</string> + <string name="show_remediation_instructions">View remediation instructions</string> <!-- Remediation instructions --> <string name="remediation_instructions_title">Remediation instructions</string> diff --git a/src/frontends/android/res/values/strings.xml b/src/frontends/android/res/values/strings.xml index b275cd5e7..94d246416 100644 --- a/src/frontends/android/res/values/strings.xml +++ b/src/frontends/android/res/values/strings.xml @@ -90,6 +90,7 @@ <string name="imc_state_label">Assessment:</string> <string name="imc_state_isolate">Restricted</string> <string name="imc_state_block">Failed</string> + <string name="show_remediation_instructions">View remediation instructions</string> <!-- Remediation instructions --> <string name="remediation_instructions_title">Remediation instructions</string> diff --git a/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java b/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java index d745d8344..3219bba7a 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java +++ b/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java @@ -17,6 +17,9 @@ package org.strongswan.android.ui; +import java.util.ArrayList; +import java.util.List; + import org.strongswan.android.R; import org.strongswan.android.data.VpnProfile; import org.strongswan.android.logic.VpnStateService; @@ -24,6 +27,7 @@ import org.strongswan.android.logic.VpnStateService.ErrorState; import org.strongswan.android.logic.VpnStateService.State; import org.strongswan.android.logic.VpnStateService.VpnStateListener; import org.strongswan.android.logic.imc.ImcState; +import org.strongswan.android.logic.imc.RemediationInstruction; import android.app.AlertDialog; import android.app.Fragment; @@ -362,17 +366,31 @@ public class VpnStateFragment extends Fragment implements VpnStateListener private void showErrorDialog(int textid) { + final List<RemediationInstruction> instructions = mService.getRemediationInstructions(); + final boolean show_instructions = mImcState == ImcState.BLOCK && !instructions.isEmpty(); + int text = show_instructions ? R.string.show_remediation_instructions : R.string.show_log; + mErrorDialog = new AlertDialog.Builder(getActivity()) .setMessage(getString(R.string.error_introduction) + " " + getString(textid)) .setCancelable(false) - .setNeutralButton(R.string.show_log, new DialogInterface.OnClickListener() { + .setNeutralButton(text, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { clearError(); dialog.dismiss(); - Intent logIntent = new Intent(getActivity(), LogActivity.class); - startActivity(logIntent); + Intent intent; + if (show_instructions) + { + intent = new Intent(getActivity(), RemediationInstructionsActivity.class); + intent.putParcelableArrayListExtra(RemediationInstructionsFragment.EXTRA_REMEDIATION_INSTRUCTIONS, + new ArrayList<RemediationInstruction>(instructions)); + } + else + { + intent = new Intent(getActivity(), LogActivity.class); + } + startActivity(intent); } }) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { |