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

Commit 427cc591 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix NullPointerException in CustomEditTextPreference."

parents 365292bd 427e19e0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -49,8 +49,13 @@ public class CustomEditTextPreference extends EditTextPreference {
    }

    public EditText getEditText() {
        return mFragment != null ? (EditText) mFragment.getDialog().findViewById(android.R.id.edit)
                : null;
        if (mFragment != null) {
            final Dialog dialog = mFragment.getDialog();
            if (dialog != null) {
                return (EditText) dialog.findViewById(android.R.id.edit);
            }
        }
        return null;
    }

    public boolean isDialogOpen() {
+12 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settingslib;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -31,6 +32,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;

@RunWith(SettingsLibRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -59,6 +61,16 @@ public class CustomEditTextPreferenceTest {
        verify(editText).requestFocus();
    }

    @Test
    public void getEditText_noDialog_shouldNotCrash() {
        ReflectionHelpers.setField(mPreference, "mFragment",
                mock(CustomEditTextPreference.CustomPreferenceDialogFragment.class));

        mPreference.getEditText();

        // no crash
    }

    private static class TestPreference extends CustomEditTextPreference {
        public TestPreference(Context context) {
            super(context);