Search in sources :

Example 1 with AlbumController

use of de.baumann.browser.Browser.AlbumController in project browser by scoute-dich.

the class BrowserActivity method initHomeGrid.

private void initHomeGrid(final NinjaRelativeLayout layout) {
    final int current_tab = layout.getFlag();
    if (currentAlbumController != null) {
        AlbumController holder;
        holder = layout;
        showAlbum(holder, true);
        updateOmnibox();
    }
    final DynamicGridView gridView = layout.findViewById(R.id.home_grid);
    final ListView home_list = layout.findViewById(R.id.home_list);
    final View open_newTabView = layout.findViewById(R.id.open_newTabView);
    final View open_filesView = layout.findViewById(R.id.open_filesView);
    final View open_passView = layout.findViewById(R.id.open_passView);
    final View open_bookmarkView = layout.findViewById(R.id.open_bookmarkView);
    final View open_historyView = layout.findViewById(R.id.open_historyView);
    ImageButton open_pass = layout.findViewById(R.id.open_pass);
    ImageButton open_newTab = layout.findViewById(R.id.open_newTab);
    ImageButton open_files = layout.findViewById(R.id.open_files);
    ImageButton open_bookmark = layout.findViewById(R.id.open_bookmark);
    ImageButton open_history = layout.findViewById(R.id.open_history);
    if (current_tab == BrowserUnit.FLAG_HOME) {
        open_newTabView.setVisibility(View.VISIBLE);
        open_filesView.setVisibility(View.INVISIBLE);
        open_passView.setVisibility(View.INVISIBLE);
        open_bookmarkView.setVisibility(View.INVISIBLE);
        open_historyView.setVisibility(View.INVISIBLE);
        layout.setAlbumTitle(getString(R.string.album_title_home));
        gridView.setVisibility(View.VISIBLE);
        home_list.setVisibility(View.GONE);
        updateProgress(BrowserUnit.PROGRESS_MAX);
        RecordAction action = new RecordAction(this);
        action.open(false);
        final List<GridItem> gridList = action.listGrid();
        action.close();
        final de.baumann.browser.View.GridAdapter gridAdapter;
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            gridAdapter = new de.baumann.browser.View.GridAdapter(this, gridList, 3);
        } else {
            gridAdapter = new de.baumann.browser.View.GridAdapter(this, gridList, 2);
        }
        gridView.setAdapter(gridAdapter);
        gridAdapter.notifyDataSetChanged();
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                updateAlbum(gridList.get(position).getURL());
            }
        });
        gridView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                showGridMenu(gridList.get(position));
                return true;
            }
        });
    } else {
        gridView.setVisibility(View.GONE);
        home_list.setVisibility(View.VISIBLE);
        if (current_tab == BrowserUnit.FLAG_BOOKMARKS) {
            open_newTabView.setVisibility(View.INVISIBLE);
            open_filesView.setVisibility(View.INVISIBLE);
            open_passView.setVisibility(View.INVISIBLE);
            open_bookmarkView.setVisibility(View.VISIBLE);
            open_historyView.setVisibility(View.INVISIBLE);
            layout.setAlbumTitle(getString(R.string.album_title_bookmarks));
            layout.setFlag(BrowserUnit.FLAG_BOOKMARKS);
            initBHList(layout);
        } else if (current_tab == BrowserUnit.FLAG_HISTORY) {
            open_newTabView.setVisibility(View.INVISIBLE);
            open_filesView.setVisibility(View.INVISIBLE);
            open_passView.setVisibility(View.INVISIBLE);
            open_bookmarkView.setVisibility(View.INVISIBLE);
            open_historyView.setVisibility(View.VISIBLE);
            layout.setAlbumTitle(getString(R.string.album_title_history));
            layout.setFlag(BrowserUnit.FLAG_HISTORY);
            initBHList(layout);
        } else if (current_tab == BrowserUnit.FLAG_FILES) {
            if (android.os.Build.VERSION.SDK_INT >= 23) {
                int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
                if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
                    NinjaToast.show(BrowserActivity.this, R.string.toast_permission_sdCard_sec);
                } else {
                    open_newTabView.setVisibility(View.INVISIBLE);
                    open_filesView.setVisibility(View.VISIBLE);
                    open_passView.setVisibility(View.INVISIBLE);
                    open_bookmarkView.setVisibility(View.INVISIBLE);
                    open_historyView.setVisibility(View.INVISIBLE);
                    layout.setAlbumTitle(getString(R.string.album_title_files));
                    layout.setFlag(BrowserUnit.FLAG_FILES);
                    sp.edit().putString("files_startFolder", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()).apply();
                    initFEList(layout);
                }
            } else {
                open_newTabView.setVisibility(View.INVISIBLE);
                open_filesView.setVisibility(View.VISIBLE);
                open_passView.setVisibility(View.INVISIBLE);
                open_bookmarkView.setVisibility(View.INVISIBLE);
                open_historyView.setVisibility(View.INVISIBLE);
                layout.setAlbumTitle(getString(R.string.album_title_files));
                layout.setFlag(BrowserUnit.FLAG_FILES);
                sp.edit().putString("files_startFolder", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()).apply();
                initFEList(layout);
            }
        } else if (current_tab == BrowserUnit.FLAG_PASS) {
            open_newTabView.setVisibility(View.INVISIBLE);
            open_filesView.setVisibility(View.INVISIBLE);
            open_passView.setVisibility(View.VISIBLE);
            open_bookmarkView.setVisibility(View.INVISIBLE);
            open_historyView.setVisibility(View.INVISIBLE);
            layout.setAlbumTitle(getString(R.string.album_title_pass));
            layout.setFlag(BrowserUnit.FLAG_PASS);
            initPSList(layout);
        }
    }
    open_pass.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layout.setFlag(BrowserUnit.FLAG_PASS);
            layout.setAlbumTitle(getString(R.string.album_title_pass));
            initHomeGrid(layout);
        }
    });
    open_newTab.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layout.setFlag(BrowserUnit.FLAG_HOME);
            layout.setAlbumTitle(getString(R.string.album_title_home));
            initHomeGrid(layout);
        }
    });
    open_files.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layout.setFlag(BrowserUnit.FLAG_FILES);
            layout.setAlbumTitle(getString(R.string.album_title_files));
            initHomeGrid(layout);
        }
    });
    open_bookmark.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layout.setFlag(BrowserUnit.FLAG_BOOKMARKS);
            layout.setAlbumTitle(getString(R.string.album_title_bookmarks));
            initHomeGrid(layout);
        }
    });
    open_history.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layout.setFlag(BrowserUnit.FLAG_HISTORY);
            layout.setAlbumTitle(getString(R.string.album_title_history));
            initHomeGrid(layout);
        }
    });
}
Also used : ImageView(android.widget.ImageView) HorizontalScrollView(android.widget.HorizontalScrollView) NinjaWebView(de.baumann.browser.View.NinjaWebView) AutoCompleteTextView(android.widget.AutoCompleteTextView) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView) TextView(android.widget.TextView) ListView(android.widget.ListView) VideoView(android.widget.VideoView) Paint(android.graphics.Paint) GridAdapter(de.baumann.browser.View.GridAdapter) ImageButton(android.widget.ImageButton) ListView(android.widget.ListView) GridItem(de.baumann.browser.View.GridItem) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) RecordAction(de.baumann.browser.Database.RecordAction) AdapterView(android.widget.AdapterView) AlbumController(de.baumann.browser.Browser.AlbumController)

