Search in sources :

Example 1 with IconicsImageView

use of com.mikepenz.iconics.view.IconicsImageView in project LeafPic by HoraApps.

the class SettingsActivity method customizePictureViewer.

private void customizePictureViewer() {
    final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(SettingsActivity.this, getDialogStyle());
    View dialogLayout = getLayoutInflater().inflate(R.layout.dialog_media_viewer_theme, null);
    final SwitchCompat swApplyTheme_Viewer = (SwitchCompat) dialogLayout.findViewById(R.id.apply_theme_3th_act_enabled);
    ((CardView) dialogLayout.findViewById(R.id.third_act_theme_card)).setCardBackgroundColor(getCardBackgroundColor());
    //or GetPrimary
    dialogLayout.findViewById(R.id.third_act_theme_title).setBackgroundColor(getPrimaryColor());
    ((TextView) dialogLayout.findViewById(R.id.apply_theme_3thAct_title)).setTextColor(getTextColor());
    ((TextView) dialogLayout.findViewById(R.id.apply_theme_3thAct_title_Sub)).setTextColor(getSubTextColor());
    ((IconicsImageView) dialogLayout.findViewById(R.id.ll_apply_theme_3thAct_icon)).setColor(getIconColor());
    swApplyTheme_Viewer.setChecked(isApplyThemeOnImgAct());
    swApplyTheme_Viewer.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            updateSwitchColor(swApplyTheme_Viewer, getAccentColor());
        }
    });
    updateSwitchColor(swApplyTheme_Viewer, getAccentColor());
    final LineColorPicker transparencyColorPicker = (LineColorPicker) dialogLayout.findViewById(R.id.pickerTransparent);
    transparencyColorPicker.setColors(ColorPalette.getTransparencyShadows(getPrimaryColor()));
    transparencyColorPicker.setSelectedColor(ColorPalette.getTransparentColor(getPrimaryColor(), getTransparency()));
    /**TEXT VIEWS**/
    ((TextView) dialogLayout.findViewById(R.id.seek_bar_alpha_title)).setTextColor(getTextColor());
    ((TextView) dialogLayout.findViewById(R.id.seek_bar_alpha_title_Sub)).setTextColor(getSubTextColor());
    dialogBuilder.setView(dialogLayout);
    dialogBuilder.setNeutralButton(getString(R.string.cancel).toUpperCase(), null);
    dialogBuilder.setPositiveButton(getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            SharedPreferences.Editor editor = SP.getEditor();
            editor.putBoolean(getString(R.string.preference_apply_theme_pager), swApplyTheme_Viewer.isChecked());
            int c = Color.alpha(transparencyColorPicker.getColor());
            editor.putInt(getString(R.string.preference_transparency), 255 - c);
            editor.commit();
            updateTheme();
        }
    });
    dialogBuilder.show();
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) DialogInterface(android.content.DialogInterface) CardView(android.support.v7.widget.CardView) View(android.view.View) CardView(android.support.v7.widget.CardView) TextView(android.widget.TextView) ScrollView(android.widget.ScrollView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) LineColorPicker(uz.shift.colorpicker.LineColorPicker) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) TextView(android.widget.TextView) CompoundButton(android.widget.CompoundButton) SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 2 with IconicsImageView

use of com.mikepenz.iconics.view.IconicsImageView in project LeafPic by HoraApps.

the class MainActivity method setDrawerTheme.

