Commit 22367466c9985ee737e1f8cdaad9470ed9608413
1 parent
a9c963b2
--no commit message
Showing
3 changed files
with
52 additions
and
25 deletions
src/com/upc/pbe/upcnews/List.java
@@ -4,7 +4,7 @@ import java.util.ArrayList; | @@ -4,7 +4,7 @@ import java.util.ArrayList; | ||
4 | 4 | ||
5 | public class List | 5 | public class List |
6 | { | 6 | { |
7 | - private boolean validated; | 7 | + |
8 | private int quality; | 8 | private int quality; |
9 | private int sequenceFirst; | 9 | private int sequenceFirst; |
10 | private int maxDuration; | 10 | private int maxDuration; |
@@ -13,20 +13,9 @@ public class List | @@ -13,20 +13,9 @@ public class List | ||
13 | public List(int q) | 13 | public List(int q) |
14 | { | 14 | { |
15 | quality = q; | 15 | quality = q; |
16 | - validated = false; | ||
17 | segments = new ArrayList<Segment>(); | 16 | segments = new ArrayList<Segment>(); |
18 | } | 17 | } |
19 | 18 | ||
20 | - public void setValidated(boolean val) | ||
21 | - { | ||
22 | - validated = val; | ||
23 | - } | ||
24 | - | ||
25 | - public boolean getValidated() | ||
26 | - { | ||
27 | - return validated; | ||
28 | - } | ||
29 | - | ||
30 | public void setSequence(int seq) | 19 | public void setSequence(int seq) |
31 | { | 20 | { |
32 | sequenceFirst = seq; | 21 | sequenceFirst = seq; |
@@ -52,6 +41,11 @@ public class List | @@ -52,6 +41,11 @@ public class List | ||
52 | return quality; | 41 | return quality; |
53 | } | 42 | } |
54 | 43 | ||
44 | + public void setQuality(int q) | ||
45 | + { | ||
46 | + quality = q; | ||
47 | + } | ||
48 | + | ||
55 | public ArrayList<Segment> getSegments() | 49 | public ArrayList<Segment> getSegments() |
56 | { | 50 | { |
57 | return segments; | 51 | return segments; |
src/com/upc/pbe/upcnews/ParentList.java
@@ -9,9 +9,11 @@ public class ParentList | @@ -9,9 +9,11 @@ public class ParentList | ||
9 | private String Type, Name; | 9 | private String Type, Name; |
10 | private boolean Default; //Estos 3 últimos son para los ext-x-media, los ext-x-stream lo IGNORAN | 10 | private boolean Default; //Estos 3 últimos son para los ext-x-media, los ext-x-stream lo IGNORAN |
11 | private ArrayList<List> lists; //per cada qualitat | 11 | private ArrayList<List> lists; //per cada qualitat |
12 | + private boolean validated; | ||
12 | 13 | ||
13 | public ParentList(String ID) | 14 | public ParentList(String ID) |
14 | { | 15 | { |
16 | + validated = false; | ||
15 | this.ID = ID; | 17 | this.ID = ID; |
16 | currentQuality = 0; | 18 | currentQuality = 0; |
17 | Type = ""; | 19 | Type = ""; |
@@ -20,6 +22,16 @@ public class ParentList | @@ -20,6 +22,16 @@ public class ParentList | ||
20 | lists = new ArrayList<List>(); //Lista de CALIDADES | 22 | lists = new ArrayList<List>(); //Lista de CALIDADES |
21 | } | 23 | } |
22 | 24 | ||
25 | + public void setValidated(boolean val) | ||
26 | + { | ||
27 | + validated = val; | ||
28 | + } | ||
29 | + | ||
30 | + public boolean getValidated() | ||
31 | + { | ||
32 | + return validated; | ||
33 | + } | ||
34 | + | ||
23 | public String getID() | 35 | public String getID() |
24 | { | 36 | { |
25 | return ID; | 37 | return ID; |
src/com/upc/pbe/upcnews/Parser.java
@@ -17,6 +17,15 @@ public class Parser | @@ -17,6 +17,15 @@ public class Parser | ||
17 | private boolean expectList = false; | 17 | private boolean expectList = false; |
18 | private Descarrega download; | 18 | private Descarrega download; |
19 | 19 | ||
20 | + /* | ||
21 | + * TO-DO: | ||
22 | + * RECICLAR ZILLONES DE CÓDIGO REPETIDO | ||
23 | + * LIMPIAR Y DOCUMENTAR | ||
24 | + * DOWNLOAD REPEATED | ||
25 | + * MEDIA'S NOT WORKING | ||
26 | + */ | ||
27 | + | ||
28 | + | ||
20 | public Parser() | 29 | public Parser() |
21 | { | 30 | { |
22 | currentLine = 0; | 31 | currentLine = 0; |
@@ -42,7 +51,7 @@ public class Parser | @@ -42,7 +51,7 @@ public class Parser | ||
42 | { | 51 | { |
43 | if(lines[i].endsWith("\\")) | 52 | if(lines[i].endsWith("\\")) |
44 | { | 53 | { |
45 | - lines[i] = lines[i].substring(0, lines[i].indexOf("\\")-1) + lines[++i]; | 54 | + lines[++i] = lines[i-1].substring(0, lines[i-1].indexOf("\\")-1) + lines[i]; |
46 | } | 55 | } |
47 | try | 56 | try |
48 | { | 57 | { |
@@ -133,12 +142,13 @@ public class Parser | @@ -133,12 +142,13 @@ public class Parser | ||
133 | else | 142 | else |
134 | { | 143 | { |
135 | ParentList ppls = lists.get(currentList); //VIVA HONDURAS!!! | 144 | ParentList ppls = lists.get(currentList); //VIVA HONDURAS!!! |
136 | - List pls = ppls.getLists().get(ppls.getCurrentQuality()); | ||
137 | - if(!pls.getValidated()) | 145 | + int b = ppls.getLists().size(); |
146 | + List pls = ppls.getLists().get(ppls.getLists().size()-1); | ||
147 | + if(!ppls.getValidated()) | ||
138 | { | 148 | { |
139 | if(line.equals(STARTWORD)) | 149 | if(line.equals(STARTWORD)) |
140 | { | 150 | { |
141 | - pls.setValidated(true); | 151 | + ppls.setValidated(true); |
142 | } | 152 | } |
143 | else | 153 | else |
144 | { | 154 | { |
@@ -228,7 +238,7 @@ public class Parser | @@ -228,7 +238,7 @@ public class Parser | ||
228 | throw new ErrorException("Playlist on line " + currentLine + | 238 | throw new ErrorException("Playlist on line " + currentLine + |
229 | " has missing arguments"); | 239 | " has missing arguments"); |
230 | } | 240 | } |
231 | - if(!programID.equals(ppls.getID())) | 241 | + if(!programID.equals(ppls.getID())) //Si el programID no coincide, crea o busca la parentlist que toca |
232 | { | 242 | { |
233 | if(ppls.getID().equals("")) | 243 | if(ppls.getID().equals("")) |
234 | { | 244 | { |
@@ -236,7 +246,7 @@ public class Parser | @@ -236,7 +246,7 @@ public class Parser | ||
236 | * Este caso se da cuando no se ha creado ninguna lista. | 246 | * Este caso se da cuando no se ha creado ninguna lista. |
237 | * Hay que sustituir la por defecto por una lista real. | 247 | * Hay que sustituir la por defecto por una lista real. |
238 | */ | 248 | */ |
239 | - lists.get(0).setID(programID); | 249 | + lists.get(0).setID(programID); |
240 | } | 250 | } |
241 | else | 251 | else |
242 | { | 252 | { |
@@ -244,18 +254,22 @@ public class Parser | @@ -244,18 +254,22 @@ public class Parser | ||
244 | if(currentList == -1) | 254 | if(currentList == -1) |
245 | { | 255 | { |
246 | lists.add(new ParentList(programID)); | 256 | lists.add(new ParentList(programID)); |
247 | - currentList = lists.size()+1; | ||
248 | /* | 257 | /* |
249 | * ppls y pls se actualizan en la siguiente linea procesada | 258 | * ppls y pls se actualizan en la siguiente linea procesada |
250 | */ | 259 | */ |
260 | + currentList = lists.size() + 1; | ||
251 | } | 261 | } |
252 | - else | ||
253 | - { | ||
254 | - ppls = lists.get(currentList); | ||
255 | - ppls.getLists().add(new List(bandwidth)); | ||
256 | - } | 262 | + ppls = lists.get(currentList); |
263 | + pls = ppls.getLists().get(ppls.getLists().size()-1); | ||
264 | + | ||
257 | } | 265 | } |
258 | } | 266 | } |
267 | + // Ahora crea la lista adecuada dentro de la parentlist | ||
268 | + int a = ppls.getLists().size(); | ||
269 | + if((ppls.getLists().size() == 1) && (pls.getQuality() == -1) && pls.getSegments().isEmpty()) | ||
270 | + { | ||
271 | + pls.setQuality(bandwidth); | ||
272 | + } | ||
259 | else | 273 | else |
260 | { | 274 | { |
261 | ppls.getLists().add(new List(bandwidth)); | 275 | ppls.getLists().add(new List(bandwidth)); |
@@ -339,6 +353,9 @@ public class Parser | @@ -339,6 +353,9 @@ public class Parser | ||
339 | * Este caso se da cuando no se ha creado ninguna lista. | 353 | * Este caso se da cuando no se ha creado ninguna lista. |
340 | * Hay que sustituir la por defecto por una lista real. | 354 | * Hay que sustituir la por defecto por una lista real. |
341 | */ | 355 | */ |
356 | + ppls.setDefault(Default); | ||
357 | + ppls.setName(Name); | ||
358 | + ppls.setType(Type); | ||
342 | lists.add(0,pl); | 359 | lists.add(0,pl); |
343 | } | 360 | } |
344 | else | 361 | else |
@@ -403,7 +420,11 @@ public class Parser | @@ -403,7 +420,11 @@ public class Parser | ||
403 | { | 420 | { |
404 | expectList = false; | 421 | expectList = false; |
405 | Parser p = new Parser(); | 422 | Parser p = new Parser(); |
406 | - p.parseFile(download.doInBackground(line)); | 423 | + ArrayList<ParentList> newLists = p.parseFile(download.doInBackground(line)); |
424 | + for(int i = 0; i < newLists.get(0).getLists().get(0).getSegments().size(); i++) | ||
425 | + { | ||
426 | + pls.getSegments().add(newLists.get(0).getLists().get(0).getSegments().get(i)); | ||
427 | + } | ||
407 | } | 428 | } |
408 | else | 429 | else |
409 | { | 430 | { |