Offset 26, 14 lines modifiedOffset 26, 18 lines modified
  
26 .field·static·final·MAX_EXCLUDE_DIRS:I·=·0x1c226 .field·static·final·MAX_EXCLUDE_DIRS:I·=·0x1c2
  
27 .field·private·static·final·MAX_XMP_SIZE_BYTES:I·=·0x10000027 .field·private·static·final·MAX_XMP_SIZE_BYTES:I·=·0x100000
  
28 .field·private·static·final·PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;28 .field·private·static·final·PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
 29 .field·private·static·final·PATTERN_INVISIBLE:Ljava/util/regex/Pattern;
  
 30 .field·private·static·final·PATTERN_VISIBLE:Ljava/util/regex/Pattern;
  
29 .field·private·static·final·PATTERN_YEAR:Ljava/util/regex/Pattern;31 .field·private·static·final·PATTERN_YEAR:Ljava/util/regex/Pattern;
  
30 .field·private·static·final·S_DATE_FORMAT:Ljava/text/SimpleDateFormat;32 .field·private·static·final·S_DATE_FORMAT:Ljava/text/SimpleDateFormat;
  
31 .field·private·static·final·S_DATE_FORMAT_WITH_MILLIS:Ljava/text/SimpleDateFormat;33 .field·private·static·final·S_DATE_FORMAT_WITH_MILLIS:Ljava/text/SimpleDateFormat;
  
32 .field·private·static·final·TAG:Ljava/lang/String;·=·"ModernMediaScanner"34 .field·private·static·final·TAG:Ljava/lang/String;·=·"ModernMediaScanner"
Offset 160, 166 lines modifiedOffset 164, 184 lines modified
160 ····.line·167164 ····.line·167
161 ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;165 ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  
162 ····move-result-object·v1166 ····move-result-object·v1
  
163 ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V167 ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
  
164 ····const-string·v0,·"([1-9][0-9][0-9][0-9])"168 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?$"
  
165 ····.line·178169 ····.line·178
166 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;170 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
167 ····move-result-object·v0171 ····move-result-object·v0
  
 172 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_VISIBLE:Ljava/util/regex/Pattern;
  
 173 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?/(?:(?:Android/(?:data|obb|sandbox)$)|(?:\\.transforms$)|(?:(?:Movies|Music|Pictures)/.thumbnails$))"
  
 174 ····.line·180
 175 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
 176 ····move-result-object·v0
  
 177 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_INVISIBLE:Ljava/util/regex/Pattern;
  
 178 ····const-string·v0,·"([1-9][0-9][0-9][0-9])"
  
 179 ····.line·186
 180 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
 181 ····move-result-object·v0
  
168 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_YEAR:Ljava/util/regex/Pattern;182 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_YEAR:Ljava/util/regex/Pattern;
  
169 ····const-string·v0,·"(?i)(?:(?:^folder|(?:^AlbumArt(?:(?:_\\{.*\\}_)?(?:small|large))?))(?:\\.jpg$)|(?:\\._.*))"183 ····const-string·v0,·"(?i)(?:(?:^folder|(?:^AlbumArt(?:(?:_\\{.*\\}_)?(?:small|large))?))(?:\\.jpg$)|(?:\\._.*))"
  
170 ····.line·180184 ····.line·188
171 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;185 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
172 ····move-result-object·v0186 ····move-result-object·v0
  
173 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;187 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
174 ····.line·1210188 ····.line·1218
175 ····new-instance·v0,·Landroid/util/ArrayMap;189 ····new-instance·v0,·Landroid/util/ArrayMap;
  
176 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V190 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V
  
177 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;191 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
178 ····.line·1213192 ····.line·1221
179 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_RINGTONES:Ljava/lang/String;193 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_RINGTONES:Ljava/lang/String;
  
180 ····const-string·v2,·"is_ringtone"194 ····const-string·v2,·"is_ringtone"
  
181 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;195 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
182 ····.line·1214196 ····.line·1222
183 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;197 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
184 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_NOTIFICATIONS:Ljava/lang/String;198 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
  
185 ····const-string·v2,·"is_notification"199 ····const-string·v2,·"is_notification"
  
186 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;200 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
187 ····.line·1215201 ····.line·1223
188 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;202 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
189 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_ALARMS:Ljava/lang/String;203 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_ALARMS:Ljava/lang/String;
  
190 ····const-string·v2,·"is_alarm"204 ····const-string·v2,·"is_alarm"
  
191 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;205 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
192 ····.line·1216206 ····.line·1224
193 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;207 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
194 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_PODCASTS:Ljava/lang/String;208 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_PODCASTS:Ljava/lang/String;
  
195 ····const-string·v2,·"is_podcast"209 ····const-string·v2,·"is_podcast"
  
196 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;210 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
197 ····.line·1217211 ····.line·1225
198 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;212 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
199 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_AUDIOBOOKS:Ljava/lang/String;213 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_AUDIOBOOKS:Ljava/lang/String;
  
200 ····const-string·v2,·"is_audiobook"214 ····const-string·v2,·"is_audiobook"
  
201 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;215 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
202 ····.line·1218216 ····.line·1226
203 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;217 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
204 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_MUSIC:Ljava/lang/String;218 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_MUSIC:Ljava/lang/String;
  
205 ····const-string·v2,·"is_music"219 ····const-string·v2,·"is_music"
  
206 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;220 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
207 ····.line·1219221 ····.line·1227
208 ····invoke-static·{},·Lcom/android/modules/utils/build/SdkLevel;->isAtLeastS()Z222 ····invoke-static·{},·Lcom/android/modules/utils/build/SdkLevel;->isAtLeastS()Z
  
209 ····move-result·v0223 ····move-result·v0
  
210 ····const-string·v1,·"is_recording"224 ····const-string·v1,·"is_recording"
  
211 ····if-eqz·v0,·:cond_0225 ····if-eqz·v0,·:cond_0
  
