summaryrefslogtreecommitdiff
path: root/core/java/android/widget/MediaControlView2.java
diff options
context:
space:
mode:
authorChristofer Ã…kersten <akersten@google.com>2018-01-18 20:50:47 +0900
committerChristofer Ã…kersten <akersten@google.com>2018-01-31 11:27:40 +0900
commita6c97e4615890f491f14f22409657b7b7d723dab (patch)
treed44c488448a210f95d8ab607b2f1c820dfc2234e /core/java/android/widget/MediaControlView2.java
parenta64df69b38e1d697f22ae2645d294fc2e9e9da2b (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.java96
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);
- }
- }
}