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

Commit 7d6011be authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add setBackgroundColor() in VideoPreference" into rvc-dev

parents 9e5142b1 507218b5
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -39,12 +39,18 @@ import com.android.settings.R;
public class VideoPreference extends Preference {

    private static final String TAG = "VideoPreference";
    private static final int DEFAULT_BACKGROUND_RESOURCE_ID = -1;
    private final Context mContext;

    @VisibleForTesting
    AnimationController mAnimationController;
    @VisibleForTesting
    boolean mAnimationAvailable;
    @VisibleForTesting
    LinearLayout mAnimationView;
    @VisibleForTesting
    int mBackgroundResId = DEFAULT_BACKGROUND_RESOURCE_ID;

    private float mAspectRatio = 1.0f;
    private int mPreviewId;
    private int mAnimationId;
@@ -114,6 +120,7 @@ public class VideoPreference extends Preference {
        mVideo = (TextureView) holder.findViewById(R.id.video_texture_view);
        mPreviewImage = (ImageView) holder.findViewById(R.id.video_preview_image);
        mPlayButton = (ImageView) holder.findViewById(R.id.video_play_button);
        mAnimationView = (LinearLayout) holder.itemView;
        final AspectRatioFrameLayout layout = (AspectRatioFrameLayout) holder.findViewById(
                R.id.video_container);

@@ -123,6 +130,9 @@ public class VideoPreference extends Preference {
            layout.setLayoutParams(new LinearLayout.LayoutParams(
                    LinearLayout.LayoutParams.MATCH_PARENT, mHeight));
        }
        if (mBackgroundResId != DEFAULT_BACKGROUND_RESOURCE_ID) {
            mAnimationView.setBackgroundResource(mBackgroundResId);
        }
        if (mAnimationController != null) {
            mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
        }
@@ -202,6 +212,14 @@ public class VideoPreference extends Preference {
                / (float) mAnimationController.getVideoHeight();
    }

    /**
     * Set the background color of the video preference
     * @param resId resource id of color
     */
    public void setBackgroundColor(int resId) {
        mBackgroundResId = resId;
    }

    /**
     * Handle animation operations.
     */
+12 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.view.LayoutInflater;
import android.view.TextureView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceViewHolder;
@@ -60,6 +61,9 @@ public class VideoPreferenceTest {
    private ImageView fakePreview;
    @Mock
    private ImageView fakePlayButton;
    @Mock
    private LinearLayout mAnimationView;

    private Context mContext;
    private VideoPreference mVideoPreference;
    private PreferenceViewHolder mPreferenceViewHolder;
@@ -73,6 +77,7 @@ public class VideoPreferenceTest {
                new MediaAnimationController(mContext, R.raw.accessibility_screen_magnification));
        mVideoPreference = new VideoPreference(mContext, null /* attrs */);
        mVideoPreference.mAnimationController = mAnimationController;
        mVideoPreference.mAnimationView = mAnimationView;
        when(mAnimationController.getVideoWidth()).thenReturn(VIDEO_WIDTH);
        when(mAnimationController.getVideoHeight()).thenReturn(VIDEO_HEIGHT);

@@ -157,6 +162,13 @@ public class VideoPreferenceTest {
        assertThat(vp2.mAnimationController instanceof VectorAnimationController).isTrue();
    }

    @Test
    public void setBackgroundColor_shouldBeCalled() {
        mVideoPreference.setBackgroundColor(1111);

        assertThat(mVideoPreference.mBackgroundResId).isEqualTo(1111);
    }

    public static class TestFragment extends PreferenceFragmentCompat {
        @Override
        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {