Merge "Revert "Change HVAC_MAX_DEFROST_ON to front and back row area IDs"" into main
diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp
index 63324f3..e1ee320 100644
--- a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp
+++ b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp
@@ -33,6 +33,8 @@
 #include <grpcpp/server.h>
 #include <grpcpp/server_builder.h>
 
+namespace {
+
 using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_ENTER_GARAGE_MODE;
 using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_REMOTE_ACCESS;
 using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_USER_POWER_ON;
@@ -45,13 +47,18 @@
 
 constexpr int SHUTDOWN_REQUEST = 289410889;
 constexpr int VEHICLE_IN_USE = 287313738;
-const char* COMMAND_RUN_EMU = "source ~/.aae-toolbox/bin/bashrc && aae emulator run";
-const char* COMMAND_SET_VHAL_PROP =
+constexpr char COMMAND_RUN_EMU_LOCAL_IMAGE[] =
+        "source ~/.aae-toolbox/bin/bashrc && aae emulator run";
+constexpr char COMMAND_RUN_EMU[] = "./launch_emu.sh -v \"-writable-system -selinux permissive\"";
+constexpr char COMMAND_SET_VHAL_PROP[] =
         "adb -s emulator-5554 wait-for-device && adb -s emulator-5554 root "
         "&& sleep 1 && adb -s emulator-5554 wait-for-device && adb -s emulator-5554 shell "
         "dumpsys android.hardware.automotive.vehicle.IVehicle/default --set %d -i %d";
 
 pid_t emuPid = 0;
+const char* runEmuCommand = COMMAND_RUN_EMU;
+
+}  // namespace
 
 void RunServer(const std::string& serviceAddr, std::shared_ptr<ServiceImpl> service) {
     ServerBuilder builder;
@@ -95,7 +102,7 @@
         return false;
     }
     service->setBootupReason(bootupReason);
-    emuPid = runCommand(COMMAND_RUN_EMU);
+    emuPid = runCommand(runEmuCommand);
     printf("Emulator started in process: %d\n", emuPid);
     return true;
 }
@@ -247,10 +254,16 @@
     };
 };
 
+// Usage: TestWakeupClientServerHost [--local-image] [service_address_to_start]
 int main(int argc, char** argv) {
     std::string serviceAddr = GRPC_SERVICE_ADDRESS;
-    if (argc > 1) {
-        serviceAddr = argv[1];
+    for (int i = 1; i < argc; i++) {
+        char* arg = argv[1];
+        if (strcmp(arg, "--local-image") == 0) {
+            runEmuCommand = COMMAND_RUN_EMU_LOCAL_IMAGE;
+            continue;
+        }
+        serviceAddr = arg;
     }
     // Let the server thread run, we will force kill the server when we exit the program.
     std::shared_ptr<ServiceImpl> service = std::make_shared<MyServiceImpl>();
diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp
index 072aafc..c4bcdb3 100644
--- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp
+++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp
@@ -907,6 +907,7 @@
     auto result = mValuePool->obtainBoolean(response.isvehicleinuse());
     result->prop = toInt(VehicleProperty::VEHICLE_IN_USE);
     result->areaId = 0;
+    result->status = VehiclePropertyStatus::AVAILABLE;
     result->timestamp = elapsedRealtimeNano();
     return result;
 }
@@ -924,6 +925,7 @@
     auto result = mValuePool->obtainInt32(response.bootupreason());
     result->prop = toInt(VehicleProperty::AP_POWER_BOOTUP_REASON);
     result->areaId = 0;
+    result->status = VehiclePropertyStatus::AVAILABLE;
     result->timestamp = elapsedRealtimeNano();
     return result;
 }
diff --git a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
index 51b7301..b426cdb 100644
--- a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
+++ b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
@@ -317,6 +317,21 @@
 }
 
 /*
+ * RoamingModeControl
+ */
+TEST_P(WifiStaIfaceAidlTest, RoamingModeControl) {
+    if (interface_version_ < 2) {
+        GTEST_SKIP() << "Roaming mode control is available as of sta_iface V2";
+    }
+    if (!isFeatureSupported(IWifiStaIface::FeatureSetMask::ROAMING_MODE_CONTROL)) {
+        GTEST_SKIP() << "Roaming mode control is not supported.";
+    }
+
+    // Enable aggressive roaming.
+    EXPECT_TRUE(wifi_sta_iface_->setRoamingState(StaRoamingState::AGGRESSIVE).isOk());
+}
+
+/*
  * EnableNDOffload
  */
 TEST_P(WifiStaIfaceAidlTest, EnableNDOffload) {