private void setCurrentRequestState(RequestState currentRequestState) { this.currentRequestState = currentRequestState; confirmationCode.setText(currentRequestState.getUserCode()); confirmationCode.setVisibility(View.VISIBLE); progressBar.setVisibility(View.GONE); codeExpiredFuture = getBackgroundExecutor().schedule( new Runnable() { @Override public void run() { dialog.dismiss(); } }, currentRequestState.getExpiresIn(), TimeUnit.SECONDS); }
@Override public void onCompleted(GraphResponse response) { FacebookRequestError error = response.getError(); if (error != null) { finishActivityWithError(error); return; } JSONObject jsonObject = response.getJSONObject(); RequestState requestState = new RequestState(); try { requestState.setUserCode(jsonObject.getString("user_code")); requestState.setExpiresIn(jsonObject.getLong("expires_in")); } catch (JSONException ex) { finishActivityWithError( new FacebookRequestError(0, "", "Malformed server response")); return; } setCurrentRequestState(requestState); } });
private void finishActivity(int resultCode, Intent data) { if (currentRequestState != null) { DeviceRequestsHelper.cleanUpAdvertisementService(currentRequestState.getUserCode()); } FacebookRequestError error = data.getParcelableExtra(EXTRA_ERROR); if (error != null) { Toast.makeText(getContext(), error.getErrorMessage(), Toast.LENGTH_SHORT).show(); } if (isAdded()) { Activity activity = getActivity(); activity.setResult(resultCode, data); activity.finish(); } }