package com.bigpupdev.synodroid.ui; import java.io.File; import android.app.Activity; import android.content.SharedPreferences; import android.content.res.Configuration; import android.os.Bundle; import android.os.Environment; import android.support.v4.app.FragmentManager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.WindowManager; import com.bigpupdev.synodroid.R; import com.bigpupdev.synodroid.Synodroid; public class FileActivity extends BaseActivity{ private static final String PREFERENCE_FULLSCREEN = "general_cat.fullscreen"; private static final String PREFERENCE_GENERAL = "general_cat"; @Override public void onConfigurationChanged(Configuration newConfig) { // ignore orientation change super.onConfigurationChanged(newConfig); } /** * Activity creation */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_file); attachSlidingMenu(((Synodroid)getApplication()).getServer()); getActivityHelper().setupActionBar(getString(R.string.sliding_files), false, getSlidingMenu()); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); getActivityHelper().setupSubActivity(); } @Override public void onBackPressed() { if (menu != null && menu.isMenuShowing()) { menu.showContent(); } else{ FragmentManager fm = getSupportFragmentManager(); FileFragment fragment_file = (FileFragment) fm.findFragmentById(R.id.fragment_file); if (fragment_file != null && !fragment_file.getCurrentFolder().equals(Environment.getExternalStorageDirectory().getPath())) { File backFile = new File(fragment_file.getCurrentFolder()); String back = backFile.getAbsolutePath().substring(0, backFile.getAbsolutePath().length() - backFile.getName().length() -1); fragment_file.addFilesToAdapter(back); return; } else{ super.onBackPressed(); } } } public boolean onOptionsItemSelected(MenuItem item) { Synodroid app = (Synodroid) getApplication(); FragmentManager fm = getSupportFragmentManager(); FileFragment fragment_file = (FileFragment) fm.findFragmentById(R.id.fragment_file); if (item.getItemId() == R.id.menu_refresh) { try{ if (app.DEBUG) Log.v(Synodroid.DS_TAG,"FileActivity: Menu refresh selected."); }catch (Exception ex){/*DO NOTHING*/} fragment_file.addFilesToAdapter(fragment_file.getCurrentFolder()); return true; } else if ( item.getItemId() == R.id.menu_gohome){ try{ if (app.DEBUG) Log.v(Synodroid.DS_TAG,"FileActivity: Menu home selected."); }catch (Exception ex){/*DO NOTHING*/} fragment_file.addFilesToAdapter(Environment.getExternalStorageDirectory().getPath()); return true; } return super.onOptionsItemSelected(item); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.refresh_menu_items, menu); getMenuInflater().inflate(R.menu.file_menu_items, menu); super.onCreateOptionsMenu(menu); return true; } public void updateRefreshStatus(boolean refreshing) { getActivityHelper().setRefreshActionButtonCompatState(refreshing); } @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 File 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); } } }