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

Commit 5d19d620 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android Git Automerger
Browse files

am 4799a9e0: am f8808db0: am 771d210a: Merge "Revert "DO NOT MERGE Enhance...

am 4799a9e0: am f8808db0: am 771d210a: Merge "Revert "DO NOT MERGE Enhance local log."" into mnc-dev

* commit '4799a9e0':
  Revert "DO NOT MERGE Enhance local log."
parents 06b29188 4799a9e0
Loading
Loading
Loading
Loading
+6 −27
Original line number Diff line number Diff line
@@ -30,32 +30,20 @@ public final class LocalLog {
    private LinkedList<String> mLog;
    private int mMaxLines;
    private long mNow;
    private final boolean mKeepFirst;

    public LocalLog(int maxLines) {
        mLog = new LinkedList<String>();
        mMaxLines = maxLines;
        mKeepFirst = false;
    }

    public LocalLog(int maxLines, boolean keepFirst) {
        mLog = new LinkedList<String>();
        mMaxLines = maxLines;
        mKeepFirst = keepFirst;
    }

    public synchronized void log(String msg) {
        if (mMaxLines > 0) {
            mNow = System.currentTimeMillis();
            StringBuilder sb = new StringBuilder();
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(mNow);
            sb.append(String.format("%tm-%td %tH:%tM:%tS.%tL", c, c, c, c, c, c));
        logStraight(sb.toString() + " - " + msg);
    }

    private synchronized void logStraight(String msg) {
        if (mKeepFirst == false || mLog.size() < mMaxLines) mLog.add(msg);
        if (mMaxLines > 0) {
            mLog.add(sb.toString() + " - " + msg);
            while (mLog.size() > mMaxLines) mLog.remove();
        }
    }
@@ -86,13 +74,4 @@ public final class LocalLog {
    public ReadOnlyLocalLog readOnlyLocalLog() {
        return new ReadOnlyLocalLog(this);
    }

    public synchronized void copyTo(LocalLog other, int lines) {
        int end = mLog.size()-1;
        int begin = end - lines;
        if (begin < 0) begin = 0;
        for (; begin < end; begin++) {
            other.logStraight(mLog.get(begin));
        }
    }
}