package com.openfarmanager.android; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.view.MenuItem; import android.widget.Toast; import com.openfarmanager.android.controllers.EditViewController; import com.openfarmanager.android.fragments.Viewer; import com.openfarmanager.android.fragments.ViewerToolbar; import com.openfarmanager.android.toolbar.MenuItemImpl; import com.openfarmanager.android.view.ToastNotification; import java.io.File; import java.util.ArrayList; import static com.openfarmanager.android.controllers.EditViewController.*; /** * File viewer activity */ public class FileView extends BaseActivity { private EditViewController mController; private Viewer mViewer; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_activity); FragmentManager manager = getSupportFragmentManager(); mViewer = (Viewer) manager.findFragmentById(R.id.viewer); mController = new EditViewController(mViewer, (ViewerToolbar) manager.findFragmentById(R.id.toolbar)); try { mViewer.openFile(new File(getIntent().getData().getPath())); } catch (Exception e) { // possible NPE Exception ToastNotification.makeText(App.sInstance.getApplicationContext(), App.sInstance.getString((R.string.error_open_file)), Toast.LENGTH_SHORT).show(); finish(); } setupToolbarVisibility(); } @Override protected void hideToolbar() { mController.hideToolbar(); } @Override protected void showToolbar() { mController.showToolbar(); } @Override protected Handler getHandler() { return mController.getToolbarHandler(); } @Override protected ArrayList<MenuItemImpl> getItems() { ArrayList<MenuItemImpl> menuItems = new ArrayList<>(); if (!mViewer.isFileTooBig()) { menuItems.add(new MenuItemImpl(null, SAVE, R.id.save, 0, 0, getString(R.string.btn_save), 0)); menuItems.add(new MenuItemImpl(null, EDIT, R.id.edit, 0, 0, getString(R.string.btn_edit), 0)); } menuItems.add(new MenuItemImpl(null, SEARCH, R.id.search, 0, 0, getString(R.string.search), 0)); if (!mViewer.isFileTooBig()) { menuItems.add(new MenuItemImpl(null, REPLACE, R.id.replace, 0, 0, getString(R.string.replace_to), 0)); } menuItems.add(new MenuItemImpl(null, GOTO, R.id.go_to, 0, 0, getString(R.string.go_to), 0)); menuItems.add(new MenuItemImpl(null, ENCODING, R.id.encoding, 0, 0, getString(R.string.btn_encoding), 0)); return menuItems; } @Override protected void onToolbarItemSelected(MenuItem item) { getHandler().sendEmptyMessage(item.getGroupId()); } }