private ProgressBar mProgress;
private LinearLayout mErrorView;
private TextView mErrorText;
- private Button mErrorDetails;
+ private Button mErrorRetry;
private Button mDismissError;
private long mErrorConnectionID;
private VpnStateService mService;
updateView();
}
};
+ private OnClickListener mDisconnectListener = new OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ if (mService != null)
+ {
+ mService.disconnect();
+ }
+ }
+ };
@Override
public void onCreate(Bundle savedInstanceState)
View view = inflater.inflate(R.layout.vpn_state_fragment, null);
mActionButton = (Button)view.findViewById(R.id.action);
- mActionButton.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- if (mService != null)
- {
- mService.disconnect();
- }
- }
- });
enableActionButton(null);
mErrorView = view.findViewById(R.id.vpn_error);
mErrorText = view.findViewById(R.id.vpn_error_text);
- mErrorDetails = view.findViewById(R.id.error_details);
+ mErrorRetry = view.findViewById(R.id.retry);
mDismissError = view.findViewById(R.id.dismiss_error);
mProgress = (ProgressBar)view.findViewById(R.id.progress);
mStateView = (TextView)view.findViewById(R.id.vpn_state);
mProfileView = (TextView)view.findViewById(R.id.vpn_profile_label);
mProfileNameView = (TextView)view.findViewById(R.id.vpn_profile_name);
- mDismissError.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
+ mErrorRetry.setOnClickListener(v -> {
+ if (mService != null)
{
- clearError();
+ mService.reconnect();
}
});
+ mDismissError.setOnClickListener(v -> clearError());
return view;
}
mErrorView.setVisibility(View.GONE);
return false;
}
-
mErrorConnectionID = connectionID;
mProfileNameView.setText(name);
showProfile(true);
mProgress.setVisibility(View.GONE);
- enableActionButton(null);
mStateView.setText(R.string.state_error);
mStateView.setTextColor(mColorStateError);
- showError(mService.getErrorText());
+ enableActionButton(getString(R.string.show_log));
+ mActionButton.setOnClickListener(v -> {
+ Intent intent = new Intent(getActivity(), LogActivity.class);
+ startActivity(intent);
+ });
+ mErrorText.setText(getString(R.string.error_format, getString(mService.getErrorText())));
+ mErrorView.setVisibility(View.VISIBLE);
return true;
}
mActionButton.setText(text);
mActionButton.setEnabled(text != null);
mActionButton.setVisibility(text != null ? View.VISIBLE : View.GONE);
+ mActionButton.setOnClickListener(mDisconnectListener);
}
private void clearError()
}
updateView();
}
-
- private void showError(int textid)
- {
- final List<RemediationInstruction> instructions = mService.getRemediationInstructions();
- final boolean show_instructions = mService.getImcState() == ImcState.BLOCK && !instructions.isEmpty();
- int text = show_instructions ? R.string.show_remediation_instructions : R.string.show_log;
-
- mErrorText.setText(getString(R.string.error_format, getString(textid)));
- mErrorDetails.setText(text);
- mErrorDetails.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- 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);
- }
- });
- mErrorView.setVisibility(View.VISIBLE);
- }
}