<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>
<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>
<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>
<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>
<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>
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;
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;
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() {