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

Commit c5436f20 authored by Gilles Debunne's avatar Gilles Debunne
Browse files

Prevent NPE in SuggestionSpan

One SuggestionSpan constructor provide null as the default context.

This will always create an NPE in initStyle. Prevent this.

Change-Id: Ic2acffd2c8b9cda9c99b689d1b1a7f15d17b65d0
parent 9a856f4e
Loading
Loading
Loading
Loading
+10 −6
Original line number Original line Diff line number Diff line
@@ -92,11 +92,6 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
    private float mAutoCorrectionUnderlineThickness;
    private float mAutoCorrectionUnderlineThickness;
    private int mAutoCorrectionUnderlineColor;
    private int mAutoCorrectionUnderlineColor;


    /*
     * TODO: If switching IME is required, needs to add parameters for ids of InputMethodInfo
     * and InputMethodSubtype.
     */

    /**
    /**
     * @param context Context for the application
     * @param context Context for the application
     * @param suggestions Suggestions for the string under the span
     * @param suggestions Suggestions for the string under the span
@@ -146,6 +141,16 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
    }
    }


    private void initStyle(Context context) {
    private void initStyle(Context context) {
        if (context == null) {
            mMisspelledUnderlineThickness = 0;
            mEasyCorrectUnderlineThickness = 0;
            mAutoCorrectionUnderlineThickness = 0;
            mMisspelledUnderlineColor = Color.BLACK;
            mEasyCorrectUnderlineColor = Color.BLACK;
            mAutoCorrectionUnderlineColor = Color.BLACK;
            return;
        }

        int defStyle = com.android.internal.R.attr.textAppearanceMisspelledSuggestion;
        int defStyle = com.android.internal.R.attr.textAppearanceMisspelledSuggestion;
        TypedArray typedArray = context.obtainStyledAttributes(
        TypedArray typedArray = context.obtainStyledAttributes(
                null, com.android.internal.R.styleable.SuggestionSpan, defStyle, 0);
                null, com.android.internal.R.styleable.SuggestionSpan, defStyle, 0);
@@ -169,7 +174,6 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
                com.android.internal.R.styleable.SuggestionSpan_textUnderlineThickness, 0);
                com.android.internal.R.styleable.SuggestionSpan_textUnderlineThickness, 0);
        mAutoCorrectionUnderlineColor = typedArray.getColor(
        mAutoCorrectionUnderlineColor = typedArray.getColor(
                com.android.internal.R.styleable.SuggestionSpan_textUnderlineColor, Color.BLACK);
                com.android.internal.R.styleable.SuggestionSpan_textUnderlineColor, Color.BLACK);

    }
    }


    public SuggestionSpan(Parcel src) {
    public SuggestionSpan(Parcel src) {