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

Commit cfed94a6 authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Implement the delete button for user words" into jb-dev

parents 7ff82ad4 5bdde7f9
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