Offset 15, 18 lines modifiedOffset 15, 18 lines modified
15 .end·field15 .end·field
  
  
16 #·direct·methods16 #·direct·methods
17 .method·public·constructor·<init>()V17 .method·public·constructor·<init>()V
18 ····.locals·118 ····.locals·1
  
19 ····.line·4819 ····.line·47
20 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V20 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
21 ····.line·4921 ····.line·48
22 ····new-instance·v0,·Ljava/util/ArrayList;22 ····new-instance·v0,·Ljava/util/ArrayList;
  
23 ····invoke-direct·{v0},·Ljava/util/ArrayList;-><init>()V23 ····invoke-direct·{v0},·Ljava/util/ArrayList;-><init>()V
  
24 ····iput-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;24 ····iput-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
25 ····return-void25 ····return-void
Offset 52, 29 lines modifiedOffset 52, 29 lines modified
52 .end·method52 .end·method
  
  
53 #·virtual·methods53 #·virtual·methods
54 .method·public·add(ILjava/nio/file/Path;)I54 .method·public·add(ILjava/nio/file/Path;)I
55 ····.locals·255 ····.locals·2
  
56 ····.line·7956 ····.line·78
57 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;57 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
58 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I58 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I
  
59 ····move-result·v059 ····move-result·v0
  
60 ····const/4·v1,·0x060 ····const/4·v1,·0x0
  
61 ····.line·8061 ····.line·79
62 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I62 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I
  
63 ····move-result·p163 ····move-result·p1
  
64 ····.line·8264 ····.line·81
65 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;65 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
66 ····invoke-virtual·{p0,·p1,·p2},·Ljava/util/ArrayList;->add(ILjava/lang/Object;)V66 ····invoke-virtual·{p0,·p1,·p2},·Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
  
67 ····return·p167 ····return·p1
68 .end·method68 .end·method
  
Offset 85, 69 lines modifiedOffset 85, 69 lines modified
85 ············"()",85 ············"()",
86 ············"Ljava/util/List<",86 ············"Ljava/util/List<",
87 ············"Ljava/nio/file/Path;",87 ············"Ljava/nio/file/Path;",
88 ············">;"88 ············">;"
89 ········}89 ········}
90 ····.end·annotation90 ····.end·annotation
  
91 ····.line·5291 ····.line·51
92 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;92 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
93 ····invoke-static·{p0},·Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;93 ····invoke-static·{p0},·Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
  
94 ····move-result-object·p094 ····move-result-object·p0
  
95 ····return-object·p095 ····return-object·p0
96 .end·method96 .end·method
  
97 .method·public·clear()V97 .method·public·clear()V
98 ····.locals·098 ····.locals·0
  
99 ····.line·5699 ····.line·55
100 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;100 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
101 ····invoke-virtual·{p0},·Ljava/util/ArrayList;->clear()V101 ····invoke-virtual·{p0},·Ljava/util/ArrayList;->clear()V
  
102 ····return-void102 ····return-void
103 .end·method103 .end·method
  
104 .method·public·move(II)I104 .method·public·move(II)I
105 ····.locals·2105 ····.locals·2
  
106 ····.line·92106 ····.line·91
107 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;107 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
108 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I108 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I
  
109 ····move-result·v0109 ····move-result·v0
  
110 ····add-int/lit8·v0,·v0,·-0x1110 ····add-int/lit8·v0,·v0,·-0x1
  
111 ····const/4·v1,·0x0111 ····const/4·v1,·0x0
  
112 ····.line·93112 ····.line·92
113 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I113 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I
  
114 ····move-result·p1114 ····move-result·p1
  
115 ····.line·94115 ····.line·93
116 ····invoke-static·{p2,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I116 ····invoke-static·{p2,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I
  
117 ····move-result·p2117 ····move-result·p2
  
118 ····.line·96118 ····.line·95
119 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;119 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
120 ····invoke-virtual·{v0,·p1},·Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;120 ····invoke-virtual·{v0,·p1},·Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
  
121 ····move-result-object·p1121 ····move-result-object·p1
  
122 ····check-cast·p1,·Ljava/nio/file/Path;122 ····check-cast·p1,·Ljava/nio/file/Path;
  
123 ····.line·97123 ····.line·96
124 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;124 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
125 ····invoke-virtual·{p0,·p2,·p1},·Ljava/util/ArrayList;->add(ILjava/lang/Object;)V125 ····invoke-virtual·{p0,·p2,·p1},·Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
  
126 ····return·p2126 ····return·p2
127 .end·method127 .end·method
  
Offset 155, 49 lines modifiedOffset 155, 49 lines modified
155 ····.locals·1155 ····.locals·1
156 ····.annotation·system·Ldalvik/annotation/Throws;156 ····.annotation·system·Ldalvik/annotation/Throws;
157 ········value·=·{157 ········value·=·{
158 ············Ljava/io/IOException;158 ············Ljava/io/IOException;
159 ········}159 ········}
160 ····.end·annotation160 ····.end·annotation
  
161 ····.line·60161 ····.line·59
162 ····invoke-virtual·{p0},·Lcom/android/providers/media/playlist/Playlist;->clear()V162 ····invoke-virtual·{p0},·Lcom/android/providers/media/playlist/Playlist;->clear()V
  
163 ····.line·61163 ····.line·60
164 ····:try_start_0164 ····:try_start_0
165 ····new-instance·v0,·Ljava/io/FileInputStream;165 ····new-instance·v0,·Ljava/io/FileInputStream;
  
166 ····invoke-direct·{v0,·p1},·Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V166 ····invoke-direct·{v0,·p1},·Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
167 ····:try_end_0167 ····:try_end_0
168 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_0·..·:try_end_0}·:catch_0168 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_0·..·:try_end_0}·:catch_0
  
