Offset 20, 18 lines modifiedOffset 20, 14 lines modified
  
20 .field·private·static·final·LOGD:Z20 .field·private·static·final·LOGD:Z
  
21 .field·private·static·final·LOGV:Z21 .field·private·static·final·LOGV:Z
  
22 .field·private·static·final·LOGW:Z22 .field·private·static·final·LOGW:Z
  
23 .field·private·static·final·MAX_EXCLUDE_DIRS:I·=·0x1c2 
  
24 .field·private·static·final·MAX_XMP_SIZE_BYTES:I·=·0x100000 
  
25 .field·private·static·final·PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;23 .field·private·static·final·PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
26 .field·private·static·final·PATTERN_INVISIBLE:Ljava/util/regex/Pattern;24 .field·private·static·final·PATTERN_INVISIBLE:Ljava/util/regex/Pattern;
  
27 .field·private·static·final·PATTERN_VISIBLE:Ljava/util/regex/Pattern;25 .field·private·static·final·PATTERN_VISIBLE:Ljava/util/regex/Pattern;
  
28 .field·private·static·final·PATTERN_YEAR:Ljava/util/regex/Pattern;26 .field·private·static·final·PATTERN_YEAR:Ljava/util/regex/Pattern;
Offset 49, 24 lines modifiedOffset 45, 14 lines modified
49 ····.end·annotation45 ····.end·annotation
50 .end·field46 .end·field
  
51 .field·private·static·final·sDateFormat:Ljava/text/SimpleDateFormat;47 .field·private·static·final·sDateFormat:Ljava/text/SimpleDateFormat;
  
  
52 #·instance·fields48 #·instance·fields
53 .field·private·final·mActiveScans:Ljava/util/List; 
54 ····.annotation·system·Ldalvik/annotation/Signature; 
55 ········value·=·{ 
56 ············"Ljava/util/List<", 
57 ············"Lcom/android/providers/media/scan/ModernMediaScanner$Scan;", 
58 ············">;" 
59 ········} 
60 ····.end·annotation 
61 .end·field 
  
62 .field·private·final·mContext:Landroid/content/Context;49 .field·private·final·mContext:Landroid/content/Context;
  
63 .field·private·final·mDirectoryLocks:Ljava/util/Map;50 .field·private·final·mDirectoryLocks:Ljava/util/Map;
64 ····.annotation·system·Ldalvik/annotation/Signature;51 ····.annotation·system·Ldalvik/annotation/Signature;
65 ········value·=·{52 ········value·=·{
66 ············"Ljava/util/Map<",53 ············"Ljava/util/Map<",
67 ············"Ljava/nio/file/Path;",54 ············"Ljava/nio/file/Path;",
Offset 84, 219 lines modifiedOffset 70, 213 lines modified
84 ············"Ljava/util/Set<",70 ············"Ljava/util/Set<",
85 ············"Ljava/lang/String;",71 ············"Ljava/lang/String;",
86 ············">;"72 ············">;"
87 ········}73 ········}
88 ····.end·annotation74 ····.end·annotation
89 .end·field75 .end·field
  
90 .field·private·final·mPendingCleanDirectories:Ljava/util/Set;76 .field·private·final·mSignals:Landroid/util/ArrayMap;
91 ····.annotation·system·Ldalvik/annotation/Signature;77 ····.annotation·system·Ldalvik/annotation/Signature;
92 ········value·=·{78 ········value·=·{
93 ············"Ljava/util/Set<",79 ············"Landroid/util/ArrayMap<",
94 ············"Ljava/lang/String;",80 ············"Ljava/lang/String;",
 81 ············"Landroid/os/CancellationSignal;",
95 ············">;"82 ············">;"
96 ········}83 ········}
97 ····.end·annotation84 ····.end·annotation
98 .end·field85 .end·field
  
  
99 #·direct·methods86 #·direct·methods
100 .method·static·constructor·<clinit>()V87 .method·static·constructor·<clinit>()V
101 ····.locals·388 ····.locals·3
  
102 ····const-string·v0,·"ModernMediaScanner"89 ····const-string·v0,·"ModernMediaScanner"
  
103 ····const/4·v1,·0x590 ····const/4·v1,·0x5
  
104 ····.line·14491 ····.line·141
105 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z92 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
  
106 ····move-result·v193 ····move-result·v1
  
107 ····sput-boolean·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z94 ····sput-boolean·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z
  
108 ····const/4·v1,·0x395 ····const/4·v1,·0x3
  
109 ····.line·14596 ····.line·142
110 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z97 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
  
111 ····move-result·v198 ····move-result·v1
  
112 ····sput-boolean·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGD:Z99 ····sput-boolean·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGD:Z
  
113 ····const/4·v1,·0x2100 ····const/4·v1,·0x2
  
114 ····.line·146101 ····.line·143
115 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z102 ····invoke-static·{v0,·v1},·Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
  
116 ····move-result·v0103 ····move-result·v0
  
117 ····sput-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGV:Z104 ····sput-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGV:Z
  
118 ····.line·157105 ····.line·154
119 ····new-instance·v0,·Ljava/text/SimpleDateFormat;106 ····new-instance·v0,·Ljava/text/SimpleDateFormat;
  
120 ····const-string·v1,·"yyyyMMdd\'T\'HHmmss"107 ····const-string·v1,·"yyyyMMdd\'T\'HHmmss"
  
121 ····invoke-direct·{v0,·v1},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V108 ····invoke-direct·{v0,·v1},·Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
  
122 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;109 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;
  
123 ····const-string·v1,·"UTC"110 ····const-string·v1,·"UTC"
  
124 ····.line·158111 ····.line·155
125 ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;112 ····invoke-static·{v1},·Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  
126 ····move-result-object·v1113 ····move-result-object·v1
  
127 ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V114 ····invoke-virtual·{v0,·v1},·Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
  
128 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?(?:/Android/sandbox/([^/]+))?$"115 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?(?:/Android/sandbox/([^/]+))?$"
  