212 ····.line·1220226 ····.line·1228
213 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;227 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
214 ····sget-object·v2,·Landroid/os/Environment;->DIRECTORY_RECORDINGS:Ljava/lang/String;228 ····sget-object·v2,·Landroid/os/Environment;->DIRECTORY_RECORDINGS:Ljava/lang/String;
  
215 ····invoke-virtual·{v0,·v2,·v1},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;229 ····invoke-virtual·{v0,·v2,·v1},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
216 ····goto·:goto_0230 ····goto·:goto_0
  
217 ····.line·1222231 ····.line·1230
218 ····:cond_0232 ····:cond_0
219 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;233 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
220 ····const-string·v2,·"Recordings"234 ····const-string·v2,·"Recordings"
  
221 ····invoke-virtual·{v0,·v2,·v1},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;235 ····invoke-virtual·{v0,·v2,·v1},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
222 ····:goto_0236 ····:goto_0
223 ····return-void237 ····return-void
224 .end·method238 .end·method
  
225 .method·public·constructor·<init>(Landroid/content/Context;)V239 .method·public·constructor·<init>(Landroid/content/Context;)V
226 ····.locals·3240 ····.locals·3
  
227 ····.line·218241 ····.line·226
228 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V242 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
229 ····.line·185243 ····.line·193
230 ····new-instance·v0,·Landroid/util/ArraySet;244 ····new-instance·v0,·Landroid/util/ArraySet;
  
231 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V245 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V
  
232 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mPendingCleanDirectories:Ljava/util/Set;246 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mPendingCleanDirectories:Ljava/util/Set;
  
233 ····.line·191247 ····.line·199
234 ····new-instance·v0,·Ljava/util/ArrayList;248 ····new-instance·v0,·Ljava/util/ArrayList;
  
235 ····invoke-direct·{v0},·Ljava/util/ArrayList;-><init>()V249 ····invoke-direct·{v0},·Ljava/util/ArrayList;-><init>()V
  
236 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;250 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;
  
237 ····.line·209251 ····.line·217
238 ····new-instance·v0,·Landroid/util/ArrayMap;252 ····new-instance·v0,·Landroid/util/ArrayMap;
  
239 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V253 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V
  
240 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map;254 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map;
  
241 ····.line·216255 ····.line·224
242 ····new-instance·v0,·Landroid/util/ArraySet;256 ····new-instance·v0,·Landroid/util/ArraySet;
  
243 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V257 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V
  
244 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;258 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;
  
245 ····.line·219259 ····.line·227
246 ····iput-object·p1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;260 ····iput-object·p1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;
  
247 ····.line·220261 ····.line·228
248 ····new-instance·v0,·Landroid/drm/DrmManagerClient;262 ····new-instance·v0,·Landroid/drm/DrmManagerClient;
  
249 ····invoke-direct·{v0,·p1},·Landroid/drm/DrmManagerClient;-><init>(Landroid/content/Context;)V263 ····invoke-direct·{v0,·p1},·Landroid/drm/DrmManagerClient;-><init>(Landroid/content/Context;)V
  
250 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;264 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;
  
251 ····.line·224265 ····.line·232
252 ····invoke-virtual·{v0},·Landroid/drm/DrmManagerClient;->getAvailableDrmSupportInfo()Ljava/util/Collection;266 ····invoke-virtual·{v0},·Landroid/drm/DrmManagerClient;->getAvailableDrmSupportInfo()Ljava/util/Collection;
  
253 ····move-result-object·p1267 ····move-result-object·p1
  
254 ····invoke-interface·{p1},·Ljava/util/Collection;->iterator()Ljava/util/Iterator;268 ····invoke-interface·{p1},·Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  
255 ····move-result-object·p1269 ····move-result-object·p1
Offset 333, 28 lines modifiedOffset 355, 28 lines modified
  
333 ····invoke-interface·{p1},·Ljava/util/Iterator;->next()Ljava/lang/Object;355 ····invoke-interface·{p1},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
334 ····move-result-object·v0356 ····move-result-object·v0
  
335 ····check-cast·v0,·Landroid/drm/DrmSupportInfo;357 ····check-cast·v0,·Landroid/drm/DrmSupportInfo;
  
336 ····.line·225358 ····.line·233
337 ····invoke-virtual·{v0},·Landroid/drm/DrmSupportInfo;->getMimeTypeIterator()Ljava/util/Iterator;359 ····invoke-virtual·{v0},·Landroid/drm/DrmSupportInfo;->getMimeTypeIterator()Ljava/util/Iterator;
  
338 ····move-result-object·v0360 ····move-result-object·v0
  
339 ····.line·226361 ····.line·234
340 ····:goto_0362 ····:goto_0
341 ····invoke-interface·{v0},·Ljava/util/Iterator;->hasNext()Z363 ····invoke-interface·{v0},·Ljava/util/Iterator;->hasNext()Z
  
342 ····move-result·v1364 ····move-result·v1
  
343 ····if-eqz·v1,·:cond_0365 ····if-eqz·v1,·:cond_0
  
344 ····.line·227366 ····.line·235
345 ····iget-object·v1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;367 ····iget-object·v1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;
  
346 ····invoke-interface·{v0},·Ljava/util/Iterator;->next()Ljava/lang/Object;368 ····invoke-interface·{v0},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
347 ····move-result-object·v2369 ····move-result-object·v2
  
348 ····check-cast·v2,·Ljava/lang/String;370 ····check-cast·v2,·Ljava/lang/String;
Offset 460, 26 lines modifiedOffset 482, 26 lines modified
  
460 ····return-object·p0482 ····return-object·p0
461 .end·method483 .end·method
  
462 .method·private·addActiveScan(Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V484 .method·private·addActiveScan(Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V
463 ····.locals·1485 ····.locals·1
  
464 ····.line·296486 ····.line·304
465 ····iget-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;487 ····iget-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;
  
466 ····monitor-enter·v0488 ····monitor-enter·v0
  
467 ····.line·297489 ····.line·305
468 ····:try_start_0490 ····:try_start_0
469 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;491 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;
  
470 ····invoke-interface·{p0,·p1},·Ljava/util/List;->add(Ljava/lang/Object;)Z492 ····invoke-interface·{p0,·p1},·Ljava/util/List;->add(Ljava/lang/Object;)Z
  
471 ····.line·298493 ····.line·306
472 ····monitor-exit·v0494 ····monitor-exit·v0
  
473 ····return-void495 ····return-void
  
474 ····:catchall_0496 ····:catchall_0
475 ····move-exception·p0497 ····move-exception·p0
  
Offset 503, 51 lines modifiedOffset 525, 51 lines modified
503 ············"TT;>;"525 ············"TT;>;"
504 ········}526 ········}
505 ····.end·annotation527 ····.end·annotation
  
