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

Commit 67884d6e authored by Soonil Nagarkar's avatar Soonil Nagarkar
Browse files

Revert changes to StationaryThrottlingLocationProvider

For unknown reasons these changes are causing a memory usage increase
affecting Go devices. This reverts commit
6eecc3ce.

Bug: 201306859
Test: presubmits
Change-Id: Ifd820ead3099c61abf7403442219f3d1172b8505
parent 6be9887c
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -105,15 +105,20 @@ public final class StationaryThrottlingLocationProvider extends DelegateLocation

        synchronized (mLock) {
            mDeviceIdleHelper.addListener(this);
            onDeviceIdleChanged(mDeviceIdleHelper.isDeviceIdle());
            mDeviceIdle = mDeviceIdleHelper.isDeviceIdle();
            mDeviceStationaryHelper.addListener(this);
            mDeviceStationary = false;
            mDeviceStationaryRealtimeMs = Long.MIN_VALUE;

            onThrottlingChangedLocked(false);
        }
    }

    @Override
    protected void onStop() {
        synchronized (mLock) {
            mDeviceStationaryHelper.removeListener(this);
            mDeviceIdleHelper.removeListener(this);
            onDeviceIdleChanged(false);

            mIncomingRequest = ProviderRequest.EMPTY_REQUEST;
            mOutgoingRequest = ProviderRequest.EMPTY_REQUEST;
@@ -146,27 +151,13 @@ public final class StationaryThrottlingLocationProvider extends DelegateLocation
            }

            mDeviceIdle = deviceIdle;

            if (deviceIdle) {
                // device stationary helper will deliver an immediate listener update
                mDeviceStationaryHelper.addListener(this);
            } else {
                mDeviceStationaryHelper.removeListener(this);
                mDeviceStationary = false;
                mDeviceStationaryRealtimeMs = Long.MIN_VALUE;
            onThrottlingChangedLocked(false);
        }
    }
    }

    @Override
    public void onDeviceStationaryChanged(boolean deviceStationary) {
        synchronized (mLock) {
            if (!mDeviceIdle) {
                // stationary detection is only registered while idle - ignore late notifications
                return;
            }

            if (mDeviceStationary == deviceStationary) {
                return;
            }