Loading src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.os.Bundle; import android.support.annotation.VisibleForTesting; import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -219,6 +220,12 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL if (TextUtils.equals(key, pref.getKey())) { return pref; } if (pref instanceof PreferenceGroup) { final Preference returnedPreference = ((PreferenceGroup)pref).findPreference(key); if (returnedPreference != null) { return returnedPreference; } } } Log.d(TAG, "Cannot find preference with key " + key); return null; Loading tests/robotests/src/com/android/settings/dashboard/ProgressiveDisclosureTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.dashboard; import android.content.Context; import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceScreen; import com.android.settings.R; Loading @@ -44,7 +45,9 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -141,6 +144,22 @@ public class ProgressiveDisclosureTest { assertThat(pref).isNull(); } @Test public void findPreference_nestedPrefInCollapsedList_shouldFindIt() { when(mScreen.findPreference(anyString())).thenReturn(null); final PreferenceScreen prefGroup = spy(new PreferenceScreen(mAppContext, null)); when(prefGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class)); final Preference preference = mock(Preference.class); when(preference.getKey()).thenReturn("TestKey"); prefGroup.addPreference(preference); mMixin.addToCollapsedList(prefGroup); Preference pref = mMixin.findPreference(mScreen, "TestKey"); assertThat(pref).isNotNull(); assertThat(pref).isSameAs(preference); } @Test public void removePreference_shouldRemoveOnScreenPreference() { when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference); Loading Loading
src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.os.Bundle; import android.support.annotation.VisibleForTesting; import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -219,6 +220,12 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL if (TextUtils.equals(key, pref.getKey())) { return pref; } if (pref instanceof PreferenceGroup) { final Preference returnedPreference = ((PreferenceGroup)pref).findPreference(key); if (returnedPreference != null) { return returnedPreference; } } } Log.d(TAG, "Cannot find preference with key " + key); return null; Loading
tests/robotests/src/com/android/settings/dashboard/ProgressiveDisclosureTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.dashboard; import android.content.Context; import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceScreen; import com.android.settings.R; Loading @@ -44,7 +45,9 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -141,6 +144,22 @@ public class ProgressiveDisclosureTest { assertThat(pref).isNull(); } @Test public void findPreference_nestedPrefInCollapsedList_shouldFindIt() { when(mScreen.findPreference(anyString())).thenReturn(null); final PreferenceScreen prefGroup = spy(new PreferenceScreen(mAppContext, null)); when(prefGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class)); final Preference preference = mock(Preference.class); when(preference.getKey()).thenReturn("TestKey"); prefGroup.addPreference(preference); mMixin.addToCollapsedList(prefGroup); Preference pref = mMixin.findPreference(mScreen, "TestKey"); assertThat(pref).isNotNull(); assertThat(pref).isSameAs(preference); } @Test public void removePreference_shouldRemoveOnScreenPreference() { when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference); Loading