diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-11-23 02:06:33 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-11-23 02:06:33 +0000 |
commit | 8bfd9a8caae7b2c996c330dcd6d2daafe0975ee5 (patch) | |
tree | 578bb54e5fe869e0312beba6841ff1ca526d3cff /java | |
parent | 6c773cbf112e5bef6074776d8cd91139d810f0ec (diff) | |
parent | 711c98ed1a282b5d93f3252ab67abde24c7a7f47 (diff) |
Merge "Fix showing CallingAccountSelector in lock screen"
Diffstat (limited to 'java')
3 files changed, 21 insertions, 11 deletions
diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java index 4308df73a..8d3df2360 100644 --- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java +++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java @@ -127,12 +127,12 @@ public class CallingAccountSelector implements PreCallAction { PendingAction pendingAction = coordinator.startPendingAction(); DialerExecutorComponent.get(coordinator.getActivity()) .dialerExecutorFactory() - .createUiTaskBuilder( - activity.getFragmentManager(), - "PreferredAccountWorker", - new PreferredAccountWorker(phoneNumber)) + .createNonUiTaskBuilder(new PreferredAccountWorker(phoneNumber)) .onSuccess( (result -> { + if (isDiscarding) { + return; + } if (result.phoneAccountHandle.isPresent()) { coordinator.getBuilder().setPhoneAccountHandle(result.phoneAccountHandle.get()); pendingAction.finish(); @@ -221,7 +221,9 @@ public class CallingAccountSelector implements PreCallAction { @Override public void onDiscard() { isDiscarding = true; - selectPhoneAccountDialogFragment.dismiss(); + if (selectPhoneAccountDialogFragment != null) { + selectPhoneAccountDialogFragment.dismiss(); + } } private static class PreferredAccountWorkerResult { @@ -364,11 +366,13 @@ public class CallingAccountSelector implements PreCallAction { new WritePreferredAccountWorkerInput( coordinator.getActivity(), dataId, selectedAccountHandle)); } - DialerExecutorComponent.get(coordinator.getActivity()) - .dialerExecutorFactory() - .createNonUiTaskBuilder(new UserSelectionReporter(selectedAccountHandle, number)) - .build() - .executeParallel(coordinator.getActivity()); + if (number != null) { + DialerExecutorComponent.get(coordinator.getActivity()) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new UserSelectionReporter(selectedAccountHandle, number)) + .build() + .executeParallel(coordinator.getActivity()); + } listener.finish(); } diff --git a/java/com/android/dialer/precall/impl/PreCallActivity.java b/java/com/android/dialer/precall/impl/PreCallActivity.java index 938d31d5f..48c2fbfc3 100644 --- a/java/com/android/dialer/precall/impl/PreCallActivity.java +++ b/java/com/android/dialer/precall/impl/PreCallActivity.java @@ -16,9 +16,13 @@ package com.android.dialer.precall.impl; +import android.annotation.TargetApi; import android.app.Activity; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.support.annotation.Nullable; +import android.view.WindowManager.LayoutParams; /** A transparent activity to host dialogs for {@link PreCallCoordinatorImpl} */ public class PreCallActivity extends Activity { @@ -30,6 +34,8 @@ public class PreCallActivity extends Activity { super.onCreate(savedInstanceState); preCallCoordinator = new PreCallCoordinatorImpl(this); preCallCoordinator.onCreate(getIntent(), savedInstanceState); + getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED); + } @Override diff --git a/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java b/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java index de32cc2ae..94ba90d75 100644 --- a/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java +++ b/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java @@ -59,7 +59,6 @@ public class PreCallCoordinatorImpl implements PreCallCoordinator { } else { builder = Assert.isNotNull(intent.getParcelableExtra(EXTRA_CALL_INTENT_BUILDER)); } - actions = PreCallComponent.get(activity).getPreCall().getActions(); } void onRestoreInstanceState(Bundle savedInstanceState) { @@ -68,6 +67,7 @@ public class PreCallCoordinatorImpl implements PreCallCoordinator { } void onResume() { + actions = PreCallComponent.get(activity).getPreCall().getActions(); runNextAction(); } |