Loading src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java +3 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ArgbEvaluator; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -114,7 +113,9 @@ public class HighlightablePreferenceGroupAdapter extends PreferenceGroupAdapter @VisibleForTesting void updateBackground(PreferenceViewHolder holder, int position) { View v = holder.itemView; if (position == mHighlightPosition) { if (position == mHighlightPosition && (mHighlightKey != null && TextUtils.equals(mHighlightKey, getItem(position).getKey()))) { // This position should be highlighted. If it's highlighted before - skip animation. addHighlightBackground(v, !mFadeInAnimated); } else if (Boolean.TRUE.equals(v.getTag(R.id.preference_highlighted))) { Loading tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.widget; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; Loading @@ -32,6 +33,7 @@ import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.View; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceViewHolder; Loading Loading @@ -65,14 +67,18 @@ public class HighlightablePreferenceGroupAdapterTest { private Context mContext; private HighlightablePreferenceGroupAdapter mAdapter; private PreferenceViewHolder mViewHolder; private Preference mPreference; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mPreference = new Preference(mContext); mPreference.setKey(TEST_KEY); when(mPreferenceCatetory.getContext()).thenReturn(mContext); mAdapter = spy(new HighlightablePreferenceGroupAdapter(mPreferenceCatetory, TEST_KEY, false /* highlighted*/)); when(mAdapter.getItem(anyInt())).thenReturn(mPreference); mViewHolder = PreferenceViewHolder.createInstanceForTests( View.inflate(mContext, R.layout.app_preference_item, null)); } Loading Loading
src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java +3 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ArgbEvaluator; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -114,7 +113,9 @@ public class HighlightablePreferenceGroupAdapter extends PreferenceGroupAdapter @VisibleForTesting void updateBackground(PreferenceViewHolder holder, int position) { View v = holder.itemView; if (position == mHighlightPosition) { if (position == mHighlightPosition && (mHighlightKey != null && TextUtils.equals(mHighlightKey, getItem(position).getKey()))) { // This position should be highlighted. If it's highlighted before - skip animation. addHighlightBackground(v, !mFadeInAnimated); } else if (Boolean.TRUE.equals(v.getTag(R.id.preference_highlighted))) { Loading
tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.widget; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; Loading @@ -32,6 +33,7 @@ import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.View; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceViewHolder; Loading Loading @@ -65,14 +67,18 @@ public class HighlightablePreferenceGroupAdapterTest { private Context mContext; private HighlightablePreferenceGroupAdapter mAdapter; private PreferenceViewHolder mViewHolder; private Preference mPreference; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mPreference = new Preference(mContext); mPreference.setKey(TEST_KEY); when(mPreferenceCatetory.getContext()).thenReturn(mContext); mAdapter = spy(new HighlightablePreferenceGroupAdapter(mPreferenceCatetory, TEST_KEY, false /* highlighted*/)); when(mAdapter.getItem(anyInt())).thenReturn(mPreference); mViewHolder = PreferenceViewHolder.createInstanceForTests( View.inflate(mContext, R.layout.app_preference_item, null)); } Loading