Example 2 with AlbumController

use of de.baumann.browser.Browser.AlbumController in project browser by scoute-dich.

the class BrowserActivity method onClick.

@Override
public void onClick(View v) {
    RecordAction action = new RecordAction(BrowserActivity.this);
    if (currentAlbumController != null && currentAlbumController instanceof NinjaRelativeLayout) {
        ninjaRelativeLayout = (NinjaRelativeLayout) currentAlbumController;
    } else if (currentAlbumController != null && currentAlbumController instanceof NinjaWebView) {
        ninjaWebView = (NinjaWebView) currentAlbumController;
        try {
            title = ninjaWebView.getTitle().trim();
            url = ninjaWebView.getUrl().trim();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    switch(v.getId()) {
        case R.id.tab_prev:
            AlbumController controller = nextAlbumController(false);
            showAlbum(controller, false);
            viewOverflow();
            break;
        case R.id.tab_next:
            AlbumController controller2 = nextAlbumController(true);
            showAlbum(controller2, false);
            viewOverflow();
            break;
        case R.id.web_prev:
            if (ninjaWebView.canGoBack()) {
                ninjaWebView.goBack();
                viewOverflow();
            } else {
                bottomSheetDialog.cancel();
                removeAlbum(currentAlbumController);
            }
            break;
        case R.id.web_next:
            if (ninjaWebView.canGoForward()) {
                ninjaWebView.goForward();
                viewOverflow();
            } else {
                bottomSheetDialog.cancel();
                NinjaToast.show(BrowserActivity.this, R.string.toast_webview_forward);
            }
            break;
        case R.id.tv_new_tabOpen:
            bottomSheetDialog.cancel();
            addAlbum(start_tab);
            break;
        case R.id.tv_closeTab:
            bottomSheetDialog.cancel();
            removeAlbum(currentAlbumController);
            break;
        case R.id.tv_tabPreview:
            bottomSheetDialog.cancel();
            showOmnibox();
            new Handler().postDelayed(new Runnable() {

                public void run() {
                    switcherPanel.collapsed();
                }
            }, 500);
            break;
        case R.id.tv_quit:
            bottomSheetDialog.cancel();
            doubleTapsQuit();
            break;
        case R.id.tv_shareScreenshot:
            bottomSheetDialog.cancel();
            sp.edit().putInt("screenshot", 1).apply();
            new ScreenshotTask(BrowserActivity.this, ninjaWebView).execute();
            break;
        case R.id.tv_shareLink:
            bottomSheetDialog.cancel();
            if (prepareRecord()) {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_share_failed));
            } else {
                IntentUnit.share(BrowserActivity.this, title, url);
            }
            break;
        case R.id.tv_shareClipboard:
            bottomSheetDialog.cancel();
            BrowserUnit.copyURL(BrowserActivity.this, url);
            break;
        case R.id.tv_openWith:
            bottomSheetDialog.cancel();
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(url));
            Intent chooser = Intent.createChooser(intent, getString(R.string.menu_open_with));
            startActivity(chooser);
            break;
        case R.id.tv_saveScreenshot:
            bottomSheetDialog.cancel();
            sp.edit().putInt("screenshot", 0).apply();
            new ScreenshotTask(BrowserActivity.this, ninjaWebView).execute();
            break;
        case R.id.tv_saveBookmark:
            bottomSheetDialog.cancel();
            action.open(true);
            if (action.checkBookmark(url)) {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_entry_exists));
            } else {
                action.addBookmark(new Record(title, url, System.currentTimeMillis()));
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_add_bookmark_successful));
            }
            action.close();
            updateBookmarks();
            updateAutoComplete();
            break;
        case R.id.tv_saveStart:
            bottomSheetDialog.cancel();
            action.open(true);
            if (action.checkGridItem(url)) {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_already_exist_in_home));
            } else {
                Bitmap bitmap = ViewUnit.capture(ninjaWebView, dimen156dp, dimen117dp, Bitmap.Config.ARGB_8888);
                String filename = System.currentTimeMillis() + BrowserUnit.SUFFIX_PNG;
                int ordinal = action.listGrid().size();
                GridItem itemAlbum = new GridItem(title, url, filename, ordinal);
                if (BrowserUnit.bitmap2File(BrowserActivity.this, bitmap, filename) && action.addGridItem(itemAlbum)) {
                    NinjaToast.show(BrowserActivity.this, getString(R.string.toast_add_to_home_successful));
                } else {
                    NinjaToast.show(BrowserActivity.this, getString(R.string.toast_add_to_home_failed));
                }
            }
            action.close();
            break;
        case R.id.tv_saveLogin:
            bottomSheetDialog.cancel();
            AlertDialog.Builder builder = new AlertDialog.Builder(BrowserActivity.this);
            View dialogView = View.inflate(BrowserActivity.this, R.layout.dialog_login, null);
            final EditText pass_title = dialogView.findViewById(R.id.pass_title);
            final EditText pass_userName = dialogView.findViewById(R.id.pass_userName);
            final EditText pass_userPW = dialogView.findViewById(R.id.pass_userPW);
            new Handler().postDelayed(new Runnable() {

                public void run() {
                    pass_title.setText(ninjaWebView.getTitle());
                    showSoftInput(pass_title);
                }
            }, 100);
            builder.setView(dialogView);
            builder.setTitle(R.string.menu_edit);
            builder.setPositiveButton(R.string.app_ok, new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int whichButton) {
                    String input_pass_title = pass_title.getText().toString().trim();
                    try {
                        MAHEncryptor mahEncryptor = MAHEncryptor.newInstance(sp.getString("saved_key", ""));
                        String encrypted_userName = mahEncryptor.encode(pass_userName.getText().toString().trim());
                        String encrypted_userPW = mahEncryptor.encode(pass_userPW.getText().toString().trim());
                        Pass db = new Pass(BrowserActivity.this);
                        db.open();
                        if (db.isExist(helper_main.secString(input_pass_title))) {
                            NinjaToast.show(BrowserActivity.this, R.string.toast_newTitle);
                        } else {
                            db.insert(input_pass_title, url, encrypted_userName, helper_main.secString(encrypted_userPW), String.valueOf(System.currentTimeMillis()));
                            NinjaToast.show(BrowserActivity.this, R.string.toast_edit_successful);
                            hideSoftInput(pass_title);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        NinjaToast.show(BrowserActivity.this, R.string.toast_error);
                    }
                }
            });
            builder.setNegativeButton(R.string.app_cancel, new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int whichButton) {
                    dialog.cancel();
                }
            });
            AlertDialog dialog = builder.create();
            dialog.show();
            break;
        case R.id.tv_relayout:
            bottomSheetDialog.cancel();
            omnibox.setVisibility(View.GONE);
            relayoutOK.setVisibility(View.VISIBLE);
            final DynamicGridView gridView = ninjaRelativeLayout.findViewById(R.id.home_grid);
            final List<GridItem> gridList = ((GridAdapter) gridView.getAdapter()).getList();
            relayoutOK.setOnTouchListener(new View.OnTouchListener() {

                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    relayoutOK.setTextColor(ContextCompat.getColor(BrowserActivity.this, (R.color.colorAccent)));
                    return false;
                }
            });
            relayoutOK.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    gridView.stopEditMode();
                    relayoutOK.setVisibility(View.GONE);
                    omnibox.setVisibility(View.VISIBLE);
                    RecordAction action = new RecordAction(BrowserActivity.this);
                    action.open(true);
                    action.clearGrid();
                    for (GridItem item : gridList) {
                        action.addGridItem(item);
                    }
                    action.close();
                    NinjaToast.show(BrowserActivity.this, getString(R.string.toast_relayout_successful));
                }
            });
            gridView.setOnDragListener(new DynamicGridView.OnDragListener() {

                private GridItem dragItem;

                @Override
                public void onDragStarted(int position) {
                    dragItem = gridList.get(position);
                }

                @Override
                public void onDragPositionsChanged(int oldPosition, int newPosition) {
                    if (oldPosition < newPosition) {
                        for (int i = newPosition; i > oldPosition; i--) {
                            GridItem item = gridList.get(i);
                            item.setOrdinal(i - 1);
                        }
                    } else if (oldPosition > newPosition) {
                        for (int i = newPosition; i < oldPosition; i++) {
                            GridItem item = gridList.get(i);
                            item.setOrdinal(i + 1);
                        }
                    }
                    dragItem.setOrdinal(newPosition);
                    Collections.sort(gridList, new Comparator<GridItem>() {

                        @Override
                        public int compare(GridItem first, GridItem second) {
                            if (first.getOrdinal() < second.getOrdinal()) {
                                return -1;
                            } else if (first.getOrdinal() > second.getOrdinal()) {
                                return 1;
                            } else {
                                return 0;
                            }
                        }
                    });
                }
            });
            gridView.startEditMode();
            break;
        case R.id.tv_searchSite:
            bottomSheetDialog.cancel();
            hideSoftInput(inputBox);
            showSearchPanel();
            break;
        case R.id.tv_settings:
            bottomSheetDialog.cancel();
            Intent settings = new Intent(BrowserActivity.this, Settings_Activity.class);
            startActivity(settings);
            break;
        case R.id.tv_help:
            bottomSheetDialog.cancel();
            showHelpDialog();
            break;
        case R.id.floatButton_tab:
            tv_new_tabOpen.setVisibility(View.VISIBLE);
            tv_closeTab.setVisibility(View.VISIBLE);
            tv_tabPreview.setVisibility(View.VISIBLE);
            tv_quit.setVisibility(View.VISIBLE);
            tv_shareScreenshot.setVisibility(View.GONE);
            tv_shareLink.setVisibility(View.GONE);
            tv_shareClipboard.setVisibility(View.GONE);
            tv_openWith.setVisibility(View.GONE);
            tv_saveScreenshot.setVisibility(View.GONE);
            tv_saveBookmark.setVisibility(View.GONE);
            tv_saveStart.setVisibility(View.GONE);
            tv_saveLogin.setVisibility(View.GONE);
            floatButton_tabView.setVisibility(View.VISIBLE);
            floatButton_saveView.setVisibility(View.INVISIBLE);
            floatButton_shareView.setVisibility(View.INVISIBLE);
            floatButton_moreView.setVisibility(View.INVISIBLE);
            tv_relayout.setVisibility(View.GONE);
            tv_searchSite.setVisibility(View.GONE);
            tv_placeHolder.setVisibility(View.GONE);
            tv_placeHolder_2.setVisibility(View.GONE);
            tv_settings.setVisibility(View.GONE);
            tv_help.setVisibility(View.GONE);
            break;
        case R.id.floatButton_share:
            tv_new_tabOpen.setVisibility(View.GONE);
            tv_closeTab.setVisibility(View.GONE);
            tv_tabPreview.setVisibility(View.GONE);
            tv_quit.setVisibility(View.GONE);
            tv_shareScreenshot.setVisibility(View.VISIBLE);
            tv_shareLink.setVisibility(View.VISIBLE);
            tv_shareClipboard.setVisibility(View.VISIBLE);
            tv_openWith.setVisibility(View.VISIBLE);
            tv_saveScreenshot.setVisibility(View.GONE);
            tv_saveBookmark.setVisibility(View.GONE);
            tv_saveStart.setVisibility(View.GONE);
            tv_saveLogin.setVisibility(View.GONE);
            floatButton_tabView.setVisibility(View.INVISIBLE);
            floatButton_saveView.setVisibility(View.INVISIBLE);
            floatButton_shareView.setVisibility(View.VISIBLE);
            floatButton_moreView.setVisibility(View.INVISIBLE);
            tv_relayout.setVisibility(View.GONE);
            tv_searchSite.setVisibility(View.GONE);
            tv_placeHolder.setVisibility(View.GONE);
            tv_placeHolder_2.setVisibility(View.GONE);
            tv_settings.setVisibility(View.GONE);
            tv_help.setVisibility(View.GONE);
            break;
        case R.id.floatButton_save:
            tv_new_tabOpen.setVisibility(View.GONE);
            tv_closeTab.setVisibility(View.GONE);
            tv_tabPreview.setVisibility(View.GONE);
            tv_quit.setVisibility(View.GONE);
            tv_shareScreenshot.setVisibility(View.GONE);
            tv_shareLink.setVisibility(View.GONE);
            tv_shareClipboard.setVisibility(View.GONE);
            tv_openWith.setVisibility(View.GONE);
            tv_saveScreenshot.setVisibility(View.VISIBLE);
            tv_saveBookmark.setVisibility(View.VISIBLE);
            tv_saveStart.setVisibility(View.VISIBLE);
            tv_saveLogin.setVisibility(View.VISIBLE);
            tv_relayout.setVisibility(View.GONE);
            tv_searchSite.setVisibility(View.GONE);
            floatButton_tabView.setVisibility(View.INVISIBLE);
            floatButton_saveView.setVisibility(View.VISIBLE);
            floatButton_shareView.setVisibility(View.INVISIBLE);
            floatButton_moreView.setVisibility(View.INVISIBLE);
            tv_placeHolder.setVisibility(View.GONE);
            tv_placeHolder_2.setVisibility(View.GONE);
            tv_settings.setVisibility(View.GONE);
            tv_help.setVisibility(View.GONE);
            break;
        case R.id.floatButton_more:
            tv_new_tabOpen.setVisibility(View.GONE);
            tv_closeTab.setVisibility(View.GONE);
            tv_tabPreview.setVisibility(View.GONE);
            tv_quit.setVisibility(View.GONE);
            tv_shareScreenshot.setVisibility(View.GONE);
            tv_shareLink.setVisibility(View.GONE);
            tv_shareClipboard.setVisibility(View.GONE);
            tv_openWith.setVisibility(View.GONE);
            tv_saveScreenshot.setVisibility(View.GONE);
            tv_saveBookmark.setVisibility(View.GONE);
            tv_saveStart.setVisibility(View.GONE);
            tv_saveLogin.setVisibility(View.GONE);
            floatButton_tabView.setVisibility(View.INVISIBLE);
            floatButton_saveView.setVisibility(View.INVISIBLE);
            floatButton_shareView.setVisibility(View.INVISIBLE);
            floatButton_moreView.setVisibility(View.VISIBLE);
            tv_placeHolder.setVisibility(View.VISIBLE);
            tv_settings.setVisibility(View.VISIBLE);
            tv_help.setVisibility(View.VISIBLE);
            if (currentAlbumController != null && currentAlbumController instanceof NinjaRelativeLayout) {
                tv_searchSite.setVisibility(View.GONE);
                if (ninjaRelativeLayout.getFlag() == BrowserUnit.FLAG_HOME) {
                    tv_relayout.setVisibility(View.VISIBLE);
                    tv_placeHolder_2.setVisibility(View.GONE);
                } else {
                    tv_relayout.setVisibility(View.GONE);
                    tv_placeHolder_2.setVisibility(View.VISIBLE);
                }
            } else if (currentAlbumController != null && currentAlbumController instanceof NinjaWebView) {
                tv_searchSite.setVisibility(View.VISIBLE);
                tv_relayout.setVisibility(View.GONE);
                tv_placeHolder_2.setVisibility(View.GONE);
            }
            break;
        case R.id.fab_imageButtonNav_center:
        case R.id.fab_imageButtonNav_left:
        case R.id.fab_imageButtonNav_right:
            doubleTapsHide();
            break;
        case R.id.omnibox_refresh:
            if (currentAlbumController == null) {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_refresh_failed));
                return;
            }
            if (currentAlbumController instanceof NinjaWebView) {
                ninjaWebView = (NinjaWebView) currentAlbumController;
                if (ninjaWebView.isLoadFinish()) {
                    ninjaWebView.reload();
                } else {
                    ninjaWebView.stopLoading();
                }
            } else if (currentAlbumController instanceof NinjaRelativeLayout) {
                ninjaRelativeLayout = (NinjaRelativeLayout) currentAlbumController;
                initHomeGrid(ninjaRelativeLayout);
            } else {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_refresh_failed));
            }
            break;
        case R.id.omnibox_overflow:
            showOverflow();
            break;
        default:
            break;
    }
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) ScreenshotTask(de.baumann.browser.Task.ScreenshotTask) DialogInterface(android.content.DialogInterface) NinjaWebView(de.baumann.browser.View.NinjaWebView) GridAdapter(de.baumann.browser.View.GridAdapter) Comparator(java.util.Comparator) Bitmap(android.graphics.Bitmap) GridItem(de.baumann.browser.View.GridItem) Pass(de.baumann.browser.Database.Pass) Record(de.baumann.browser.Database.Record) Adapter_Record(de.baumann.browser.View.Adapter_Record) AlbumController(de.baumann.browser.Browser.AlbumController) EditText(android.widget.EditText) Handler(android.os.Handler) PendingIntent(android.app.PendingIntent) Intent(android.content.Intent) ImageView(android.widget.ImageView) HorizontalScrollView(android.widget.HorizontalScrollView) NinjaWebView(de.baumann.browser.View.NinjaWebView) AutoCompleteTextView(android.widget.AutoCompleteTextView) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView) TextView(android.widget.TextView) ListView(android.widget.ListView) VideoView(android.widget.VideoView) Paint(android.graphics.Paint) MotionEvent(android.view.MotionEvent) NinjaRelativeLayout(de.baumann.browser.View.NinjaRelativeLayout) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) RecordAction(de.baumann.browser.Database.RecordAction) MAHEncryptor(com.mobapphome.mahencryptorlib.MAHEncryptor)