169 ····.line·62169 ····.line·61
170 ····:try_start_1170 ····:try_start_1
171 ····invoke-static·{p1},·Lcom/android/providers/media/playlist/PlaylistPersister;->resolvePersister(Ljava/io/File;)Lcom/android/providers/media/playlist/PlaylistPersister;171 ····invoke-static·{p1},·Lcom/android/providers/media/playlist/PlaylistPersister;->resolvePersister(Ljava/io/File;)Lcom/android/providers/media/playlist/PlaylistPersister;
  
172 ····move-result-object·p1172 ····move-result-object·p1
  
173 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;173 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
174 ····invoke-interface·{p1,·v0,·p0},·Lcom/android/providers/media/playlist/PlaylistPersister;->read(Ljava/io/InputStream;Ljava/util/List;)V174 ····invoke-interface·{p1,·v0,·p0},·Lcom/android/providers/media/playlist/PlaylistPersister;->read(Ljava/io/InputStream;Ljava/util/List;)V
175 ····:try_end_1175 ····:try_end_1
176 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0176 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0
  
177 ····.line·63177 ····.line·62
178 ····:try_start_2178 ····:try_start_2
179 ····invoke-virtual·{v0},·Ljava/io/InputStream;->close()V179 ····invoke-virtual·{v0},·Ljava/io/InputStream;->close()V
180 ····:try_end_2180 ····:try_end_2
181 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_2·..·:try_end_2}·:catch_0181 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_2·..·:try_end_2}·:catch_0
  
182 ····goto·:goto_1182 ····goto·:goto_1
  
183 ····:catchall_0183 ····:catchall_0
184 ····move-exception·p0184 ····move-exception·p0
  
185 ····.line·61185 ····.line·60
186 ····:try_start_3186 ····:try_start_3
187 ····invoke-virtual·{v0},·Ljava/io/InputStream;->close()V187 ····invoke-virtual·{v0},·Ljava/io/InputStream;->close()V
188 ····:try_end_3188 ····:try_end_3
189 ····.catchall·{:try_start_3·..·:try_end_3}·:catchall_1189 ····.catchall·{:try_start_3·..·:try_end_3}·:catchall_1
  
190 ····goto·:goto_0190 ····goto·:goto_0
  
Offset 213, 132 lines modifiedOffset 213, 82 lines modified
213 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_4·..·:try_end_4}·:catch_0213 ····.catch·Ljava/io/FileNotFoundException;·{:try_start_4·..·:try_end_4}·:catch_0
  
214 ····:catch_0214 ····:catch_0
215 ····const-string·p0,·"MediaProvider"215 ····const-string·p0,·"MediaProvider"
  
216 ····const-string·p1,·"Treating·missing·file·as·empty·playlist"216 ····const-string·p1,·"Treating·missing·file·as·empty·playlist"
  
217 ····.line·64217 ····.line·63
218 ····invoke-static·{p0,·p1},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I218 ····invoke-static·{p0,·p1},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  
219 ····:goto_1219 ····:goto_1
220 ····return-void220 ····return-void
221 .end·method221 .end·method
  
222 .method·public·remove(I)I222 .method·public·remove(I)I
223 ····.locals·2223 ····.locals·2
  
224 ····.line·106224 ····.line·105
225 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;225 ····iget-object·v0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
226 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I226 ····invoke-virtual·{v0},·Ljava/util/ArrayList;->size()I
  
227 ····move-result·v0227 ····move-result·v0
  
228 ····add-int/lit8·v0,·v0,·-0x1228 ····add-int/lit8·v0,·v0,·-0x1
  
229 ····const/4·v1,·0x0229 ····const/4·v1,·0x0
  
