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

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

Merge "[Output Switcher] UI polish and A11y bug fix" into udc-dev am: 4adfb70d am: 9062dee6

parents 2bf7dfd4 9062dee6
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -18,8 +18,8 @@
    <item android:id="@android:id/background">
    <item android:id="@android:id/background">
        <shape>
        <shape>
            <corners
            <corners
                     android:bottomRightRadius="28dp"
                     android:bottomRightRadius="@dimen/media_output_dialog_active_background_radius"
                     android:topRightRadius="28dp"
                     android:topRightRadius="@dimen/media_output_dialog_active_background_radius"
            />
            />
            <solid android:color="@android:color/transparent" />
            <solid android:color="@android:color/transparent" />
            <size
            <size
+1 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
       android:shape="rectangle">
    <corners
    <corners
        android:radius="28dp"/>
        android:radius="@dimen/media_output_dialog_active_background_radius"/>
    <solid android:color="@color/media_dialog_item_background" />
    <solid android:color="@color/media_dialog_item_background" />
</shape>
</shape>
 No newline at end of file
+4 −0
Original line number Original line Diff line number Diff line
@@ -50,12 +50,16 @@
            android:id="@+id/icon_area"
            android:id="@+id/icon_area"
            android:layout_width="64dp"
            android:layout_width="64dp"
            android:layout_height="64dp"
            android:layout_height="64dp"
            android:focusable="false"
            android:importantForAccessibility="no"
            android:background="@drawable/media_output_title_icon_area"
            android:background="@drawable/media_output_title_icon_area"
            android:layout_gravity="center_vertical|start">
            android:layout_gravity="center_vertical|start">
            <ImageView
            <ImageView
                android:id="@+id/title_icon"
                android:id="@+id/title_icon"
                android:layout_width="24dp"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_height="24dp"
                android:focusable="false"
                android:importantForAccessibility="no"
                android:animateLayoutChanges="true"
                android:animateLayoutChanges="true"
                android:layout_gravity="center"/>
                android:layout_gravity="center"/>
            <TextView
            <TextView
+1 −1
Original line number Original line Diff line number Diff line
@@ -1319,7 +1319,7 @@
    <dimen name="media_output_dialog_title_anim_y_delta">12.5dp</dimen>
    <dimen name="media_output_dialog_title_anim_y_delta">12.5dp</dimen>
    <dimen name="media_output_dialog_app_tier_icon_size">20dp</dimen>
    <dimen name="media_output_dialog_app_tier_icon_size">20dp</dimen>
    <dimen name="media_output_dialog_background_radius">16dp</dimen>
    <dimen name="media_output_dialog_background_radius">16dp</dimen>
    <dimen name="media_output_dialog_active_background_radius">28dp</dimen>
    <dimen name="media_output_dialog_active_background_radius">30dp</dimen>
    <dimen name="media_output_dialog_default_margin_end">16dp</dimen>
    <dimen name="media_output_dialog_default_margin_end">16dp</dimen>
    <dimen name="media_output_dialog_selectable_margin_end">80dp</dimen>
    <dimen name="media_output_dialog_selectable_margin_end">80dp</dimen>
    <dimen name="media_output_dialog_list_padding_top">8dp</dimen>
    <dimen name="media_output_dialog_list_padding_top">8dp</dimen>
+33 −29
Original line number Original line Diff line number Diff line
@@ -186,7 +186,6 @@ public abstract class MediaOutputBaseAdapter extends
            mEndTouchArea.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
            mEndTouchArea.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
            mContainerLayout.setOnClickListener(null);
            mContainerLayout.setOnClickListener(null);
            mContainerLayout.setContentDescription(null);
            mContainerLayout.setContentDescription(null);
            mTitleIcon.setOnClickListener(null);
            mTitleText.setTextColor(mController.getColorItemContent());
            mTitleText.setTextColor(mController.getColorItemContent());
            mSubTitleText.setTextColor(mController.getColorItemContent());
            mSubTitleText.setTextColor(mController.getColorItemContent());
            mTwoLineTitleText.setTextColor(mController.getColorItemContent());
            mTwoLineTitleText.setTextColor(mController.getColorItemContent());
