package com.bigpupdev.synodroid.ui;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import android.webkit.WebView;
import com.bigpupdev.synodroid.R;
import com.bigpupdev.synodroid.Synodroid;
import com.slidingmenu.lib.SlidingMenu;
public class BrowserActivity extends BaseActivity{
private static final String PREFERENCE_DEFAULT_URL = "bookmark_cat.default_ur";
private static final String PREFERENCE_BOOKMARK = "bookmark_cat";
private static final String PREFERENCE_FULLSCREEN = "general_cat.fullscreen";
private static final String PREFERENCE_GENERAL = "general_cat";
private String default_url = "http://www.google.com";
@Override
public void onConfigurationChanged(Configuration newConfig) {
// ignore orientation change
super.onConfigurationChanged(newConfig);
}
@Override
public void onBackPressed() {
if (menu != null && menu.isMenuShowing()) {
menu.showContent();
}
else{
FragmentManager fm = getSupportFragmentManager();
BrowserFragment fragment_browser = (BrowserFragment) fm.findFragmentById(R.id.fragment_browser);
if (fragment_browser != null ) {
WebView wv = (WebView) fragment_browser.getView().findViewById(R.id.webview);
if (wv.canGoBack()){
wv.goBack();
}
else{
super.onBackPressed();
}
}
else{
super.onBackPressed();
}
}
}
/**
* Activity creation
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
attachSlidingMenu(((Synodroid)getApplication()).getServer());
attachSecondarySlidingMenu();
setContentView(R.layout.activity_browser);
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
getSlidingMenu().setHardwareAccelerationUse(false);
getActivityHelper().setupActionBar(getString(R.string.sliding_browser), false, getSlidingMenu());
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
getActivityHelper().setupSubActivity();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.refresh_menu_items, menu);
getMenuInflater().inflate(R.menu.browser_menu_items, menu);
super.onCreateOptionsMenu(menu);
return true;
}
public void updateRefreshStatus(boolean refreshing) {
getActivityHelper().setRefreshActionButtonCompatState(refreshing);
}
public boolean onOptionsItemSelected(MenuItem item) {
Synodroid app = (Synodroid) getApplication();
FragmentManager fm = getSupportFragmentManager();
BrowserFragment fragment_browser = (BrowserFragment) fm.findFragmentById(R.id.fragment_browser);
if (item.getItemId() == R.id.menu_refresh) {
try{
if (app.DEBUG) Log.v(Synodroid.DS_TAG,"BrowserActivity: Menu refresh selected.");
}catch (Exception ex){/*DO NOTHING*/}
WebView webView = (WebView) fragment_browser.getView().findViewById(R.id.webview);
webView.reload();
return true;
}
else if (item.getItemId() == R.id.menu_bookmarks){
try{
if (app.DEBUG) Log.v(Synodroid.DS_TAG,"BrowserActivity: Menu show bookmarks selected.");
}catch (Exception ex){/*DO NOTHING*/}
getSlidingMenu().showSecondaryMenu(true);
return true;
}
else if (item.getItemId() == R.id.menu_gohome){
try{
if (app.DEBUG) Log.v(Synodroid.DS_TAG,"BrowserActivity: Menu Go Home selected.");
}catch (Exception ex){/*DO NOTHING*/}
WebView webView = (WebView) fragment_browser.getView().findViewById(R.id.webview);
SharedPreferences preferences = getSharedPreferences(PREFERENCE_BOOKMARK, Activity.MODE_PRIVATE);
default_url = preferences.getString(PREFERENCE_DEFAULT_URL, default_url);
webView.loadUrl(default_url);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onSearchRequested() {
return false;
}
/*
* (non-Javadoc)
*
* @see android.app.Activity#onResume()
*/
@Override
protected void onResume() {
super.onResume();
try{
if (((Synodroid)getApplication()).DEBUG) Log.v(Synodroid.DS_TAG,"BrowserActivity: Resuming Browser activity.");
}catch (Exception ex){/*DO NOTHING*/}
// Check for fullscreen
SharedPreferences preferences = getSharedPreferences(PREFERENCE_GENERAL, Activity.MODE_PRIVATE);
if (preferences.getBoolean(PREFERENCE_FULLSCREEN, false)) {
// Set fullscreen or not
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
}