MainActivity.java 3.24 KB
package com.upc.pbe.upcnews;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;

import android.app.Activity;
import android.content.Intent;
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.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 ImageButton buttonDescarrega;
	private TextView URLText;
	
	@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,"Directory " + tempFolder.toString() + " created");
		}
		//Creem els botons i text
		URLText = (TextView) findViewById(R.id.textViewUrl);
		buttonDescarrega = (ImageButton) findViewById(R.id.button);
		buttonDescarrega.setOnClickListener(this);
		updateURL();
	}
	
	public void onClick(View v) {
		//Al polsar el boto s'inicia la descarrega
		Log.d(TAG, "onClicked");
		this.descarregar();
		if(!html.equals("EMPTY"))
		{
			((UpcApp) getApplication()).setDesc(html);
			startActivity(new Intent(this, Directoris.class));
		}
	}
	
	public void descarregar() {
		//Descarrega del document HTML de la URL especificada
		//Si hi ha errors, els mostrem en Toasts
		Descarrega d = new Descarrega();
		html="EMPTY";
		try
		{
			html = (String) d.doInBackground(((UpcApp)getApplication()).getUrl());
		}
		catch(MalformedURLException e)
		{
			Toast.makeText(this, "Invalid URL", Toast.LENGTH_LONG).show();
		}
		catch(IOException e)
		{
			Toast.makeText(this, "Can't find URL", Toast.LENGTH_LONG).show();
		}
	}
	
	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, "Preferences");
			return true;
		case R.id.itemhelp:
			startActivity(new Intent(this, Help.class));
			Log.d(TAG, "Help");
			return true;
		default:
			return false;
		}
	}
	/*
	 * COSAS POR HACER
	 * Que cojones pasa con los codecs -- Yo
	 * Descarga en segundo plano (Mejora dificil)
	 * Lentitud descarga -- Todos (este miercoles)
	 * Añadir selector de starting quality en preferencias (lo dijimos en el reqspec!)
	 * CRASH AL DARLE A LA TECLA MENU DENTRO DE LAS PREFERENCES -- Marc
	 * Poner la defaultURL al server de PBE
	 * Unificar la lengua de todo (WERT STYLE FUCK YES) y que cada uno documente minimamente su codigo
	 * Borrar esta puta mierda
	 */
}