Merge "Improve DSU log and notification message"

This commit is contained in:
Treehugger Robot
2020-01-16 12:15:26 +00:00
committed by Gerrit Code Review
2 changed files with 55 additions and 5 deletions

View File

@@ -256,9 +256,13 @@ public class DynamicSystemClient {
mService.send(msg);
} catch (RemoteException e) {
Slog.e(TAG, "Unable to get status from installation service");
mExecutor.execute(() -> {
if (mExecutor != null) {
mExecutor.execute(() -> {
mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e);
});
} else {
mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e);
});
}
}
}

View File

@@ -417,7 +417,9 @@ public class DynamicSystemInstallationService extends Service
break;
case STATUS_READY:
builder.setContentText(getString(R.string.notification_install_completed));
String msgCompleted = getString(R.string.notification_install_completed);
builder.setContentText(msgCompleted)
.setStyle(new Notification.BigTextStyle().bigText(msgCompleted));
builder.addAction(new Notification.Action.Builder(
null, getString(R.string.notification_action_discard),
@@ -430,7 +432,9 @@ public class DynamicSystemInstallationService extends Service
break;
case STATUS_IN_USE:
builder.setContentText(getString(R.string.notification_dynsystem_in_use));
String msgInUse = getString(R.string.notification_dynsystem_in_use);
builder.setContentText(msgInUse)
.setStyle(new Notification.BigTextStyle().bigText(msgInUse));
builder.addAction(new Notification.Action.Builder(
null, getString(R.string.notification_action_uninstall),
@@ -460,7 +464,49 @@ public class DynamicSystemInstallationService extends Service
}
private void postStatus(int status, int cause, Throwable detail) {
Log.d(TAG, "postStatus(): statusCode=" + status + ", causeCode=" + cause);
String statusString;
String causeString;
switch (status) {
case STATUS_NOT_STARTED:
statusString = "NOT_STARTED";
break;
case STATUS_IN_PROGRESS:
statusString = "IN_PROGRESS";
break;
case STATUS_READY:
statusString = "READY";
break;
case STATUS_IN_USE:
statusString = "IN_USE";
break;
default:
statusString = "UNKNOWN";
break;
}
switch (cause) {
case CAUSE_INSTALL_COMPLETED:
causeString = "INSTALL_COMPLETED";
break;
case CAUSE_INSTALL_CANCELLED:
causeString = "INSTALL_CANCELLED";
break;
case CAUSE_ERROR_IO:
causeString = "ERROR_IO";
break;
case CAUSE_ERROR_INVALID_URL:
causeString = "ERROR_INVALID_URL";
break;
case CAUSE_ERROR_EXCEPTION:
causeString = "ERROR_EXCEPTION";
break;
default:
causeString = "CAUSE_NOT_SPECIFIED";
break;
}
Log.d(TAG, "status=" + statusString + ", cause=" + causeString);
boolean notifyOnNotificationBar = true;