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

Commit d05a7f44 authored by Justin Weir's avatar Justin Weir
Browse files

Replace ShadeQsExpansionListener with Flows

Bug: 300141619
Flag: NONE
Test: updated existing tests
Test: manually ran through shade CUJs
Change-Id: If56f459e123bc132dbafaefa6910fbd53d8a86b5
parent d2ddae2f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -75,5 +75,8 @@ public interface FalsingCollector {

    /** Indicates an a11y action was made. */
    void onA11yAction();

    /** Initialize the class. */
    void init();
}
+4 −0
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ import javax.inject.Inject;
/** */
public class FalsingCollectorFake implements FalsingCollector {

    @Override
    public void init() {
    }

    @Inject
    public FalsingCollectorFake() {
    }
+15 −3
Original line number Diff line number Diff line
@@ -32,13 +32,14 @@ import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.user.domain.interactor.SelectedUserInteractor;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.sensors.ProximitySensor;
import com.android.systemui.util.sensors.ThresholdSensor;
import com.android.systemui.util.sensors.ThresholdSensorEvent;
@@ -65,9 +66,11 @@ class FalsingCollectorImpl implements FalsingCollector {
    private final ProximitySensor mProximitySensor;
    private final StatusBarStateController mStatusBarStateController;
    private final KeyguardStateController mKeyguardStateController;
    private final Lazy<ShadeInteractor> mShadeInteractorLazy;
    private final BatteryController mBatteryController;
    private final DockManager mDockManager;
    private final DelayableExecutor mMainExecutor;
    private final JavaAdapter mJavaAdapter;
    private final SystemClock mSystemClock;
    private final Lazy<SelectedUserInteractor> mUserInteractor;

@@ -136,10 +139,11 @@ class FalsingCollectorImpl implements FalsingCollector {
            ProximitySensor proximitySensor,
            StatusBarStateController statusBarStateController,
            KeyguardStateController keyguardStateController,
            ShadeExpansionStateManager shadeExpansionStateManager,
            Lazy<ShadeInteractor> shadeInteractorLazy,
            BatteryController batteryController,
            DockManager dockManager,
            @Main DelayableExecutor mainExecutor,
            JavaAdapter javaAdapter,
            SystemClock systemClock,
            Lazy<SelectedUserInteractor> userInteractor) {
        mFalsingDataProvider = falsingDataProvider;
@@ -149,12 +153,17 @@ class FalsingCollectorImpl implements FalsingCollector {
        mProximitySensor = proximitySensor;
        mStatusBarStateController = statusBarStateController;
        mKeyguardStateController = keyguardStateController;
        mShadeInteractorLazy = shadeInteractorLazy;
        mBatteryController = batteryController;
        mDockManager = dockManager;
        mMainExecutor = mainExecutor;
        mJavaAdapter = javaAdapter;
        mSystemClock = systemClock;
        mUserInteractor = userInteractor;
    }

    @Override
    public void init() {
        mProximitySensor.setTag(PROXIMITY_SENSOR_TAG);
        mProximitySensor.setDelay(SensorManager.SENSOR_DELAY_GAME);

@@ -163,7 +172,10 @@ class FalsingCollectorImpl implements FalsingCollector {

        mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateCallback);

        shadeExpansionStateManager.addQsExpansionListener(this::onQsExpansionChanged);
        mJavaAdapter.alwaysCollectFlow(
                mShadeInteractorLazy.get().isQsExpanded(),
                this::onQsExpansionChanged
        );

        mBatteryController.addCallback(mBatteryListener);
        mDockManager.addListener(mDockEventListener);
+4 −0
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ import javax.inject.Inject

@SysUISingleton
class FalsingCollectorNoOp @Inject constructor() : FalsingCollector {
    override fun init() {
        logDebug("NOOP: init")
    }

    override fun onSuccessfulUnlock() {
        logDebug("NOOP: onSuccessfulUnlock")
    }
+29 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.android.systemui.classifier

import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import javax.inject.Inject

/** Initializes classes related to falsing. */
@SysUISingleton
class FalsingCoreStartable @Inject constructor(val falsingCollector: FalsingCollector) :
    CoreStartable {
    override fun start() {
        falsingCollector.init()
    }
}
Loading