diff options
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() { |