129 ····.line·168116 ····.line·160
130 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;117 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
131 ····move-result-object·v0118 ····move-result-object·v0
  
132 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_VISIBLE:Ljava/util/regex/Pattern;119 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_VISIBLE:Ljava/util/regex/Pattern;
  
133 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?(?:/Android/sandbox/([^/]+))?/(?:(?:Android/(?:data|obb)$)|(?:(?:Movies|Music|Pictures)/.thumbnails$))"120 ····const-string·v0,·"(?i)^/storage/[^/]+(?:/[0-9]+)?(?:/Android/sandbox/([^/]+))?/(?:(?:Android/(?:data|obb)$)|(?:(?:Movies|Music|Pictures)/.thumbnails$))"
  
134 ····.line·170121 ····.line·162
135 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;122 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
136 ····move-result-object·v0123 ····move-result-object·v0
  
137 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_INVISIBLE:Ljava/util/regex/Pattern;124 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_INVISIBLE:Ljava/util/regex/Pattern;
  
138 ····const-string·v0,·"([1-9][0-9][0-9][0-9])"125 ····const-string·v0,·"([1-9][0-9][0-9][0-9])"
  
139 ····.line·174126 ····.line·166
140 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;127 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
141 ····move-result-object·v0128 ····move-result-object·v0
  
142 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_YEAR:Ljava/util/regex/Pattern;129 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_YEAR:Ljava/util/regex/Pattern;
  
143 ····const-string·v0,·"(?i)(?:(?:^folder|(?:^AlbumArt(?:(?:_\\{.*\\}_)?(?:small|large))?))(?:\\.jpg$)|(?:\\._.*))"130 ····const-string·v0,·"(?i)(?:(?:^folder|(?:^AlbumArt(?:(?:_\\{.*\\}_)?(?:small|large))?))(?:\\.jpg$)|(?:\\._.*))"
  
144 ····.line·176131 ····.line·168
145 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;132 ····invoke-static·{v0},·Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  
146 ····move-result-object·v0133 ····move-result-object·v0
  
147 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;134 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
148 ····.line·1103135 ····.line·952
149 ····new-instance·v0,·Landroid/util/ArrayMap;136 ····new-instance·v0,·Landroid/util/ArrayMap;
  
150 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V137 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V
  
151 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;138 ····sput-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
152 ····.line·1106139 ····.line·955
153 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_RINGTONES:Ljava/lang/String;140 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_RINGTONES:Ljava/lang/String;
  
154 ····const-string·v2,·"is_ringtone"141 ····const-string·v2,·"is_ringtone"
  
155 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;142 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
156 ····.line·1107143 ····.line·956
157 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;144 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
158 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_NOTIFICATIONS:Ljava/lang/String;145 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
  
159 ····const-string·v2,·"is_notification"146 ····const-string·v2,·"is_notification"
  
160 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;147 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
161 ····.line·1108148 ····.line·957
162 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;149 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
163 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_ALARMS:Ljava/lang/String;150 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_ALARMS:Ljava/lang/String;
  
164 ····const-string·v2,·"is_alarm"151 ····const-string·v2,·"is_alarm"
  
165 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;152 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
166 ····.line·1109153 ····.line·958
167 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;154 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
168 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_PODCASTS:Ljava/lang/String;155 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_PODCASTS:Ljava/lang/String;
  
169 ····const-string·v2,·"is_podcast"156 ····const-string·v2,·"is_podcast"
  
170 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;157 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
171 ····.line·1110158 ····.line·959
172 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;159 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
173 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_AUDIOBOOKS:Ljava/lang/String;160 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_AUDIOBOOKS:Ljava/lang/String;
  
174 ····const-string·v2,·"is_audiobook"161 ····const-string·v2,·"is_audiobook"
  
175 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;162 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
176 ····.line·1111163 ····.line·960
177 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;164 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sAudioTypes:Landroid/util/ArrayMap;
  
178 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_MUSIC:Ljava/lang/String;165 ····sget-object·v1,·Landroid/os/Environment;->DIRECTORY_MUSIC:Ljava/lang/String;
  
179 ····const-string·v2,·"is_music"166 ····const-string·v2,·"is_music"
  
180 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;167 ····invoke-virtual·{v0,·v1,·v2},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
181 ····return-void168 ····return-void
182 .end·method169 .end·method
  
183 .method·public·constructor·<init>(Landroid/content/Context;)V170 .method·public·constructor·<init>(Landroid/content/Context;)V
184 ····.locals·3171 ····.locals·3
  
185 ····.line·214172 ····.line·204
186 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V173 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
187 ····.line·181174 ····.line·178
188 ····new-instance·v0,·Landroid/util/ArraySet;175 ····new-instance·v0,·Landroid/util/ArrayMap;
  
189 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V 
  
190 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mPendingCleanDirectories:Ljava/util/Set; 
  
191 ····.line·187 
192 ····new-instance·v0,·Ljava/util/ArrayList; 
  
193 ····invoke-direct·{v0},·Ljava/util/ArrayList;-><init>()V176 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V
  
194 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List;177 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mSignals:Landroid/util/ArrayMap;
  
195 ····.line·205178 ····.line·195
196 ····new-instance·v0,·Landroid/util/ArrayMap;179 ····new-instance·v0,·Landroid/util/ArrayMap;
  
197 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V180 ····invoke-direct·{v0},·Landroid/util/ArrayMap;-><init>()V
  
198 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map;181 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map;
  
199 ····.line·212182 ····.line·202
200 ····new-instance·v0,·Landroid/util/ArraySet;183 ····new-instance·v0,·Landroid/util/ArraySet;
  
201 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V184 ····invoke-direct·{v0},·Landroid/util/ArraySet;-><init>()V
  
202 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;185 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;
  
203 ····.line·215186 ····.line·205
204 ····iput-object·p1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;187 ····iput-object·p1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;
  
205 ····.line·216188 ····.line·206
206 ····new-instance·v0,·Landroid/drm/DrmManagerClient;189 ····new-instance·v0,·Landroid/drm/DrmManagerClient;
  