private void setDrawerTheme() {
    findViewById(R.id.Drawer_Header).setBackgroundColor(getPrimaryColor());
    findViewById(R.id.Drawer_Body).setBackgroundColor(getDrawerBackground());
    findViewById(R.id.drawer_scrollbar).setBackgroundColor(getDrawerBackground());
    findViewById(R.id.Drawer_Body_Divider).setBackgroundColor(getIconColor());
    /** TEXT VIEWS **/
    int color = getTextColor();
    ((TextView) findViewById(R.id.Drawer_Default_Item)).setTextColor(color);
    ((TextView) findViewById(R.id.Drawer_Setting_Item)).setTextColor(color);
    ((TextView) findViewById(R.id.Drawer_Donate_Item)).setTextColor(color);
    ((TextView) findViewById(R.id.Drawer_wallpapers_Item)).setTextColor(color);
    ((TextView) findViewById(R.id.Drawer_About_Item)).setTextColor(color);
    ((TextView) findViewById(R.id.Drawer_hidden_Item)).setTextColor(color);
    /** ICONS **/
    color = getIconColor();
    ((IconicsImageView) findViewById(R.id.Drawer_Default_Icon)).setColor(color);
    ((IconicsImageView) findViewById(R.id.Drawer_Donate_Icon)).setColor(color);
    ((IconicsImageView) findViewById(R.id.Drawer_Setting_Icon)).setColor(color);
    ((IconicsImageView) findViewById(R.id.Drawer_wallpapers_Icon)).setColor(color);
    ((IconicsImageView) findViewById(R.id.Drawer_About_Icon)).setColor(color);
    ((IconicsImageView) findViewById(R.id.Drawer_hidden_Icon)).setColor(color);
    /** CLICK LISTENERS **/
    findViewById(R.id.ll_drawer_Donate).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, DonateActivity.class);
            startActivity(intent);
        }
    });
    findViewById(R.id.ll_drawer_Setting).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, SettingsActivity.class);
            startActivity(intent);
        }
    });
    findViewById(R.id.ll_drawer_About).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, AboutActivity.class);
            startActivity(intent);
        }
    });
    findViewById(R.id.ll_drawer_Default).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            hidden = false;
            mDrawerLayout.closeDrawer(GravityCompat.START);
            new PrepareAlbumTask().execute();
        }
    });
    findViewById(R.id.ll_drawer_hidden).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (securityObj.isActiveSecurity() && securityObj.isPasswordOnHidden()) {
                AlertDialog.Builder passwordDialogBuilder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
                final EditText editTextPassword = securityObj.getInsertPasswordDialog(MainActivity.this, passwordDialogBuilder);
                passwordDialogBuilder.setPositiveButton(getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
                passwordDialogBuilder.setNegativeButton(getString(R.string.cancel).toUpperCase(), null);
                final AlertDialog passwordDialog = passwordDialogBuilder.create();
                passwordDialog.show();
                passwordDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        if (securityObj.checkPassword(editTextPassword.getText().toString())) {
                            hidden = true;
                            mDrawerLayout.closeDrawer(GravityCompat.START);
                            new PrepareAlbumTask().execute();
                            passwordDialog.dismiss();
                        } else {
                            Toast.makeText(getApplicationContext(), R.string.wrong_password, Toast.LENGTH_SHORT).show();
                            editTextPassword.getText().clear();
                            editTextPassword.requestFocus();
                        }
                    }
                });
            } else {
                hidden = true;
                mDrawerLayout.closeDrawer(GravityCompat.START);
                new PrepareAlbumTask().execute();
            }
        }
    });
    findViewById(R.id.ll_drawer_Wallpapers).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "Coming Soon!", Toast.LENGTH_SHORT).show();
        }
    });
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) EditText(android.widget.EditText) DialogInterface(android.content.DialogInterface) Intent(android.content.Intent) SearchView(android.support.v7.widget.SearchView) View(android.view.View) CardView(android.support.v7.widget.CardView) TextView(android.widget.TextView) RecyclerView(android.support.v7.widget.RecyclerView) ScrollView(android.widget.ScrollView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) TextView(android.widget.TextView)

Example 3 with IconicsImageView

use of com.mikepenz.iconics.view.IconicsImageView in project LeafPic by HoraApps.

the class SelectAlbumBottomSheet method setupDialog.

@Override
public void setupDialog(Dialog dialog, int style) {
    super.setupDialog(dialog, style);
    View contentView = View.inflate(getContext(), R.layout.select_folder_bottom_sheet, null);
    theme = new ThemeHelper(getContext());
    RecyclerView mRecyclerView = (RecyclerView) contentView.findViewById(R.id.folders);
    mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 1));
    adapter = new BottomSheetAlbumsAdapter();
    mRecyclerView.setAdapter(adapter);
    exploreModePanel = (LinearLayout) contentView.findViewById(R.id.explore_mode_panel);
    currentFolderPath = (TextView) contentView.findViewById(R.id.bottom_sheet_sub_title);
    imgExploreMode = (IconicsImageView) contentView.findViewById(R.id.toggle_hidden_icon);
    imgExploreMode.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            toggleExplorerMode(!exploreMode);
        }
    });
    toggleExplorerMode(false);
    /**SET UP THEME**/
    theme.setColorScrollBarDrawable(ContextCompat.getDrawable(dialog.getContext(), R.drawable.ic_scrollbar));
    contentView.findViewById(R.id.ll_bottom_sheet_title).setBackgroundColor(theme.getPrimaryColor());
    contentView.findViewById(R.id.ll_select_folder).setBackgroundColor(theme.getCardBackgroundColor());
    ((TextView) contentView.findViewById(R.id.bottom_sheet_title)).setText(title);
    ((IconicsImageView) contentView.findViewById(R.id.create_new_folder)).setColor(theme.getIconColor());
    ((TextView) contentView.findViewById(R.id.create_new_folder_text)).setTextColor(theme.getSubTextColor());
    ((IconicsImageView) contentView.findViewById(R.id.done)).setColor(theme.getIconColor());
    contentView.findViewById(R.id.done).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            selectAlbumInterface.folderSelected(currentFolderPath.getText().toString());
        }
    });
    contentView.findViewById(R.id.ll_create_new_folder).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            final EditText editText = new EditText(getContext());
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), theme.getDialogStyle());
            AlertDialogsHelper.getInsertTextDialog(((ThemedActivity) getActivity()), builder, editText, R.string.new_folder);
            builder.setPositiveButton(R.string.ok_action, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    File folderPath = new File(currentFolderPath.getText().toString() + File.separator + editText.getText().toString());
                    if (folderPath.mkdir())
                        displayContentFolder(folderPath);
                }
            });
            builder.show();
        }
    });
    dialog.setContentView(contentView);
    CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
    CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
    if (behavior != null && behavior instanceof BottomSheetBehavior) {
        ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback);
    }
    adapter.notifyDataSetChanged();
}
Also used : EditText(android.widget.EditText) AlertDialog(android.support.v7.app.AlertDialog) ThemeHelper(org.horaapps.leafpic.util.ThemeHelper) DialogInterface(android.content.DialogInterface) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) BottomSheetBehavior(android.support.design.widget.BottomSheetBehavior) GridLayoutManager(android.support.v7.widget.GridLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) File(java.io.File)

