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

Commit 8eca4fe9 authored by Dhavalkumar Chaudhary's avatar Dhavalkumar Chaudhary Committed by Android (Google) Code Review
Browse files

Merge "Replaced bacgroundi thread handler with local handler to void dead lock" into main

parents 2b19c4c5 862cff82
Loading
Loading
Loading
Loading
+41 −47
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@ import android.view.Display;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BackgroundThread;
import com.android.internal.os.BatteryStatsHistory;
import com.android.internal.os.BatteryStatsHistoryIterator;
import com.android.internal.os.Clock;
@@ -11055,9 +11054,7 @@ public class BatteryStatsImpl extends BatteryStats {
                TypedXmlSerializer out = Xml.resolveSerializer(memStream);
                writeDailyItemsLocked(out);
                final long initialTimeMs = SystemClock.uptimeMillis() - startTimeMs;
                BackgroundThread.getHandler().post(new Runnable() {
                    @Override
                    public void run() {
                mHandler.post(() -> {
                    synchronized (mCheckinFile) {
                        final long startTimeMs2 = SystemClock.uptimeMillis();
                        FileOutputStream stream = null;
@@ -11074,7 +11071,6 @@ public class BatteryStatsImpl extends BatteryStats {
                            mDailyFile.failWrite(stream);
                        }
                    }
                    }
                });
            } catch (IOException e) {
            }
@@ -13545,8 +13541,7 @@ public class BatteryStatsImpl extends BatteryStats {
                    final Parcel parcel = Parcel.obtain();
                    writeSummaryToParcel(parcel, true);
                    final long initialTimeMs = SystemClock.uptimeMillis() - startTimeMs;
                    BackgroundThread.getHandler().post(new Runnable() {
                        @Override public void run() {
                    mHandler.post(() -> {
                        synchronized (mCheckinFile) {
                            final long startTimeMs2 = SystemClock.uptimeMillis();
                            FileOutputStream stream = null;
@@ -13567,7 +13562,6 @@ public class BatteryStatsImpl extends BatteryStats {
                                parcel.recycle();
                            }
                        }
                        }
                    });
                }
                doWrite = true;
@@ -14901,13 +14895,13 @@ public class BatteryStatsImpl extends BatteryStats {
    @GuardedBy("this")
    public void writeAsyncLocked() {
        BackgroundThread.getHandler().removeCallbacks(mWriteAsyncRunnable);
        BackgroundThread.getHandler().post(mWriteAsyncRunnable);
        mHandler.removeCallbacks(mWriteAsyncRunnable);
        mHandler.post(mWriteAsyncRunnable);
    }
    @GuardedBy("this")
    public void writeSyncLocked() {
        BackgroundThread.getHandler().removeCallbacks(mWriteAsyncRunnable);
        mHandler.removeCallbacks(mWriteAsyncRunnable);
        writeStatsLocked();
        writeHistoryLocked();
    }