506 ····.annotation·runtime·Ljava/lang/SafeVarargs;528 ····.annotation·runtime·Ljava/lang/SafeVarargs;
507 ····.end·annotation529 ····.end·annotation
  
508 ····.line·1417530 ····.line·1425
509 ····array-length·v0,·p0531 ····array-length·v0,·p0
  
510 ····const/4·v1,·0x0532 ····const/4·v1,·0x0
  
511 ····:goto_0533 ····:goto_0
512 ····if-ge·v1,·v0,·:cond_1534 ····if-ge·v1,·v0,·:cond_1
  
513 ····aget-object·v2,·p0,·v1535 ····aget-object·v2,·p0,·v1
  
514 ····.line·1418536 ····.line·1426
515 ····invoke-virtual·{v2},·Ljava/util/Optional;->isPresent()Z537 ····invoke-virtual·{v2},·Ljava/util/Optional;->isPresent()Z
  
516 ····move-result·v3538 ····move-result·v3
  
517 ····if-eqz·v3,·:cond_0539 ····if-eqz·v3,·:cond_0
  
518 ····return-object·v2540 ····return-object·v2
  
519 ····:cond_0541 ····:cond_0
520 ····add-int/lit8·v1,·v1,·0x1542 ····add-int/lit8·v1,·v1,·0x1
  
521 ····goto·:goto_0543 ····goto·:goto_0
  
522 ····.line·1422544 ····.line·1430
523 ····:cond_1545 ····:cond_1
524 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;546 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
525 ····move-result-object·p0547 ····move-result-object·p0
  
526 ····return-object·p0548 ····return-object·p0
527 .end·method549 .end·method
  
528 .method·static·isFileAlbumArt(Ljava/io/File;)Z550 .method·static·isFileAlbumArt(Ljava/io/File;)Z
529 ····.locals·1551 ····.locals·1
  
530 ····.line·1711552 ····.line·1719
531 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;553 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
532 ····invoke-virtual·{p0},·Ljava/io/File;->getName()Ljava/lang/String;554 ····invoke-virtual·{p0},·Ljava/io/File;->getName()Ljava/lang/String;
  
533 ····move-result-object·p0555 ····move-result-object·p0
  
