@Override protected void onAttachedToWindow() { mTickerStopped = false; super.onAttachedToWindow(); mHandler = new Handler(); mTicker = new Runnable() { public void run() { if (mTickerStopped) return; updateClock(); long now = SystemClock.uptimeMillis(); long next = now + (1000 - now % 1000); mHandler.postAtTime(mTicker, next); } }; mTicker.run(); }
private void placeOrder() { EditText[] entries = new EditText[] { phoneNumberField, address1Field, address2Field, cityField, stateField, zipCodeField, countryField }; for (EditText entry : entries) { entry.setEnabled(false); } user.setFirstName(firstNameField.getText().toString()); user.setLastName(lastNameField.getText().toString()); user.setPhone(phoneNumberField.getText().toString()); user.setAddress1(address1Field.getText().toString()); user.setAddress2(address2Field.getText().toString()); user.setCity(cityField.getText().toString()); user.setState(stateField.getText().toString()); user.setZipCode(zipCodeField.getText().toString()); Country selectedCountry = Countries.getCountryForName(countryField.getText().toString()); if (selectedCountry != null) { user.setCountry(selectedCountry.getCode()); } ProgressDialog progressDialog = ProgressDialog.show(getActivity(), "Please wait...", "Placing Order", true); RoboVMWebService.getInstance() .placeOrder( user, (response) -> { progressDialog.hide(); progressDialog.dismiss(); for (EditText entry : entries) { entry.setEnabled(true); } if (response.isSuccess()) { RoboVMWebService.getInstance().getBasket().clear(); Toast.makeText(getActivity(), "Your order has been placed!", Toast.LENGTH_LONG) .show(); if (orderPlacedListener != null) { orderPlacedListener.run(); } } else { List<ValidationError> errors = response.getErrors(); String alertMessage = "An unexpected error occurred! Please try again later!"; if (errors != null) { // We handle only the first error. ValidationError error = errors.get(0); String message = error.getMessage(); String field = error.getField(); if (field == null) { alertMessage = message; } else { switch (field) { case "firstName": alertMessage = "First name is required"; break; case "lastName": alertMessage = "Last name is required"; break; case "address1": alertMessage = "Address is required"; break; case "city": alertMessage = "City is required"; break; case "zipCode": alertMessage = "ZIP code is required"; break; case "phone": alertMessage = "Phone number is required"; break; case "country": alertMessage = "Country is required"; break; default: alertMessage = message; break; } } } Toast.makeText(getActivity(), alertMessage, Toast.LENGTH_LONG).show(); } }); }