207 ····invoke-direct·{v0,·p1},·Landroid/drm/DrmManagerClient;-><init>(Landroid/content/Context;)V190 ····invoke-direct·{v0,·p1},·Landroid/drm/DrmManagerClient;-><init>(Landroid/content/Context;)V
  
208 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;191 ····iput-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;
  
209 ····.line·220192 ····.line·210
210 ····invoke-virtual·{v0},·Landroid/drm/DrmManagerClient;->getAvailableDrmSupportInfo()Ljava/util/Collection;193 ····invoke-virtual·{v0},·Landroid/drm/DrmManagerClient;->getAvailableDrmSupportInfo()Ljava/util/Collection;
  
211 ····move-result-object·p1194 ····move-result-object·p1
  
212 ····invoke-interface·{p1},·Ljava/util/Collection;->iterator()Ljava/util/Iterator;195 ····invoke-interface·{p1},·Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  
213 ····move-result-object·p1196 ····move-result-object·p1
Offset 310, 28 lines modifiedOffset 290, 28 lines modified
  
310 ····invoke-interface·{p1},·Ljava/util/Iterator;->next()Ljava/lang/Object;290 ····invoke-interface·{p1},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
311 ····move-result-object·v0291 ····move-result-object·v0
  
312 ····check-cast·v0,·Landroid/drm/DrmSupportInfo;292 ····check-cast·v0,·Landroid/drm/DrmSupportInfo;
  
313 ····.line·221293 ····.line·211
314 ····invoke-virtual·{v0},·Landroid/drm/DrmSupportInfo;->getMimeTypeIterator()Ljava/util/Iterator;294 ····invoke-virtual·{v0},·Landroid/drm/DrmSupportInfo;->getMimeTypeIterator()Ljava/util/Iterator;
  
315 ····move-result-object·v0295 ····move-result-object·v0
  
316 ····.line·222296 ····.line·212
317 ····:goto_0297 ····:goto_0
318 ····invoke-interface·{v0},·Ljava/util/Iterator;->hasNext()Z298 ····invoke-interface·{v0},·Ljava/util/Iterator;->hasNext()Z
  
319 ····move-result·v1299 ····move-result·v1
  
320 ····if-eqz·v1,·:cond_0300 ····if-eqz·v1,·:cond_0
  
321 ····.line·223301 ····.line·213
322 ····iget-object·v1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;302 ····iget-object·v1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;
  
323 ····invoke-interface·{v0},·Ljava/util/Iterator;->next()Ljava/lang/Object;303 ····invoke-interface·{v0},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
324 ····move-result-object·v2304 ····move-result-object·v2
  
325 ····check-cast·v2,·Ljava/lang/String;305 ····check-cast·v2,·Ljava/lang/String;
Offset 340, 137 lines modifiedOffset 320, 92 lines modified
  
340 ····goto·:goto_0320 ····goto·:goto_0
  
341 ····:cond_1321 ····:cond_1
342 ····return-void322 ····return-void
343 .end·method323 .end·method
  
344 .method·static·synthetic·access$1000(Lcom/android/providers/media/scan/ModernMediaScanner;)Ljava/util/Set;324 .method·static·synthetic·access$000(Lcom/android/providers/media/scan/ModernMediaScanner;)Landroid/content/Context;
345 ····.locals·0325 ····.locals·0
  
346 ····.line·142326 ····.line·139
347 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;327 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;
  
348 ····return-object·p0328 ····return-object·p0
349 .end·method329 .end·method
  
350 .method·static·synthetic·access$1100(Lcom/android/providers/media/scan/ModernMediaScanner;)Landroid/drm/DrmManagerClient;330 .method·static·synthetic·access$100(Lcom/android/providers/media/scan/ModernMediaScanner;Ljava/lang/String;)Landroid/os/CancellationSignal;
351 ····.locals·0331 ····.locals·0
  
352 ····.line·142332 ····.line·139
353 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;333 ····invoke-direct·{p0,·p1},·Lcom/android/providers/media/scan/ModernMediaScanner;->getOrCreateSignal(Ljava/lang/String;)Landroid/os/CancellationSignal;
  
 334 ····move-result-object·p0
  
354 ····return-object·p0335 ····return-object·p0
355 .end·method336 .end·method
  
356 .method·static·synthetic·access$1200(Ljava/io/File;Ljava/lang/String;Z)I337 .method·static·synthetic·access$200()Z
357 ····.locals·0338 ····.locals·1
  
358 ····.line·142 
359 ····invoke-static·{p0,·p1,·p2},·Lcom/android/providers/media/scan/ModernMediaScanner;->resolveMediaTypeFromFilePath(Ljava/io/File;Ljava/lang/String;Z)I 
  
360 ····move-result·p0339 ····.line·139
 340 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGV:Z
  
361 ····return·p0341 ····return·v0
362 .end·method342 .end·method
  
