Commit f0e1a882 authored by tonymanou's avatar tonymanou Committed by topjohnwu

Simplify listeners containing async tasks

parent 7be5937a
...@@ -49,67 +49,44 @@ public class ModulesAdapter extends RecyclerView.Adapter<ModulesAdapter.ViewHold ...@@ -49,67 +49,44 @@ public class ModulesAdapter extends RecyclerView.Adapter<ModulesAdapter.ViewHold
holder.checkBox.setOnCheckedChangeListener(null); holder.checkBox.setOnCheckedChangeListener(null);
holder.checkBox.setChecked(module.isEnabled()); holder.checkBox.setChecked(module.isEnabled());
holder.checkBox.setOnCheckedChangeListener((v, isChecked) -> { holder.checkBox.setOnCheckedChangeListener((v, isChecked) -> new Async.RootTask<Void, Void, Void>() {
if (isChecked) { @Override
new Async.RootTask<Void, Void, Void>() { protected Void doInBackground(Void... voids) {
@Override if (isChecked) {
protected Void doInBackground(Void... voids) { module.removeDisableFile();
module.removeDisableFile(); } else {
return null; module.createDisableFile();
} }
return null;
@Override
protected void onPostExecute(Void v) {
Snackbar.make(holder.title, R.string.disable_file_removed, Snackbar.LENGTH_SHORT).show();
}
}.exec();
} else {
new Async.RootTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... voids) {
module.createDisableFile();
return null;
}
@Override
protected void onPostExecute(Void v) {
Snackbar.make(holder.title, R.string.disable_file_created, Snackbar.LENGTH_SHORT).show();
}
}.exec();
} }
});
@Override
holder.delete.setOnClickListener(v -> { protected void onPostExecute(Void v) {
if (module.willBeRemoved()) { int title = isChecked ? R.string.disable_file_removed : R.string.disable_file_created;
new Async.RootTask<Void, Void, Void>() { Snackbar.make(holder.title, title, Snackbar.LENGTH_SHORT).show();
@Override }
protected Void doInBackground(Void... voids) { }.exec());
module.deleteRemoveFile();
return null; holder.delete.setOnClickListener(v -> new Async.RootTask<Void, Void, Void>() {
} private final boolean removed = module.willBeRemoved();
@Override @Override
protected void onPostExecute(Void v) { protected Void doInBackground(Void... voids) {
Snackbar.make(holder.title, R.string.remove_file_deleted, Snackbar.LENGTH_SHORT).show(); if (removed) {
updateDeleteButton(holder, module); module.deleteRemoveFile();
} } else {
}.exec(); module.createRemoveFile();
} else { }
new Async.RootTask<Void, Void, Void>() { return null;
@Override }
protected Void doInBackground(Void... voids) {
module.createRemoveFile(); @Override
return null; protected void onPostExecute(Void v) {
} int title = removed ? R.string.remove_file_deleted : R.string.remove_file_created;
Snackbar.make(holder.title, title, Snackbar.LENGTH_SHORT).show();
@Override updateDeleteButton(holder, module);
protected void onPostExecute(Void v) {
Snackbar.make(holder.title, R.string.remove_file_created, Snackbar.LENGTH_SHORT).show();
updateDeleteButton(holder, module);
}
}.exec();
} }
}); }.exec());
if (module.isUpdated()) { if (module.isUpdated()) {
holder.notice.setVisibility(View.VISIBLE); holder.notice.setVisibility(View.VISIBLE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment