private void initUi() { actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); } endpointsRecyclerView = (RecyclerView) findViewById(R.id.endpoint_rv); responsesRecyclerView = (RecyclerView) findViewById(R.id.endpoint_responses_rv); endpointsRecyclerView.setLayoutManager(new LinearLayoutManager(this)); responsesRecyclerView.setLayoutManager(new LinearLayoutManager(this)); container = (RelativeLayout) findViewById(R.id.activity_barricade); }
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu); }
@Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if (itemId == android.R.id.home) { onBackPressed(); return true; } else if (itemId == R.id.menu_delay) { showEditDialog(); return true; } else if (itemId == R.id.menu_reset) { showResetDialog(); return true; } return super.onOptionsItemSelected(item); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_barricade); initUi(); barricadeConfig = Barricade.getInstance().getConfig(); setEndpointsView(); }
private void setEndpointsView() { setToolbarTitle(getString(R.string.title_activity)); endpointsRVAdapter = new BarricadeEndpointsRVAdapter(barricadeConfig, this); endpointsRecyclerView.setAdapter(endpointsRVAdapter); endpointsRecyclerView.setVisibility(View.VISIBLE); responsesRecyclerView.setVisibility(View.GONE); }
@Override public void onResponseClicked(String endpoint, int index) { barricadeConfig.get(endpoint).defaultIndex = index; setEndpointsView(); }
@Override public void onEndpointClicked(String endpoint) { setResponsesView(endpoint); }
private void showResetDialog() { new AlertDialog.Builder(this).setMessage(getString(R.string.reset_message)) .setCancelable(true) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Barricade.getInstance().reset(); endpointsRVAdapter.notifyDataSetChanged(); } }) .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }) .create() .show(); } }
private void showEditDialog() { View dialogView = getLayoutInflater().inflate(R.layout.dialog_edit_global_delay, container, false); final EditText delayEditText = (EditText) dialogView.findViewById(R.id.delay_value_edittext); delayEditText.setText(String.format(Locale.US, "%d", Barricade.getInstance().getDelay())); new AlertDialog.Builder(this).setView(dialogView) .setTitle(R.string.edit_delay) .setPositiveButton(R.string.set, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { String value = delayEditText.getText().toString(); if (value.isEmpty()) { delayEditText.setError(getString(R.string.required)); } else { Barricade.getInstance().setDelay(Long.parseLong(value)); Toast.makeText(BarricadeActivity.this, R.string.updated, Toast.LENGTH_LONG).show(); } } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }) .show(); }
@Override public void onBackPressed() { if (endpointsRecyclerView.getVisibility() == View.GONE) { setEndpointsView(); } else { super.onBackPressed(); } }