diff options
author | 2019-02-01 18:27:58 +0000 | |
---|---|---|
committer | 2019-02-01 18:27:58 +0000 | |
commit | 03f6205e3e4746dbc768a8a6ddc025f5a0a382ac (patch) | |
tree | 605205a9ca0660015ca8760aa555f9bf80d54e07 | |
parent | 20b6426f489088af9d4b626cc4d3cff470f759a1 (diff) | |
parent | 98a872d75b1a96b8692d07de7e5f01fb53484460 (diff) |
Merge "Fix dialer cts test"
-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 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); } |