diff options
Diffstat (limited to 'java')
4 files changed, 18 insertions, 11 deletions
diff --git a/java/com/android/dialer/precall/impl/AndroidManifest.xml b/java/com/android/dialer/precall/impl/AndroidManifest.xml index d3d0f538d..b960f6bad 100644 --- a/java/com/android/dialer/precall/impl/AndroidManifest.xml +++ b/java/com/android/dialer/precall/impl/AndroidManifest.xml @@ -23,6 +23,7 @@ android:name="com.android.dialer.precall.impl.PreCallActivity" android:excludeFromRecents="true" android:noHistory="true" + android:showWhenLocked="true" android:theme="@style/Theme.PreCall.DialogHolder"> </activity> </application> diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java index 144d94e20..4d2e6063a 100644 --- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java +++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java @@ -119,12 +119,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(); @@ -213,7 +213,9 @@ public class CallingAccountSelector implements PreCallAction { @Override public void onDiscard() { isDiscarding = true; - selectPhoneAccountDialogFragment.dismiss(); + if (selectPhoneAccountDialogFragment != null) { + selectPhoneAccountDialogFragment.dismiss(); + } } private static class PreferredAccountWorkerResult { @@ -353,11 +355,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..eadba2b11 100644 --- a/java/com/android/dialer/precall/impl/PreCallActivity.java +++ b/java/com/android/dialer/precall/impl/PreCallActivity.java @@ -19,6 +19,7 @@ package com.android.dialer.precall.impl; import android.app.Activity; 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 +31,7 @@ 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(); } |