如何运行 像PendingResult.await 一样同步新建gms Task 对象?

How to run new gms Task object synchronously like PendingResult.await?

我在 com.google.android.gms.tasks.Task 上没有看到任何 await 同步 api。我错过了什么吗?我正在尝试迁移以在 Play 服务中使用新的 *Client 类。我已经在另一个线程中将我的代码设计为 运行 并使用 PendingResult.await。我的代码是这样的:

val pendingResult = Auth.GoogleSignInApi.silentSignIn(TwinkleApplication.instance.gapiClient)
val account = pendingResult.await(10, TimeUnit.SECONDS)

我想使用它,但不知道如何继续。

    val signin = GoogleSignIn.getClient(ctx, Global.getGSO())
    val task = signin.silentSignIn()

Tasks class 包含静态 await 方法 - 在 Java 我正在这样做:

GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(context, gso);

Task<GoogleSignInAccount> task = googleSignInClient.silentSignIn();

try {
    GoogleSignInAccount account = Tasks.await(task);
    ...
} catch (ExecutionException e) {
    // task failed
} catch (InterruptedException e) {
    // an interrupt occurred while waiting for the task to finish
}