363 .method·static·synthetic·access$1300(JLjava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;343 .method·static·synthetic·access$300(Lcom/android/providers/media/scan/ModernMediaScanner;)Ljava/util/Map;
364 ····.locals·0344 ····.locals·0
  
365 ····.line·142345 ····.line·139
 346 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map;
366 ····invoke-static/range·{p0·..·p6},·Lcom/android/providers/media/scan/ModernMediaScanner;->scanItem(JLjava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder; 
  
367 ····move-result-object·p0 
  
368 ····return-object·p0347 ····return-object·p0
369 .end·method348 .end·method
  
370 .method·static·synthetic·access$300(Lcom/android/providers/media/scan/ModernMediaScanner;)Landroid/content/Context;349 .method·static·synthetic·access$500(Lcom/android/providers/media/scan/ModernMediaScanner;)Ljava/util/Set;
371 ····.locals·0350 ····.locals·0
  
372 ····.line·142351 ····.line·139
373 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mContext:Landroid/content/Context;352 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmMimeTypes:Ljava/util/Set;
  
374 ····return-object·p0353 ····return-object·p0
375 .end·method354 .end·method
  
376 .method·static·synthetic·access$400(Lcom/android/providers/media/scan/ModernMediaScanner;Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V355 .method·static·synthetic·access$600(Lcom/android/providers/media/scan/ModernMediaScanner;)Landroid/drm/DrmManagerClient;
377 ····.locals·0356 ····.locals·0
  
378 ····.line·142357 ····.line·139
379 ····invoke-direct·{p0,·p1},·Lcom/android/providers/media/scan/ModernMediaScanner;->addActiveScan(Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V358 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDrmClient:Landroid/drm/DrmManagerClient;
  
380 ····return-void359 ····return-object·p0
381 .end·method360 .end·method
  
382 .method·static·synthetic·access$500(Lcom/android/providers/media/scan/ModernMediaScanner;Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V361 .method·static·synthetic·access$700(Ljava/io/File;Ljava/lang/String;Z)I
383 ····.locals·0362 ····.locals·0
  
384 ····.line·142363 ····.line·139
 364 ····invoke-static·{p0,·p1,·p2},·Lcom/android/providers/media/scan/ModernMediaScanner;->resolveMediaTypeFromFilePath(Ljava/io/File;Ljava/lang/String;Z)I
385 ····invoke-direct·{p0,·p1},·Lcom/android/providers/media/scan/ModernMediaScanner;->removeActiveScan(Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V 
  
386 ····return-void 
387 .end·method 
  
388 .method·static·synthetic·access$600()Z 
389 ····.locals·1 
  
 365 ····move-result·p0
390 ····.line·142 
391 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGV:Z 
  
392 ····return·v0366 ····return·p0
393 .end·method367 .end·method
  
394 .method·static·synthetic·access$700(Lcom/android/providers/media/scan/ModernMediaScanner;)Ljava/util/Map;368 .method·static·synthetic·access$800(JLjava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
395 ····.locals·0369 ····.locals·0
  
396 ····.line·142370 ····.line·139
 371 ····invoke-static/range·{p0·..·p6},·Lcom/android/providers/media/scan/ModernMediaScanner;->scanItem(JLjava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
397 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mDirectoryLocks:Ljava/util/Map; 
  
398 ····return-object·p0 
399 .end·method 
  
400 .method·static·synthetic·access$900(Lcom/android/providers/media/scan/ModernMediaScanner;)Ljava/util/Set; 
401 ····.locals·0 
  
 372 ····move-result-object·p0
402 ····.line·142 
403 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mPendingCleanDirectories:Ljava/util/Set; 
  
404 ····return-object·p0373 ····return-object·p0
405 .end·method374 .end·method
  
406 .method·private·addActiveScan(Lcom/android/providers/media/scan/ModernMediaScanner$Scan;)V 
407 ····.locals·1 
  
408 ····.line·292 
409 ····iget-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List; 
  
410 ····monitor-enter·v0 
  
411 ····.line·293 
412 ····:try_start_0 
413 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mActiveScans:Ljava/util/List; 
  
414 ····invoke-interface·{p0,·p1},·Ljava/util/List;->add(Ljava/lang/Object;)Z 
  
415 ····.line·294 
416 ····monitor-exit·v0 
  
417 ····return-void 
  
418 ····:catchall_0 
419 ····move-exception·p0 
  
420 ····monitor-exit·v0 
421 ····:try_end_0 
422 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0 
  
423 ····throw·p0 
424 .end·method 
  
425 .method·private·static·varargs·firstPresent([Ljava/util/Optional;)Ljava/util/Optional;375 .method·private·static·varargs·firstPresent([Ljava/util/Optional;)Ljava/util/Optional;
426 ····.locals·4376 ····.locals·4
427 ····.annotation·system·Ldalvik/annotation/Signature;377 ····.annotation·system·Ldalvik/annotation/Signature;
428 ········value·=·{378 ········value·=·{
429 ············"<T:",379 ············"<T:",
430 ············"Ljava/lang/Object;",380 ············"Ljava/lang/Object;",
431 ············">([",381 ············">([",
Offset 480, 51 lines modifiedOffset 415, 98 lines modified
480 ············"TT;>;"415 ············"TT;>;"
481 ········}416 ········}
482 ····.end·annotation417 ····.end·annotation
  
483 ····.annotation·runtime·Ljava/lang/SafeVarargs;418 ····.annotation·runtime·Ljava/lang/SafeVarargs;
484 ····.end·annotation419 ····.end·annotation
  
485 ····.line·1301420 ····.line·1154
486 ····array-length·v0,·p0421 ····array-length·v0,·p0
  
487 ····const/4·v1,·0x0422 ····const/4·v1,·0x0
  
488 ····:goto_0423 ····:goto_0
489 ····if-ge·v1,·v0,·:cond_1424 ····if-ge·v1,·v0,·:cond_1
  
490 ····aget-object·v2,·p0,·v1425 ····aget-object·v2,·p0,·v1
  
491 ····.line·1302426 ····.line·1155
492 ····invoke-virtual·{v2},·Ljava/util/Optional;->isPresent()Z427 ····invoke-virtual·{v2},·Ljava/util/Optional;->isPresent()Z
  
493 ····move-result·v3428 ····move-result·v3
  
494 ····if-eqz·v3,·:cond_0429 ····if-eqz·v3,·:cond_0
  
495 ····return-object·v2430 ····return-object·v2
  
496 ····:cond_0431 ····:cond_0
497 ····add-int/lit8·v1,·v1,·0x1432 ····add-int/lit8·v1,·v1,·0x1
  
498 ····goto·:goto_0433 ····goto·:goto_0
  
499 ····.line·1306434 ····.line·1159
500 ····:cond_1435 ····:cond_1
501 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;436 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
502 ····move-result-object·p0437 ····move-result-object·p0
  
503 ····return-object·p0438 ····return-object·p0
504 .end·method439 .end·method
  
 440 .method·private·getOrCreateSignal(Ljava/lang/String;)Landroid/os/CancellationSignal;
 441 ····.locals·2
  
 442 ····.line·257
 443 ····iget-object·v0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mSignals:Landroid/util/ArrayMap;
  
 444 ····monitor-enter·v0
  
 445 ····.line·258
 446 ····:try_start_0
 447 ····iget-object·v1,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mSignals:Landroid/util/ArrayMap;
  
 448 ····invoke-virtual·{v1,·p1},·Landroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  
 449 ····move-result-object·v1
  
 450 ····check-cast·v1,·Landroid/os/CancellationSignal;
  
 451 ····if-nez·v1,·:cond_0
  
 452 ····.line·260
 453 ····new-instance·v1,·Landroid/os/CancellationSignal;
  
 454 ····invoke-direct·{v1},·Landroid/os/CancellationSignal;-><init>()V
  
 455 ····.line·261
 456 ····iget-object·p0,·p0,·Lcom/android/providers/media/scan/ModernMediaScanner;->mSignals:Landroid/util/ArrayMap;
  
 457 ····invoke-virtual·{p0,·p1,·v1},·Landroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
 458 ····.line·263
 459 ····:cond_0
 460 ····monitor-exit·v0
  
 461 ····return-object·v1
  
 462 ····:catchall_0
 463 ····move-exception·p0
  
 464 ····.line·264
 465 ····monitor-exit·v0
 466 ····:try_end_0
 467 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0
  
 468 ····throw·p0
 469 .end·method
  
505 .method·static·isFileAlbumArt(Ljava/io/File;)Z470 .method·static·isFileAlbumArt(Ljava/io/File;)Z
506 ····.locals·1471 ····.locals·1
  
507 ····.line·1585472 ····.line·1442
508 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;473 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->PATTERN_ALBUM_ART:Ljava/util/regex/Pattern;
  
509 ····invoke-virtual·{p0},·Ljava/io/File;->getName()Ljava/lang/String;474 ····invoke-virtual·{p0},·Ljava/io/File;->getName()Ljava/lang/String;
  
510 ····move-result-object·p0475 ····move-result-object·p0
  
511 ····invoke-virtual·{v0,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;476 ····invoke-virtual·{v0,·p0},·Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
Offset 537, 37 lines modifiedOffset 519, 37 lines modified
  
537 ····return·p0519 ····return·p0
538 .end·method520 .end·method
  
539 .method·static·isZero(Ljava/lang/String;)Z521 .method·static·isZero(Ljava/lang/String;)Z
540 ····.locals·4522 ····.locals·4
  
541 ····.line·1589523 ····.line·1446
542 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I524 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I
  
543 ····move-result·v0525 ····move-result·v0
  
544 ····const/4·v1,·0x0526 ····const/4·v1,·0x0
  
545 ····if-nez·v0,·:cond_0527 ····if-nez·v0,·:cond_0
  
546 ····return·v1528 ····return·v1
  
547 ····:cond_0529 ····:cond_0
548 ····move·v0,·v1530 ····move·v0,·v1
  
549 ····.line·1592531 ····.line·1449
550 ····:goto_0532 ····:goto_0
551 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I533 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I
  
552 ····move-result·v2534 ····move-result·v2
  
553 ····if-ge·v0,·v2,·:cond_2535 ····if-ge·v0,·v2,·:cond_2
  
554 ····.line·1593536 ····.line·1450
555 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->charAt(I)C537 ····invoke-virtual·{p0,·v0},·Ljava/lang/String;->charAt(I)C
  
556 ····move-result·v2538 ····move-result·v2
  
557 ····const/16·v3,·0x30539 ····const/16·v3,·0x30
  
558 ····if-eq·v2,·v3,·:cond_1540 ····if-eq·v2,·v3,·:cond_1
Offset 584, 53 lines modifiedOffset 566, 53 lines modified
  
584 ····return·p0566 ····return·p0
585 .end·method567 .end·method
  
586 .method·public·static·lastModifiedTime(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)J568 .method·public·static·lastModifiedTime(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)J
587 ····.locals·2569 ····.locals·2
  
588 ····.line·1511570 ····.line·1368
589 ····invoke-static·{},·Landroid/os/Environment;->getStorageDirectory()Ljava/io/File;571 ····invoke-static·{},·Landroid/os/Environment;->getStorageDirectory()Ljava/io/File;
  
590 ····move-result-object·v0572 ····move-result-object·v0
  
591 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/util/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z573 ····invoke-static·{v0,·p0},·Lcom/android/providers/media/util/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
  
592 ····move-result·p0574 ····move-result·p0
  
593 ····const-wide/16·v0,·0x3e8575 ····const-wide/16·v0,·0x3e8
  
594 ····if-eqz·p0,·:cond_0576 ····if-eqz·p0,·:cond_0
  
595 ····.line·1512577 ····.line·1369
596 ····invoke-interface·{p1},·Ljava/nio/file/attribute/BasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;578 ····invoke-interface·{p1},·Ljava/nio/file/attribute/BasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
  
597 ····move-result-object·p0579 ····move-result-object·p0
  
598 ····invoke-virtual·{p0},·Ljava/nio/file/attribute/FileTime;->toMillis()J580 ····invoke-virtual·{p0},·Ljava/nio/file/attribute/FileTime;->toMillis()J
  
599 ····move-result-wide·p0581 ····move-result-wide·p0
  
600 ····div-long/2addr·p0,·v0582 ····div-long/2addr·p0,·v0
  
601 ····return-wide·p0583 ····return-wide·p0
  
602 ····.line·1514584 ····.line·1371
603 ····:cond_0585 ····:cond_0
604 ····sget-wide·p0,·Landroid/os/Build;->TIME:J586 ····sget-wide·p0,·Landroid/os/Build;->TIME:J
  
605 ····div-long/2addr·p0,·v0587 ····div-long/2addr·p0,·v0
  
606 ····return-wide·p0588 ····return-wide·p0
607 .end·method589 .end·method
  
608 .method·static·logTroubleScanning(Ljava/io/File;Ljava/lang/Exception;)V590 .method·static·logTroubleScanning(Ljava/io/File;Ljava/lang/Exception;)V
609 ····.locals·2591 ····.locals·2
  
610 ····.line·1601592 ····.line·1458
611 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z593 ····sget-boolean·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->LOGW:Z
  
612 ····if-eqz·v0,·:cond_0594 ····if-eqz·v0,·:cond_0
  
613 ····new-instance·v0,·Ljava/lang/StringBuilder;595 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
614 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V596 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
Offset 655, 81 lines modifiedOffset 637, 58 lines modified
  
655 ····invoke-static·{p1,·p0},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I637 ····invoke-static·{p1,·p0},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  
656 ····:cond_0638 ····:cond_0
657 ····return-void639 ····return-void
658 .end·method640 .end·method
  
659 .method·private·static·maybeTruncateXmp(Lcom/android/providers/media/util/XmpInterface;)[B 
660 ····.locals·2 
  
661 ····.line·1010 
662 ····invoke-virtual·{p0},·Lcom/android/providers/media/util/XmpInterface;->getRedactedXmp()[B 
  
663 ····move-result-object·p0 
  
664 ····.line·1011 
665 ····array-length·v0,·p0 
  
666 ····const/high16·v1,·0x100000 
  
667 ····if-le·v0,·v1,·:cond_0 
  
668 ····const/4·p0,·0x0 
  
669 ····new-array·p0,·p0,·[B 
  
670 ····:cond_0 
671 ····return-object·p0 
672 .end·method 
  
673 .method·private·static·newUpsert(Ljava/lang/String;J)Landroid/content/ContentProviderOperation$Builder;641 .method·private·static·newUpsert(Ljava/lang/String;J)Landroid/content/ContentProviderOperation$Builder;
674 ····.locals·2642 ····.locals·2
  
675 ····.line·1285643 ····.line·1138
676 ····invoke-static·{p0},·Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;644 ····invoke-static·{p0},·Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
  
677 ····move-result-object·p0645 ····move-result-object·p0
  
678 ····const-wide/16·v0,·-0x1646 ····const-wide/16·v0,·-0x1
  
679 ····cmp-long·v0,·p1,·v0647 ····cmp-long·v0,·p1,·v0
  
680 ····const/4·v1,·0x1648 ····const/4·v1,·0x1
  
681 ····if-nez·v0,·:cond_0649 ····if-nez·v0,·:cond_0
  
682 ····.line·1287650 ····.line·1140
683 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;651 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
  
684 ····move-result-object·p0652 ····move-result-object·p0
  
685 ····.line·1288653 ····.line·1141
686 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;654 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
  
687 ····move-result-object·p0655 ····move-result-object·p0
  
688 ····return-object·p0656 ····return-object·p0
  
689 ····.line·1290657 ····.line·1143
690 ····:cond_0658 ····:cond_0
691 ····invoke-static·{p0,·p1,·p2},·Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;659 ····invoke-static·{p0,·p1,·p2},·Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
  
692 ····move-result-object·p0660 ····move-result-object·p0
  
693 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;661 ····invoke-static·{p0},·Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
  
694 ····move-result-object·p0662 ····move-result-object·p0
  
695 ····.line·1291663 ····.line·1144
696 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;664 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
  
697 ····move-result-object·p0665 ····move-result-object·p0
  
698 ····.line·1292666 ····.line·1145
699 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;667 ····invoke-virtual·{p0,·v1},·Landroid/content/ContentProviderOperation$Builder;->withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
  
700 ····move-result-object·p0668 ····move-result-object·p0
  
701 ····return-object·p0669 ····return-object·p0
702 .end·method670 .end·method
  
Offset 743, 22 lines modifiedOffset 702, 22 lines modified
743 ············"Ljava/util/Optional<",702 ············"Ljava/util/Optional<",
744 ············"TT;>;"703 ············"TT;>;"
745 ········}704 ········}
746 ····.end·annotation705 ····.end·annotation
  
747 ····if-nez·p0,·:cond_0706 ····if-nez·p0,·:cond_0
  
748 ····.line·1312707 ····.line·1165
749 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;708 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
750 ····move-result-object·p0709 ····move-result-object·p0
  
751 ····return-object·p0710 ····return-object·p0
  
752 ····.line·1313711 ····.line·1166
753 ····:cond_0712 ····:cond_0
754 ····instance-of·v0,·p0,·Ljava/lang/String;713 ····instance-of·v0,·p0,·Ljava/lang/String;
  
755 ····if-eqz·v0,·:cond_1714 ····if-eqz·v0,·:cond_1
  
756 ····move-object·v1,·p0715 ····move-object·v1,·p0
  
Offset 766, 70 lines modifiedOffset 725, 70 lines modified
  
766 ····invoke-virtual·{v1},·Ljava/lang/String;->length()I725 ····invoke-virtual·{v1},·Ljava/lang/String;->length()I
  
767 ····move-result·v1726 ····move-result·v1
  
768 ····if-nez·v1,·:cond_1727 ····if-nez·v1,·:cond_1
  
769 ····.line·1314728 ····.line·1167
770 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;729 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
771 ····move-result-object·p0730 ····move-result-object·p0
  
772 ····return-object·p0731 ····return-object·p0
  
773 ····:cond_1732 ····:cond_1
774 ····if-eqz·v0,·:cond_2733 ····if-eqz·v0,·:cond_2
  
775 ····.line·1315734 ····.line·1168
776 ····move-object·v1,·p0735 ····move-object·v1,·p0
  
777 ····check-cast·v1,·Ljava/lang/String;736 ····check-cast·v1,·Ljava/lang/String;
  
778 ····const-string·v2,·"-1"737 ····const-string·v2,·"-1"
  
779 ····invoke-virtual·{v1,·v2},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z738 ····invoke-virtual·{v1,·v2},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
780 ····move-result·v1739 ····move-result·v1
  
781 ····if-eqz·v1,·:cond_2740 ····if-eqz·v1,·:cond_2
  
782 ····.line·1316741 ····.line·1169
783 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;742 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
784 ····move-result-object·p0743 ····move-result-object·p0
  
785 ····return-object·p0744 ····return-object·p0
  
786 ····:cond_2745 ····:cond_2
787 ····if-eqz·v0,·:cond_3746 ····if-eqz·v0,·:cond_3
  
788 ····.line·1317747 ····.line·1170
789 ····move-object·v0,·p0748 ····move-object·v0,·p0
  
790 ····check-cast·v0,·Ljava/lang/String;749 ····check-cast·v0,·Ljava/lang/String;
  
791 ····invoke-virtual·{v0},·Ljava/lang/String;->trim()Ljava/lang/String;750 ····invoke-virtual·{v0},·Ljava/lang/String;->trim()Ljava/lang/String;
  
792 ····move-result-object·v0751 ····move-result-object·v0
  
793 ····invoke-virtual·{v0},·Ljava/lang/String;->length()I752 ····invoke-virtual·{v0},·Ljava/lang/String;->length()I
  
794 ····move-result·v0753 ····move-result·v0
  
795 ····if-nez·v0,·:cond_3754 ····if-nez·v0,·:cond_3
  
796 ····.line·1318755 ····.line·1171
797 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;756 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
798 ····move-result-object·p0757 ····move-result-object·p0
  
799 ····return-object·p0758 ····return-object·p0
  
800 ····.line·1319759 ····.line·1172
801 ····:cond_3760 ····:cond_3
802 ····instance-of·v0,·p0,·Ljava/lang/Number;761 ····instance-of·v0,·p0,·Ljava/lang/Number;
  
803 ····if-eqz·v0,·:cond_4762 ····if-eqz·v0,·:cond_4
  
804 ····move-object·v0,·p0763 ····move-object·v0,·p0
  
Offset 839, 22 lines modifiedOffset 798, 22 lines modified
  
839 ····move-result·v0798 ····move-result·v0
  
840 ····const/4·v1,·-0x1799 ····const/4·v1,·-0x1
  
841 ····if-ne·v0,·v1,·:cond_4800 ····if-ne·v0,·v1,·:cond_4
  
842 ····.line·1320801 ····.line·1173
843 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;802 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
844 ····move-result-object·p0803 ····move-result-object·p0
  
845 ····return-object·p0804 ····return-object·p0
  
846 ····.line·1322805 ····.line·1175
847 ····:cond_4806 ····:cond_4
848 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;807 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
849 ····move-result-object·p0808 ····move-result-object·p0
  
850 ····return-object·p0809 ····return-object·p0
851 .end·method810 .end·method
Offset 868, 37 lines modifiedOffset 827, 37 lines modified
868 ············")",827 ············")",
869 ············"Ljava/util/Optional<",828 ············"Ljava/util/Optional<",
870 ············"Ljava/lang/Long;",829 ············"Ljava/lang/Long;",
871 ············">;"830 ············">;"
872 ········}831 ········}
873 ····.end·annotation832 ····.end·annotation
  
874 ····.line·1437833 ····.line·1294
875 ····invoke-static·{p0},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z834 ····invoke-static·{p0},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
876 ····move-result·v0835 ····move-result·v0
  
877 ····if-eqz·v0,·:cond_0836 ····if-eqz·v0,·:cond_0
  
878 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;837 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
879 ····move-result-object·p0838 ····move-result-object·p0
  
880 ····return-object·p0839 ····return-object·p0
  
881 ····.line·1439840 ····.line·1296
882 ····:cond_0841 ····:cond_0
883 ····:try_start_0842 ····:try_start_0
884 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;843 ····sget-object·v0,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;
  
885 ····monitor-enter·v0844 ····monitor-enter·v0
886 ····:try_end_0845 ····:try_end_0
887 ····.catch·Ljava/text/ParseException;·{:try_start_0·..·:try_end_0}·:catch_0846 ····.catch·Ljava/text/ParseException;·{:try_start_0·..·:try_end_0}·:catch_0
  
888 ····.line·1440847 ····.line·1297
889 ····:try_start_1848 ····:try_start_1
890 ····sget-object·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;849 ····sget-object·v1,·Lcom/android/providers/media/scan/ModernMediaScanner;->sDateFormat:Ljava/text/SimpleDateFormat;
  
891 ····invoke-virtual·{v1,·p0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;850 ····invoke-virtual·{v1,·p0},·Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
  
892 ····move-result-object·p0851 ····move-result-object·p0
  
Offset 908, 15 lines modifiedOffset 867, 15 lines modified
  
908 ····const-wide/16·v3,·0x0867 ····const-wide/16·v3,·0x0
  
909 ····cmp-long·p0,·v1,·v3868 ····cmp-long·p0,·v1,·v3
  
910 ····if-lez·p0,·:cond_1869 ····if-lez·p0,·:cond_1
  
911 ····.line·1441870 ····.line·1298
912 ····invoke-static·{v1,·v2},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;871 ····invoke-static·{v1,·v2},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
913 ····move-result-object·p0872 ····move-result-object·p0
  
914 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;873 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
915 ····move-result-object·p0874 ····move-result-object·p0
Offset 932, 25 lines modifiedOffset 891, 25 lines modified
932 ····monitor-exit·v0891 ····monitor-exit·v0
  
933 ····return-object·p0892 ····return-object·p0
  
934 ····:catchall_0893 ····:catchall_0
935 ····move-exception·p0894 ····move-exception·p0
  
936 ····.line·1442895 ····.line·1299
937 ····monitor-exit·v0896 ····monitor-exit·v0
938 ····:try_end_1897 ····:try_end_1
939 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0898 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0
  
940 ····:try_start_2899 ····:try_start_2
941 ····throw·p0900 ····throw·p0
942 ····:try_end_2901 ····:try_end_2
943 ····.catch·Ljava/text/ParseException;·{:try_start_2·..·:try_end_2}·:catch_0902 ····.catch·Ljava/text/ParseException;·{:try_start_2·..·:try_end_2}·:catch_0
  
944 ····.line·1444903 ····.line·1301
945 ····:catch_0904 ····:catch_0
946 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;905 ····invoke-static·{},·Ljava/util/Optional;->empty()Ljava/util/Optional;
  
947 ····move-result-object·p0906 ····move-result-object·p0
  
948 ····return-object·p0907 ····return-object·p0
949 .end·method908 .end·method
Offset 964, 40 lines modifiedOffset 923, 40 lines modified
964 ············"J)",923 ············"J)",
965 ············"Ljava/util/Optional<",924 ············"Ljava/util/Optional<",
966 ············"Ljava/lang/Long;",925 ············"Ljava/lang/Long;",
967 ············">;"926 ············">;"
968 ········}927 ········}
969 ····.end·annotation928 ····.end·annotation
  
970 ····.line·1364929 ····.line·1217
971 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getDateTimeOriginal(Landroid/media/ExifInterface;)J930 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getDateTimeOriginal(Landroid/media/ExifInterface;)J
  
972 ····move-result-wide·v0931 ····move-result-wide·v0
  
973 ····const-string·v2,·"OffsetTimeOriginal"932 ····const-string·v2,·"OffsetTimeOriginal"
  
974 ····.line·1365933 ····.line·1218
975 ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->hasAttribute(Ljava/lang/String;)Z934 ····invoke-virtual·{p0,·v2},·Landroid/media/ExifInterface;->hasAttribute(Ljava/lang/String;)Z
  
976 ····move-result·v2935 ····move-result·v2
  
977 ····if-eqz·v2,·:cond_0936 ····if-eqz·v2,·:cond_0
  
978 ····.line·1367937 ····.line·1220
979 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;938 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
980 ····move-result-object·p0939 ····move-result-object·p0
  
981 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;940 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
982 ····move-result-object·p0941 ····move-result-object·p0
  
983 ····return-object·p0942 ····return-object·p0
  
984 ····.line·1371943 ····.line·1224
985 ····:cond_0944 ····:cond_0
986 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getGpsDateTime(Landroid/media/ExifInterface;)J945 ····invoke-static·{p0},·Lcom/android/providers/media/util/ExifUtils;->getGpsDateTime(Landroid/media/ExifInterface;)J
  
987 ····move-result-wide·v2946 ····move-result-wide·v2
  
988 ····const-wide/16·v4,·0x0947 ····const-wide/16·v4,·0x0
  
Offset 1009, 39 lines modifiedOffset 968, 39 lines modified
  
1009 ····const-wide/32·v9,·0x5265c00968 ····const-wide/32·v9,·0x5265c00
  
1010 ····if-lez·p0,·:cond_1969 ····if-lez·p0,·:cond_1
  
1011 ····sub-long/2addr·v2,·v0970 ····sub-long/2addr·v2,·v0
  
1012 ····.line·1374971 ····.line·1227
1013 ····invoke-static·{v2,·v3},·Ljava/lang/Math;->abs(J)J972 ····invoke-static·{v2,·v3},·Ljava/lang/Math;->abs(J)J
  
1014 ····move-result-wide·v11973 ····move-result-wide·v11
  
1015 ····cmp-long·p0,·v11,·v9974 ····cmp-long·p0,·v11,·v9
  
1016 ····if-gez·p0,·:cond_1975 ····if-gez·p0,·:cond_1
  
1017 ····long-to-float·p0,·v2976 ····long-to-float·p0,·v2
  
1018 ····div-float/2addr·p0,·v8977 ····div-float/2addr·p0,·v8
  
1019 ····.line·1375978 ····.line·1228
1020 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I979 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I
  
1021 ····move-result·p0980 ····move-result·p0
  
1022 ····int-to-long·p0,·p0981 ····int-to-long·p0,·p0
  
1023 ····mul-long/2addr·p0,·v6982 ····mul-long/2addr·p0,·v6
  
1024 ····add-long/2addr·v0,·p0983 ····add-long/2addr·v0,·p0
  
1025 ····.line·1376984 ····.line·1229
1026 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;985 ····invoke-static·{v0,·v1},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
1027 ····move-result-object·p0986 ····move-result-object·p0
  
1028 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;987 ····invoke-static·{p0},·Ljava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
  
1029 ····move-result-object·p0988 ····move-result-object·p0
Offset 1051, 50 lines modifiedOffset 1010, 50 lines modified
1051 ····:cond_11010 ····:cond_1
1052 ····cmp-long·p0,·p1,·v41011 ····cmp-long·p0,·p1,·v4
  
1053 ····if-lez·p0,·:cond_21012 ····if-lez·p0,·:cond_2
  
1054 ····sub-long/2addr·p1,·v01013 ····sub-long/2addr·p1,·v0
  
1055 ····.line·13811014 ····.line·1234
1056 ····invoke-static·{p1,·p2},·Ljava/lang/Math;->abs(J)J1015 ····invoke-static·{p1,·p2},·Ljava/lang/Math;->abs(J)J
  
1057 ····move-result-wide·v21016 ····move-result-wide·v2
  
1058 ····cmp-long·p0,·v2,·v91017 ····cmp-long·p0,·v2,·v9
  
1059 ····if-gez·p0,·:cond_21018 ····if-gez·p0,·:cond_2
  
1060 ····long-to-float·p0,·p11019 ····long-to-float·p0,·p1
  
1061 ····div-float/2addr·p0,·v81020 ····div-float/2addr·p0,·v8
  
1062 ····.line·13821021 ····.line·1235
1063 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I1022 ····invoke-static·{p0},·Ljava/lang/Math;->round(F)I
  
1064 ····move-result·p01023 ····move-result·p0
  
1065 ····int-to-long·p0,·p01024 ····int-to-long·p0,·p0
  
1066 ····mul-long/2addr·p0,·v61025 ····mul-long/2addr·p0,·v6
  
1067 ····add-long/2addr·v0,·p01026 ····add-long/2addr·v0,·p0
  
1068 ····.line·13831027 ····.line·1236
Max diff block lines reached; 104111/134505 bytes (77.40%) of diff not shown.