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

Commit c7db2377 authored by Lais Andrade's avatar Lais Andrade Committed by Simon Bowden
Browse files

Remove call to set wakeLock WorkSource from VibrationThread constructor

A new  VibrationThread might be created and dropped if the ongoing
thread takes long to be finished and a new vibration arrived to the
service.

The wakelock is only acquired when a thread starts, so move the calls to
configure the worksource to the run() method.

Fix: 193742818
Test: manual
Change-Id: I7d7953ec9e065bcec78110b44daf3ef57693164d
(cherry picked from commit 56663ddb)
Merged-In: I7d7953ec9e065bcec78110b44daf3ef57693164d
parent 9145f4a4
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ final class VibrationThread extends Thread implements IBinder.DeathRecipient {
    }

    private final Object mLock = new Object();
    private final WorkSource mWorkSource = new WorkSource();
    private final WorkSource mWorkSource;
    private final PowerManager.WakeLock mWakeLock;
    private final IBatteryStats mBatteryStatsService;
    private final VibrationSettings mVibrationSettings;
@@ -119,9 +119,8 @@ final class VibrationThread extends Thread implements IBinder.DeathRecipient {
        mVibrationSettings = vibrationSettings;
        mDeviceEffectAdapter = effectAdapter;
        mCallbacks = callbacks;
        mWorkSource = new WorkSource(mVibration.uid);
        mWakeLock = wakeLock;
        mWorkSource.set(vib.uid);
        mWakeLock.setWorkSource(mWorkSource);
        mBatteryStatsService = batteryStatsService;

        CombinedVibration effect = vib.getEffect();
@@ -152,6 +151,7 @@ final class VibrationThread extends Thread implements IBinder.DeathRecipient {
    @Override
    public void run() {
        Process.setThreadPriority(Process.THREAD_PRIORITY_URGENT_DISPLAY);
        mWakeLock.setWorkSource(mWorkSource);
        mWakeLock.acquire();
        try {
            mVibration.token.linkToDeath(this, 0);