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

Commit 7e387342 authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Don't turn on prox when wirelessly charging." into rvc-d1-dev

parents 5cb5825c 6331de50
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.content.Context;
import android.hardware.SensorManager;
import android.net.Uri;
import android.provider.DeviceConfig;
import android.util.DisplayMetrics;
import android.view.MotionEvent;

import androidx.annotation.NonNull;
@@ -62,7 +61,7 @@ public class FalsingManagerProxy implements FalsingManager, Dumpable {
    private static final String PROXIMITY_SENSOR_TAG = "FalsingManager";

    private final ProximitySensor mProximitySensor;
    private final DisplayMetrics mDisplayMetrics;
    private final FalsingDataProvider mFalsingDataProvider;
    private FalsingManager mInternalFalsingManager;
    private DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener;
    private final DeviceConfigProxy mDeviceConfig;
@@ -74,18 +73,19 @@ public class FalsingManagerProxy implements FalsingManager, Dumpable {

    @Inject
    FalsingManagerProxy(Context context, PluginManager pluginManager, @Main Executor executor,
            DisplayMetrics displayMetrics, ProximitySensor proximitySensor,
            ProximitySensor proximitySensor,
            DeviceConfigProxy deviceConfig, DockManager dockManager,
            KeyguardUpdateMonitor keyguardUpdateMonitor,
            DumpManager dumpManager,
            @UiBackground Executor uiBgExecutor,
            StatusBarStateController statusBarStateController) {
        mDisplayMetrics = displayMetrics;
            StatusBarStateController statusBarStateController,
            FalsingDataProvider falsingDataProvider) {
        mProximitySensor = proximitySensor;
        mDockManager = dockManager;
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
        mUiBgExecutor = uiBgExecutor;
        mStatusBarStateController = statusBarStateController;
        mFalsingDataProvider = falsingDataProvider;
        mProximitySensor.setTag(PROXIMITY_SENSOR_TAG);
        mProximitySensor.setDelay(SensorManager.SENSOR_DELAY_GAME);
        mDeviceConfig = deviceConfig;
@@ -143,7 +143,7 @@ public class FalsingManagerProxy implements FalsingManager, Dumpable {
            mInternalFalsingManager = new FalsingManagerImpl(context, mUiBgExecutor);
        } else {
            mInternalFalsingManager = new BrightLineFalsingManager(
                    new FalsingDataProvider(mDisplayMetrics),
                    mFalsingDataProvider,
                    mKeyguardUpdateMonitor,
                    mProximitySensor,
                    mDeviceConfig,
+3 −1
Original line number Diff line number Diff line
@@ -132,8 +132,10 @@ public class BrightLineFalsingManager implements FalsingManager {
    }

    private void registerSensors() {
        if (!mDataProvider.isWirelessCharging()) {
            mProximitySensor.register(mSensorEventListener);
        }
    }

    private void unregisterSensors() {
        mProximitySensor.unregister(mSensorEventListener);
+12 −1
Original line number Diff line number Diff line
@@ -22,10 +22,13 @@ import android.view.MotionEvent.PointerCoords;
import android.view.MotionEvent.PointerProperties;

import com.android.systemui.classifier.Classifier;
import com.android.systemui.statusbar.policy.BatteryController;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

/**
 * Acts as a cache and utility class for FalsingClassifiers.
 */
@@ -36,6 +39,7 @@ public class FalsingDataProvider {

    private final int mWidthPixels;
    private final int mHeightPixels;
    private final BatteryController mBatteryController;
    private final float mXdpi;
    private final float mYdpi;

@@ -50,11 +54,13 @@ public class FalsingDataProvider {
    private MotionEvent mFirstRecentMotionEvent;
    private MotionEvent mLastMotionEvent;

    public FalsingDataProvider(DisplayMetrics displayMetrics) {
    @Inject
    public FalsingDataProvider(DisplayMetrics displayMetrics, BatteryController batteryController) {
        mXdpi = displayMetrics.xdpi;
        mYdpi = displayMetrics.ydpi;
        mWidthPixels = displayMetrics.widthPixels;
        mHeightPixels = displayMetrics.heightPixels;
        mBatteryController = batteryController;

        FalsingClassifier.logInfo("xdpi, ydpi: " + getXdpi() + ", " + getYdpi());
        FalsingClassifier.logInfo("width, height: " + getWidthPixels() + ", " + getHeightPixels());
@@ -177,6 +183,11 @@ public class FalsingDataProvider {
        return mLastMotionEvent.getY() < mFirstRecentMotionEvent.getY();
    }

    /** Returns true if phone is being charged without a cable. */
    boolean isWirelessCharging() {
        return mBatteryController.isWirelessCharging();
    }

    private void recalculateData() {
        if (!mDirty) {
            return;
+4 −1
Original line number Diff line number Diff line
@@ -399,10 +399,13 @@ public class DozeTriggers implements DozeMachine.Part {
                break;
            case DOZE_PULSING:
            case DOZE_PULSING_BRIGHT:
            case DOZE_AOD_DOCKED:
                mWantProx = true;
                mWantTouchScreenSensors = false;
                break;
            case DOZE_AOD_DOCKED:
                mWantProx = false;
                mWantTouchScreenSensors = false;
                break;
            case DOZE_PULSE_DONE:
                mDozeSensors.requestTemporaryDisable();
                // A pulse will temporarily disable sensors that require a touch screen.
+4 −0
Original line number Diff line number Diff line
@@ -140,6 +140,10 @@ public abstract class SysuiTestCase {
        return null;
    }

    protected FakeBroadcastDispatcher getFakeBroadcastDispatcher() {
        return mFakeBroadcastDispatcher;
    }

    public SysuiTestableContext getContext() {
        return mContext;
    }
Loading