Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9c2b538 authored by Shaowei Shen's avatar Shaowei Shen Committed by Automerger Merge Worker
Browse files

Merge "eOutput Switcher] Fix Dialog refreshing shortage" into tm-qpr-dev am:...

Merge "eOutput Switcher] Fix Dialog refreshing shortage" into tm-qpr-dev am: ac786fe1 am: 232616ab

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19716906



Change-Id: I8d1a1e709102afcffa5f6d7a384d84f8231033d9
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 39c3f134 232616ab
Loading
Loading
Loading
Loading
+12 −9
Original line number Original line Diff line number Diff line
@@ -356,15 +356,6 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
            mHeaderSubtitle.setText(subTitle);
            mHeaderSubtitle.setText(subTitle);
            mHeaderTitle.setGravity(Gravity.NO_GRAVITY);
            mHeaderTitle.setGravity(Gravity.NO_GRAVITY);
        }
        }
        if (!mAdapter.isDragging()) {
            int currentActivePosition = mAdapter.getCurrentActivePosition();
            if (!colorSetUpdated && !deviceSetChanged && currentActivePosition >= 0
                    && currentActivePosition < mAdapter.getItemCount()) {
                mAdapter.notifyItemChanged(currentActivePosition);
            } else {
                mAdapter.notifyDataSetChanged();
            }
        }
        // Show when remote media session is available or
        // Show when remote media session is available or
        //      when the device supports BT LE audio + media is playing
        //      when the device supports BT LE audio + media is playing
        mStopButton.setVisibility(getStopButtonVisibility());
        mStopButton.setVisibility(getStopButtonVisibility());
@@ -374,6 +365,18 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements


        mBroadcastIcon.setVisibility(getBroadcastIconVisibility());
        mBroadcastIcon.setVisibility(getBroadcastIconVisibility());
        mBroadcastIcon.setOnClickListener(v -> onBroadcastIconClick());
        mBroadcastIcon.setOnClickListener(v -> onBroadcastIconClick());
        if (!mAdapter.isDragging()) {
            int currentActivePosition = mAdapter.getCurrentActivePosition();
            if (!colorSetUpdated && !deviceSetChanged && currentActivePosition >= 0
                    && currentActivePosition < mAdapter.getItemCount()) {
                mAdapter.notifyItemChanged(currentActivePosition);
            } else {
                mAdapter.notifyDataSetChanged();
            }
        } else {
            mMediaOutputController.setRefreshing(false);
            mMediaOutputController.refreshDataSetIfNeeded();
        }
    }
    }


    private void updateButtonBackgroundColorFilter() {
    private void updateButtonBackgroundColorFilter() {
+8 −0
Original line number Original line Diff line number Diff line
@@ -223,6 +223,14 @@ public class MediaOutputBaseDialogTest extends SysuiTestCase {
        verify(mMediaOutputBaseAdapter, never()).notifyDataSetChanged();
        verify(mMediaOutputBaseAdapter, never()).notifyDataSetChanged();
    }
    }


    @Test
    public void refresh_inDragging_directSetRefreshingToFalse() {
        when(mMediaOutputBaseAdapter.isDragging()).thenReturn(true);
        mMediaOutputBaseDialogImpl.refresh();

        assertThat(mMediaOutputController.isRefreshing()).isFalse();
    }

    @Test
    @Test
    public void refresh_notInDragging_verifyUpdateAdapter() {
    public void refresh_notInDragging_verifyUpdateAdapter() {
        when(mMediaOutputBaseAdapter.getCurrentActivePosition()).thenReturn(-1);
        when(mMediaOutputBaseAdapter.getCurrentActivePosition()).thenReturn(-1);