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

Commit acb36aad authored by Varun Shah's avatar Varun Shah Committed by Automerger Merge Worker
Browse files

Merge "Fixed to prevent usagestats file corruption when writing" am: 98fc96fc

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550659

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic8cff49d1ea647f0a2ec16ba3eed7a4f54c091d1
parents ac37ade7 98fc96fc
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1025,6 +1025,8 @@ public class UsageStatsDatabase {
            writeLocked(fos, stats, version, packagesTokenData);
            file.finishWrite(fos);
            fos = null;
        } catch (Exception e) {
            // Do nothing. Exception has already been handled.
        } finally {
            // When fos is null (successful write), this will no-op
            file.failWrite(fos);
@@ -1032,7 +1034,7 @@ public class UsageStatsDatabase {
    }

    private static void writeLocked(OutputStream out, IntervalStats stats, int version,
            PackagesTokenData packagesTokenData) throws RuntimeException {
            PackagesTokenData packagesTokenData) throws Exception {
        switch (version) {
            case 1:
            case 2:
@@ -1044,6 +1046,7 @@ public class UsageStatsDatabase {
                    UsageStatsProto.write(out, stats);
                } catch (Exception e) {
                    Slog.e(TAG, "Unable to write interval stats to proto.", e);
                    throw e;
                }
                break;
            case 5:
@@ -1052,6 +1055,7 @@ public class UsageStatsDatabase {
                    UsageStatsProtoV2.write(out, stats);
                } catch (Exception e) {
                    Slog.e(TAG, "Unable to write interval stats to proto.", e);
                    throw e;
                }
                break;
            default: