Exemple #1
0
 @Override
 public void onReceive(Context context, Intent intent) {
   final ArrayList<PluginApi.ActionInfo> actions =
       getResultExtras(true)
           .<PluginApi.ActionInfo>getParcelableArrayList(PluginApi.PluginInfo.KEY);
   if (actions != null) {
     synchronized (myPluginActions) {
       final FBReaderApp fbReader = (FBReaderApp) FBReaderApp.Instance();
       int index = 0;
       while (index < myPluginActions.size()) {
         fbReader.removeAction(PLUGIN_ACTION_PREFIX + index++);
       }
       myPluginActions.addAll(actions);
       index = 0;
       for (PluginApi.ActionInfo info : myPluginActions) {
         fbReader.addAction(
             PLUGIN_ACTION_PREFIX + index++,
             new RunPluginAction(FBReader.this, fbReader, info.getId()));
       }
     }
   }
 }
Exemple #2
0
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    final ZLAndroidApplication application = (ZLAndroidApplication) getApplication();
    myFullScreenFlag =
        application.ShowStatusBarOption.getValue() ? 0 : WindowManager.LayoutParams.FLAG_FULLSCREEN;
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, myFullScreenFlag);

    final FBReaderApp fbReader = (FBReaderApp) FBReaderApp.Instance();
    if (fbReader.getPopupById(TextSearchPopup.ID) == null) {
      new TextSearchPopup(fbReader);
    }
    if (fbReader.getPopupById(NavigationPopup.ID) == null) {
      new NavigationPopup(fbReader);
    }
    if (fbReader.getPopupById(SelectionPopup.ID) == null) {
      new SelectionPopup(fbReader);
    }

    fbReader.addAction(ActionCode.SHOW_LIBRARY, new ShowLibraryAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_PREFERENCES, new ShowPreferencesAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_BOOK_INFO, new ShowBookInfoAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_TOC, new ShowTOCAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_BOOKMARKS, new ShowBookmarksAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SHOW_NETWORK_LIBRARY, new ShowNetworkLibraryAction(this, fbReader));

    fbReader.addAction(ActionCode.SHOW_MENU, new ShowMenuAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_NAVIGATION, new ShowNavigationAction(this, fbReader));
    fbReader.addAction(ActionCode.SEARCH, new SearchAction(this, fbReader));

    fbReader.addAction(
        ActionCode.SELECTION_SHOW_PANEL, new SelectionShowPanelAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_HIDE_PANEL, new SelectionHidePanelAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_COPY_TO_CLIPBOARD, new SelectionCopyAction(this, fbReader));
    fbReader.addAction(ActionCode.SELECTION_SHARE, new SelectionShareAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_TRANSLATE, new SelectionTranslateAction(this, fbReader));
    fbReader.addAction(ActionCode.SELECTION_BOOKMARK, new SelectionBookmarkAction(this, fbReader));

    fbReader.addAction(ActionCode.PROCESS_HYPERLINK, new ProcessHyperlinkAction(this, fbReader));

    fbReader.addAction(ActionCode.SHOW_CANCEL_MENU, new ShowCancelMenuAction(this, fbReader));
    Process process = null;
    appRoot = getApplicationContext().getFilesDir().getParent();
    Log.i("fbreader", "app root = " + appRoot);
    try {

      process = Runtime.getRuntime().exec("su -c " + appRoot + "/lib/libexechmod.so");

      process.waitFor();

    } catch (Exception e) {

      e.printStackTrace();

    } finally {

      process.destroy();
    }
  }
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    final FBReaderApp fbReader = (FBReaderApp) FBReaderApp.Instance();
    final ZLAndroidLibrary zlibrary = (ZLAndroidLibrary) ZLibrary.Instance();
    myFullScreenFlag =
        zlibrary.ShowStatusBarOption.getValue() ? 0 : WindowManager.LayoutParams.FLAG_FULLSCREEN;
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, myFullScreenFlag);

    if (fbReader.getPopupById(TextSearchPopup.ID) == null) {
      new TextSearchPopup(fbReader);
    }
    if (fbReader.getPopupById(NavigationPopup.ID) == null) {
      new NavigationPopup(fbReader);
    }
    if (fbReader.getPopupById(SelectionPopup.ID) == null) {
      new SelectionPopup(fbReader);
    }
    setupViews();
    setlistView();

    fbReader.addAction(ActionCode.SHOW_LIBRARY, new ShowLibraryAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_PREFERENCES, new ShowPreferencesAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_BOOK_INFO, new ShowBookInfoAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_TOC, new ShowTOCAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_BOOKMARKS, new ShowBookmarksAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SHOW_NETWORK_LIBRARY, new ShowNetworkLibraryAction(this, fbReader));

    fbReader.addAction(ActionCode.SHOW_MENU, new ShowMenuAction(this, fbReader));
    fbReader.addAction(ActionCode.SHOW_NAVIGATION, new ShowNavigationAction(this, fbReader));
    fbReader.addAction(ActionCode.SEARCH, new SearchAction(this, fbReader));
    fbReader.addAction(ActionCode.SHARE_BOOK, new ShareBookAction(this, fbReader));
    // edited addaction
    fbReader.addAction(ActionCode.OPEN_BOOK, new OpenBook(this, fbReader));
    fbReader.addAction(
        ActionCode.TOUCH_ACTIONS, new TouchScreenAction(this, fbReader, eventHandler));
    fbReader.addAction(ActionCode.TOGGLE_BOOKMARK, new BookmarkAddDelete(this, fbReader));
    fbReader.addAction(ActionCode.DRAW_POINTER, new drawCursor(this, fbReader));

    fbReader.addAction(
        ActionCode.SELECTION_SHOW_PANEL, new SelectionShowPanelAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_HIDE_PANEL, new SelectionHidePanelAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_COPY_TO_CLIPBOARD, new SelectionCopyAction(this, fbReader));
    fbReader.addAction(ActionCode.SELECTION_SHARE, new SelectionShareAction(this, fbReader));
    fbReader.addAction(
        ActionCode.SELECTION_TRANSLATE, new SelectionTranslateAction(this, fbReader));
    fbReader.addAction(ActionCode.SELECTION_BOOKMARK, new SelectionBookmarkAction(this, fbReader));

    fbReader.addAction(ActionCode.PROCESS_HYPERLINK, new ProcessHyperlinkAction(this, fbReader));

    fbReader.addAction(ActionCode.SHOW_CANCEL_MENU, new ShowCancelMenuAction(this, fbReader));

    fbReader.addAction(
        ActionCode.SET_SCREEN_ORIENTATION_SYSTEM,
        new SetScreenOrientationAction(this, fbReader, ZLibrary.SCREEN_ORIENTATION_SYSTEM));
    fbReader.addAction(
        ActionCode.SET_SCREEN_ORIENTATION_SENSOR,
        new SetScreenOrientationAction(this, fbReader, ZLibrary.SCREEN_ORIENTATION_SENSOR));
    fbReader.addAction(
        ActionCode.SET_SCREEN_ORIENTATION_PORTRAIT,
        new SetScreenOrientationAction(this, fbReader, ZLibrary.SCREEN_ORIENTATION_PORTRAIT));
    fbReader.addAction(
        ActionCode.SET_SCREEN_ORIENTATION_LANDSCAPE,
        new SetScreenOrientationAction(this, fbReader, ZLibrary.SCREEN_ORIENTATION_LANDSCAPE));
    if (ZLibrary.Instance().supportsAllOrientations()) {
      fbReader.addAction(
          ActionCode.SET_SCREEN_ORIENTATION_REVERSE_PORTRAIT,
          new SetScreenOrientationAction(
              this, fbReader, ZLibrary.SCREEN_ORIENTATION_REVERSE_PORTRAIT));
      fbReader.addAction(
          ActionCode.SET_SCREEN_ORIENTATION_REVERSE_LANDSCAPE,
          new SetScreenOrientationAction(
              this, fbReader, ZLibrary.SCREEN_ORIENTATION_REVERSE_LANDSCAPE));
    }
  }