MainActivity.java 3.14 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,"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();
	}
	
	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, "URL invalida", Toast.LENGTH_LONG).show();
		}
		catch(IOException e) {
			Toast.makeText(this, "No s'ha pogut trobar la 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, "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
	 * (RELEASE-CRITICAL) Lentitud descarga -- Todos (este miercoles)
	 * (SEVERE) Crash preferences (Me sigue saliendo O.o)
	 * (NORMAL) Poner la defaultURL al server de PBE	
	 * (WISHLIST) Descarga en segundo plano (Mejora dificil)
	 * (WISHLIST) Añadir gif Imanol bailando (Easter eggs? vais en serio? XDDDDDDDDDDDD)
	 * Borrar esta puta mierda
	 */
}