in app/src/main/java/com/google/reviewit/widget/PostReviewView.java [94:191]
private void init(
final BaseFragment origin, final Change change,
final Class<? extends BaseFragment> target) {
findViewById(R.id.postReviewButton).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(final View v) {
v.setEnabled(false);
v.setBackgroundColor(widgetUtil.color(R.color.buttonDisabled));
final String msg = ((TextView) findViewById(R.id.changeMessageInput))
.getText().toString().trim();
new ObservableAsyncTask<Change, Void, String>() {
@Override
protected String doInBackground(Change... changes) {
Change change = changes[0];
try {
change.postReview(msg, selectedValues);
change.reload();
return null;
} catch (RestApiException e) {
if (e instanceof HttpStatusException) {
HttpStatusException se = (HttpStatusException) e;
return origin.getString(R.string.review_error,
se.getStatusCode(), se.getStatusText());
} else {
return e.getMessage();
}
}
}
@Override
protected void postExecute(String errorMsg) {
if (errorMsg != null) {
v.setEnabled(true);
v.setBackgroundColor(widgetUtil.color(R.color.button));
widgetUtil.showError(errorMsg);
} else {
widgetUtil.toast(R.string.review_posted);
origin.display(target);
}
}
}.execute(change);
}
});
findViewById(R.id.postReviewAndSubmitButton).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(final View v) {
v.setEnabled(false);
v.setBackgroundColor(widgetUtil.color(R.color.buttonDisabled));
final String msg = ((TextView) findViewById(R.id.changeMessageInput))
.getText().toString().trim();
new ObservableAsyncTask<Change, Void, String>() {
@Override
protected String doInBackground(Change... changes) {
Change change = changes[0];
try {
change.postReview(msg, selectedValues);
} catch (RestApiException e) {
if (e instanceof HttpStatusException) {
HttpStatusException se = (HttpStatusException) e;
return origin.getString(R.string.review_error,
se.getStatusCode(), se.getStatusText());
} else {
return e.getMessage();
}
}
try {
change.submit();
change.reload();
return null;
} catch (RestApiException e) {
if (e instanceof HttpStatusException) {
HttpStatusException se = (HttpStatusException) e;
return origin.getString(R.string.submit_error,
se.getStatusCode(), se.getStatusText());
} else {
return e.getMessage();
}
}
}
@Override
protected void postExecute(String errorMsg) {
if (errorMsg != null) {
v.setEnabled(true);
v.setBackgroundColor(widgetUtil.color(R.color.button));
widgetUtil.showError(errorMsg);
} else {
origin.display(target);
}
}
}.execute(change);
}
});
}