Example 4 with IconicsImageView

use of com.mikepenz.iconics.view.IconicsImageView in project LeafPic by HoraApps.

the class MainActivity method onOptionsItemSelected.

//endregion
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
        case R.id.select_all:
            if (albumsMode) {
                if (getAlbums().getSelectedCount() == albumsAdapter.getItemCount()) {
                    editMode = false;
                    getAlbums().clearSelectedAlbums();
                } else
                    getAlbums().selectAllAlbums();
                albumsAdapter.notifyDataSetChanged();
            } else {
                if (getAlbum().getSelectedCount() == mediaAdapter.getItemCount()) {
                    editMode = false;
                    getAlbum().clearSelectedPhotos();
                } else
                    getAlbum().selectAllPhotos();
                mediaAdapter.notifyDataSetChanged();
            }
            invalidateOptionsMenu();
            return true;
        case R.id.set_pin_album:
            getAlbums().getSelectedAlbum(0).settings.togglePin(getApplicationContext());
            getAlbums().sortAlbums(getApplicationContext());
            getAlbums().clearSelectedAlbums();
            albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            invalidateOptionsMenu();
            return true;
        case R.id.settings:
            startActivity(new Intent(MainActivity.this, SettingsActivity.class));
            return true;
        case R.id.installShortcut:
            getAlbums().installShortcutForSelectedAlbums(this.getApplicationContext());
            finishEditMode();
            return true;
        case R.id.hideAlbumButton:
            final AlertDialog.Builder hideDialogBuilder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
            AlertDialogsHelper.getTextDialog(MainActivity.this, hideDialogBuilder, hidden ? R.string.unhide : R.string.hide, hidden ? R.string.unhide_album_message : R.string.hide_album_message);
            hideDialogBuilder.setPositiveButton(getString(hidden ? R.string.unhide : R.string.hide).toUpperCase(), new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    if (albumsMode) {
                        if (hidden)
                            getAlbums().unHideSelectedAlbums(getApplicationContext());
                        else
                            getAlbums().hideSelectedAlbums(getApplicationContext());
                        albumsAdapter.notifyDataSetChanged();
                        invalidateOptionsMenu();
                    } else {
                        if (hidden)
                            getAlbums().unHideAlbum(getAlbum().getPath(), getApplicationContext());
                        else
                            getAlbums().hideAlbum(getAlbum().getPath(), getApplicationContext());
                        displayAlbums(true);
                    }
                }
            });
            if (!hidden) {
                hideDialogBuilder.setNeutralButton(this.getString(R.string.exclude).toUpperCase(), new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (albumsMode) {
                            getAlbums().excludeSelectedAlbums(getApplicationContext());
                            albumsAdapter.notifyDataSetChanged();
                            invalidateOptionsMenu();
                        } else {
                            customAlbumsHelper.excludeAlbum(getAlbum().getPath());
                            displayAlbums(true);
                        }
                    }
                });
            }
            hideDialogBuilder.setNegativeButton(this.getString(R.string.cancel).toUpperCase(), null);
            hideDialogBuilder.show();
            return true;
        case R.id.delete_action:
            class DeletePhotos extends AsyncTask<String, Integer, Boolean> {

                @Override
                protected void onPreExecute() {
                    swipeRefreshLayout.setRefreshing(true);
                    super.onPreExecute();
                }

                @Override
                protected Boolean doInBackground(String... arg0) {
                    if (albumsMode)
                        return getAlbums().deleteSelectedAlbums(MainActivity.this);
                    else {
                        if (editMode)
                            return getAlbum().deleteSelectedMedia(getApplicationContext());
                        else {
                            boolean succ = getAlbums().deleteAlbum(getAlbum(), getApplicationContext());
                            getAlbum().getMedia().clear();
                            return succ;
                        }
                    }
                }

                @Override
                protected void onPostExecute(Boolean result) {
                    if (result) {
                        if (albumsMode) {
                            getAlbums().clearSelectedAlbums();
                            albumsAdapter.notifyDataSetChanged();
                        } else {
                            if (getAlbum().getMedia().size() == 0) {
                                getAlbums().removeCurrentAlbum();
                                albumsAdapter.notifyDataSetChanged();
                                displayAlbums();
                            } else
                                mediaAdapter.swapDataSet(getAlbum().getMedia());
                        }
                    } else
                        requestSdCardPermissions();
                    invalidateOptionsMenu();
                    checkNothing();
                    swipeRefreshLayout.setRefreshing(false);
                }
            }
            AlertDialog.Builder deleteDialog = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
            AlertDialogsHelper.getTextDialog(this, deleteDialog, R.string.delete, albumsMode || !editMode ? R.string.delete_album_message : R.string.delete_photos_message);
            deleteDialog.setNegativeButton(this.getString(R.string.cancel).toUpperCase(), null);
            deleteDialog.setPositiveButton(this.getString(R.string.delete).toUpperCase(), new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    if (securityObj.isActiveSecurity() && securityObj.isPasswordOnDelete()) {
                        AlertDialog.Builder passwordDialogBuilder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
                        final EditText editTextPassword = securityObj.getInsertPasswordDialog(MainActivity.this, passwordDialogBuilder);
                        passwordDialogBuilder.setNegativeButton(getString(R.string.cancel).toUpperCase(), null);
                        passwordDialogBuilder.setPositiveButton(getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            //This should br empty it will be overwrite later
                            //to avoid dismiss of the dialog on wrong password
                            }
                        });
                        final AlertDialog passwordDialog = passwordDialogBuilder.create();
                        passwordDialog.show();
                        passwordDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {
                                if (securityObj.checkPassword(editTextPassword.getText().toString())) {
                                    passwordDialog.dismiss();
                                    new DeletePhotos().execute();
                                } else {
                                    Toast.makeText(getApplicationContext(), R.string.wrong_password, Toast.LENGTH_SHORT).show();
                                    editTextPassword.getText().clear();
                                    editTextPassword.requestFocus();
                                }
                            }
                        });
                    } else
                        new DeletePhotos().execute();
                }
            });
            deleteDialog.show();
            return true;
        case R.id.excludeAlbumButton:
            final AlertDialog.Builder excludeDialogBuilder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
            final View excludeDialogLayout = getLayoutInflater().inflate(R.layout.dialog_exclude, null);
            TextView textViewExcludeTitle = (TextView) excludeDialogLayout.findViewById(R.id.text_dialog_title);
            TextView textViewExcludeMessage = (TextView) excludeDialogLayout.findViewById(R.id.text_dialog_message);
            final Spinner spinnerParents = (Spinner) excludeDialogLayout.findViewById(R.id.parents_folder);
            spinnerParents.getBackground().setColorFilter(getIconColor(), PorterDuff.Mode.SRC_ATOP);
            ((CardView) excludeDialogLayout.findViewById(R.id.message_card)).setCardBackgroundColor(getCardBackgroundColor());
            textViewExcludeTitle.setBackgroundColor(getPrimaryColor());
            textViewExcludeTitle.setText(getString(R.string.exclude));
            if ((albumsMode && getAlbums().getSelectedCount() > 1)) {
                textViewExcludeMessage.setText(R.string.exclude_albums_message);
                spinnerParents.setVisibility(View.GONE);
            } else {
                textViewExcludeMessage.setText(R.string.exclude_album_message);
                spinnerParents.setAdapter(getSpinnerAdapter(albumsMode ? getAlbums().getSelectedAlbum(0).getParentsFolders() : getAlbum().getParentsFolders()));
            }
            textViewExcludeMessage.setTextColor(getTextColor());
            excludeDialogBuilder.setView(excludeDialogLayout);
            excludeDialogBuilder.setPositiveButton(this.getString(R.string.exclude).toUpperCase(), new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    if ((albumsMode && getAlbums().getSelectedCount() > 1)) {
                        getAlbums().excludeSelectedAlbums(getApplicationContext());
                        albumsAdapter.notifyDataSetChanged();
                        invalidateOptionsMenu();
                    } else {
                        customAlbumsHelper.excludeAlbum(spinnerParents.getSelectedItem().toString());
                        finishEditMode();
                        displayAlbums(true);
                    }
                }
            });
            excludeDialogBuilder.setNegativeButton(this.getString(R.string.cancel).toUpperCase(), null);
            excludeDialogBuilder.show();
            return true;
        case R.id.sharePhotos:
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_SEND_MULTIPLE);
            intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.sent_to_action));
            ArrayList<Uri> files = new ArrayList<Uri>();
            for (Media f : getAlbum().getSelectedMedia()) files.add(f.getUri());
            intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
            intent.setType(StringUtils.getGenericMIME(getAlbum().getSelectedMedia(0).getMimeType()));
            finishEditMode();
            startActivity(Intent.createChooser(intent, getResources().getText(R.string.send_to)));
            return true;
        case R.id.all_media_filter:
            if (!albumsMode) {
                getAlbum().filterMedias(getApplicationContext(), FilterMode.ALL);
                mediaAdapter.swapDataSet(getAlbum().getMedia());
                item.setChecked(true);
                checkNothing();
            }
            return true;
        case R.id.video_media_filter:
            if (!albumsMode) {
                getAlbum().filterMedias(getApplicationContext(), FilterMode.VIDEO);
                mediaAdapter.swapDataSet(getAlbum().getMedia());
                item.setChecked(true);
                checkNothing();
            }
            return true;
        case R.id.image_media_filter:
            if (!albumsMode) {
                getAlbum().filterMedias(getApplicationContext(), FilterMode.IMAGES);
                mediaAdapter.swapDataSet(getAlbum().getMedia());
                item.setChecked(true);
                checkNothing();
            }
            return true;
        case R.id.gifs_media_filter:
            if (!albumsMode) {
                getAlbum().filterMedias(getApplicationContext(), FilterMode.GIF);
                mediaAdapter.swapDataSet(getAlbum().getMedia());
                item.setChecked(true);
                checkNothing();
            }
            return true;
        case R.id.name_sort_action:
            if (albumsMode) {
                getAlbums().setDefaultSortingMode(SortingMode.NAME);
                getAlbums().sortAlbums(getApplicationContext());
                albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            } else {
                getAlbum().setDefaultSortingMode(getApplicationContext(), SortingMode.NAME);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
            }
            item.setChecked(true);
            return true;
        case R.id.date_taken_sort_action:
            if (albumsMode) {
                getAlbums().setDefaultSortingMode(SortingMode.DATE);
                getAlbums().sortAlbums(getApplicationContext());
                albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            } else {
                getAlbum().setDefaultSortingMode(getApplicationContext(), SortingMode.DATE);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
            }
            item.setChecked(true);
            return true;
        case R.id.size_sort_action:
            if (albumsMode) {
                getAlbums().setDefaultSortingMode(SortingMode.SIZE);
                getAlbums().sortAlbums(getApplicationContext());
                albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            } else {
                getAlbum().setDefaultSortingMode(getApplicationContext(), SortingMode.SIZE);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
            }
            item.setChecked(true);
            return true;
        case R.id.type_sort_action:
            if (!albumsMode) {
                getAlbum().setDefaultSortingMode(getApplicationContext(), SortingMode.TYPE);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
                item.setChecked(true);
            }
            return true;
        case R.id.numeric_sort_action:
            if (albumsMode) {
                getAlbums().setDefaultSortingMode(SortingMode.NUMERIC);
                getAlbums().sortAlbums(getApplicationContext());
                albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            } else {
                getAlbum().setDefaultSortingMode(getApplicationContext(), SortingMode.NUMERIC);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
            }
            item.setChecked(true);
            return true;
        case R.id.ascending_sort_action:
            if (albumsMode) {
                getAlbums().setDefaultSortingAscending(item.isChecked() ? SortingOrder.DESCENDING : SortingOrder.ASCENDING);
                getAlbums().sortAlbums(getApplicationContext());
                albumsAdapter.swapDataSet(getAlbums().dispAlbums);
            } else {
                getAlbum().setDefaultSortingAscending(getApplicationContext(), item.isChecked() ? SortingOrder.DESCENDING : SortingOrder.ASCENDING);
                getAlbum().sortPhotos();
                mediaAdapter.swapDataSet(getAlbum().getMedia());
            }
            item.setChecked(!item.isChecked());
            return true;
        //region Affix
        case R.id.affixPhoto:
            //region Async MediaAffix
            class affixMedia extends AsyncTask<Affix.Options, Integer, Void> {

                private AlertDialog dialog;

                @Override
                protected void onPreExecute() {
                    AlertDialog.Builder progressDialog = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
                    dialog = AlertDialogsHelper.getProgressDialog(MainActivity.this, progressDialog, getString(R.string.affix), getString(R.string.affix_text));
                    dialog.show();
                    super.onPreExecute();
                }

                @Override
                protected Void doInBackground(Affix.Options... arg0) {
                    ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>();
                    for (int i = 0; i < getAlbum().getSelectedCount(); i++) {
                        if (!getAlbum().getSelectedMedia(i).isVideo())
                            bitmapArray.add(getAlbum().getSelectedMedia(i).getBitmap());
                    }
                    if (bitmapArray.size() > 1)
                        Affix.AffixBitmapList(getApplicationContext(), bitmapArray, arg0[0]);
                    else
                        runOnUiThread(new Runnable() {

                            @Override
                            public void run() {
                                Toast.makeText(getApplicationContext(), R.string.affix_error, Toast.LENGTH_SHORT).show();
                            }
                        });
                    return null;
                }

                @Override
                protected void onPostExecute(Void result) {
                    editMode = false;
                    getAlbum().clearSelectedPhotos();
                    dialog.dismiss();
                    invalidateOptionsMenu();
                    mediaAdapter.notifyDataSetChanged();
                    new PreparePhotosTask().execute();
                }
            }
            //endregion
            final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
            final View dialogLayout = getLayoutInflater().inflate(R.layout.dialog_affix, null);
            dialogLayout.findViewById(R.id.affix_title).setBackgroundColor(getPrimaryColor());
            ((CardView) dialogLayout.findViewById(R.id.affix_card)).setCardBackgroundColor(getCardBackgroundColor());
            //ITEMS
            final SwitchCompat swVertical = (SwitchCompat) dialogLayout.findViewById(R.id.affix_vertical_switch);
            final SwitchCompat swSaveHere = (SwitchCompat) dialogLayout.findViewById(R.id.save_here_switch);
            final RadioGroup radioFormatGroup = (RadioGroup) dialogLayout.findViewById(R.id.radio_format);
            final TextView txtQuality = (TextView) dialogLayout.findViewById(R.id.affix_quality_title);
            final SeekBar seekQuality = (SeekBar) dialogLayout.findViewById(R.id.seek_bar_quality);
            //region THEME STUFF
            setScrollViewColor((ScrollView) dialogLayout.findViewById(R.id.affix_scrollView));
            /** TextViews **/
            int color = getTextColor();
            ((TextView) dialogLayout.findViewById(R.id.affix_vertical_title)).setTextColor(color);
            ((TextView) dialogLayout.findViewById(R.id.compression_settings_title)).setTextColor(color);
            ((TextView) dialogLayout.findViewById(R.id.save_here_title)).setTextColor(color);
            /** Sub TextViews **/
            color = getTextColor();
            ((TextView) dialogLayout.findViewById(R.id.save_here_sub)).setTextColor(color);
            ((TextView) dialogLayout.findViewById(R.id.affix_vertical_sub)).setTextColor(color);
            ((TextView) dialogLayout.findViewById(R.id.affix_format_sub)).setTextColor(color);
            txtQuality.setTextColor(color);
            /** Icons **/
            color = getIconColor();
            ((IconicsImageView) dialogLayout.findViewById(R.id.affix_quality_icon)).setColor(color);
            ((IconicsImageView) dialogLayout.findViewById(R.id.affix_format_icon)).setColor(color);
            ((IconicsImageView) dialogLayout.findViewById(R.id.affix_vertical_icon)).setColor(color);
            ((IconicsImageView) dialogLayout.findViewById(R.id.save_here_icon)).setColor(color);
            seekQuality.getProgressDrawable().setColorFilter(new PorterDuffColorFilter(getAccentColor(), PorterDuff.Mode.SRC_IN));
            seekQuality.getThumb().setColorFilter(new PorterDuffColorFilter(getAccentColor(), PorterDuff.Mode.SRC_IN));
            updateRadioButtonColor((RadioButton) dialogLayout.findViewById(R.id.radio_jpeg));
            updateRadioButtonColor((RadioButton) dialogLayout.findViewById(R.id.radio_png));
            updateRadioButtonColor((RadioButton) dialogLayout.findViewById(R.id.radio_webp));
            updateSwitchColor(swVertical, getAccentColor());
            updateSwitchColor(swSaveHere, getAccentColor());
            //endregion
            seekQuality.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    txtQuality.setText(Html.fromHtml(String.format(Locale.getDefault(), "%s <b>%d</b>", getString(R.string.quality), progress)));
                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                }
            });
            //DEFAULT
            seekQuality.setProgress(90);
            swVertical.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    updateSwitchColor(swVertical, getAccentColor());
                }
            });
            swSaveHere.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    updateSwitchColor(swSaveHere, getAccentColor());
                }
            });
            builder.setView(dialogLayout);
            builder.setPositiveButton(this.getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    Bitmap.CompressFormat compressFormat;
                    switch(radioFormatGroup.getCheckedRadioButtonId()) {
                        case R.id.radio_jpeg:
                        default:
                            compressFormat = Bitmap.CompressFormat.JPEG;
                            break;
                        case R.id.radio_png:
                            compressFormat = Bitmap.CompressFormat.PNG;
                            break;
                        case R.id.radio_webp:
                            compressFormat = Bitmap.CompressFormat.WEBP;
                            break;
                    }
                    Affix.Options options = new Affix.Options(swSaveHere.isChecked() ? getAlbum().getPath() : Affix.getDefaultDirectoryPath(), compressFormat, seekQuality.getProgress(), swVertical.isChecked());
                    new affixMedia().execute(options);
                }
            });
            builder.setNegativeButton(this.getString(R.string.cancel).toUpperCase(), null);
            builder.show();
            return true;
        case R.id.action_move:
            bottomSheetDialogFragment = new SelectAlbumBottomSheet();
            bottomSheetDialogFragment.setTitle(getString(R.string.move_to));
            bottomSheetDialogFragment.setSelectAlbumInterface(new SelectAlbumBottomSheet.SelectAlbumInterface() {

                @Override
                public void folderSelected(String path) {
                    swipeRefreshLayout.setRefreshing(true);
                    if (getAlbum().moveSelectedMedia(getApplicationContext(), path) > 0) {
                        if (getAlbum().getMedia().size() == 0) {
                            getAlbums().removeCurrentAlbum();
                            albumsAdapter.notifyDataSetChanged();
                            displayAlbums();
                        }
                        mediaAdapter.swapDataSet(getAlbum().getMedia());
                        finishEditMode();
                        invalidateOptionsMenu();
                    } else
                        requestSdCardPermissions();
                    swipeRefreshLayout.setRefreshing(false);
                    bottomSheetDialogFragment.dismiss();
                }
            });
            bottomSheetDialogFragment.show(getSupportFragmentManager(), bottomSheetDialogFragment.getTag());
            return true;
        case R.id.action_copy:
            bottomSheetDialogFragment = new SelectAlbumBottomSheet();
            bottomSheetDialogFragment.setTitle(getString(R.string.copy_to));
            bottomSheetDialogFragment.setSelectAlbumInterface(new SelectAlbumBottomSheet.SelectAlbumInterface() {

                @Override
                public void folderSelected(String path) {
                    boolean success = getAlbum().copySelectedPhotos(getApplicationContext(), path);
                    finishEditMode();
                    bottomSheetDialogFragment.dismiss();
                    if (!success)
                        requestSdCardPermissions();
                }
            });
            bottomSheetDialogFragment.show(getSupportFragmentManager(), bottomSheetDialogFragment.getTag());
            return true;
        case R.id.renameAlbum:
            AlertDialog.Builder renameDialogBuilder = new AlertDialog.Builder(MainActivity.this, getDialogStyle());
            final EditText editTextNewName = new EditText(getApplicationContext());
            editTextNewName.setText(albumsMode ? getAlbums().getSelectedAlbum(0).getName() : getAlbum().getName());
            AlertDialogsHelper.getInsertTextDialog(MainActivity.this, renameDialogBuilder, editTextNewName, R.string.rename_album);
            renameDialogBuilder.setNegativeButton(getString(R.string.cancel).toUpperCase(), null);
            renameDialogBuilder.setPositiveButton(getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                //This should br empty it will be overwrite later
                //to avoid dismiss of the dialog
                }
            });
            final AlertDialog renameDialog = renameDialogBuilder.create();
            renameDialog.show();
            renameDialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View dialog) {
                    if (editTextNewName.length() != 0) {
                        swipeRefreshLayout.setRefreshing(true);
                        boolean success;
                        if (albumsMode) {
                            int index = getAlbums().dispAlbums.indexOf(getAlbums().getSelectedAlbum(0));
                            getAlbums().getAlbum(index).updatePhotos(getApplicationContext());
                            success = getAlbums().getAlbum(index).renameAlbum(getApplicationContext(), editTextNewName.getText().toString());
                            albumsAdapter.notifyItemChanged(index);
                        } else {
                            success = getAlbum().renameAlbum(getApplicationContext(), editTextNewName.getText().toString());
                            toolbar.setTitle(getAlbum().getName());
                            mediaAdapter.notifyDataSetChanged();
                        }
                        renameDialog.dismiss();
                        if (!success)
                            requestSdCardPermissions();
                        swipeRefreshLayout.setRefreshing(false);
                    } else {
                        StringUtils.showToast(getApplicationContext(), getString(R.string.insert_something));
                        editTextNewName.requestFocus();
                    }
                }
            });
            return true;
        case R.id.clear_album_preview:
            if (!albumsMode) {
                getAlbum().removeCoverAlbum(getApplicationContext());
            }
            return true;
        case R.id.setAsAlbumPreview:
            if (!albumsMode) {
                getAlbum().setSelectedPhotoAsPreview(getApplicationContext());
                finishEditMode();
            }
            return true;
        default:
            // Invoke the superclass to handle it.
            return super.onOptionsItemSelected(item);
    }
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) RadioGroup(android.widget.RadioGroup) DialogInterface(android.content.DialogInterface) Spinner(android.widget.Spinner) ArrayList(java.util.ArrayList) PorterDuffColorFilter(android.graphics.PorterDuffColorFilter) Uri(android.net.Uri) SelectAlbumBottomSheet(org.horaapps.leafpic.SelectAlbumBottomSheet) Bitmap(android.graphics.Bitmap) TextView(android.widget.TextView) EditText(android.widget.EditText) SeekBar(android.widget.SeekBar) AsyncTask(android.os.AsyncTask) CardView(android.support.v7.widget.CardView) Media(org.horaapps.leafpic.data.Media) Intent(android.content.Intent) SearchView(android.support.v7.widget.SearchView) View(android.view.View) CardView(android.support.v7.widget.CardView) TextView(android.widget.TextView) RecyclerView(android.support.v7.widget.RecyclerView) ScrollView(android.widget.ScrollView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) Affix(org.horaapps.leafpic.util.Affix) CompoundButton(android.widget.CompoundButton) SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 5 with IconicsImageView

