| | | |
Offset 13, 216 lines modified | Offset 13, 216 lines modified |
| |
13 | #·direct·methods | 13 | #·direct·methods |
14 | .method·static·constructor·<clinit>()V | 14 | .method·static·constructor·<clinit>()V |
15 | ····.locals·3 | 15 | ····.locals·3 |
| |
16 | ····const-string·v0,·".*[1-9].*" | 16 | ····const-string·v0,·".*[1-9].*" |
| |
17 | ····.line·52 | 17 | ····.line·51 |
18 | ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; | 18 | ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; |
| |
19 | ····move-result-object·v0 | 19 | ····move-result-object·v0 |
| |
20 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; | 20 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; |
| |
21 | ····.line·60 | 21 | ····.line·59 |
22 | ····new-instance·v0,·Ljava/text/SimpleDateFormat; | 22 | ····new-instance·v0,·Ljava/text/SimpleDateFormat; |
| |
23 | ····const-string·v1,·"yyyy:MM:dd·HH:mm:ss" | 23 | ····const-string·v1,·"yyyy:MM:dd·HH:mm:ss" |
| |
24 | ····invoke-direct·{v0,·v1},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V | 24 | ····invoke-direct·{v0,·v1},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V |
| |
25 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; | 25 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; |
| |
26 | ····const-string·v1,·"UTC" | 26 | ····const-string·v1,·"UTC" |
| |
27 | ····.line·61 | 27 | ····.line·60 |
28 | ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; | 28 | ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; |
| |
29 | ····move-result-object·v2 | 29 | ····move-result-object·v2 |
| |
30 | ····invoke-virtual·{v0,·v2},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V | 30 | ····invoke-virtual·{v0,·v2},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V |
| |
31 | ····.line·62 | 31 | ····.line·61 |
32 | ····new-instance·v0,·Ljava/text/SimpleDateFormat; | 32 | ····new-instance·v0,·Ljava/text/SimpleDateFormat; |
| |
33 | ····const-string·v2,·"yyyy:MM:dd·HH:mm:ss·XXX" | 33 | ····const-string·v2,·"yyyy:MM:dd·HH:mm:ss·XXX" |
| |
34 | ····invoke-direct·{v0,·v2},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V | 34 | ····invoke-direct·{v0,·v2},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V |
| |
35 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; | 35 | ····sput-object·v0,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; |
| |
36 | ····.line·63 | 36 | ····.line·62 |
37 | ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; | 37 | ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; |
| |
38 | ····move-result-object·v1 | 38 | ····move-result-object·v1 |
| |
39 | ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V | 39 | ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V |
| |
40 | ····return-void | 40 | ····return-void |
41 | .end·method | 41 | .end·method |
| |
42 | .method·public·constructor·<init>()V | 42 | .method·public·constructor·<init>()V |
43 | ····.locals·0 | 43 | ····.locals·0 |
| |
44 | ····.line·50 | 44 | ····.line·49 |
45 | ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V | 45 | ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V |
| |
46 | ····return-void | 46 | ····return-void |
47 | .end·method | 47 | .end·method |
| |
48 | .method·public·static·getDateTime(Landroid/media/ExifInterface;)J | 48 | .method·public·static·getDateTime(Landroid/media/ExifInterface;)J |
49 | ····.locals·3 | 49 | ····.locals·3 |
| |
50 | ····const-string·v0,·"DateTime" | 50 | ····const-string·v0,·"DateTime" |
| |
51 | ····.line·70 | 51 | ····.line·69 |
52 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 52 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
53 | ····move-result-object·v0 | 53 | ····move-result-object·v0 |
| |
54 | ····const-string·v1,·"SubSecTime" | 54 | ····const-string·v1,·"SubSecTime" |
| |
55 | ····.line·71 | 55 | ····.line·70 |
56 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 56 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
57 | ····move-result-object·v1 | 57 | ····move-result-object·v1 |
| |
58 | ····const-string·v2,·"OffsetTime" | 58 | ····const-string·v2,·"OffsetTime" |
| |
59 | ····.line·72 | 59 | ····.line·71 |
60 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 60 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
61 | ····move-result-object·p0 | 61 | ····move-result-object·p0 |
| |
62 | ····.line·70 | 62 | ····.line·69 |
63 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J | 63 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J |
| |
64 | ····move-result-wide·v0 | 64 | ····move-result-wide·v0 |
| |
65 | ····return-wide·v0 | 65 | ····return-wide·v0 |
66 | .end·method | 66 | .end·method |
| |
67 | .method·public·static·getDateTimeDigitized(Landroid/media/ExifInterface;)J | 67 | .method·public·static·getDateTimeDigitized(Landroid/media/ExifInterface;)J |
68 | ····.locals·3 | 68 | ····.locals·3 |
| |
69 | ····const-string·v0,·"DateTimeDigitized" | 69 | ····const-string·v0,·"DateTimeDigitized" |
| |
70 | ····.line·80 | 70 | ····.line·79 |
71 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 71 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
72 | ····move-result-object·v0 | 72 | ····move-result-object·v0 |
| |
73 | ····const-string·v1,·"SubSecTimeDigitized" | 73 | ····const-string·v1,·"SubSecTimeDigitized" |
| |
74 | ····.line·81 | 74 | ····.line·80 |
75 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 75 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
76 | ····move-result-object·v1 | 76 | ····move-result-object·v1 |
| |
77 | ····const-string·v2,·"OffsetTimeDigitized" | 77 | ····const-string·v2,·"OffsetTimeDigitized" |
| |
78 | ····.line·82 | 78 | ····.line·81 |
79 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 79 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
80 | ····move-result-object·p0 | 80 | ····move-result-object·p0 |
| |
81 | ····.line·80 | 81 | ····.line·79 |
82 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J | 82 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J |
| |
83 | ····move-result-wide·v0 | 83 | ····move-result-wide·v0 |
| |
84 | ····return-wide·v0 | 84 | ····return-wide·v0 |
85 | .end·method | 85 | .end·method |
| |
86 | .method·public·static·getDateTimeOriginal(Landroid/media/ExifInterface;)J | 86 | .method·public·static·getDateTimeOriginal(Landroid/media/ExifInterface;)J |
87 | ····.locals·3 | 87 | ····.locals·3 |
| |
88 | ····const-string·v0,·"DateTimeOriginal" | 88 | ····const-string·v0,·"DateTimeOriginal" |
| |
89 | ····.line·90 | 89 | ····.line·89 |
90 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 90 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
91 | ····move-result-object·v0 | 91 | ····move-result-object·v0 |
| |
92 | ····const-string·v1,·"SubSecTimeOriginal" | 92 | ····const-string·v1,·"SubSecTimeOriginal" |
| |
93 | ····.line·91 | 93 | ····.line·90 |
94 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 94 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
95 | ····move-result-object·v1 | 95 | ····move-result-object·v1 |
| |
96 | ····const-string·v2,·"OffsetTimeOriginal" | 96 | ····const-string·v2,·"OffsetTimeOriginal" |
| |
97 | ····.line·92 | 97 | ····.line·91 |
98 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 98 | ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
99 | ····move-result-object·p0 | 99 | ····move-result-object·p0 |
| |
100 | ····.line·90 | 100 | ····.line·89 |
101 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J | 101 | ····invoke-static·{v0,·v1,·p0},·Lcom/android/providers/media/util/ExifUtils;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J |
| |
102 | ····move-result-wide·v0 | 102 | ····move-result-wide·v0 |
| |
103 | ····return-wide·v0 | 103 | ····return-wide·v0 |
104 | .end·method | 104 | .end·method |
| |
105 | .method·public·static·getGpsDateTime(Landroid/media/ExifInterface;)J | 105 | .method·public·static·getGpsDateTime(Landroid/media/ExifInterface;)J |
106 | ····.locals·5 | 106 | ····.locals·5 |
| |
107 | ····const-string·v0,·"GPSDateStamp" | 107 | ····const-string·v0,·"GPSDateStamp" |
| |
108 | ····.line·100 | 108 | ····.line·99 |
109 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 109 | ····invoke-virtual·{p0,·v0},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
110 | ····move-result-object·v0 | 110 | ····move-result-object·v0 |
| |
111 | ····const-string·v1,·"GPSTimeStamp" | 111 | ····const-string·v1,·"GPSTimeStamp" |
| |
112 | ····.line·101 | 112 | ····.line·100 |
113 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; | 113 | ····invoke-virtual·{p0,·v1},·Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; |
| |
114 | ····move-result-object·p0 | 114 | ····move-result-object·p0 |
| |
115 | ····const-wide/16·v1,·-0x1 | 115 | ····const-wide/16·v1,·-0x1 |
| |
116 | ····if-eqz·v0,·:cond_2 | 116 | ····if-eqz·v0,·:cond_2 |
| |
117 | ····if-eqz·p0,·:cond_2 | 117 | ····if-eqz·p0,·:cond_2 |
| |
118 | ····.line·102 | 118 | ····.line·101 |
119 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; | 119 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; |
| |
120 | ····.line·103 | 120 | ····.line·102 |
121 | ····invoke-virtual·{v3,·v0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; | 121 | ····invoke-virtual·{v3,·v0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; |
| |
122 | ····move-result-object·v3 | 122 | ····move-result-object·v3 |
| |
123 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->matches()Z | 123 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->matches()Z |
| |
124 | ····move-result·v3 | 124 | ····move-result·v3 |
| |
125 | ····if-nez·v3,·:cond_0 | 125 | ····if-nez·v3,·:cond_0 |
| |
126 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; | 126 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; |
| |
127 | ····.line·104 | 127 | ····.line·103 |
128 | ····invoke-virtual·{v3,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; | 128 | ····invoke-virtual·{v3,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; |
| |
129 | ····move-result-object·v3 | 129 | ····move-result-object·v3 |
| |
130 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->matches()Z | 130 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->matches()Z |
| |
131 | ····move-result·v3 | 131 | ····move-result·v3 |
| |
132 | ····if-nez·v3,·:cond_0 | 132 | ····if-nez·v3,·:cond_0 |
| |
133 | ····goto·:goto_0 | 133 | ····goto·:goto_0 |
| |
134 | ····.line·108 | 134 | ····.line·107 |
135 | ····:cond_0 | 135 | ····:cond_0 |
136 | ····new-instance·v3,·Ljava/lang/StringBuilder; | 136 | ····new-instance·v3,·Ljava/lang/StringBuilder; |
| |
137 | ····invoke-direct·{v3},·Ljava/lang/StringBuilder;-><init>()V | 137 | ····invoke-direct·{v3},·Ljava/lang/StringBuilder;-><init>()V |
| |
138 | ····invoke-virtual·{v3,·v0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | 138 | ····invoke-virtual·{v3,·v0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
Offset 232, 61 lines modified | Offset 232, 61 lines modified |
| |
232 | ····invoke-virtual·{v3,·p0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | 232 | ····invoke-virtual·{v3,·p0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
233 | ····invoke-virtual·{v3},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; | 233 | ····invoke-virtual·{v3},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; |
| |
234 | ····move-result-object·p0 | 234 | ····move-result-object·p0 |
| |
235 | ····.line·110 | 235 | ····.line·109 |
236 | ····new-instance·v0,·Ljava/text/ParsePosition; | 236 | ····new-instance·v0,·Ljava/text/ParsePosition; |
| |
237 | ····const/4·v3,·0x0 | 237 | ····const/4·v3,·0x0 |
| |
238 | ····invoke-direct·{v0,·v3},·Ljava/text/ParsePosition;-><init>(I)V | 238 | ····invoke-direct·{v0,·v3},·Ljava/text/ParsePosition;-><init>(I)V |
| |
239 | ····.line·113 | 239 | ····.line·112 |
240 | ····:try_start_0 | 240 | ····:try_start_0 |
241 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; | 241 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; |
| |
242 | ····monitor-enter·v3 | 242 | ····monitor-enter·v3 |
243 | ····:try_end_0 | 243 | ····:try_end_0 |
244 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_0·..·:try_end_0}·:catch_0 | 244 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_0·..·:try_end_0}·:catch_0 |
| |
245 | ····.line·114 | 245 | ····.line·113 |
246 | ····:try_start_1 | 246 | ····:try_start_1 |
247 | ····sget-object·v4,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; | 247 | ····sget-object·v4,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; |
| |
248 | ····invoke-virtual·{v4,·p0,·v0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; | 248 | ····invoke-virtual·{v4,·p0,·v0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; |
| |
249 | ····move-result-object·p0 | 249 | ····move-result-object·p0 |
| |
250 | ····.line·115 | 250 | ····.line·114 |
251 | ····monitor-exit·v3 | 251 | ····monitor-exit·v3 |
252 | ····:try_end_1 | 252 | ····:try_end_1 |
253 | ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0 | 253 | ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0 |
| |
254 | ····if-nez·p0,·:cond_1 | 254 | ····if-nez·p0,·:cond_1 |
| |
255 | ····return-wide·v1 | 255 | ····return-wide·v1 |
| |
256 | ····.line·117 | 256 | ····.line·116 |
257 | ····:cond_1 | 257 | ····:cond_1 |
258 | ····:try_start_2 | 258 | ····:try_start_2 |
259 | ····invoke-virtual·{p0},·Ljava/util/Date;->getTime()J | 259 | ····invoke-virtual·{p0},·Ljava/util/Date;->getTime()J |
| |
260 | ····move-result-wide·v0 | 260 | ····move-result-wide·v0 |
261 | ····:try_end_2 | 261 | ····:try_end_2 |
262 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_2·..·:try_end_2}·:catch_0 | 262 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_2·..·:try_end_2}·:catch_0 |
| |
263 | ····return-wide·v0 | 263 | ····return-wide·v0 |
| |
264 | ····:catchall_0 | 264 | ····:catchall_0 |
265 | ····move-exception·p0 | 265 | ····move-exception·p0 |
| |
266 | ····.line·115 | 266 | ····.line·114 |
267 | ····:try_start_3 | 267 | ····:try_start_3 |
268 | ····monitor-exit·v3 | 268 | ····monitor-exit·v3 |
269 | ····:try_end_3 | 269 | ····:try_end_3 |
270 | ····.catchall·{:try_start_3·..·:try_end_3}·:catchall_0 | 270 | ····.catchall·{:try_start_3·..·:try_end_3}·:catchall_0 |
| |
271 | ····:try_start_4 | 271 | ····:try_start_4 |
272 | ····throw·p0 | 272 | ····throw·p0 |
Offset 300, 64 lines modified | Offset 300, 64 lines modified |
300 | .end·method | 300 | .end·method |
| |
301 | .method·private·static·parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J | 301 | .method·private·static·parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J |
302 | ····.locals·6 | 302 | ····.locals·6 |
| |
303 | ····const-wide/16·v0,·-0x1 | 303 | ····const-wide/16·v0,·-0x1 |
| |
304 | ····if-eqz·p0,·:cond_4 | 304 | ····if-eqz·p0,·:cond_5 |
| |
305 | ····.line·125 | 305 | ····.line·124 |
306 | ····sget-object·v2,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; | 306 | ····sget-object·v2,·Lcom/android/providers/media/util/ExifUtils;->sNonZeroTimePattern:Ljava/util/regex/Pattern; |
| |
307 | ····.line·126 | 307 | ····.line·125 |
308 | ····invoke-virtual·{v2,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; | 308 | ····invoke-virtual·{v2,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; |
| |
309 | ····move-result-object·v2 | 309 | ····move-result-object·v2 |
| |
310 | ····invoke-virtual·{v2},·Ljava/util/regex/Matcher;->matches()Z | 310 | ····invoke-virtual·{v2},·Ljava/util/regex/Matcher;->matches()Z |
| |
311 | ····move-result·v2 | 311 | ····move-result·v2 |
| |
312 | ····if-nez·v2,·:cond_0 | 312 | ····if-nez·v2,·:cond_0 |
| |
313 | ····goto·:goto_1 | 313 | ····goto·:goto_2 |
| |
314 | ····.line·128 | 314 | ····.line·127 |
315 | ····:cond_0 | 315 | ····:cond_0 |
316 | ····new-instance·v2,·Ljava/text/ParsePosition; | 316 | ····new-instance·v2,·Ljava/text/ParsePosition; |
| |
317 | ····const/4·v3,·0x0 | 317 | ····const/4·v3,·0x0 |
| |
318 | ····invoke-direct·{v2,·v3},·Ljava/text/ParsePosition;-><init>(I)V | 318 | ····invoke-direct·{v2,·v3},·Ljava/text/ParsePosition;-><init>(I)V |
| |
319 | ····.line·133 | 319 | ····.line·132 |
320 | ····:try_start_0 | 320 | ····:try_start_0 |
321 | ····sget-object·v4,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; | 321 | ····sget-object·v4,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; |
| |
322 | ····monitor-enter·v4 | 322 | ····monitor-enter·v4 |
323 | ····:try_end_0 | 323 | ····:try_end_0 |
324 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_0·..·:try_end_0}·:catch_0 | 324 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_0·..·:try_end_0}·:catch_1 |
| |
325 | ····.line·134 | 325 | ····.line·133 |
326 | ····:try_start_1 | 326 | ····:try_start_1 |
327 | ····sget-object·v5,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; | 327 | ····sget-object·v5,·Lcom/android/providers/media/util/ExifUtils;->sFormatter:Ljava/text/SimpleDateFormat; |
| |
328 | ····invoke-virtual·{v5,·p0,·v2},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; | 328 | ····invoke-virtual·{v5,·p0,·v2},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; |
| |
329 | ····move-result-object·v2 | 329 | ····move-result-object·v2 |
| |
330 | ····.line·135 | 330 | ····.line·134 |
331 | ····monitor-exit·v4 | 331 | ····monitor-exit·v4 |
332 | ····:try_end_1 | 332 | ····:try_end_1 |
333 | ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1 | 333 | ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1 |
| |
334 | ····if-eqz·p2,·:cond_1 | 334 | ····if-eqz·p2,·:cond_1 |
| |
335 | ····.line·138 | 335 | ····.line·137 |
336 | ····:try_start_2 | 336 | ····:try_start_2 |
337 | ····new-instance·v2,·Ljava/lang/StringBuilder; | 337 | ····new-instance·v2,·Ljava/lang/StringBuilder; |
| |
338 | ····invoke-direct·{v2},·Ljava/lang/StringBuilder;-><init>()V | 338 | ····invoke-direct·{v2},·Ljava/lang/StringBuilder;-><init>()V |
| |
339 | ····invoke-virtual·{v2,·p0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | 339 | ····invoke-virtual·{v2,·p0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
Offset 367, 35 lines modified | Offset 367, 35 lines modified |
| |
367 | ····invoke-virtual·{v2,·p2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | 367 | ····invoke-virtual·{v2,·p2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| |
368 | ····invoke-virtual·{v2},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; | 368 | ····invoke-virtual·{v2},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; |
| |
369 | ····move-result-object·p0 | 369 | ····move-result-object·p0 |
| |
370 | ····.line·139 | 370 | ····.line·138 |
371 | ····new-instance·p2,·Ljava/text/ParsePosition; | 371 | ····new-instance·p2,·Ljava/text/ParsePosition; |
| |
372 | ····invoke-direct·{p2,·v3},·Ljava/text/ParsePosition;-><init>(I)V | 372 | ····invoke-direct·{p2,·v3},·Ljava/text/ParsePosition;-><init>(I)V |
| |
373 | ····.line·140 | 373 | ····.line·139 |
374 | ····sget-object·v2,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; | 374 | ····sget-object·v2,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; |
| |
375 | ····monitor-enter·v2 | 375 | ····monitor-enter·v2 |
376 | ····:try_end_2 | 376 | ····:try_end_2 |
377 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_2·..·:try_end_2}·:catch_0 | 377 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_2·..·:try_end_2}·:catch_1 |
| |
378 | ····.line·141 | 378 | ····.line·140 |
379 | ····:try_start_3 | 379 | ····:try_start_3 |
380 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; | 380 | ····sget-object·v3,·Lcom/android/providers/media/util/ExifUtils;->sFormatterTz:Ljava/text/SimpleDateFormat; |
| |
381 | ····invoke-virtual·{v3,·p0,·p2},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; | 381 | ····invoke-virtual·{v3,·p0,·p2},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; |
| |
382 | ····move-result-object·p0 | 382 | ····move-result-object·p0 |
| |
383 | ····.line·142 | 383 | ····.line·141 |
384 | ····monitor-exit·v2 | 384 | ····monitor-exit·v2 |
| |
385 | ····move-object·v2,·p0 | 385 | ····move-object·v2,·p0 |
| |
386 | ····goto·:goto_0 | 386 | ····goto·:goto_0 |
| |
387 | ····:catchall_0 | 387 | ····:catchall_0 |
Offset 410, 94 lines modified | Offset 410, 66 lines modified |
| |
410 | ····:cond_1 | 410 | ····:cond_1 |
411 | ····:goto_0 | 411 | ····:goto_0 |
412 | ····if-nez·v2,·:cond_2 | 412 | ····if-nez·v2,·:cond_2 |
| |
413 | ····return-wide·v0 | 413 | ····return-wide·v0 |
| |
414 | ····.line·146 | 414 | ····.line·145 |
415 | ····:cond_2 | 415 | ····:cond_2 |
416 | ····invoke-virtual·{v2},·Ljava/util/Date;->getTime()J | 416 | ····invoke-virtual·{v2},·Ljava/util/Date;->getTime()J |
| |
417 | ····move-result-wide·v2 | 417 | ····move-result-wide·v2 |
| |
418 | ····if-eqz·p1,·:cond_3 | |
| |
419 | ····.line·149 | |
420 | ····invoke-static·{p1},·Lcom/android/providers/media/util/ExifUtils;->parseSubSeconds(Ljava/lang/String;)J | |
| |
421 | ····move-result-wide·p0 | |
422 | ····:try_end_4 | 418 | ····:try_end_4 |
423 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_4·..·:try_end_4}·:catch_0 | 419 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_4·..·:try_end_4}·:catch_1 |
| |
424 | ····add-long/2addr·v2,·p0 | |
| |
425 | ····:cond_3 | |
426 | ····return-wide·v2 | |
| |
| 420 | ····if-eqz·p1,·:cond_4 |
427 | ····:catchall_1 | |
428 | ····move-exception·p0 | |
| |
429 | ····.line·135 | 421 | ····.line·149 |
430 | ····:try_start_5 | 422 | ····:try_start_5 |
| 423 | ····invoke-static·{p1},·Ljava/lang/Long;->parseLong(Ljava/lang/String;)J |
431 | ····monitor-exit·v4 | |
432 | ····:try_end_5 | |
433 | ····.catchall·{:try_start_5·..·:try_end_5}·:catchall_1 | |
| |
| 424 | ····move-result-wide·p0 |
434 | ····:try_start_6 | |
435 | ····throw·p0 | |
436 | ····:try_end_6 | |
437 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_6·..·:try_end_6}·:catch_0 | |
| |
438 | ····:catch_0 | |
439 | ····:cond_4 | |
440 | ····:goto_1 | 425 | ····:goto_1 |
| 426 | ····const-wide/16·v4,·0x3e8 |
441 | ····return-wide·v0 | |
442 | .end·method | |
| |
443 | .method·static·parseSubSeconds(Ljava/lang/String;)J | |
444 | ····.locals·6 | |
| |
445 | ····.line·160 | |
446 | ····:try_start_0 | |
447 | ····invoke-virtual·{p0},·Ljava/lang/String;->length()I | |
| |
448 | ····move-result·v0 | |
| |
449 | ····const/4·v1,·0x3 | |
| |
450 | ····invoke-static·{v0,·v1},·Ljava/lang/Math;->min(II)I | |
| |
451 | ····move-result·v0 | 427 | ····cmp-long·p2,·p0,·v4 |
| |
| 428 | ····if-lez·p2,·:cond_3 |
452 | ····const/4·v2,·0x0 | |
| |
453 | ····.line·161 | |
454 | ····invoke-virtual·{p0,·v2,·v0},·Ljava/lang/String;->substring(II)Ljava/lang/String; | |
| |
455 | ····move-result-object·p0 | |
| |
456 | ····invoke-static·{p0},·Ljava/lang/Long;->parseLong(Ljava/lang/String;)J | |
| |
457 | ····move-result-wide·v2 | |
458 | ····:try_end_0 | |
459 | ····.catch·Ljava/lang/NumberFormatException;·{:try_start_0·..·:try_end_0}·:catch_0 | |
| |
460 | ····:goto_0 | |
461 | ····if-ge·v0,·v1,·:cond_0 | |
| |
462 | ····const-wide/16·v4,·0xa | 429 | ····const-wide/16·v4,·0xa |
| |
| 430 | ····.line·151 |
463 | ····mul-long/2addr·v2,·v4 | 431 | ····div-long/2addr·p0,·v4 |
| 432 | ····:try_end_5 |
| 433 | ····.catch·Ljava/lang/NumberFormatException;·{:try_start_5·..·:try_end_5}·:catch_0 |
| 434 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_5·..·:try_end_5}·:catch_1 |
| |
464 | ····add-int/lit8·v0,·v0,·0x1 | 435 | ····goto·:goto_1 |
| |
465 | ····goto·:goto_0 | 436 | ····:cond_3 |
| 437 | ····add-long/2addr·v2,·p0 |
| |
| 438 | ····:catch_0 |
466 | ····:cond_0 | 439 | ····:cond_4 |
467 | ····return-wide·v2 | 440 | ····return-wide·v2 |
| |
468 | ····:catch_0 | 441 | ····:catchall_1 |
469 | ····const-wide/16·v0,·0x0 | 442 | ····move-exception·p0 |
| |
| 443 | ····.line·134 |
| 444 | ····:try_start_6 |
| 445 | ····monitor-exit·v4 |
| 446 | ····:try_end_6 |
| 447 | ····.catchall·{:try_start_6·..·:try_end_6}·:catchall_1 |
| |
| 448 | ····:try_start_7 |
| 449 | ····throw·p0 |
| 450 | ····:try_end_7 |
| 451 | ····.catch·Ljava/lang/IllegalArgumentException;·{:try_start_7·..·:try_end_7}·:catch_1 |
| |
| 452 | ····:catch_1 |
| 453 | ····:cond_5 |
| 454 | ····:goto_2 |
470 | ····return-wide·v0 | 455 | ····return-wide·v0 |
471 | .end·method | 456 | .end·method |