diff options
Diffstat (limited to 'services/usage/java/com/android/server/usage/UsageStatsXml.java')
-rw-r--r-- | services/usage/java/com/android/server/usage/UsageStatsXml.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/usage/java/com/android/server/usage/UsageStatsXml.java b/services/usage/java/com/android/server/usage/UsageStatsXml.java index 186813e..543f361 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsXml.java +++ b/services/usage/java/com/android/server/usage/UsageStatsXml.java @@ -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 @@ -47,7 +47,12 @@ public class UsageStatsXml { while (name.endsWith(CHECKED_IN_SUFFIX)) { name = name.substring(0, name.length() - CHECKED_IN_SUFFIX.length()); } - return Long.parseLong(name); + + try { + return Long.parseLong(name); + } catch (NumberFormatException e) { + throw new IOException(e); + } } public static void read(AtomicFile file, IntervalStats statsOut) throws IOException { |