Example 3 with AlbumController

use of de.baumann.browser.Browser.AlbumController in project browser by scoute-dich.

the class BrowserActivity method onResume.

@Override
public void onResume() {
    super.onResume();
    IntentUnit.setContext(this);
    if (create) {
        return;
    }
    if (IntentUnit.isDBChange()) {
        updateBookmarks();
        updateAutoComplete();
        IntentUnit.setDBChange(false);
    }
    if (IntentUnit.isSPChange()) {
        for (AlbumController controller : BrowserContainer.list()) {
            if (controller instanceof NinjaWebView) {
                ((NinjaWebView) controller).initPreferences();
            }
        }
        IntentUnit.setSPChange(false);
    }
    if (sp.getInt("restart_changed", 1) == 1) {
        sp.edit().putInt("restart_changed", 0).apply();
        finish();
    }
    dispatchIntent(getIntent());
}
Also used : NinjaWebView(de.baumann.browser.View.NinjaWebView) AlbumController(de.baumann.browser.Browser.AlbumController)

Example 4 with AlbumController

use of de.baumann.browser.Browser.AlbumController in project browser by scoute-dich.

the class BrowserActivity method addAlbum.

private synchronized void addAlbum(int flag) {
    showOmnibox();
    final AlbumController holder;
    NinjaRelativeLayout layout = (NinjaRelativeLayout) getLayoutInflater().inflate(R.layout.main_home, nullParent, false);
    layout.setBrowserController(this);
    layout.setFlag(flag);
    layout.setAlbumTitle(getString(R.string.app_name));
    holder = layout;
    View albumView = holder.getAlbumView();
    BrowserContainer.add(holder);
    switcherContainer.addView(albumView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    showAlbum(holder, true);
    initHomeGrid(layout);
}
Also used : NinjaRelativeLayout(de.baumann.browser.View.NinjaRelativeLayout) AlbumController(de.baumann.browser.Browser.AlbumController) ImageView(android.widget.ImageView) HorizontalScrollView(android.widget.HorizontalScrollView) NinjaWebView(de.baumann.browser.View.NinjaWebView) AutoCompleteTextView(android.widget.AutoCompleteTextView) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView) TextView(android.widget.TextView) ListView(android.widget.ListView) VideoView(android.widget.VideoView)

