'Free up space' uses CardPreference

For material next style.

Bug: 188599776
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CardPreferenceTest
Change-Id: Ibaf4d11ab44017453498676db00cff1e49c83b9d
This commit is contained in:
Arc Wang
2021-06-08 20:21:05 +08:00
parent 603cd6c44c
commit 7b85f2af24
6 changed files with 70 additions and 6 deletions

View File

@@ -18,13 +18,26 @@ package com.android.settings.widget;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.content.Context;
import android.view.View;
import androidx.annotation.ColorInt;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.google.android.material.card.MaterialCardView;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@@ -33,12 +46,20 @@ public class CardPreferenceTest {
private Context mContext;
private CardPreference mCardPreference;
@Mock
private PreferenceViewHolder mPreferenceViewHolder;
@Mock
private MaterialCardView mCardView;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mContext.setTheme(R.style.SettingsPreferenceTheme);
mCardPreference = new CardPreference(mContext);
mPreferenceViewHolder = spy(PreferenceViewHolder.createInstanceForTests(mock(View.class)));
doReturn(mCardView).when(mPreferenceViewHolder).findViewById(R.id.container);
}
@Test
@@ -46,4 +67,13 @@ public class CardPreferenceTest {
assertThat(mCardPreference.getLayoutResource()).isEqualTo(R.layout.card_preference_layout);
}
@Test
public void setCardBackgroundColor_shouldUseCorrectColor() {
final @ColorInt int testColor = 0xABCDEF;
mCardPreference.setCardBackgroundColor(testColor);
mCardPreference.onBindViewHolder(mPreferenceViewHolder);
verify(mCardView).setCardBackgroundColor(testColor);
}
}