Run start and stop in a worker thread am: 855dee1102
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/3545981
Change-Id: If87f1c540ecc8b292b1f51a4d167c1edbcb5bd87
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.kt b/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.kt
index 7ec1115..052916f 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.kt
@@ -39,6 +39,7 @@
import android.system.virtualmachine.VirtualMachineException
import android.util.Log
import android.widget.Toast
+import androidx.annotation.WorkerThread
import com.android.system.virtualmachine.flags.Flags
import com.android.virtualization.terminal.MainActivity.Companion.TAG
import com.android.virtualization.terminal.Runner.Companion.create
@@ -116,9 +117,11 @@
// done.
val diskSize = intent.getLongExtra(EXTRA_DISK_SIZE, image.getSize())
- doStart(notification, displayInfo, diskSize, resultReceiver)
+ executorService.submit({
+ doStart(notification, displayInfo, diskSize, resultReceiver)
+ })
}
- ACTION_SHUTDOWN_VM -> doShutdown(resultReceiver)
+ ACTION_SHUTDOWN_VM -> executorService.submit({ doShutdown(resultReceiver) })
else -> {
Log.e(TAG, "Unknown command " + intent.action)
stopSelf()
@@ -128,6 +131,7 @@
return START_NOT_STICKY
}
+ @WorkerThread
private fun doStart(
notification: Notification,
displayInfo: DisplayInfo,
@@ -384,6 +388,7 @@
}
}
+ @WorkerThread
private fun doShutdown(resultReceiver: ResultReceiver) {
if (debianService != null && debianService!!.shutdownDebian()) {
// During shutdown, change the notification content to indicate that it's closing