Merge "[Output Switcher] add check on animation" into tm-dev
This commit is contained in:
@@ -69,11 +69,13 @@ public abstract class MediaOutputBaseAdapter extends
|
|||||||
View mHolderView;
|
View mHolderView;
|
||||||
boolean mIsDragging;
|
boolean mIsDragging;
|
||||||
int mCurrentActivePosition;
|
int mCurrentActivePosition;
|
||||||
|
private boolean mIsInitVolumeFirstTime;
|
||||||
|
|
||||||
public MediaOutputBaseAdapter(MediaOutputController controller) {
|
public MediaOutputBaseAdapter(MediaOutputController controller) {
|
||||||
mController = controller;
|
mController = controller;
|
||||||
mIsDragging = false;
|
mIsDragging = false;
|
||||||
mCurrentActivePosition = -1;
|
mCurrentActivePosition = -1;
|
||||||
|
mIsInitVolumeFirstTime = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -275,7 +277,7 @@ public abstract class MediaOutputBaseAdapter extends
|
|||||||
mSeekBar.setMaxVolume(device.getMaxVolume());
|
mSeekBar.setMaxVolume(device.getMaxVolume());
|
||||||
final int currentVolume = device.getCurrentVolume();
|
final int currentVolume = device.getCurrentVolume();
|
||||||
if (mSeekBar.getVolume() != currentVolume) {
|
if (mSeekBar.getVolume() != currentVolume) {
|
||||||
if (isCurrentSeekbarInvisible) {
|
if (isCurrentSeekbarInvisible && !mIsInitVolumeFirstTime) {
|
||||||
animateCornerAndVolume(mSeekBar.getProgress(),
|
animateCornerAndVolume(mSeekBar.getProgress(),
|
||||||
MediaOutputSeekbar.scaleVolumeToProgress(currentVolume));
|
MediaOutputSeekbar.scaleVolumeToProgress(currentVolume));
|
||||||
} else {
|
} else {
|
||||||
@@ -284,6 +286,9 @@ public abstract class MediaOutputBaseAdapter extends
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (mIsInitVolumeFirstTime) {
|
||||||
|
mIsInitVolumeFirstTime = false;
|
||||||
|
}
|
||||||
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
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 com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
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_1 = "test_device_id_1";
|
||||||
private static final String TEST_DEVICE_ID_2 = "test_device_id_2";
|
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 String TEST_SESSION_NAME = "test_session_name";
|
||||||
|
private static final int TEST_MAX_VOLUME = 20;
|
||||||
|
private static final int TEST_CURRENT_VOLUME = 10;
|
||||||
|
|
||||||
// Mock
|
// Mock
|
||||||
private MediaOutputController mMediaOutputController = mock(MediaOutputController.class);
|
private MediaOutputController mMediaOutputController = mock(MediaOutputController.class);
|
||||||
@@ -64,12 +67,14 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
|
|||||||
private MediaOutputAdapter mMediaOutputAdapter;
|
private MediaOutputAdapter mMediaOutputAdapter;
|
||||||
private MediaOutputAdapter.MediaDeviceViewHolder mViewHolder;
|
private MediaOutputAdapter.MediaDeviceViewHolder mViewHolder;
|
||||||
private List<MediaDevice> mMediaDevices = new ArrayList<>();
|
private List<MediaDevice> mMediaDevices = new ArrayList<>();
|
||||||
|
MediaOutputSeekbar mSpyMediaOutputSeekbar;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
mMediaOutputAdapter = new MediaOutputAdapter(mMediaOutputController, mMediaOutputDialog);
|
mMediaOutputAdapter = new MediaOutputAdapter(mMediaOutputController, mMediaOutputDialog);
|
||||||
mViewHolder = (MediaOutputAdapter.MediaDeviceViewHolder) mMediaOutputAdapter
|
mViewHolder = (MediaOutputAdapter.MediaDeviceViewHolder) mMediaOutputAdapter
|
||||||
.onCreateViewHolder(new LinearLayout(mContext), 0);
|
.onCreateViewHolder(new LinearLayout(mContext), 0);
|
||||||
|
mSpyMediaOutputSeekbar = spy(mViewHolder.mSeekBar);
|
||||||
|
|
||||||
when(mMediaOutputController.getMediaDevices()).thenReturn(mMediaDevices);
|
when(mMediaOutputController.getMediaDevices()).thenReturn(mMediaDevices);
|
||||||
when(mMediaOutputController.hasAdjustVolumeUserRestriction()).thenReturn(false);
|
when(mMediaOutputController.hasAdjustVolumeUserRestriction()).thenReturn(false);
|
||||||
@@ -168,6 +173,16 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
|
|||||||
assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE);
|
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
|
@Test
|
||||||
public void onBindViewHolder_bindNonActiveConnectedDevice_verifyView() {
|
public void onBindViewHolder_bindNonActiveConnectedDevice_verifyView() {
|
||||||
mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1);
|
mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user