/* 
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this software; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
 * USA.
 */
/** 
	 * WebViewActivity.java
	 * Autor: Alberto Población Navarro
	 * Añadido al proyecto en la version v0.2.8
	 * Añadido a:
	 		* Proyecto original: http://code.google.com/p/android-vnc-viewer
	 		* Release: 39
*/
package android.androidVNC;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;

public class WebViewActivity extends Activity{
	private WebView webView;
	private WebSettings webSettings;
	/* (non-Javadoc)
	 * @see android.app.Activity#onCreate(android.os.Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//Creamos un nueva WebView y le cargamos la dirección del archivo
		webView=new WebView(this);
		//Esta acción automáticamenta llamara a openFile
		//del ContentProvider android.androidVNC del archvio androidVNC.html
		//Este contente provider ha sido declarado en el AndroidManifest.xml con la clase mContentProvider
		webView.loadUrl("content://android.androidVNC/androidVNC.html");
		webSettings = webView.getSettings();
		//Mostramos la vista y los controles de zoom
		setContentView(webView);
		show_zoom_controls();
		Notificacion.Instancia(this).notificar("Mostrando Log", "Se muestra el log por pantalla");
	}
	/* (non-Javadoc)
	 * @see android.app.Activity#onDestroy()
	 */
	@Override
	protected void onDestroy() {
		super.onDestroy();
	}
	/* (non-Javadoc)
	 * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent)
	 */
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		//Si pulsamos las teclas de sonido hacemos mas o menos zoom.
		switch (keyCode) {
		case KeyEvent.KEYCODE_VOLUME_UP:
			return webView.zoomIn();
		case KeyEvent.KEYCODE_VOLUME_DOWN:
			return webView.zoomOut();
		default:
			return super.onKeyDown(keyCode, event);
		}
	}
	/**
	 * Funcion que muestra y configura los Zoom Controls
	 * @return
	 */
	private boolean show_zoom_controls(){
		if(webSettings.supportZoom())
		{
			//Obtenemos los zoom y los configuramos
			webView.getZoomControls();
			LayoutParams parametros = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
			//Añadimos configuraciones: alieneado al fondo de padre(table) y centrado horizontalmente
			parametros.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
			parametros.addRule(RelativeLayout.CENTER_HORIZONTAL);
			//Añadimos las configuraciones al zoom y configuramos ambos botones.
			addContentView(webView.getZoomControls(), parametros);
			return true;
		}
		return false;
	}
	
	

}