@@ -313,6 +312,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 (!mIsDragging) {
                if (mSeekBar.getVolume() != currentVolume) {
                if (mSeekBar.getVolume() != currentVolume) {
                    if (isCurrentSeekbarInvisible && !mIsInitVolumeFirstTime) {
                    if (isCurrentSeekbarInvisible && !mIsInitVolumeFirstTime) {
                        updateTitleIcon(currentVolume == 0 ? R.drawable.media_output_icon_volume_off
                        updateTitleIcon(currentVolume == 0 ? R.drawable.media_output_icon_volume_off
@@ -335,10 +335,12 @@ public abstract class MediaOutputBaseAdapter extends
                    mSeekBar.resetVolume();
                    mSeekBar.resetVolume();
                    updateMutedVolumeIcon();
                    updateMutedVolumeIcon();
                }
                }
            }
            if (mIsInitVolumeFirstTime) {
            if (mIsInitVolumeFirstTime) {
                mIsInitVolumeFirstTime = false;
                mIsInitVolumeFirstTime = false;
            }
            }
            mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                boolean mStartFromMute = false;
                @Override
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    if (device == null || !fromUser) {
                    if (device == null || !fromUser) {
@@ -352,11 +354,12 @@ public abstract class MediaOutputBaseAdapter extends
                    mVolumeValueText.setText(mContext.getResources().getString(
                    mVolumeValueText.setText(mContext.getResources().getString(
                            R.string.media_output_dialog_volume_percentage, percentage));
                            R.string.media_output_dialog_volume_percentage, percentage));
                    mVolumeValueText.setVisibility(View.VISIBLE);
                    mVolumeValueText.setVisibility(View.VISIBLE);
                    if (progressToVolume != deviceVolume) {
                    if (mStartFromMute) {
                        mController.adjustVolume(device, progressToVolume);
                        if (deviceVolume == 0) {
                        updateUnmutedVolumeIcon();
                        updateUnmutedVolumeIcon();
                        mStartFromMute = false;
                    }
                    }
                    if (progressToVolume != deviceVolume) {
                        mController.adjustVolume(device, progressToVolume);
                    }
                    }
                }
                }


@@ -364,6 +367,9 @@ public abstract class MediaOutputBaseAdapter extends
                public void onStartTrackingTouch(SeekBar seekBar) {
                public void onStartTrackingTouch(SeekBar seekBar) {
                    mTitleIcon.setVisibility(View.INVISIBLE);
                    mTitleIcon.setVisibility(View.INVISIBLE);
                    mVolumeValueText.setVisibility(View.VISIBLE);
                    mVolumeValueText.setVisibility(View.VISIBLE);
                    int currentVolume = MediaOutputSeekbar.scaleProgressToVolume(
                            seekBar.getProgress());
                    mStartFromMute = (currentVolume == 0);
                    mIsDragging = true;
                    mIsDragging = true;
                }
                }


@@ -371,10 +377,7 @@ public abstract class MediaOutputBaseAdapter extends
                public void onStopTrackingTouch(SeekBar seekBar) {
                public void onStopTrackingTouch(SeekBar seekBar) {
                    int currentVolume = MediaOutputSeekbar.scaleProgressToVolume(
                    int currentVolume = MediaOutputSeekbar.scaleProgressToVolume(
                            seekBar.getProgress());
                            seekBar.getProgress());
                    int percentage =
                    if (currentVolume == 0) {
                            (int) ((double) currentVolume * VOLUME_PERCENTAGE_SCALE_SIZE
                                    / (double) seekBar.getMax());
                    if (percentage == 0) {
                        seekBar.setProgress(0);
                        seekBar.setProgress(0);
                        updateMutedVolumeIcon();
                        updateMutedVolumeIcon();
                    } else {
                    } else {
@@ -411,7 +414,7 @@ public abstract class MediaOutputBaseAdapter extends
        }
        }


        void updateIconAreaClickListener(View.OnClickListener listener) {
        void updateIconAreaClickListener(View.OnClickListener listener) {
            mTitleIcon.setOnClickListener(listener);
            mIconAreaLayout.setOnClickListener(listener);
        }
        }


        void initMutingExpectedDevice() {
        void initMutingExpectedDevice() {
@@ -501,14 +504,15 @@ public abstract class MediaOutputBaseAdapter extends
            mSeekBar.setOnTouchListener((v, event) -> false);
            mSeekBar.setOnTouchListener((v, event) -> false);
            updateIconAreaClickListener((v) -> {
            updateIconAreaClickListener((v) -> {
                if (device.getCurrentVolume() == 0) {
                if (device.getCurrentVolume() == 0) {
                    mSeekBar.setVolume(UNMUTE_DEFAULT_VOLUME);
                    mController.adjustVolume(device, UNMUTE_DEFAULT_VOLUME);
                    mController.adjustVolume(device, UNMUTE_DEFAULT_VOLUME);
                    updateUnmutedVolumeIcon();
                    updateUnmutedVolumeIcon();
                    mTitleIcon.setOnTouchListener(((iconV, event) -> false));
                    mIconAreaLayout.setOnTouchListener(((iconV, event) -> false));
                } else {
                } else {
                    mSeekBar.resetVolume();
                    mSeekBar.resetVolume();
                    mController.adjustVolume(device, 0);
                    mController.adjustVolume(device, 0);
                    updateMutedVolumeIcon();
                    updateMutedVolumeIcon();
                    mTitleIcon.setOnTouchListener(((iconV, event) -> {
                    mIconAreaLayout.setOnTouchListener(((iconV, event) -> {
                        mSeekBar.dispatchTouchEvent(event);
                        mSeekBar.dispatchTouchEvent(event);
                        return false;
                        return false;
                    }));
                    }));