summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eugene Susla <eugenesusla@google.com> 2019-01-31 18:30:47 -0800
committer Eugene Susla <eugenesusla@google.com> 2019-01-31 18:31:15 -0800
commit98a872d75b1a96b8692d07de7e5f01fb53484460 (patch)
tree0f8d68451b884d0b78318b60572308017a3d3da2
parent2f10a26abac1eefef77d857e2b5cd25c7fbb82ff (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.java20
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);
}