MainActivity.java
3.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package com.upc.pbe.upcnews;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.ExecutionException;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
//Finestra incial i activity principal del programa
public class MainActivity extends Activity implements OnClickListener {
private final static String TAG = "Main";
private static String html;
private ImageView alerta;
private ImageButton buttonDescarrega;
private TextView URLText, alertaText;
private boolean libsFound = false;
@Override
public void onCreate(Bundle savedInstanceState)
{
//Creem el layout
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
Log.d(TAG, "onCreated");
//Especifiquem la ruta de descarrega
File tempFolder = new File(((UpcApp)getApplication()).getLocalPath());
if(tempFolder.mkdirs()) {
Log.d(TAG,"Directori " + tempFolder.toString() + " creat");
}
//Creem els botons i text
URLText = (TextView) findViewById(R.id.textViewUrl);
buttonDescarrega = (ImageButton) findViewById(R.id.button);
buttonDescarrega.setOnClickListener(this);
updateURL();
PackageManager pm = getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(0);
for(int i = 0; i < apps.size(); i++)
{
if(apps.get(i).applicationInfo.loadLabel(getPackageManager()).toString().equals("Vitamio"))
{
libsFound = true;
}
}
if(!libsFound)
{
alerta = (ImageView) findViewById(R.id.imageViewAlerta);
alerta.setVisibility(View.VISIBLE);
alertaText = (TextView) findViewById(R.id.textViewAlerta);
alertaText.setVisibility(View.VISIBLE);
}
}
public void onClick(View v) {
//Al polsar el boto s'inicia la descarrega
Log.d(TAG, "onClicked");
Descarrega d = new Descarrega(this);
try
{
d.execute(new URL(((UpcApp)getApplication()).getUrl()));
html = d.get();
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ExecutionException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (MalformedURLException e)
{
Toast.makeText(this, "URL Malformada", Toast.LENGTH_LONG).show();
}
if(!html.equals("")) {
((UpcApp) getApplication()).setDesc(html);
startActivity(new Intent(this, Directoris.class));
}
}
public void onResume() {
super.onResume();
updateURL();
}
public void updateURL() {
URLText.setText(((UpcApp)getApplication()).getUrl());
}
public boolean onCreateOptionsMenu(Menu menu) {
//Determina el funcionament al apretar la tecla d'opcions
getMenuInflater().inflate(R.menu.menu, menu);
Log.d(TAG, "Menu");
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
//Determina el funcionament al clickar en el menu d'opcions
switch (item.getItemId()) {
case R.id.itemprefs:
startActivity(new Intent(this, Prefs.class));
Log.d(TAG, "Preferencies");
return true;
case R.id.itemhelp:
startActivity(new Intent(this, Help.class));
Log.d(TAG, "Help");
return true;
default:
return false;
}
}
/*
* COSAS POR HACER
* (NORMAL) Quitar la elección de calidad al inicio? Discutir
* (NORMAL) Poner la defaultURL al server de PBE
* (WISHLIST) Descarga en segundo plano (Mejora dificil)
* (WISHLIST) Hacer streaming DE VERDAD (appendeando los videos, seria IMPRESIONANTE)
* (WISHLIST) A�adir gif Imanol bailando (Easter eggs? vais en serio? XDDDDDDDDDDDD)
* Borrar esta puta mierda
*/
}