Search in sources :

Example 6 with BookCollectionShadow

use of org.geometerplus.android.fbreader.libraryService.BookCollectionShadow in project FBReaderJ by geometer.

the class FBReader method onCreate.

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    bindService(new Intent(this, DataService.class), DataConnection, DataService.BIND_AUTO_CREATE);
    final Config config = Config.Instance();
    config.runOnConnect(new Runnable() {

        public void run() {
            config.requestAllValuesForGroup("Options");
            config.requestAllValuesForGroup("Style");
            config.requestAllValuesForGroup("LookNFeel");
            config.requestAllValuesForGroup("Fonts");
            config.requestAllValuesForGroup("Colors");
            config.requestAllValuesForGroup("Files");
        }
    });
    final ZLAndroidLibrary zlibrary = getZLibrary();
    myShowStatusBarFlag = zlibrary.ShowStatusBarOption.getValue();
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);
    myRootView = (RelativeLayout) findViewById(R.id.root_view);
    myMainView = (ZLAndroidWidget) findViewById(R.id.main_view);
    setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
    myFBReaderApp = (FBReaderApp) FBReaderApp.Instance();
    if (myFBReaderApp == null) {
        myFBReaderApp = new FBReaderApp(Paths.systemInfo(this), new BookCollectionShadow());
    }
    getCollection().bindToService(this, null);
    myBook = null;
    myFBReaderApp.setWindow(this);
    myFBReaderApp.initWindow();
    myFBReaderApp.setExternalFileOpener(new ExternalFileOpener(this));
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, myShowStatusBarFlag ? 0 : WindowManager.LayoutParams.FLAG_FULLSCREEN);
    if (myFBReaderApp.getPopupById(TextSearchPopup.ID) == null) {
        new TextSearchPopup(myFBReaderApp);
    }
    if (myFBReaderApp.getPopupById(NavigationPopup.ID) == null) {
        new NavigationPopup(myFBReaderApp);
    }
    if (myFBReaderApp.getPopupById(SelectionPopup.ID) == null) {
        new SelectionPopup(myFBReaderApp);
    }
    myFBReaderApp.addAction(ActionCode.SHOW_LIBRARY, new ShowLibraryAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_PREFERENCES, new ShowPreferencesAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_BOOK_INFO, new ShowBookInfoAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_TOC, new ShowTOCAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_BOOKMARKS, new ShowBookmarksAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_NETWORK_LIBRARY, new ShowNetworkLibraryAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_MENU, new ShowMenuAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_NAVIGATION, new ShowNavigationAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SEARCH, new SearchAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHARE_BOOK, new ShareBookAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_SHOW_PANEL, new SelectionShowPanelAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_HIDE_PANEL, new SelectionHidePanelAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_COPY_TO_CLIPBOARD, new SelectionCopyAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_SHARE, new SelectionShareAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_TRANSLATE, new SelectionTranslateAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SELECTION_BOOKMARK, new SelectionBookmarkAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.DISPLAY_BOOK_POPUP, new DisplayBookPopupAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.PROCESS_HYPERLINK, new ProcessHyperlinkAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.OPEN_VIDEO, new OpenVideoAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.HIDE_TOAST, new HideToastAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SHOW_CANCEL_MENU, new ShowCancelMenuAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.OPEN_START_SCREEN, new StartScreenAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_SYSTEM, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_SYSTEM));
    myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_SENSOR, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_SENSOR));
    myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_PORTRAIT, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_PORTRAIT));
    myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_LANDSCAPE, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_LANDSCAPE));
    if (getZLibrary().supportsAllOrientations()) {
        myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_REVERSE_PORTRAIT, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_REVERSE_PORTRAIT));
        myFBReaderApp.addAction(ActionCode.SET_SCREEN_ORIENTATION_REVERSE_LANDSCAPE, new SetScreenOrientationAction(this, myFBReaderApp, ZLibrary.SCREEN_ORIENTATION_REVERSE_LANDSCAPE));
    }
    myFBReaderApp.addAction(ActionCode.OPEN_WEB_HELP, new OpenWebHelpAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.INSTALL_PLUGINS, new InstallPluginsAction(this, myFBReaderApp));
    myFBReaderApp.addAction(ActionCode.SWITCH_TO_DAY_PROFILE, new SwitchProfileAction(this, myFBReaderApp, ColorProfile.DAY));
    myFBReaderApp.addAction(ActionCode.SWITCH_TO_NIGHT_PROFILE, new SwitchProfileAction(this, myFBReaderApp, ColorProfile.NIGHT));
    final Intent intent = getIntent();
    final String action = intent.getAction();
    myOpenBookIntent = intent;
    if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) {
        if (FBReaderIntents.Action.CLOSE.equals(action)) {
            myCancelIntent = intent;
            myOpenBookIntent = null;
        } else if (FBReaderIntents.Action.PLUGIN_CRASH.equals(action)) {
            myFBReaderApp.ExternalBook = null;
            myOpenBookIntent = null;
            getCollection().bindToService(this, new Runnable() {

                public void run() {
                    myFBReaderApp.openBook(null, null, null, myNotifier);
                }
            });
        }
    }
}
Also used : Config(org.geometerplus.zlibrary.core.options.Config) ZLAndroidLibrary(org.geometerplus.zlibrary.ui.android.library.ZLAndroidLibrary) DataService(org.geometerplus.android.fbreader.httpd.DataService) BookCollectionShadow(org.geometerplus.android.fbreader.libraryService.BookCollectionShadow)

Aggregations

BookCollectionShadow (org.geometerplus.android.fbreader.libraryService.BookCollectionShadow)6 ZLAndroidLibrary (org.geometerplus.zlibrary.ui.android.library.ZLAndroidLibrary)2 Intent (android.content.Intent)1 Uri (android.net.Uri)1 RemoteViews (android.widget.RemoteViews)1 DecimalFormatSymbols (java.text.DecimalFormatSymbols)1 DataService (org.geometerplus.android.fbreader.httpd.DataService)1 BackgroundPreference (org.geometerplus.android.fbreader.preferences.background.BackgroundPreference)1 CancelMenuHelper (org.geometerplus.fbreader.fbreader.options.CancelMenuHelper)1 ExternalFormatPlugin (org.geometerplus.fbreader.formats.ExternalFormatPlugin)1 SyncData (org.geometerplus.fbreader.network.sync.SyncData)1 ZLKeyBindings (org.geometerplus.zlibrary.core.application.ZLKeyBindings)1 Language (org.geometerplus.zlibrary.core.language.Language)1 JsonRequest (org.geometerplus.zlibrary.core.network.JsonRequest)1 ZLNetworkException (org.geometerplus.zlibrary.core.network.ZLNetworkException)1 Config (org.geometerplus.zlibrary.core.options.Config)1