534 ····invoke-virtual·{v0,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;556 ····invoke-virtual·{v0,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
Offset 560, 37 lines modifiedOffset 582, 37 lines modified
  
560 ····return·p0582 ····return·p0
561 .end·method583 .end·method
  
562 .method·static·isZero(Ljava/lang/String;)Z584 .method·static·isZero(Ljava/lang/String;)Z
563 ····.locals·4585 ····.locals·4
  
564 ····.line·1715586 ····.line·1723
565 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I587 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I
  
566 ····move-result·v0588 ····move-result·v0
  
567 ····const/4·v1,·0x0589 ····const/4·v1,·0x0
  
568 ····if-nez·v0,·:cond_0590 ····if-nez·v0,·:cond_0
  
569 ····return·v1591 ····return·v1
  
570 ····:cond_0592 ····:cond_0
571 ····move·v0,·v1593 ····move·v0,·v1
  
572 ····.line·1718594 ····.line·1726
573 ····:goto_0595 ····:goto_0
574 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I596 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I
  
575 ····move-result·v2597 ····move-result·v2
  
576 ····if-ge·v0,·v2,·:cond_2598 ····if-ge·v0,·v2,·:cond_2
  
577 ····.line·1719599 ····.line·1727
578 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->charAt(I)C600 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->charAt(I)C
  
579 ····move-result·v2601 ····move-result·v2
  
580 ····const/16·v3,·0x30602 ····const/16·v3,·0x30
  
581 ····if-eq·v2,·v3,·:cond_1603 ····if-eq·v2,·v3,·:cond_1
Offset 607, 53 lines modifiedOffset 629, 53 lines modified
  
607 ····return·p0629 ····return·p0
608 .end·method630 .end·method
  
609 .method·public·static·lastModifiedTime(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)J631 .method·public·static·lastModifiedTime(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)J
610 ····.locals·2632 ····.locals·2
  
611 ····.line·1637633 ····.line·1645
612 ····invoke-static·{},·Landroid/os/Environment;->getStorageDirectory()Ljava/io/File;634 ····invoke-static·{},·Landroid/os/Environment;->getStorageDirectory()Ljava/io/File;
  
613 ····move-result-object·v0635 ····move-result-object·v0
  
614 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/util/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z636 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/util/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
  
615 ····move-result·p0637 ····move-result·p0
  
616 ····const-wide/16·v0,·0x3e8638 ····const-wide/16·v0,·0x3e8
  
617 ····if-eqz·p0,·:cond_0639 ····if-eqz·p0,·:cond_0
  
618 ····.line·1638640 ····.line·1646
619 ····invoke-interface·{p1},·Ljava/nio/file/attribute/BasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;641 ····invoke-interface·{p1},·Ljava/nio/file/attribute/BasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
  
620 ····move-result-object·p0642 ····move-result-object·p0
  
621 ····invoke-virtual·{p0},·Ljava/nio/file/attribute/FileTime;->toMillis()J643 ····invoke-virtual·{p0},·Ljava/nio/file/attribute/FileTime;->toMillis()J
  
622 ····move-result-wide·p0644 ····move-result-wide·p0
  
623 ····div-long/2addr·p0,·v0645 ····div-long/2addr·p0,·v0
  
624 ····return-wide·p0646 ····return-wide·p0
  
625 ····.line·1640647 ····.line·1648
626 ····:cond_0648 ····:cond_0
627 ····sget-wide·p0,·Landroid/os/Build;->TIME:J649 ····sget-wide·p0,·Landroid/os/Build;->TIME:J
  
628 ····div-long/2addr·p0,·v0650 ····div-long/2addr·p0,·v0
  
629 ····return-wide·p0651 ····return-wide·p0
630 .end·method652 .end·method
  
631 .method·static·logTroubleScanning(Ljava/io/File;Ljava/lang/Exception;)V653 .method·static·logTroubleScanning(Ljava/io/File;Ljava/lang/Exception;)V
632 ····.locals·2654 ····.locals·2
  
633 ····.line·1727655 ····.line·1735
634 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z656 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z
  
635 ····if-eqz·v0,·:cond_0657 ····if-eqz·v0,·:cond_0
  
636 ····new-instance·v0,·Ljava/lang/StringBuilder;658 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
637 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V659 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
Offset 681, 20 lines modifiedOffset 703, 20 lines modified
681 ····:cond_0703 ····:cond_0
682 ····return-void704 ····return-void
683 .end·method705 .end·method
  
684 .method·private·static·maybeTruncateXmp(Lcom/android/providers/media/util/XmpInterface;)[B706 .method·private·static·maybeTruncateXmp(Lcom/android/providers/media/util/XmpInterface;)[B
685 ····.locals·2707 ····.locals·2
  
686 ····.line·1117708 ····.line·1125
687 ····invoke-virtual·{p0},·Lcom/android/providers/media/util/XmpInterface;->getRedactedXmp()[B709 ····invoke-virtual·{p0},·Lcom/android/providers/media/util/XmpInterface;->getRedactedXmp()[B
  
688 ····move-result-object·p0710 ····move-result-object·p0
  
689 ····.line·1118711 ····.line·1126
690 ····array-length·v0,·p0712 ····array-length·v0,·p0
  
691 ····const/high16·v1,·0x100000713 ····const/high16·v1,·0x100000
  
692 ····if-le·v0,·v1,·:cond_0714 ····if-le·v0,·v1,·:cond_0
  
693 ····const/4·p0,·0x0715 ····const/4·p0,·0x0
Offset 704, 55 lines modifiedOffset 726, 55 lines modified
704 ····:cond_0726 ····:cond_0
705 ····return-object·p0727 ····return-object·p0
706 .end·method728 .end·method
  
707 .method·private·static·newUpsert(Ljava/lang/String;J)Landroid/content/ContentProviderOperation$Builder;729 .method·private·static·newUpsert(Ljava/lang/String;J)Landroid/content/ContentProviderOperation$Builder;
708 ····.locals·2730 ····.locals·2
  
709 ····.line·1401731 ····.line·1409
710 ····invoke-static·{p0},·Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;732 ····invoke-static·{p0},·Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
  
711 ····move-result-object·p0733 ····move-result-object·p0
  
712 ····const-wide/16·v0,·-0x1734 ····const-wide/16·v0,·-0x1
  
713 ····cmp-long·v0,·p1,·v0735 ····cmp-long·v0,·p1,·v0
  
714 ····const/4·v1,·0x1736 ····const/4·v1,·0x1
  
715 ····if-nez·v0,·:cond_0737 ····if-nez·v0,·:cond_0
  
716 ····.line·1403738 ····.line·1411
717 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;739 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
  
718 ····move-result-object·p0740 ····move-result-object·p0
  
719 ····.line·1404741 ····.line·1412
720 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;742 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
  
721 ····move-result-object·p0743 ····move-result-object·p0
  
722 ····return-object·p0744 ····return-object·p0
  
723 ····.line·1406745 ····.line·1414
724 ····:cond_0746 ····:cond_0
725 ····invoke-static·{p0,·p1,·p2},·Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;747 ····invoke-static·{p0,·p1,·p2},·Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
  
726 ····move-result-object·p0748 ····move-result-object·p0
  
727 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;749 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
  
728 ····move-result-object·p0750 ····move-result-object·p0
  
729 ····.line·1407751 ····.line·1415
730 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;752 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
  
731 ····move-result-object·p0753 ····move-result-object·p0
  
732 ····.line·1408754 ····.line·1416
733 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;755 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
  
734 ····move-result-object·p0756 ····move-result-object·p0
  
735 ····return-object·p0757 ····return-object·p0
736 .end·method758 .end·method
  
Offset 772, 30 lines modifiedOffset 794, 30 lines modified
  
772 ····.annotation·system·Ldalvik/annotation/Throws;794 ····.annotation·system·Ldalvik/annotation/Throws;
773 ········value·=·{795 ········value·=·{
774 ············Ljava/text/ParseException;796 ············Ljava/text/ParseException;
775 ········}797 ········}
776 ····.end·annotation798 ····.end·annotation
  
777 ····.line·1576799 ····.line·1584
778 ····invoke-virtual·{p1,·p0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;800 ····invoke-virtual·{p1,·p0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
  
779 ····move-result-object·p0801 ····move-result-object·p0
  
780 ····invoke-virtual·{p0},·Ljava/util/Date;->getTime()J802 ····invoke-virtual·{p0},·Ljava/util/Date;->getTime()J
  
781 ····move-result-wide·p0803 ····move-result-wide·p0
  
782 ····const-wide/16·v0,·0x0804 ····const-wide/16·v0,·0x0
  
783 ····cmp-long·v0,·p0,·v0805 ····cmp-long·v0,·p0,·v0
  
784 ····if-lez·v0,·:cond_0806 ····if-lez·v0,·:cond_0
  
785 ····.line·1577807 ····.line·1585
786 ····invoke-static·{p0,·p1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;808 ····invoke-static·{p0,·p1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
787 ····move-result-object·p0809 ····move-result-object·p0
  
788 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;810 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
789 ····move-result-object·p0811 ····move-result-object·p0
Offset 821, 22 lines modifiedOffset 843, 22 lines modified
821 ············"Ljava/util/Optional<",843 ············"Ljava/util/Optional<",
822 ············"TT;>;"844 ············"TT;>;"
823 ········}845 ········}
824 ····.end·annotation846 ····.end·annotation
  
825 ····if-nez·p0,·:cond_0847 ····if-nez·p0,·:cond_0
  
826 ····.line·1428848 ····.line·1436
827 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;849 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
828 ····move-result-object·p0850 ····move-result-object·p0
  
829 ····return-object·p0851 ····return-object·p0
  
830 ····.line·1429852 ····.line·1437
831 ····:cond_0853 ····:cond_0
832 ····instance-of·v0,·p0,·Ljava/lang/String;854 ····instance-of·v0,·p0,·Ljava/lang/String;
  
833 ····if-eqz·v0,·:cond_1855 ····if-eqz·v0,·:cond_1
  
834 ····move-object·v1,·p0856 ····move-object·v1,·p0
  
Offset 844, 70 lines modifiedOffset 866, 70 lines modified
  
844 ····invoke-virtual·{v1},·Ljava/lang/String;->length()I866 ····invoke-virtual·{v1},·Ljava/lang/String;->length()I
  
845 ····move-result·v1867 ····move-result·v1
  
846 ····if-nez·v1,·:cond_1868 ····if-nez·v1,·:cond_1
  
847 ····.line·1430869 ····.line·1438
848 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;870 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
849 ····move-result-object·p0871 ····move-result-object·p0
  
850 ····return-object·p0872 ····return-object·p0
  
851 ····:cond_1873 ····:cond_1
852 ····if-eqz·v0,·:cond_2874 ····if-eqz·v0,·:cond_2
  
853 ····.line·1431875 ····.line·1439
854 ····move-object·v1,·p0876 ····move-object·v1,·p0
  
855 ····check-cast·v1,·Ljava/lang/String;877 ····check-cast·v1,·Ljava/lang/String;
  
856 ····const-string·v2,·"-1"878 ····const-string·v2,·"-1"
  
857 ····invoke-virtual·{v1,·v2},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z879 ····invoke-virtual·{v1,·v2},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
858 ····move-result·v1880 ····move-result·v1
  
859 ····if-eqz·v1,·:cond_2881 ····if-eqz·v1,·:cond_2
  
860 ····.line·1432882 ····.line·1440
861 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;883 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
862 ····move-result-object·p0884 ····move-result-object·p0
  
863 ····return-object·p0885 ····return-object·p0
  
864 ····:cond_2886 ····:cond_2
865 ····if-eqz·v0,·:cond_3887 ····if-eqz·v0,·:cond_3
  
866 ····.line·1433888 ····.line·1441
867 ····move-object·v0,·p0889 ····move-object·v0,·p0
  
868 ····check-cast·v0,·Ljava/lang/String;890 ····check-cast·v0,·Ljava/lang/String;
  
869 ····invoke-virtual·{v0},·Ljava/lang/String;->trim()Ljava/lang/String;891 ····invoke-virtual·{v0},·Ljava/lang/String;->trim()Ljava/lang/String;
  
870 ····move-result-object·v0892 ····move-result-object·v0
  
871 ····invoke-virtual·{v0},·Ljava/lang/String;->length()I893 ····invoke-virtual·{v0},·Ljava/lang/String;->length()I
  
872 ····move-result·v0894 ····move-result·v0
  
873 ····if-nez·v0,·:cond_3895 ····if-nez·v0,·:cond_3
  
874 ····.line·1434896 ····.line·1442
875 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;897 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
876 ····move-result-object·p0898 ····move-result-object·p0
  
877 ····return-object·p0899 ····return-object·p0
  
878 ····.line·1435900 ····.line·1443
879 ····:cond_3901 ····:cond_3
880 ····instance-of·v0,·p0,·Ljava/lang/Number;902 ····instance-of·v0,·p0,·Ljava/lang/Number;
  
881 ····if-eqz·v0,·:cond_4903 ····if-eqz·v0,·:cond_4
  
882 ····move-object·v0,·p0904 ····move-object·v0,·p0
  
Offset 917, 22 lines modifiedOffset 939, 22 lines modified
  
917 ····move-result·v0939 ····move-result·v0
  
918 ····const/4·v1,·-0x1940 ····const/4·v1,·-0x1
  
919 ····if-ne·v0,·v1,·:cond_4941 ····if-ne·v0,·v1,·:cond_4
  
920 ····.line·1436942 ····.line·1444
921 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;943 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
922 ····move-result-object·p0944 ····move-result-object·p0
  
923 ····return-object·p0945 ····return-object·p0
  
924 ····.line·1438946 ····.line·1446
925 ····:cond_4947 ····:cond_4
926 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;948 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
927 ····move-result-object·p0949 ····move-result-object·p0
  
928 ····return-object·p0950 ····return-object·p0
929 .end·method951 .end·method
Offset 946, 50 lines modifiedOffset 968, 50 lines modified
946 ············")",968 ············")",
947 ············"Ljava/util/Optional<",969 ············"Ljava/util/Optional<",
948 ············"Ljava/lang/Long;",970 ············"Ljava/lang/Long;",
949 ············">;"971 ············">;"
950 ········}972 ········}
951 ····.end·annotation973 ····.end·annotation
  
952 ····.line·1553974 ····.line·1561
953 ····invoke-static·{p0},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z975 ····invoke-static·{p0},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
954 ····move-result·v0976 ····move-result·v0
  
955 ····if-eqz·v0,·:cond_0977 ····if-eqz·v0,·:cond_0
  
956 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;978 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
957 ····move-result-object·p0979 ····move-result-object·p0
  
958 ····return-object·p0980 ····return-object·p0
  
959 ····.line·1555981 ····.line·1563
960 ····:cond_0982 ····:cond_0
961 ····:try_start_0983 ····:try_start_0
962 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->S_DATE_FORMAT_WITH_MILLIS:Ljava/text/SimpleDateFormat;984 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->S_DATE_FORMAT_WITH_MILLIS:Ljava/text/SimpleDateFormat;
  
963 ····monitor-enter·v0985 ····monitor-enter·v0
964 ····:try_end_0986 ····:try_end_0
965 ····.catch·Ljava/text/ParseException;·{:try_start_0·..·:try_end_0}·:catch_0987 ····.catch·Ljava/text/ParseException;·{:try_start_0·..·:try_end_0}·:catch_0
  
966 ····.line·1556988 ····.line·1564
967 ····:try_start_1989 ····:try_start_1
968 ····invoke-static·{p0,·v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseDateWithFormat(Ljava/lang/String;Ljava/text/SimpleDateFormat;)Ljava/util/Optional;990 ····invoke-static·{p0,·v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseDateWithFormat(Ljava/lang/String;Ljava/text/SimpleDateFormat;)Ljava/util/Optional;
  
969 ····move-result-object·v1991 ····move-result-object·v1
  
970 ····monitor-exit·v0992 ····monitor-exit·v0
  
971 ····return-object·v1993 ····return-object·v1
  
972 ····:catchall_0994 ····:catchall_0
973 ····move-exception·v1995 ····move-exception·v1
  
974 ····.line·1557996 ····.line·1565
975 ····monitor-exit·v0997 ····monitor-exit·v0
976 ····:try_end_1998 ····:try_end_1
977 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0999 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0
  
978 ····:try_start_21000 ····:try_start_2
979 ····throw·v11001 ····throw·v1
980 ····:try_end_21002 ····:try_end_2
Offset 1004, 43 lines modifiedOffset 1026, 43 lines modified
  
1004 ····new-array·v3,·v2,·[Ljava/lang/Object;1026 ····new-array·v3,·v2,·[Ljava/lang/Object;
  
1005 ····const/4·v4,·0x01027 ····const/4·v4,·0x0
  
1006 ····aput-object·p0,·v3,·v41028 ····aput-object·p0,·v3,·v4
  
1007 ····.line·15601029 ····.line·1568
1008 ····invoke-static·{v1,·v3},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;1030 ····invoke-static·{v1,·v3},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
  
1009 ····move-result-object·v11031 ····move-result-object·v1
  
1010 ····invoke-static·{v0,·v1},·Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I1032 ····invoke-static·{v0,·v1},·Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  
1011 ····.line·15651033 ····.line·1573
1012 ····:try_start_31034 ····:try_start_3
1013 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->S_DATE_FORMAT:Ljava/text/SimpleDateFormat;1035 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->S_DATE_FORMAT:Ljava/text/SimpleDateFormat;
  
1014 ····monitor-enter·v01036 ····monitor-enter·v0
1015 ····:try_end_31037 ····:try_end_3
1016 ····.catch·Ljava/text/ParseException;·{:try_start_3·..·:try_end_3}·:catch_11038 ····.catch·Ljava/text/ParseException;·{:try_start_3·..·:try_end_3}·:catch_1
  
1017 ····.line·15661039 ····.line·1574
1018 ····:try_start_41040 ····:try_start_4
1019 ····invoke-static·{p0,·v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseDateWithFormat(Ljava/lang/String;Ljava/text/SimpleDateFormat;)Ljava/util/Optional;1041 ····invoke-static·{p0,·v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseDateWithFormat(Ljava/lang/String;Ljava/text/SimpleDateFormat;)Ljava/util/Optional;
  
1020 ····move-result-object·v11042 ····move-result-object·v1
  
1021 ····monitor-exit·v01043 ····monitor-exit·v0
  
1022 ····return-object·v11044 ····return-object·v1
  
1023 ····:catchall_11045 ····:catchall_1
1024 ····move-exception·v11046 ····move-exception·v1
  
1025 ····.line·15671047 ····.line·1575
1026 ····monitor-exit·v01048 ····monitor-exit·v0
1027 ····:try_end_41049 ····:try_end_4
1028 ····.catchall·{:try_start_4·..·:try_end_4}·:catchall_11050 ····.catchall·{:try_start_4·..·:try_end_4}·:catchall_1
  
1029 ····:try_start_51051 ····:try_start_5
1030 ····throw·v11052 ····throw·v1
1031 ····:try_end_51053 ····:try_end_5
Offset 1051, 22 lines modifiedOffset 1073, 22 lines modified
  
1051 ····const-string·v1,·"Parsing·date·without·millis·failed·for·[%s]"1073 ····const-string·v1,·"Parsing·date·without·millis·failed·for·[%s]"
  
1052 ····new-array·v2,·v2,·[Ljava/lang/Object;1074 ····new-array·v2,·v2,·[Ljava/lang/Object;
  
1053 ····aput-object·p0,·v2,·v41075 ····aput-object·p0,·v2,·v4
  
1054 ····.line·15691076 ····.line·1577
1055 ····invoke-static·{v1,·v2},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;1077 ····invoke-static·{v1,·v2},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
  
1056 ····move-result-object·p01078 ····move-result-object·p0
  
1057 ····invoke-static·{v0,·p0},·Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I1079 ····invoke-static·{v0,·p0},·Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  
1058 ····.line·15701080 ····.line·1578
1059 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;1081 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
1060 ····move-result-object·p01082 ····move-result-object·p0
  
1061 ····return-object·p01083 ····return-object·p0
1062 .end·method1084 .end·method
  
Offset 1079, 40 lines modifiedOffset 1101, 40 lines modified
1079 ············"J)",1101 ············"J)",
1080 ············"Ljava/util/Optional<",1102 ············"Ljava/util/Optional<",
1081 ············"Ljava/lang/Long;",1103 ············"Ljava/lang/Long;",
1082 ············">;"1104 ············">;"
1083 ········}1105 ········}
1084 ····.end·annotation1106 ····.end·annotation
  
1085 ····.line·14801107 ····.line·1488
1086 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getDateTimeOriginal(Landroid/media/ExifInterface;)J1108 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getDateTimeOriginal(Landroid/media/ExifInterface;)J
  
1087 ····move-result-wide·v01109 ····move-result-wide·v0
  
1088 ····const-string·v2,·"OffsetTimeOriginal"1110 ····const-string·v2,·"OffsetTimeOriginal"
  
1089 ····.line·14811111 ····.line·1489
1090 ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->hasAttribute(Ljava/lang/String;)Z1112 ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->hasAttribute(Ljava/lang/String;)Z
  
1091 ····move-result·v21113 ····move-result·v2
  
1092 ····if-eqz·v2,·:cond_01114 ····if-eqz·v2,·:cond_0
  
1093 ····.line·14831115 ····.line·1491
1094 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;1116 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
1095 ····move-result-object·p01117 ····move-result-object·p0
  
1096 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;1118 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
1097 ····move-result-object·p01119 ····move-result-object·p0
  
1098 ····return-object·p01120 ····return-object·p0
  
1099 ····.line·14871121 ····.line·1495
1100 ····:cond_01122 ····:cond_0
1101 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getGpsDateTime(Landroid/media/ExifInterface;)J1123 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getGpsDateTime(Landroid/media/ExifInterface;)J
  
1102 ····move-result-wide·v21124 ····move-result-wide·v2
  
1103 ····const-wide/16·v4,·0x01125 ····const-wide/16·v4,·0x0
  
Offset 1124, 39 lines modifiedOffset 1146, 39 lines modified
  
1124 ····const-wide/32·v9,·0x5265c001146 ····const-wide/32·v9,·0x5265c00
  
1125 ····if-lez·p0,·:cond_11147 ····if-lez·p0,·:cond_1
  
1126 ····sub-long/2addr·v2,·v01148 ····sub-long/2addr·v2,·v0
  
1127 ····.line·14901149 ····.line·1498
1128 ····invoke-static·{v2,·v3},·Ljava/lang/Math;->abs(J)J1150 ····invoke-static·{v2,·v3},·Ljava/lang/Math;->abs(J)J
  
1129 ····move-result-wide·v111151 ····move-result-wide·v11
  
1130 ····cmp-long·p0,·v11,·v91152 ····cmp-long·p0,·v11,·v9
  
1131 ····if-gez·p0,·:cond_11153 ····if-gez·p0,·:cond_1
  
1132 ····long-to-float·p0,·v21154 ····long-to-float·p0,·v2
  
1133 ····div-float/2addr·p0,·v81155 ····div-float/2addr·p0,·v8
  
1134 ····.line·14911156 ····.line·1499
1135 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I1157 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I
  
1136 ····move-result·p01158 ····move-result·p0
  
1137 ····int-to-long·p0,·p01159 ····int-to-long·p0,·p0
  
1138 ····mul-long/2addr·p0,·v61160 ····mul-long/2addr·p0,·v6
  
1139 ····add-long/2addr·v0,·p01161 ····add-long/2addr·v0,·p0
  
1140 ····.line·14921162 ····.line·1500
1141 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;1163 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
1142 ····move-result-object·p01164 ····move-result-object·p0
  
1143 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;1165 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
1144 ····move-result-object·p01166 ····move-result-object·p0
Offset 1166, 50 lines modifiedOffset 1188, 50 lines modified
1166 ····:cond_11188 ····:cond_1
1167 ····cmp-long·p0,·p1,·v41189 ····cmp-long·p0,·p1,·v4
  
1168 ····if-lez·p0,·:cond_21190 ····if-lez·p0,·:cond_2
  
1169 ····sub-long/2addr·p1,·v01191 ····sub-long/2addr·p1,·v0
  
1170 ····.line·14971192 ····.line·1505
1171 ····invoke-static·{p1,·p2},·Ljava/lang/Math;->abs(J)J1193 ····invoke-static·{p1,·p2},·Ljava/lang/Math;->abs(J)J
  
1172 ····move-result-wide·v21194 ····move-result-wide·v2
  
1173 ····cmp-long·p0,·v2,·v91195 ····cmp-long·p0,·v2,·v9
  
1174 ····if-gez·p0,·:cond_21196 ····if-gez·p0,·:cond_2
  
1175 ····long-to-float·p0,·p11197 ····long-to-float·p0,·p1
  
1176 ····div-float/2addr·p0,·v81198 ····div-float/2addr·p0,·v8
  
1177 ····.line·14981199 ····.line·1506
1178 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I1200 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I
  
1179 ····move-result·p01201 ····move-result·p0
  
1180 ····int-to-long·p0,·p01202 ····int-to-long·p0,·p0
  
1181 ····mul-long/2addr·p0,·v61203 ····mul-long/2addr·p0,·v6
  
1182 ····add-long/2addr·v0,·p01204 ····add-long/2addr·v0,·p0
  
1183 ····.line·14991205 ····.line·1507
1184 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;1206 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
1185 ····move-result-object·p01207 ····move-result-object·p0
  
1186 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;1208 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
1187 ····move-result-object·p01209 ····move-result-object·p0
  
1188 ····return-object·p01210 ····return-object·p0
  
1189 ····.line·15021211 ····.line·1510
1190 ····:cond_21212 ····:cond_2
1191 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;1213 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
1192 ····move-result-object·p01214 ····move-result-object·p0
  
1193 ····return-object·p01215 ····return-object·p0
1194 .end·method1216 .end·method
Offset 1225, 35 lines modifiedOffset 1247, 35 lines modified
1225 ············"Ljava/lang/String;",1247 ············"Ljava/lang/String;",
1226 ············">;"1248 ············">;"
1227 ········}1249 ········}
1228 ····.end·annotation1250 ····.end·annotation
  
1229 ····const/16·v0,·0x1d1251 ····const/16·v0,·0x1d
  
1230 ····.line·15281252 ····.line·1536
1231 ····invoke-virtual·{p0,·v0},·Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;1253 ····invoke-virtual·{p0,·v0},·Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
  
1232 ····move-result-object·v01254 ····move-result-object·v0
  
1233 ····invoke-static·{v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;1255 ····invoke-static·{v0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;
  
1234 ····move-result-object·v01256 ····move-result-object·v0
  
1235 ····const/16·v1,·0x1e1257 ····const/16·v1,·0x1e
  
1236 ····.line·15291258 ····.line·1537
1237 ····invoke-virtual·{p0,·v1},·Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;1259 ····invoke-virtual·{p0,·v1},·Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
  
1238 ····move-result-object·p01260 ····move-result-object·p0
  
1239 ····invoke-static·{p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;1261 ····invoke-static·{p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;
  
1240 ····move-result-object·p01262 ····move-result-object·p0
  
1241 ····.line·15301263 ····.line·1538
1242 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptionalResolution(Ljava/util/Optional;Ljava/util/Optional;)Ljava/util/Optional;1264 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptionalResolution(Ljava/util/Optional;Ljava/util/Optional;)Ljava/util/Optional;
  
1243 ····move-result-object·p01265 ····move-result-object·p0
  
1244 ····return-object·p01266 ····return-object·p0
1245 .end·method1267 .end·method
  
Offset 1267, 15 lines modifiedOffset 1289, 15 lines modified
1267 ············")",1289 ············")",
1268 ············"Ljava/util/Optional<",1290 ············"Ljava/util/Optional<",
1269 ············"Ljava/lang/String;",1291 ············"Ljava/lang/String;",
1270 ············">;"1292 ············">;"
1271 ········}1293 ········}
1272 ····.end·annotation1294 ····.end·annotation
  
1273 ····.line·16171295 ····.line·1625
1274 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1296 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1275 ····move-result·v01297 ····move-result·v0
  
1276 ····if-eqz·v0,·:cond_01298 ····if-eqz·v0,·:cond_0
  
1277 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;1299 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
Offset 1283, 24 lines modifiedOffset 1305, 24 lines modified
1283 ····move-result-object·p01305 ····move-result-object·p0
  
1284 ····return-object·p01306 ····return-object·p0
  
1285 ····:cond_01307 ····:cond_0
1286 ····const/16·v0,·0x2f1308 ····const/16·v0,·0x2f
  
1287 ····.line·16201309 ····.line·1628
1288 ····invoke-virtual·{p1,·v0},·Ljava/lang/String;->indexOf(I)I1310 ····invoke-virtual·{p1,·v0},·Ljava/lang/String;->indexOf(I)I
  
1289 ····move-result·v01311 ····move-result·v0
  
1290 ····const/4·v1,·-0x11312 ····const/4·v1,·-0x1
  
1291 ····if-ne·v0,·v1,·:cond_11313 ····if-ne·v0,·v1,·:cond_1
  
1292 ····.line·16211314 ····.line·1629
1293 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;1315 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
1294 ····move-result-object·p01316 ····move-result-object·p0
  
1295 ····return-object·p01317 ····return-object·p0
  
1296 ····:cond_11318 ····:cond_1
Offset 1312, 29 lines modifiedOffset 1334, 29 lines modified
  
1312 ····add-int/lit8·v5,·v0,·0x11334 ····add-int/lit8·v5,·v0,·0x1
  
1313 ····move-object·v0,·p01335 ····move-object·v0,·p0
  
1314 ····move-object·v3,·p11336 ····move-object·v3,·p1
  
1315 ····.line·16231337 ····.line·1631
1316 ····invoke-virtual/range·{v0·..·v5},·Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z1338 ····invoke-virtual/range·{v0·..·v5},·Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z
  
1317 ····move-result·p01339 ····move-result·p0
  
1318 ····if-eqz·p0,·:cond_21340 ····if-eqz·p0,·:cond_2
  
1319 ····.line·16241341 ····.line·1632
1320 ····invoke-static·{p1},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;1342 ····invoke-static·{p1},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
1321 ····move-result-object·p01343 ····move-result-object·p0
  
1322 ····return-object·p01344 ····return-object·p0
  
1323 ····.line·16261345 ····.line·1634
1324 ····:cond_21346 ····:cond_2
1325 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;1347 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
1326 ····move-result-object·p01348 ····move-result-object·p0
  
1327 ····return-object·p01349 ····return-object·p0
1328 .end·method1350 .end·method
Offset 1348, 52 lines modifiedOffset 1370, 52 lines modified
1348 ············")",1370 ············")",
1349 ············"Ljava/util/Optional<",1371 ············"Ljava/util/Optional<",
1350 ············"Ljava/lang/Integer;",1372 ············"Ljava/lang/Integer;",
1351 ············">;"1373 ············">;"
1352 ········}1374 ········}
1353 ····.end·annotation1375 ····.end·annotation
  
1354 ····.line·14551376 ····.line·1463
1355 ····invoke-static·{p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;1377 ····invoke-static·{p0},·Lcom/android/providers/media/scan/ModernMediaScanner;->parseOptional(Ljava/lang/Object;)Ljava/util/Optional;
  
1356 ····move-result-object·p01378 ····move-result-object·p0
  
1357 ····.line·14561379 ····.line·1464
1358 ····invoke-virtual·{p0},·Ljava/util/Optional;->isPresent()Z1380 ····invoke-virtual·{p0},·Ljava/util/Optional;->isPresent()Z
  
1359 ····move-result·v01381 ····move-result·v0
  
1360 ····if-eqz·v0,·:cond_11382 ····if-eqz·v0,·:cond_1
  
1361 ····.line·14571383 ····.line·1465
1362 ····invoke-virtual·{p0},·Ljava/util/Optional;->get()Ljava/lang/Object;1384 ····invoke-virtual·{p0},·Ljava/util/Optional;->get()Ljava/lang/Object;
  
1363 ····move-result-object·p01385 ····move-result-object·p0
  
1364 ····check-cast·p0,·Ljava/lang/String;1386 ····check-cast·p0,·Ljava/lang/String;
  
1365 ····const/16·v0,·0x2f1387 ····const/16·v0,·0x2f
  
1366 ····.line·14581388 ····.line·1466
1367 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->indexOf(I)I1389 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->indexOf(I)I
  
1368 ····move-result·v01390 ····move-result·v0
  
1369 ····const/4·v1,·-0x11391 ····const/4·v1,·-0x1
  
1370 ····if-eq·v0,·v1,·:cond_01392 ····if-eq·v0,·v1,·:cond_0
  
Max diff block lines reached; 92808/120047 bytes (77.31%) of diff not shown.