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

Commit 5bdde7f9 authored by Jean Chalard's avatar Jean Chalard
Browse files

Implement the delete button for user words

Bug: 6026080
Change-Id: I43345874edb0a1b51dfcac9c99e74c345eeef7e6
parent 622fc7aa
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -87,9 +87,18 @@ public class UserDictionaryAddWordContents {
        outState.putString(EXTRA_LOCALE, mLocale);
    }

    /* package */ void delete(final Context context) {
        if (MODE_EDIT == mMode && !TextUtils.isEmpty(mOldWord)) {
            // Mode edit: remove the old entry.
            final ContentResolver resolver = context.getContentResolver();
            UserDictionarySettings.deleteWord(mOldWord, mOldShortcut, resolver);
        }
        // If we are in add mode, nothing was added, so we don't need to do anything.
    }

    /* package */ void apply(final Context context) {
        final ContentResolver resolver = context.getContentResolver();
        if (UserDictionaryAddWordContents.MODE_EDIT == mMode && !TextUtils.isEmpty(mOldWord)) {
        if (MODE_EDIT == mMode && !TextUtils.isEmpty(mOldWord)) {
            // Mode edit: remove the old entry.
            UserDictionarySettings.deleteWord(mOldWord, mOldShortcut, resolver);
        }
+24 −2
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ public class UserDictionaryAddWordFragment extends Fragment

    private UserDictionaryAddWordContents mContents;
    private View mRootView;
    private boolean mIsDeleting = false;

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
@@ -55,6 +56,7 @@ public class UserDictionaryAddWordFragment extends Fragment
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
        mRootView = inflater.inflate(R.layout.user_dictionary_add_word_fullscreen, null);
        mIsDeleting = false;
        return mRootView;
    }

@@ -66,6 +68,24 @@ public class UserDictionaryAddWordFragment extends Fragment
                MenuItem.SHOW_AS_ACTION_WITH_TEXT);
    }

    /**
     * Callback for the framework when a menu option is pressed.
     *
     * This class only supports the delete menu item.
     * @param MenuItem the item that was pressed
     * @return false to allow normal menu processing to proceed, true to consume it here
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == OPTIONS_MENU_DELETE) {
            mContents.delete(getActivity());
            mIsDeleting = true;
            getFragmentManager().popBackStack();
            return true;
        }
        return false;
    }

    @Override
    public void onResume() {
        super.onResume();
@@ -85,8 +105,10 @@ public class UserDictionaryAddWordFragment extends Fragment
    @Override
    public void onPause() {
        super.onPause();
        // We are being hidden: commit changes to the user dictionary, unless we were deleting it
        if (!mIsDeleting) {
            mContents.apply(getActivity());
        // We are being hidden: commit changes to the user dictionary
        }
    }

    @Override