use of com.mikepenz.iconics.view.IconicsImageView in project LeafPic by HoraApps.

the class SecurityActivity method setupUI.

private void setupUI() {
    setStatusBarColor();
    setNavBarColor();
    toolbar.setBackgroundColor(getPrimaryColor());
    setSupportActionBar(toolbar);
    toolbar.setNavigationIcon(new IconicsDrawable(this).icon(GoogleMaterial.Icon.gmd_arrow_back).color(Color.WHITE).sizeDp(19));
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    toolbar.setTitle(getString(org.horaapps.leafpic.R.string.about));
    IconicsImageView imgActiveSecurity = (IconicsImageView) findViewById(org.horaapps.leafpic.R.id.active_security_icon);
    TextView txtActiveSecurity = (TextView) findViewById(org.horaapps.leafpic.R.id.active_security_item_title);
    TextView txtApplySecurity = (TextView) findViewById(org.horaapps.leafpic.R.id.security_body_apply_on);
    IconicsImageView imgApplySecurityHidden = (IconicsImageView) findViewById(org.horaapps.leafpic.R.id.security_body_apply_hidden_icon);
    TextView txtApplySecurityHidden = (TextView) findViewById(org.horaapps.leafpic.R.id.security_body_apply_hidden_title);
    IconicsImageView imgApplySecurityDelete = (IconicsImageView) findViewById(org.horaapps.leafpic.R.id.security_body_apply_delete_icon);
    TextView txtApplySecurityDelete = (TextView) findViewById(org.horaapps.leafpic.R.id.security_body_apply_delete_title);
    CardView securityDialogCard = (CardView) findViewById(org.horaapps.leafpic.R.id.security_dialog_card);
    llroot.setBackgroundColor(getBackgroundColor());
    securityDialogCard.setCardBackgroundColor(getCardBackgroundColor());
    /*ICONS*/
    int color = getIconColor();
    imgActiveSecurity.setColor(color);
    imgApplySecurityHidden.setColor(color);
    imgApplySecurityDelete.setColor(color);
    /*TEXTVIEWS*/
    color = getTextColor();
    txtActiveSecurity.setTextColor(color);
    txtApplySecurity.setTextColor(color);
    txtApplySecurityHidden.setTextColor(color);
    txtApplySecurityDelete.setTextColor(color);
}
Also used : IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) CardView(android.support.v7.widget.CardView) TextView(android.widget.TextView) IconicsDrawable(com.mikepenz.iconics.IconicsDrawable) CardView(android.support.v7.widget.CardView) TextView(android.widget.TextView) IconicsImageView(com.mikepenz.iconics.view.IconicsImageView) View(android.view.View)

Aggregations

View (android.view.View)8 IconicsImageView (com.mikepenz.iconics.view.IconicsImageView)8 TextView (android.widget.TextView)7 CardView (android.support.v7.widget.CardView)6 DialogInterface (android.content.DialogInterface)5 AlertDialog (android.support.v7.app.AlertDialog)5 ScrollView (android.widget.ScrollView)5 Intent (android.content.Intent)3 RecyclerView (android.support.v7.widget.RecyclerView)3 EditText (android.widget.EditText)3 SearchView (android.support.v7.widget.SearchView)2 SwitchCompat (android.support.v7.widget.SwitchCompat)2 CompoundButton (android.widget.CompoundButton)2 SeekBar (android.widget.SeekBar)2 IconicsDrawable (com.mikepenz.iconics.IconicsDrawable)2 ClipData (android.content.ClipData)1 ClipboardManager (android.content.ClipboardManager)1 Bitmap (android.graphics.Bitmap)1 PorterDuffColorFilter (android.graphics.PorterDuffColorFilter)1 Uri (android.net.Uri)1