Search in sources :

Example 1 with MAHEncryptor

use of com.mobapphome.mahencryptorlib.MAHEncryptor 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 2 with MAHEncryptor

use of com.mobapphome.mahencryptorlib.MAHEncryptor in project run-wallet-android by runplay.

the class SpManager method setEncryptedPreference.

public static boolean setEncryptedPreference(SharedPreferences sharedPref, String PREF_, String value) {
    try {
        MAHEncryptor mahEncryptor = MAHEncryptor.newInstance(key);
        // String toDecode = mahEncryptor.decode(sharedPref.getString("protect_PW", ""));
        String toEncode = mahEncryptor.encode(value);
        sharedPref.edit().putString(PREF_, toEncode).commit();
        return true;
    } catch (Exception e) {
    }
    return false;
}
Also used : MAHEncryptor(com.mobapphome.mahencryptorlib.MAHEncryptor)

Example 3 with MAHEncryptor

use of com.mobapphome.mahencryptorlib.MAHEncryptor in project run-wallet-android by runplay.

the class Utils method encryptMessageForTransfer.

public static final String encryptMessageForTransfer(String textMessage, String tag, String privateSharedKey) {
    String message = Base64.encodeToString(textMessage.getBytes(), false);
    try {
        MAHEncryptor mahEncryptor = MAHEncryptor.newInstance(tag + PRIVATE_SHARED_KEY);
        message = mahEncryptor.encode(message);
    } catch (Exception e) {
    }
    message = Base64.encodeToString(textMessage.getBytes(), false);
    message = TrytesConverter.toTrytes(message);
    return message;
}
Also used : MAHEncryptor(com.mobapphome.mahencryptorlib.MAHEncryptor)

Example 4 with MAHEncryptor

use of com.mobapphome.mahencryptorlib.MAHEncryptor in project run-wallet-android by runplay.

the class Utils method decryptMessageFromTransfer.

public static final String decryptMessageFromTransfer(String trytesMessage, String trytesTag, String privateSharedKey) {
    trytesMessage = removeTrailingNines(trytesMessage);
    String message = TrytesConverter.toString(trytesMessage);
    message = new String(Base64.decode(message.getBytes()));
    try {
        MAHEncryptor mahEncryptor = MAHEncryptor.newInstance(trytesTag + PRIVATE_SHARED_KEY);
        message = mahEncryptor.decode(message);
    } catch (Exception e) {
    }
    message = new String(Base64.decode(message.getBytes()));
    return message;
}
Also used : MAHEncryptor(com.mobapphome.mahencryptorlib.MAHEncryptor)

Aggregations

MAHEncryptor (com.mobapphome.mahencryptorlib.MAHEncryptor)4 PendingIntent (android.app.PendingIntent)1 DialogInterface (android.content.DialogInterface)1 Intent (android.content.Intent)1 Bitmap (android.graphics.Bitmap)1 Paint (android.graphics.Paint)1 Handler (android.os.Handler)1 AlertDialog (android.support.v7.app.AlertDialog)1 MotionEvent (android.view.MotionEvent)1 View (android.view.View)1 WebView (android.webkit.WebView)1 AdapterView (android.widget.AdapterView)1 AutoCompleteTextView (android.widget.AutoCompleteTextView)1 EditText (android.widget.EditText)1 HorizontalScrollView (android.widget.HorizontalScrollView)1 ImageView (android.widget.ImageView)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 VideoView (android.widget.VideoView)1 AlbumController (de.baumann.browser.Browser.AlbumController)1