Loading services/usage/java/com/android/server/usage/UsageStatsDatabase.java +13 −2 Original line number Diff line number Diff line Loading @@ -191,7 +191,11 @@ class UsageStatsDatabase { for (File f : files) { final AtomicFile af = new AtomicFile(f); try { mSortedStatFiles[i].put(UsageStatsXml.parseBeginTime(af), af); } catch (IOException e) { Slog.e(TAG, "failed to index file: " + f, e); } } } } Loading Loading @@ -506,7 +510,14 @@ class UsageStatsDatabase { if (path.endsWith(BAK_SUFFIX)) { f = new File(path.substring(0, path.length() - BAK_SUFFIX.length())); } long beginTime = UsageStatsXml.parseBeginTime(f); long beginTime; try { beginTime = UsageStatsXml.parseBeginTime(f); } catch (IOException e) { beginTime = 0; } if (beginTime < expiryTime) { new AtomicFile(f).delete(); } Loading services/usage/java/com/android/server/usage/UsageStatsXml.java +8 −3 Original line number Diff line number Diff line Loading @@ -33,11 +33,11 @@ public class UsageStatsXml { private static final String VERSION_ATTR = "version"; static final String CHECKED_IN_SUFFIX = "-c"; public static long parseBeginTime(AtomicFile file) { public static long parseBeginTime(AtomicFile file) throws IOException { return parseBeginTime(file.getBaseFile()); } public static long parseBeginTime(File file) { public static long parseBeginTime(File file) throws IOException { String name = file.getName(); // Eat as many occurrences of -c as possible. This is due to a bug where -c Loading @@ -47,7 +47,12 @@ public class UsageStatsXml { while (name.endsWith(CHECKED_IN_SUFFIX)) { name = name.substring(0, name.length() - CHECKED_IN_SUFFIX.length()); } try { return Long.parseLong(name); } catch (NumberFormatException e) { throw new IOException(e); } } public static void read(AtomicFile file, IntervalStats statsOut) throws IOException { Loading Loading
services/usage/java/com/android/server/usage/UsageStatsDatabase.java +13 −2 Original line number Diff line number Diff line Loading @@ -191,7 +191,11 @@ class UsageStatsDatabase { for (File f : files) { final AtomicFile af = new AtomicFile(f); try { mSortedStatFiles[i].put(UsageStatsXml.parseBeginTime(af), af); } catch (IOException e) { Slog.e(TAG, "failed to index file: " + f, e); } } } } Loading Loading @@ -506,7 +510,14 @@ class UsageStatsDatabase { if (path.endsWith(BAK_SUFFIX)) { f = new File(path.substring(0, path.length() - BAK_SUFFIX.length())); } long beginTime = UsageStatsXml.parseBeginTime(f); long beginTime; try { beginTime = UsageStatsXml.parseBeginTime(f); } catch (IOException e) { beginTime = 0; } if (beginTime < expiryTime) { new AtomicFile(f).delete(); } Loading
services/usage/java/com/android/server/usage/UsageStatsXml.java +8 −3 Original line number Diff line number Diff line Loading @@ -33,11 +33,11 @@ public class UsageStatsXml { private static final String VERSION_ATTR = "version"; static final String CHECKED_IN_SUFFIX = "-c"; public static long parseBeginTime(AtomicFile file) { public static long parseBeginTime(AtomicFile file) throws IOException { return parseBeginTime(file.getBaseFile()); } public static long parseBeginTime(File file) { public static long parseBeginTime(File file) throws IOException { String name = file.getName(); // Eat as many occurrences of -c as possible. This is due to a bug where -c Loading @@ -47,7 +47,12 @@ public class UsageStatsXml { while (name.endsWith(CHECKED_IN_SUFFIX)) { name = name.substring(0, name.length() - CHECKED_IN_SUFFIX.length()); } try { return Long.parseLong(name); } catch (NumberFormatException e) { throw new IOException(e); } } public static void read(AtomicFile file, IntervalStats statsOut) throws IOException { Loading