Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dc4ea8d authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "SnapdragonGallery: Fix display "Deselect all" when leaving selected mode"

parents 2d5550ae 429d4f24
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi
    }

    public void startActionMode() {
        mMenuExecutor.setLeaving(false);
        Activity a = mActivity;
//      mActionMode = a.startActionMode(this);
        mActionMode = mActivity.getToolbar().startActionMode(this);
@@ -213,6 +214,7 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi
            if (itemId == R.id.action_select_all) {
                updateSupportedOperation();
                mMenuExecutor.onMenuClicked(itemId, null, false, true);
                mSelectionMenu.setLeaving(mMenuExecutor.isLeaving());
            }
            return true;
        } finally {
+10 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ public class MenuExecutor {
    // wait the operation to finish when we want to stop it.
    private boolean mWaitOnStop;
    private boolean mPaused;
    private boolean isLeaving = false;

    private final AbstractGalleryActivity mActivity;
    private final SelectionManager mSelectionManager;
@@ -233,6 +234,14 @@ public class MenuExecutor {
        return new Intent(action).setDataAndType(manager.getContentUri(path), mimeType);
    }

    public void setLeaving(boolean leaving) {
        isLeaving = leaving;
    }

    public boolean isLeaving() {
        return isLeaving;
    }

    private void onMenuClicked(int action, ProgressListener listener) {
        onMenuClicked(action, listener, false, true);
    }
@@ -243,6 +252,7 @@ public class MenuExecutor {
        switch (action) {
            case R.id.action_select_all:
                if (mSelectionManager.inSelectAllMode()) {
                    isLeaving = true;
                    mSelectionManager.deSelectAll();
                } else {
                    mSelectionManager.selectAll();
+6 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ public class SelectionMenu implements OnClickListener {
    private final Context mContext;
    private final Button mButton;
    private final PopupList mPopupList;
    private boolean isLeaving = false;

    public SelectionMenu(Context context, Button button, OnPopupItemClickListener listener) {
        mContext = context;
@@ -44,6 +45,7 @@ public class SelectionMenu implements OnClickListener {

    @Override
    public void onClick(View v) {
        if (isLeaving) return;
        mPopupList.show();
    }

@@ -58,4 +60,8 @@ public class SelectionMenu implements OnClickListener {
    public void setTitle(CharSequence title) {
        mButton.setText(title);
    }

    public void setLeaving(boolean leaving) {
        isLeaving = leaving;
    }
}