Merge "Ensure staged rollback status is logged on boot" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
025b96ee57
@@ -218,11 +218,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
|
|||||||
packageInstaller.getSessionInfo(sessionId);
|
packageInstaller.getSessionInfo(sessionId);
|
||||||
if (sessionInfo.isStagedSessionReady() && markStagedSessionHandled(rollbackId)) {
|
if (sessionInfo.isStagedSessionReady() && markStagedSessionHandled(rollbackId)) {
|
||||||
mContext.unregisterReceiver(listener);
|
mContext.unregisterReceiver(listener);
|
||||||
if (logPackage != null) {
|
saveStagedRollbackId(rollbackId);
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
WatchdogRollbackLogger.logEvent(logPackage,
|
WatchdogRollbackLogger.logEvent(logPackage,
|
||||||
FrameworkStatsLog
|
FrameworkStatsLog
|
||||||
.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED,
|
.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED,
|
||||||
|
|||||||
@@ -159,6 +159,12 @@ public final class WatchdogRollbackLogger {
|
|||||||
return;
|
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) {
|
for (VersionedPackage oldLoggingPackage : oldLoggingPackages) {
|
||||||
if (sessionInfo.isStagedSessionApplied()) {
|
if (sessionInfo.isStagedSessionApplied()) {
|
||||||
logEvent(oldLoggingPackage,
|
logEvent(oldLoggingPackage,
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ public class NetworkStagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
|
|
||||||
private static final String ROLLBACK_INITIATE = "ROLLBACK_INITIATE";
|
private static final String ROLLBACK_INITIATE = "ROLLBACK_INITIATE";
|
||||||
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
|
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
|
||||||
|
private static final String ROLLBACK_SUCCESS = "ROLLBACK_SUCCESS";
|
||||||
|
|
||||||
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
|
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
|
||||||
|
|
||||||
@@ -93,6 +94,7 @@ public class NetworkStagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
REASON_EXPLICIT_HEALTH_CHECK, null));
|
REASON_EXPLICIT_HEALTH_CHECK, null));
|
||||||
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
||||||
null, null));
|
null, null));
|
||||||
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
|
||||||
} finally {
|
} finally {
|
||||||
// Reconnect internet again so we won't break tests which assume internet available
|
// Reconnect internet again so we won't break tests which assume internet available
|
||||||
getDevice().executeShellCommand("svc wifi enable");
|
getDevice().executeShellCommand("svc wifi enable");
|
||||||
|
|||||||
@@ -76,10 +76,10 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
|
|
||||||
private static final String REASON_APP_CRASH = "REASON_APP_CRASH";
|
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_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_INITIATE = "ROLLBACK_INITIATE";
|
||||||
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
|
private static final String ROLLBACK_BOOT_TRIGGERED = "ROLLBACK_BOOT_TRIGGERED";
|
||||||
|
private static final String ROLLBACK_SUCCESS = "ROLLBACK_SUCCESS";
|
||||||
|
|
||||||
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
|
private WatchdogEventLogger mLogger = new WatchdogEventLogger();
|
||||||
|
|
||||||
@@ -146,6 +146,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
REASON_APP_CRASH, TESTAPP_A));
|
REASON_APP_CRASH, TESTAPP_A));
|
||||||
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
||||||
null, null));
|
null, null));
|
||||||
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -179,6 +180,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
REASON_NATIVE_CRASH, null));
|
REASON_NATIVE_CRASH, null));
|
||||||
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
||||||
null, null));
|
null, null));
|
||||||
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -219,6 +221,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
REASON_NATIVE_CRASH, null));
|
REASON_NATIVE_CRASH, null));
|
||||||
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
||||||
null, 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));
|
REASON_APP_CRASH, TESTAPP_A));
|
||||||
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_BOOT_TRIGGERED, null,
|
||||||
null, null));
|
null, null));
|
||||||
|
assertTrue(watchdogEventOccurred(watchdogEvents, ROLLBACK_SUCCESS, null, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user