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); mService.send(msg);
} catch (RemoteException e) { } catch (RemoteException e) {
Slog.e(TAG, "Unable to get status from installation service"); Slog.e(TAG, "Unable to get status from installation service");
if (mExecutor != null) {
mExecutor.execute(() -> { mExecutor.execute(() -> {
mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); 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; break;
case STATUS_READY: 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( builder.addAction(new Notification.Action.Builder(
null, getString(R.string.notification_action_discard), null, getString(R.string.notification_action_discard),
@@ -430,7 +432,9 @@ public class DynamicSystemInstallationService extends Service
break; break;
case STATUS_IN_USE: 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( builder.addAction(new Notification.Action.Builder(
null, getString(R.string.notification_action_uninstall), 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) { 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; boolean notifyOnNotificationBar = true;