Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fecf2507 authored by Johannes Gallmann's avatar Johannes Gallmann Committed by Android (Google) Code Review
Browse files

Merge "Call blocking assistant invocation binder call on background thread" into main

parents b1c2654f 0e11c3fa
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -36,11 +36,13 @@ import com.android.systemui.LauncherProxyService;
import com.android.systemui.assist.domain.interactor.AssistInteractor;
import com.android.systemui.assist.ui.DefaultUiController;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.model.SysUiState;
import com.android.systemui.res.R;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shared.Flags;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.user.domain.interactor.SelectedUserInteractor;
@@ -154,6 +156,7 @@ public class AssistManager {
    private final SelectedUserInteractor mSelectedUserInteractor;
    private final ActivityManager mActivityManager;
    private final AssistInteractor mInteractor;
    private final Handler mBgHandler;

    private final DeviceProvisionedController mDeviceProvisionedController;

@@ -193,6 +196,7 @@ public class AssistManager {
            DefaultUiController defaultUiController,
            AssistLogger assistLogger,
            @Main Handler uiHandler,
            @Background Handler bgHandler,
            UserTracker userTracker,
            DisplayTracker displayTracker,
            SecureSettings secureSettings,
@@ -214,6 +218,7 @@ public class AssistManager {
        mSelectedUserInteractor = selectedUserInteractor;
        mActivityManager = activityManager;
        mInteractor = interactor;
        mBgHandler = bgHandler;

        registerVoiceInteractionSessionListener();
        registerVisualQueryRecognitionStatusListener();
@@ -442,9 +447,16 @@ public class AssistManager {
    }

    private void startVoiceInteractor(Bundle args) {
        if (Flags.enableLppAssistInvocationEffect()) {
            // Use background thread to prevent the binder call from blocking the UI thread
            mBgHandler.post(() -> mAssistUtils.showSessionForActiveService(args,
                    VoiceInteractionSession.SHOW_SOURCE_ASSIST_GESTURE,
                    mContext.getAttributionTag(), null, null));
        } else {
            mAssistUtils.showSessionForActiveService(args,
                VoiceInteractionSession.SHOW_SOURCE_ASSIST_GESTURE, mContext.getAttributionTag(),
                null, null);
                    VoiceInteractionSession.SHOW_SOURCE_ASSIST_GESTURE,
                    mContext.getAttributionTag(), null, null);
        }
    }

    private void registerVisualQueryRecognitionStatusListener() {