Merge "Ensure staged rollback status is logged on boot" into rvc-dev am: 025b96ee57

Change-Id: I8125227e255af2b4944caece1489810328c32bc7
This commit is contained in:
Automerger Merge Worker
2020-02-24 15:36:19 +00:00
4 changed files with 14 additions and 6 deletions

View File

@@ -218,11 +218,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
packageInstaller.getSessionInfo(sessionId);
if (sessionInfo.isStagedSessionReady() && markStagedSessionHandled(rollbackId)) {
mContext.unregisterReceiver(listener);
if (logPackage != null) {
// We save the rollback id so that after reboot, we can log if rollback was
// successful or not. If logPackage is null, then there is nothing to log.
saveStagedRollbackId(rollbackId);
}
saveStagedRollbackId(rollbackId);
WatchdogRollbackLogger.logEvent(logPackage,
FrameworkStatsLog
.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED,

View File

@@ -159,6 +159,12 @@ public final class WatchdogRollbackLogger {
return;
}
// If no logging packages are found, use a null package to ensure the rollback status
// is still logged.
if (oldLoggingPackages.isEmpty()) {
oldLoggingPackages.add(null);
}
for (VersionedPackage oldLoggingPackage : oldLoggingPackages) {
if (sessionInfo.isStagedSessionApplied()) {
logEvent(oldLoggingPackage,

View File

@@ -53,6 +53,7 @@ public class NetworkStagedRollbackTest extends BaseHostJUnit4Test {
private static final String ROLLBACK_INITIATE = "ROLLBACK_INITIATE";
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
private static final String ROLLBACK_SUCCESS = "ROLLBACK_SUCCESS";
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
@@ -93,6 +94,7 @@ public class NetworkStagedRollbackTest extends BaseHostJUnit4Test {
REASON_EXPLICIT_HEALTH_CHECK, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
null, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
} finally {
// Reconnect internet again so we won't break tests which assume internet available
getDevice().executeShellCommand("svc wifi enable");

View File

@@ -76,10 +76,10 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
private static final String REASON_APP_CRASH = "REASON_APP_CRASH";
private static final String REASON_NATIVE_CRASH = "REASON_NATIVE_CRASH";
private static final String REASON_EXPLICIT_HEALTH_CHECK = "REASON_EXPLICIT_HEALTH_CHECK";
private static final String ROLLBACK_INITIATE = "ROLLBACK_INITIATE";
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
private static final String ROLLBACK_SUCCESS = "ROLLBACK_SUCCESS";
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
@@ -146,6 +146,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
REASON_APP_CRASH, TESTAPP_A));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
null, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
}
@Test
@@ -179,6 +180,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
REASON_NATIVE_CRASH, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
null, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
}
@Test
@@ -219,6 +221,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
REASON_NATIVE_CRASH, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
null, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
}
/**
@@ -290,6 +293,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
REASON_APP_CRASH, TESTAPP_A));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
null, null));
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
}
/**