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

Commit 70fd5d0e authored by Mihai Niță's avatar Mihai Niță Committed by Android (Google) Code Review
Browse files

Merge "Hide "Remove" menu & the drag handle when there's just one locale" into nyc-dev

parents 179a57b2 7751358a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ class LocaleDragAndDropAdapter
        dragCell.setMiniLabel(mNumberFormatter.format(i + 1));
        dragCell.setShowCheckbox(mRemoveMode);
        dragCell.setShowMiniLabel(!mRemoveMode);
        dragCell.setShowHandle(!mRemoveMode);
        dragCell.setShowHandle(!mRemoveMode && mDragEnabled);
        dragCell.setChecked(false);
        dragCell.setTag(feedItem);
        dragCell.getCheckbox()
+12 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ public class LocaleListEditor extends SettingsPreferenceFragment
        setHasOptionsMenu(true);

        LocaleStore.fillCache(this.getContext());
        List<LocaleStore.LocaleInfo> feedsList = getUserLocaleList(this.getContext());
        final List<LocaleStore.LocaleInfo> feedsList = getUserLocaleList(this.getContext());
        mAdapter = new LocaleDragAndDropAdapter(this.getContext(), feedsList);
    }

@@ -144,6 +144,7 @@ public class LocaleListEditor extends SettingsPreferenceFragment
                    public void onClick(DialogInterface dialog, int which) {
                        mAdapter.removeChecked();
                        setRemoveMode(!mRemoveMode);
                        updateVisibilityOfRemoveMenu();
                    }
                })
                .create()
@@ -158,6 +159,7 @@ public class LocaleListEditor extends SettingsPreferenceFragment
        menuItem.setIcon(R.drawable.ic_delete);
        super.onCreateOptionsMenu(menu, inflater);
        mMenu = menu;
        updateVisibilityOfRemoveMenu();
    }

    private static List<LocaleStore.LocaleInfo> getUserLocaleList(Context context) {
@@ -201,6 +203,15 @@ public class LocaleListEditor extends SettingsPreferenceFragment
    @Override
    public void onLocaleSelected(LocaleStore.LocaleInfo locale) {
        mAdapter.addLocale(locale);
        updateVisibilityOfRemoveMenu();
    }

    // Hide the "Remove" menu if there is only one locale in the list, show it otherwise
    // This is called when the menu is first created, and then one add / remove locale
    private void updateVisibilityOfRemoveMenu() {
        final MenuItem menuItemRemove = mMenu.findItem(MENU_ID_REMOVE);
        if (menuItemRemove != null) {
            menuItemRemove.setVisible(mAdapter.getItemCount() > 1);
        }
    }
}