Use switches more often

This commit is contained in:
Daniel Martí 2015-04-07 12:57:17 +02:00
parent c54c905d2e
commit c92970a3ed
3 changed files with 33 additions and 16 deletions

View File

@ -161,37 +161,44 @@ public class UpdateService extends IntentService implements ProgressListener {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
final String message = resultData.getString(UpdateService.RESULT_MESSAGE);
final String message = resultData.getString(RESULT_MESSAGE);
boolean finished = false;
if (resultCode == UpdateService.STATUS_ERROR_GLOBAL) {
switch (resultCode) {
case STATUS_ERROR_GLOBAL:
forwardEvent(EVENT_ERROR);
Toast.makeText(context, context.getString(R.string.global_error_updating_repos) + " " + message, Toast.LENGTH_LONG).show();
finished = true;
} else if (resultCode == UpdateService.STATUS_ERROR_LOCAL || resultCode == UpdateService.STATUS_ERROR_LOCAL_SMALL) {
break;
case STATUS_ERROR_LOCAL:
case STATUS_ERROR_LOCAL_SMALL:
StringBuilder msgB = new StringBuilder();
List<CharSequence> repoErrors = resultData.getCharSequenceArrayList(UpdateService.RESULT_REPO_ERRORS);
List<CharSequence> repoErrors = resultData.getCharSequenceArrayList(RESULT_REPO_ERRORS);
for (CharSequence error : repoErrors) {
if (msgB.length() > 0) msgB.append('\n');
msgB.append(error);
}
if (resultCode == UpdateService.STATUS_ERROR_LOCAL_SMALL) {
if (resultCode == STATUS_ERROR_LOCAL_SMALL) {
msgB.append("\n").append(context.getString(R.string.all_other_repos_fine));
}
Toast.makeText(context, msgB.toString(), Toast.LENGTH_LONG).show();
finished = true;
} else if (resultCode == UpdateService.STATUS_COMPLETE_WITH_CHANGES) {
break;
case STATUS_COMPLETE_WITH_CHANGES:
forwardEvent(EVENT_COMPLETE_WITH_CHANGES);
finished = true;
} else if (resultCode == UpdateService.STATUS_COMPLETE_AND_SAME) {
break;
case STATUS_COMPLETE_AND_SAME:
forwardEvent(EVENT_COMPLETE_AND_SAME);
Toast.makeText(context, context.getString(R.string.repos_unchanged), Toast.LENGTH_LONG).show();
finished = true;
} else if (resultCode == UpdateService.STATUS_INFO) {
break;
case STATUS_INFO:
forwardEvent(EVENT_INFO);
if (dialog != null) {
lastShownMessage = message;
dialog.setMessage(message);
}
break;
}
if (finished) {

View File

@ -77,15 +77,20 @@ public class LocalRepoService extends Service {
public void handleMessage(final Message msg) {
new Thread() {
public void run() {
if (msg.arg1 == START) {
switch (msg.arg1) {
case START:
service.startNetworkServices();
} else if (msg.arg1 == STOP) {
break;
case STOP:
service.stopNetworkServices();
} else if (msg.arg1 == RESTART) {
break;
case RESTART:
service.stopNetworkServices();
service.startNetworkServices();
} else {
break;
default:
Log.e(TAG, "Unsupported msg.arg1 (" + msg.arg1 + "), ignored");
break;
}
}
}.start();

View File

@ -86,16 +86,21 @@ public class AsyncDownloadWrapper extends Handler {
* @param message
*/
public void handleMessage(Message message) {
if (message.arg1 == MSG_PROGRESS) {
switch (message.arg1) {
case MSG_PROGRESS:
Bundle data = message.getData();
ProgressListener.Event event = data.getParcelable(MSG_DATA);
listener.onProgress(event);
} else if (message.arg1 == MSG_DOWNLOAD_COMPLETE) {
break;
case MSG_DOWNLOAD_COMPLETE:
listener.onDownloadComplete();
} else if (message.arg1 == MSG_DOWNLOAD_CANCELLED) {
break;
case MSG_DOWNLOAD_CANCELLED:
listener.onDownloadCancelled();
} else if (message.arg1 == MSG_ERROR) {
break;
case MSG_ERROR:
listener.onErrorDownloading(message.getData().getString(MSG_DATA));
break;
}
}