diff options
| author | Christofer Ã…kersten <akersten@google.com> | 2018-01-18 20:50:47 +0900 |
|---|---|---|
| committer | Christofer Ã…kersten <akersten@google.com> | 2018-01-31 11:27:40 +0900 |
| commit | a6c97e4615890f491f14f22409657b7b7d723dab (patch) | |
| tree | d44c488448a210f95d8ab607b2f1c820dfc2234e /core/java/android/widget/MediaControlView2.java | |
| parent | a64df69b38e1d697f22ae2645d294fc2e9e9da2b (diff) | |
Move View related methods to helper class
Test: Instantiate MediaControlView2
Change-Id: Ia958a97b38e67f236ee510978c379af9249d2887
Diffstat (limited to 'core/java/android/widget/MediaControlView2.java')
| -rw-r--r-- | core/java/android/widget/MediaControlView2.java | 96 |
1 files changed, 8 insertions, 88 deletions
diff --git a/core/java/android/widget/MediaControlView2.java b/core/java/android/widget/MediaControlView2.java index 39c23b413cc9..5f6d9ce665ad 100644 --- a/core/java/android/widget/MediaControlView2.java +++ b/core/java/android/widget/MediaControlView2.java @@ -22,13 +22,13 @@ import android.annotation.Nullable; import android.content.Context; import android.media.session.MediaController; import android.media.update.ApiLoader; +import android.media.update.FrameLayoutHelper; import android.media.update.MediaControlView2Provider; -import android.media.update.ViewProvider; import android.util.AttributeSet; -import android.view.MotionEvent; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; + /** * A View that contains the controls for MediaPlayer2. * It provides a wide range of UI including buttons such as "Play/Pause", "Rewind", "Fast Forward", @@ -61,7 +61,7 @@ import java.lang.annotation.RetentionPolicy; * TODO PUBLIC API * @hide */ -public class MediaControlView2 extends FrameLayout { +public class MediaControlView2 extends FrameLayoutHelper<MediaControlView2Provider> { /** @hide */ @IntDef({ BUTTON_PLAY_PAUSE, @@ -140,8 +140,6 @@ public class MediaControlView2 extends FrameLayout { */ public static final String COMMAND_SET_FULLSCREEN = "setFullscreen"; - private final MediaControlView2Provider mProvider; - public MediaControlView2(@NonNull Context context) { this(context, null); } @@ -157,17 +155,10 @@ public class MediaControlView2 extends FrameLayout { public MediaControlView2(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - - mProvider = ApiLoader.getProvider(context) - .createMediaControlView2(this, new SuperProvider()); - } - - /** - * @hide - */ - public MediaControlView2Provider getProvider() { - return mProvider; + super((instance, superProvider) -> + ApiLoader.getProvider(context).createMediaControlView2( + (MediaControlView2) instance, superProvider), + context, attrs, defStyleAttr, defStyleRes); } /** @@ -232,80 +223,9 @@ public class MediaControlView2 extends FrameLayout { } @Override + // TODO Move this method to ViewProvider public void onVisibilityAggregated(boolean isVisible) { mProvider.onVisibilityAggregated_impl(isVisible); } - - @Override - protected void onAttachedToWindow() { - mProvider.onAttachedToWindow_impl(); - } - - @Override - protected void onDetachedFromWindow() { - mProvider.onDetachedFromWindow_impl(); - } - - @Override - public CharSequence getAccessibilityClassName() { - return mProvider.getAccessibilityClassName_impl(); - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - return mProvider.onTouchEvent_impl(ev); - } - - @Override - public boolean onTrackballEvent(MotionEvent ev) { - return mProvider.onTrackballEvent_impl(ev); - } - - @Override - public void onFinishInflate() { - mProvider.onFinishInflate_impl(); - } - - @Override - public void setEnabled(boolean enabled) { - mProvider.setEnabled_impl(enabled); - } - - private class SuperProvider implements ViewProvider { - @Override - public void onAttachedToWindow_impl() { - MediaControlView2.super.onAttachedToWindow(); - } - - @Override - public void onDetachedFromWindow_impl() { - MediaControlView2.super.onDetachedFromWindow(); - } - - @Override - public CharSequence getAccessibilityClassName_impl() { - return MediaControlView2.super.getAccessibilityClassName(); - } - - @Override - public boolean onTouchEvent_impl(MotionEvent ev) { - return MediaControlView2.super.onTouchEvent(ev); - } - - @Override - public boolean onTrackballEvent_impl(MotionEvent ev) { - return MediaControlView2.super.onTrackballEvent(ev); - } - - @Override - public void onFinishInflate_impl() { - MediaControlView2.super.onFinishInflate(); - } - - @Override - public void setEnabled_impl(boolean enabled) { - MediaControlView2.super.setEnabled(enabled); - } - } } |
