1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
package net.sourceforge.subsonic.androidapp.service.parser; |
20 |
|
|
21 |
|
import android.content.Context; |
22 |
|
import android.util.Log; |
23 |
|
import net.sourceforge.subsonic.androidapp.R; |
24 |
|
import net.sourceforge.subsonic.androidapp.domain.MusicDirectory; |
25 |
|
import net.sourceforge.subsonic.androidapp.util.ProgressListener; |
26 |
|
import org.xmlpull.v1.XmlPullParser; |
27 |
|
|
28 |
|
import java.io.Reader; |
29 |
|
|
30 |
|
|
31 |
|
@author |
32 |
|
|
|
|
| 93,9% |
Uncovered Elements: 2 (33) |
Complexity: 7 |
Complexity Density: 0,33 |
|
33 |
|
public class MusicDirectoryParser extends MusicDirectoryEntryParser { |
34 |
|
|
35 |
|
private static final String TAG = MusicDirectoryParser.class.getSimpleName(); |
36 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
37 |
5
|
public MusicDirectoryParser(Context context) {... |
38 |
5
|
super(context); |
39 |
|
} |
40 |
|
|
|
|
| 93,3% |
Uncovered Elements: 2 (30) |
Complexity: 6 |
Complexity Density: 0,3 |
|
41 |
5
|
public MusicDirectory parse(Reader reader, ProgressListener progressListener) throws Exception {... |
42 |
|
|
43 |
5
|
long t0 = System.currentTimeMillis(); |
44 |
5
|
updateProgress(progressListener, R.string.parser_reading); |
45 |
5
|
init(reader); |
46 |
|
|
47 |
5
|
MusicDirectory dir = new MusicDirectory(); |
48 |
5
|
int eventType; |
49 |
5
|
do { |
50 |
163
|
eventType = nextParseEvent(); |
51 |
163
|
if (eventType == XmlPullParser.START_TAG) { |
52 |
51
|
String name = getElementName(); |
53 |
51
|
if ("child".equals(name)) { |
54 |
41
|
dir.addChild(parseEntry()); |
55 |
10
|
} else if ("directory".equals(name)) { |
56 |
5
|
dir.setName(get("name")); |
57 |
5
|
} else if ("error".equals(name)) { |
58 |
0
|
handleError(); |
59 |
|
} |
60 |
|
} |
61 |
163
|
} while (eventType != XmlPullParser.END_DOCUMENT); |
62 |
|
|
63 |
5
|
validate(); |
64 |
5
|
updateProgress(progressListener, R.string.parser_reading_done); |
65 |
|
|
66 |
5
|
long t1 = System.currentTimeMillis(); |
67 |
5
|
Log.d(TAG, "Got music directory in " + (t1 - t0) + "ms."); |
68 |
|
|
69 |
5
|
return dir; |
70 |
|
} |
71 |
|
} |