230 ····.line·107230 ····.line·106
231 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I231 ····invoke-static·{p1,·v1,·v0},·Lcom/android/providers/media/playlist/Playlist;->constrain(III)I
  
232 ····move-result·p1232 ····move-result·p1
  
233 ····.line·109233 ····.line·108
234 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;234 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
235 ····invoke-virtual·{p0,·p1},·Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;235 ····invoke-virtual·{p0,·p1},·Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
  
236 ····return·p1236 ····return·p1
237 .end·method237 .end·method
  
238 .method·public·varargs·removeMultiple([I)I 
239 ····.locals·4 
  
240 ····.line·121 
241 ····invoke-static·{p1},·Ljava/util/Arrays;->sort([I)V 
  
242 ····.line·123 
243 ····array-length·v0,·p1 
  
244 ····add-int/lit8·v0,·v0,·-0x1 
  
245 ····const/4·v1,·0x0 
  
246 ····:goto_0 
247 ····if-ltz·v0,·:cond_1 
  
248 ····.line·124 
249 ····iget-object·v2,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList; 
  
250 ····invoke-virtual·{v2},·Ljava/util/ArrayList;->size()I 
  
251 ····move-result·v2 
  
252 ····.line·126 
253 ····aget·v3,·p1,·v0 
  
254 ····if-ltz·v3,·:cond_0 
  
255 ····aget·v3,·p1,·v0 
  
256 ····if-ge·v3,·v2,·:cond_0 
  
257 ····.line·127 
258 ····iget-object·v2,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList; 
  
259 ····aget·v3,·p1,·v0 
  
260 ····invoke-virtual·{v2,·v3},·Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; 
  
261 ····add-int/lit8·v1,·v1,·0x1 
  
262 ····:cond_0 
263 ····add-int/lit8·v0,·v0,·-0x1 
  
264 ····goto·:goto_0 
  
265 ····:cond_1 
266 ····return·v1 
267 .end·method 
  
268 .method·public·write(Ljava/io/File;)V238 .method·public·write(Ljava/io/File;)V
269 ····.locals·1239 ····.locals·1
270 ····.annotation·system·Ldalvik/annotation/Throws;240 ····.annotation·system·Ldalvik/annotation/Throws;
271 ········value·=·{241 ········value·=·{
272 ············Ljava/io/IOException;242 ············Ljava/io/IOException;
273 ········}243 ········}
274 ····.end·annotation244 ····.end·annotation
  
275 ····.line·69245 ····.line·68
276 ····new-instance·v0,·Ljava/io/FileOutputStream;246 ····new-instance·v0,·Ljava/io/FileOutputStream;
  
277 ····invoke-direct·{v0,·p1},·Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V247 ····invoke-direct·{v0,·p1},·Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
  
278 ····.line·70248 ····.line·69
279 ····:try_start_0249 ····:try_start_0
280 ····invoke-static·{p1},·Lcom/android/providers/media/playlist/PlaylistPersister;->resolvePersister(Ljava/io/File;)Lcom/android/providers/media/playlist/PlaylistPersister;250 ····invoke-static·{p1},·Lcom/android/providers/media/playlist/PlaylistPersister;->resolvePersister(Ljava/io/File;)Lcom/android/providers/media/playlist/PlaylistPersister;
  
281 ····move-result-object·p1251 ····move-result-object·p1
  
282 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;252 ····iget-object·p0,·p0,·Lcom/android/providers/media/playlist/Playlist;->mItems:Ljava/util/ArrayList;
  
283 ····invoke-interface·{p1,·v0,·p0},·Lcom/android/providers/media/playlist/PlaylistPersister;->write(Ljava/io/OutputStream;Ljava/util/List;)V253 ····invoke-interface·{p1,·v0,·p0},·Lcom/android/providers/media/playlist/PlaylistPersister;->write(Ljava/io/OutputStream;Ljava/util/List;)V
284 ····:try_end_0254 ····:try_end_0
285 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0255 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0
  
286 ····.line·71256 ····.line·70
287 ····invoke-virtual·{v0},·Ljava/io/OutputStream;->close()V257 ····invoke-virtual·{v0},·Ljava/io/OutputStream;->close()V
  
288 ····return-void258 ····return-void
  
289 ····:catchall_0259 ····:catchall_0
290 ····move-exception·p0260 ····move-exception·p0
  
291 ····.line·69261 ····.line·68
292 ····:try_start_1262 ····:try_start_1
293 ····invoke-virtual·{v0},·Ljava/io/OutputStream;->close()V263 ····invoke-virtual·{v0},·Ljava/io/OutputStream;->close()V
294 ····:try_end_1264 ····:try_end_1
295 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1265 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1
  
296 ····goto·:goto_0266 ····goto·:goto_0