Merge "[Output Switcher] add check on animation" into tm-dev am: 81a014f029
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18992666 Change-Id: Ic2450690e0d8d533f74826d5a2c54533f295b122 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -69,11 +69,13 @@ public abstract class MediaOutputBaseAdapter extends
|
||||
View mHolderView;
|
||||
boolean mIsDragging;
|
||||
int mCurrentActivePosition;
|
||||
private boolean mIsInitVolumeFirstTime;
|
||||
|
||||
public MediaOutputBaseAdapter(MediaOutputController controller) {
|
||||
mController = controller;
|
||||
mIsDragging = false;
|
||||
mCurrentActivePosition = -1;
|
||||
mIsInitVolumeFirstTime = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -275,7 +277,7 @@ public abstract class MediaOutputBaseAdapter extends
|
||||
mSeekBar.setMaxVolume(device.getMaxVolume());
|
||||
final int currentVolume = device.getCurrentVolume();
|
||||
if (mSeekBar.getVolume() != currentVolume) {
|
||||
if (isCurrentSeekbarInvisible) {
|
||||
if (isCurrentSeekbarInvisible && !mIsInitVolumeFirstTime) {
|
||||
animateCornerAndVolume(mSeekBar.getProgress(),
|
||||
MediaOutputSeekbar.scaleVolumeToProgress(currentVolume));
|
||||
} else {
|
||||
@@ -284,6 +286,9 @@ public abstract class MediaOutputBaseAdapter extends
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mIsInitVolumeFirstTime) {
|
||||
mIsInitVolumeFirstTime = false;
|
||||
}
|
||||
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.systemui.media.dialog;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -51,6 +52,8 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
|
||||
private static final String TEST_DEVICE_ID_1 = "test_device_id_1";
|
||||
private static final String TEST_DEVICE_ID_2 = "test_device_id_2";
|
||||
private static final String TEST_SESSION_NAME = "test_session_name";
|
||||
private static final int TEST_MAX_VOLUME = 20;
|
||||
private static final int TEST_CURRENT_VOLUME = 10;
|
||||
|
||||
// Mock
|
||||
private MediaOutputController mMediaOutputController = mock(MediaOutputController.class);
|
||||
@@ -64,12 +67,14 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
|
||||
private MediaOutputAdapter mMediaOutputAdapter;
|
||||
private MediaOutputAdapter.MediaDeviceViewHolder mViewHolder;
|
||||
private List<MediaDevice> mMediaDevices = new ArrayList<>();
|
||||
MediaOutputSeekbar mSpyMediaOutputSeekbar;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mMediaOutputAdapter = new MediaOutputAdapter(mMediaOutputController, mMediaOutputDialog);
|
||||
mViewHolder = (MediaOutputAdapter.MediaDeviceViewHolder) mMediaOutputAdapter
|
||||
.onCreateViewHolder(new LinearLayout(mContext), 0);
|
||||
mSpyMediaOutputSeekbar = spy(mViewHolder.mSeekBar);
|
||||
|
||||
when(mMediaOutputController.getMediaDevices()).thenReturn(mMediaDevices);
|
||||
when(mMediaOutputController.hasAdjustVolumeUserRestriction()).thenReturn(false);
|
||||
@@ -168,6 +173,16 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
|
||||
assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_initSeekbar_setsVolume() {
|
||||
when(mMediaDevice1.getMaxVolume()).thenReturn(TEST_MAX_VOLUME);
|
||||
when(mMediaDevice1.getCurrentVolume()).thenReturn(TEST_CURRENT_VOLUME);
|
||||
mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0);
|
||||
|
||||
assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(mViewHolder.mSeekBar.getVolume()).isEqualTo(TEST_CURRENT_VOLUME);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_bindNonActiveConnectedDevice_verifyView() {
|
||||
mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1);
|
||||
|
||||
Reference in New Issue
Block a user