Example 5 with AlbumController

use of de.baumann.browser.Browser.AlbumController in project browser by scoute-dich.

the class BrowserActivity method initOmnibox.

private void initOmnibox() {
    omnibox = findViewById(R.id.main_omnibox);
    inputBox = findViewById(R.id.main_omnibox_input);
    omniboxRefresh = findViewById(R.id.omnibox_refresh);
    omniboxOverflow = findViewById(R.id.omnibox_overflow);
    omniboxTitle = findViewById(R.id.omnibox_title);
    progressBar = findViewById(R.id.main_progress_bar);
    int fab_position = Integer.parseInt(sp.getString("nav_position", "0"));
    switch(fab_position) {
        case 0:
            fab_imageButtonNav = findViewById(R.id.fab_imageButtonNav_right);
            break;
        case 1:
            fab_imageButtonNav = findViewById(R.id.fab_imageButtonNav_left);
            break;
        case 2:
            fab_imageButtonNav = findViewById(R.id.fab_imageButtonNav_center);
            break;
        default:
            fab_imageButtonNav = findViewById(R.id.fab_imageButtonNav_right);
            break;
    }
    fab_imageButtonNav.setOnLongClickListener(new View.OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            if (currentAlbumController instanceof NinjaWebView) {
                showSwitcher();
            }
            return false;
        }
    });
    fab_imageButtonNav.setOnClickListener(this);
    fab_imageButtonNav.setOnTouchListener(new SwipeTouchListener(BrowserActivity.this) {

        public void onSwipeTop() {
            ninjaWebView = (NinjaWebView) currentAlbumController;
            ninjaWebView.pageUp(true);
        }

        public void onSwipeBottom() {
            ninjaWebView = (NinjaWebView) currentAlbumController;
            ninjaWebView.pageDown(true);
        }

        public void onSwipeRight() {
            ninjaWebView = (NinjaWebView) currentAlbumController;
            if (ninjaWebView.canGoForward()) {
                ninjaWebView.goForward();
            } else {
                NinjaToast.show(BrowserActivity.this, R.string.toast_webview_forward);
            }
        }

        public void onSwipeLeft() {
            if (ninjaWebView.canGoBack()) {
                ninjaWebView.goBack();
            } else {
                removeAlbum(currentAlbumController);
            }
        }
    });
    inputBox.setOnTouchListener(new SwipeToBoundListener(omnibox, new SwipeToBoundListener.BoundCallback() {

        private final KeyListener keyListener = inputBox.getKeyListener();

        @Override
        public boolean canSwipe() {
            boolean ob = sp.getBoolean(getString(R.string.sp_omnibox_control), true);
            return switcherPanel.isKeyBoardShowing() && ob;
        }

        @Override
        public void onSwipe() {
            inputBox.setKeyListener(null);
            inputBox.setFocusable(false);
            inputBox.setFocusableInTouchMode(false);
            inputBox.clearFocus();
        }

        @Override
        public void onBound(boolean canSwitch, boolean left) {
            inputBox.setKeyListener(keyListener);
            inputBox.setFocusable(true);
            inputBox.setFocusableInTouchMode(true);
            inputBox.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
            inputBox.clearFocus();
            if (canSwitch) {
                AlbumController controller = nextAlbumController(left);
                showAlbum(controller, false);
            }
        }
    }));
    inputBox.setOnEditorActionListener(new TextView.OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (currentAlbumController == null) {
                // || !(actionId == EditorInfo.IME_ACTION_DONE)
                return false;
            }
            String query = inputBox.getText().toString().trim();
            if (query.isEmpty()) {
                NinjaToast.show(BrowserActivity.this, getString(R.string.toast_input_empty));
                return true;
            }
            updateAlbum(query);
            hideSoftInput(inputBox);
            return false;
        }
    });
    updateBookmarks();
    updateAutoComplete();
    omniboxRefresh.setOnClickListener(this);
    omniboxOverflow.setOnClickListener(this);
    omniboxOverflow.setOnLongClickListener(new View.OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            if (currentAlbumController != null && currentAlbumController instanceof NinjaWebView) {
                showSwitcher();
            }
            return false;
        }
    });
}
Also used : SwipeToBoundListener(de.baumann.browser.View.SwipeToBoundListener) NinjaWebView(de.baumann.browser.View.NinjaWebView) ImageView(android.widget.ImageView) HorizontalScrollView(android.widget.HorizontalScrollView) NinjaWebView(de.baumann.browser.View.NinjaWebView) AutoCompleteTextView(android.widget.AutoCompleteTextView) DynamicGridView(org.askerov.dynamicgrid.DynamicGridView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView) TextView(android.widget.TextView) ListView(android.widget.ListView) VideoView(android.widget.VideoView) Paint(android.graphics.Paint) KeyEvent(android.view.KeyEvent) SwipeTouchListener(de.baumann.browser.View.SwipeTouchListener) KeyListener(android.text.method.KeyListener) AutoCompleteTextView(android.widget.AutoCompleteTextView) TextView(android.widget.TextView) AlbumController(de.baumann.browser.Browser.AlbumController)

Aggregations

AlbumController (de.baumann.browser.Browser.AlbumController)7 NinjaWebView (de.baumann.browser.View.NinjaWebView)6 View (android.view.View)5 WebView (android.webkit.WebView)5 AdapterView (android.widget.AdapterView)5 AutoCompleteTextView (android.widget.AutoCompleteTextView)5 HorizontalScrollView (android.widget.HorizontalScrollView)5 ImageView (android.widget.ImageView)5 ListView (android.widget.ListView)5 TextView (android.widget.TextView)5 VideoView (android.widget.VideoView)5 DynamicGridView (org.askerov.dynamicgrid.DynamicGridView)5 Paint (android.graphics.Paint)4 NinjaRelativeLayout (de.baumann.browser.View.NinjaRelativeLayout)3 RecordAction (de.baumann.browser.Database.RecordAction)2 GridAdapter (de.baumann.browser.View.GridAdapter)2 GridItem (de.baumann.browser.View.GridItem)2 PendingIntent (android.app.PendingIntent)1 DialogInterface (android.content.DialogInterface)1 Intent (android.content.Intent)1