Merge "Fix the ExpandDividerPreference will flash one time in some corner cases" into sc-v2-dev am: 0ed32fca75
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16115940 Change-Id: I953a2e45433c6f7c563392ab98272261b37f3e9e
This commit is contained in:
@@ -26,9 +26,7 @@
|
||||
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:orientation="horizontal"
|
||||
android:clipToPadding="false"
|
||||
android:baselineAligned="false">
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/expand_title"
|
||||
|
@@ -65,8 +65,7 @@ public class ExpandDividerPreference extends Preference {
|
||||
|
||||
@Override
|
||||
public void onClick() {
|
||||
mIsExpanded = !mIsExpanded;
|
||||
refreshState();
|
||||
setIsExpanded(!mIsExpanded);
|
||||
if (mOnExpandListener != null) {
|
||||
mOnExpandListener.onExpand(mIsExpanded);
|
||||
}
|
||||
@@ -74,10 +73,7 @@ public class ExpandDividerPreference extends Preference {
|
||||
|
||||
void setTitle(final String titleContent) {
|
||||
mTitleContent = titleContent;
|
||||
if (mTextView != null) {
|
||||
mTextView.postDelayed(
|
||||
() -> mTextView.setText(titleContent), 50);
|
||||
}
|
||||
refreshState();
|
||||
}
|
||||
|
||||
void setIsExpanded(boolean isExpanded) {
|
||||
@@ -90,13 +86,13 @@ public class ExpandDividerPreference extends Preference {
|
||||
}
|
||||
|
||||
private void refreshState() {
|
||||
final int iconId =
|
||||
mIsExpanded
|
||||
? R.drawable.ic_settings_expand_less
|
||||
: R.drawable.ic_settings_expand_more;
|
||||
if (mImageView != null) {
|
||||
mImageView.setImageResource(iconId);
|
||||
mImageView.setImageResource(mIsExpanded
|
||||
? R.drawable.ic_settings_expand_less
|
||||
: R.drawable.ic_settings_expand_more);
|
||||
}
|
||||
if (mTextView != null) {
|
||||
mTextView.setText(mTitleContent);
|
||||
}
|
||||
setTitle(mTitleContent);
|
||||
}
|
||||
}
|
||||
|
@@ -18,11 +18,7 @@ package com.android.settings.fuelgauge;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -36,8 +32,6 @@ import com.android.settings.R;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@@ -52,7 +46,6 @@ public final class ExpandDividerPreferenceTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mImageView = spy(new ImageView(mContext));
|
||||
mTextView = spy(new TextView(mContext));
|
||||
@@ -75,9 +68,7 @@ public final class ExpandDividerPreferenceTest {
|
||||
mExpandDividerPreference.mTextView = mTextView;
|
||||
|
||||
mExpandDividerPreference.setTitle(titleContent);
|
||||
final ArgumentCaptor<Runnable> captor = ArgumentCaptor.forClass(Runnable.class);
|
||||
verify(mTextView).postDelayed(captor.capture(), eq(50L));
|
||||
captor.getValue().run();
|
||||
|
||||
verify(mTextView).setText(titleContent);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user