summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eugene Susla <eugenesusla@google.com> 2019-02-01 18:27:58 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-02-01 18:27:58 +0000
commit03f6205e3e4746dbc768a8a6ddc025f5a0a382ac (patch)
tree605205a9ca0660015ca8760aa555f9bf80d54e07
parent20b6426f489088af9d4b626cc4d3cff470f759a1 (diff)
parent98a872d75b1a96b8692d07de7e5f01fb53484460 (diff)
Merge "Fix dialer cts test"
-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 ef78ea5eb855..57ae5d3c05a0 100644
--- a/telecomm/java/android/telecom/DefaultDialerManager.java
+++ b/telecomm/java/android/telecom/DefaultDialerManager.java
@@ -29,11 +29,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
@@ -72,19 +76,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);
}