Merge "[xTS] Ensure VM attestation is supported for vendor API >= 202504" into main
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java
index 56ecd96..5321d89 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java
@@ -116,6 +116,18 @@
notifyPortsStateUpdated(activePorts, activePorts);
}
+ void clearEnabledPorts() {
+ Set<Integer> activePorts;
+ synchronized (mLock) {
+ SharedPreferences.Editor editor = mSharedPref.edit();
+ editor.clear();
+ editor.apply();
+ mEnabledPorts.clear();
+ activePorts = mActivePorts;
+ }
+ notifyPortsStateUpdated(activePorts, activePorts);
+ }
+
void registerListener(Listener listener) {
synchronized (mLock) {
mListeners.add(listener);
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
index 0d74eb0..a4d43b8 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
@@ -103,6 +103,7 @@
image.uninstallAndBackup()
backupDone = true
} else {
+ PortsStateManager.getInstance(this).clearEnabledPorts()
image.uninstallFully()
}
} catch (e: IOException) {
diff --git a/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java b/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
index 42c31e3..4a18ee8 100644
--- a/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
+++ b/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
@@ -90,6 +90,7 @@
@After
public void tearDown() throws IOException {
+ PortsStateManager.getInstance(mTargetContext).clearEnabledPorts();
InstalledImage.getDefault(mTargetContext).uninstallFully();
}
}
diff --git a/tests/vm_attestation/src/java/com/android/virt/rkpd/vm_attestation/testapp/RkpdVmAttestationTest.java b/tests/vm_attestation/src/java/com/android/virt/rkpd/vm_attestation/testapp/RkpdVmAttestationTest.java
index 340de72..1762b6d 100644
--- a/tests/vm_attestation/src/java/com/android/virt/rkpd/vm_attestation/testapp/RkpdVmAttestationTest.java
+++ b/tests/vm_attestation/src/java/com/android/virt/rkpd/vm_attestation/testapp/RkpdVmAttestationTest.java
@@ -26,7 +26,6 @@
import android.net.NetworkCapabilities;
import android.system.virtualmachine.VirtualMachine;
import android.system.virtualmachine.VirtualMachineConfig;
-import android.system.virtualmachine.VirtualMachineManager;
import com.android.microdroid.test.device.MicrodroidDeviceTestBase;
import com.android.virt.vm_attestation.testservice.IAttestationService.SigningResult;
@@ -86,7 +85,6 @@
assume().withMessage("RKP Integration tests rely on network availability.")
.that(isNetworkConnected(getContext()))
.isTrue();
- assumeFeatureEnabled(VirtualMachineManager.FEATURE_REMOTE_ATTESTATION);
assume().withMessage("Test needs Remote Attestation support")
.that(getVirtualMachineManager().isRemoteAttestationSupported())
.isTrue();