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

Commit 8a5f0c3a authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 7075293 from 263c0d5d to rvc-qpr3-release

Change-Id: I9660fd562def81f021f3134b9001372d8891a950
parents 06e881b4 263c0d5d
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -343,17 +343,19 @@ public class PackageInstallerActivity extends AlertActivity {
        if (!wasSetUp) {
            return;
        }
    }

    @Override
    protected void onResume() {
        super.onResume();

        if (mAppSnippet != null) {
            // load dummy layout with OK button disabled until we override this layout in
            // startInstallConfirm
            bindUi();
            checkIfAllowedAndInitiateInstall();
        }

    @Override
    protected void onResume() {
        super.onResume();

        if (mOk != null) {
            mOk.setEnabled(mEnableOk);
        }
+16 −7
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLoggerImpl;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.util.IndentingPrintWriter;
import com.android.systemui.plugins.SensorManagerPlugin;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.util.sensors.AsyncSensorManager;
@@ -80,6 +81,7 @@ public class DozeSensors {
    private long mDebounceFrom;
    private boolean mSettingRegistered;
    private boolean mListening;
    private boolean mListeningTouchScreenSensors;

    @VisibleForTesting
    public enum DozeSensorsUiEvent implements UiEventLogger.UiEventEnum {
@@ -222,22 +224,25 @@ public class DozeSensors {
    /**
     * If sensors should be registered and sending signals.
     */
    public void setListening(boolean listen) {
        if (mListening == listen) {
    public void setListening(boolean listen, boolean includeTouchScreenSensors) {
        if (mListening == listen && mListeningTouchScreenSensors == includeTouchScreenSensors) {
            return;
        }
        mListening = listen;
        mListeningTouchScreenSensors = includeTouchScreenSensors;
        updateListening();
    }

    /**
     * Registers/unregisters sensors based on internal state.
     */
    public void updateListening() {
    private void updateListening() {
        boolean anyListening = false;
        for (TriggerSensor s : mSensors) {
            s.setListening(mListening);
            if (mListening) {
            boolean listen = mListening
                    && (!s.mRequiresTouchscreen || mListeningTouchScreenSensors);
            s.setListening(listen);
            if (listen) {
                anyListening = true;
            }
        }
@@ -309,10 +314,14 @@ public class DozeSensors {

    /** Dump current state */
    public void dump(PrintWriter pw) {
        pw.println("mListening=" + mListening);
        pw.println("mListeningTouchScreenSensors=" + mListeningTouchScreenSensors);
        IndentingPrintWriter idpw = new IndentingPrintWriter(pw, "  ");
        idpw.increaseIndent();
        for (TriggerSensor s : mSensors) {
            pw.println("  Sensor: " + s.toString());
            idpw.println("Sensor: " + s.toString());
        }
        pw.println("  ProxSensor: " + mProximitySensor.toString());
        idpw.println("ProxSensor: " + mProximitySensor.toString());
    }

    /**
+10 −14
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLoggerImpl;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.IndentingPrintWriter;
import com.android.systemui.Dependency;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dock.DockManager;
@@ -408,15 +409,12 @@ public class DozeTriggers implements DozeMachine.Part {
                break;
            case DOZE_PULSE_DONE:
                mDozeSensors.requestTemporaryDisable();
                // A pulse will temporarily disable sensors that require a touch screen.
                // Let's make sure that they are re-enabled when the pulse is over.
                mDozeSensors.updateListening();
                break;
            case FINISH:
                mBroadcastReceiver.unregister(mBroadcastDispatcher);
                mDozeHost.removeCallback(mHostCallback);
                mDockManager.removeListener(mDockEventListener);
                mDozeSensors.setListening(false);
                mDozeSensors.setListening(false, false);
                mDozeSensors.setProxListening(false);
                mWantSensors = false;
                mWantProx = false;
@@ -424,20 +422,16 @@ public class DozeTriggers implements DozeMachine.Part {
                break;
            default:
        }
        mDozeSensors.setListening(mWantSensors, mWantTouchScreenSensors);
    }

    @Override
    public void onScreenState(int state) {
        mDozeSensors.onScreenState(state);
        if (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND
                || state == Display.STATE_OFF) {
            mDozeSensors.setProxListening(mWantProx);
            mDozeSensors.setListening(mWantSensors);
            mDozeSensors.setTouchscreenSensorsListening(mWantTouchScreenSensors);
        } else {
            mDozeSensors.setProxListening(false);
            mDozeSensors.setListening(mWantSensors);
        }
        mDozeSensors.setProxListening(mWantProx && (state == Display.STATE_DOZE
                || state == Display.STATE_DOZE_SUSPEND
                || state == Display.STATE_OFF));
        mDozeSensors.setListening(mWantSensors, mWantTouchScreenSensors);
    }

    private void checkTriggersAtInit() {
@@ -513,7 +507,9 @@ public class DozeTriggers implements DozeMachine.Part {

        pw.println(" pulsePending=" + mPulsePending);
        pw.println("DozeSensors:");
        mDozeSensors.dump(pw);
        IndentingPrintWriter idpw = new IndentingPrintWriter(pw, "  ");
        idpw.increaseIndent();
        mDozeSensors.dump(idpw);
    }

    private class TriggerReceiver extends BroadcastReceiver {
+4 −6
Original line number Diff line number Diff line
@@ -77,8 +77,6 @@ public class DozeSensorsTest extends SysuiTestCase {
    @Mock
    private Consumer<Boolean> mProxCallback;
    @Mock
    private AlwaysOnDisplayPolicy mAlwaysOnDisplayPolicy;
    @Mock
    private TriggerSensor mTriggerSensor;
    @Mock
    private DozeLog mDozeLog;
@@ -110,7 +108,7 @@ public class DozeSensorsTest extends SysuiTestCase {

    @Test
    public void testSensorDebounce() {
        mDozeSensors.setListening(true);
        mDozeSensors.setListening(true, true);

        mWakeLockScreenListener.onSensorChanged(mock(SensorManagerPlugin.SensorEvent.class));
        mTestableLooper.processAllMessages();
@@ -128,7 +126,7 @@ public class DozeSensorsTest extends SysuiTestCase {
    @Test
    public void testSetListening_firstTrue_registerSettingsObserver() {
        verify(mSensorManager, never()).registerListener(any(), any(Sensor.class), anyInt());
        mDozeSensors.setListening(true);
        mDozeSensors.setListening(true, true);

        verify(mTriggerSensor).registerSettingsObserver(any(ContentObserver.class));
    }
@@ -136,8 +134,8 @@ public class DozeSensorsTest extends SysuiTestCase {
    @Test
    public void testSetListening_twiceTrue_onlyRegisterSettingsObserverOnce() {
        verify(mSensorManager, never()).registerListener(any(), any(Sensor.class), anyInt());
        mDozeSensors.setListening(true);
        mDozeSensors.setListening(true);
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true);

        verify(mTriggerSensor, times(1)).registerSettingsObserver(any(ContentObserver.class));
    }
+1 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@ public class DozeTriggersTest extends SysuiTestCase {

        clearInvocations(mSensors);
        mTriggers.transitionTo(DozeMachine.State.DOZE_PULSING, DozeMachine.State.DOZE_PULSE_DONE);
        mTriggers.transitionTo(DozeMachine.State.DOZE_PULSE_DONE, DozeMachine.State.DOZE_AOD);
        waitForSensorManager();
        verify(mSensors).requestTriggerSensor(any(), eq(mTapSensor));
    }
Loading