diff options
author | 2019-01-31 18:30:47 -0800 | |
---|---|---|
committer | 2019-01-31 18:31:15 -0800 | |
commit | 98a872d75b1a96b8692d07de7e5f01fb53484460 (patch) | |
tree | 0f8d68451b884d0b78318b60572308017a3d3da2 | |
parent | 2f10a26abac1eefef77d857e2b5cd25c7fbb82ff (diff) |
Fix dialer cts test
Whether setting default dialer succeeds is propagated all the way to API,
and (apparently) enforced by cts, so it looks like we should wait for it
Fixes: 123718729
Test: atest android.telecom.cts.DefaultDialerOperationsTest#testSetDefaultDialerNoDialIntent_notSupported
Change-Id: I2f7b8d4a32d1b570d0aba8cc4cc529f58a9dbc20
-rw-r--r-- | telecomm/java/android/telecom/DefaultDialerManager.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java index b2fa5d43b7ea..640c4bcf9be0 100644 --- a/telecomm/java/android/telecom/DefaultDialerManager.java +++ b/telecomm/java/android/telecom/DefaultDialerManager.java @@ -28,11 +28,15 @@ import android.os.Binder; import android.os.Process; import android.os.UserHandle; import android.text.TextUtils; +import android.util.Slog; import com.android.internal.util.CollectionUtils; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; /** * Class for managing the default dialer application that will receive incoming calls, and be @@ -71,19 +75,15 @@ public class DefaultDialerManager { int user) { long identity = Binder.clearCallingIdentity(); try { + RoleManagerCallback.Future cb = new RoleManagerCallback.Future(); context.getSystemService(RoleManager.class).addRoleHolderAsUser( RoleManager.ROLE_DIALER, packageName, UserHandle.of(user), - AsyncTask.THREAD_POOL_EXECUTOR, new RoleManagerCallback() { - @Override - public void onSuccess() {} - - @Override - public void onFailure() { - Log.w(TAG, "Failed to set default dialer to %s for user %s", - packageName, user); - } - }); + AsyncTask.THREAD_POOL_EXECUTOR, cb); + cb.get(5, TimeUnit.SECONDS); return true; + } catch (InterruptedException | ExecutionException | TimeoutException e) { + Slog.e(TAG, "Failed to set default dialer to " + packageName + " for user " + user, e); + return false; } finally { Binder.restoreCallingIdentity(identity); } |