diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index cc50471..1214657 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -111,7 +111,6 @@ - @@ -131,4 +130,4 @@ - \ No newline at end of file + diff --git a/draggablepanel/AndroidManifest.xml b/draggablepanel/AndroidManifest.xml index 13e81a2..1ec2fc0 100644 --- a/draggablepanel/AndroidManifest.xml +++ b/draggablepanel/AndroidManifest.xml @@ -1,9 +1,11 @@ + package="com.github.pedrovgs" + > + android:targetSdkVersion="20" + /> diff --git a/draggablepanel/build.gradle b/draggablepanel/build.gradle index 149fbde..272e796 100644 --- a/draggablepanel/build.gradle +++ b/draggablepanel/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'checkstyle' dependencies { - compile 'com.android.support:support-v4:20.0.0' + compile 'com.android.support:support-v4:20.0.0' compile 'com.nineoldandroids:library:2.4.0' } diff --git a/draggablepanel/res/layout/draggable_panel.xml b/draggablepanel/res/layout/draggable_panel.xml index 97545a0..1132578 100644 --- a/draggablepanel/res/layout/draggable_panel.xml +++ b/draggablepanel/res/layout/draggable_panel.xml @@ -5,19 +5,22 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" draggable_view:bottom_view_id="@+id/second_view" - draggable_view:top_view_id="@+id/drag_view"> + draggable_view:top_view_id="@+id/drag_view" + > + android:layout_below="@+id/drag_view" + /> + android:orientation="vertical" + /> \ No newline at end of file diff --git a/draggablepanel/res/values/attrs.xml b/draggablepanel/res/values/attrs.xml index 7521a99..1d6b267 100644 --- a/draggablepanel/res/values/attrs.xml +++ b/draggablepanel/res/values/attrs.xml @@ -1,29 +1,49 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/draggablepanel/src/main/java/com/github/pedrovgs/DraggablePanel.java b/draggablepanel/src/main/java/com/github/pedrovgs/DraggablePanel.java index f1f0556..75453d8 100644 --- a/draggablepanel/src/main/java/com/github/pedrovgs/DraggablePanel.java +++ b/draggablepanel/src/main/java/com/github/pedrovgs/DraggablePanel.java @@ -146,7 +146,6 @@ public void setClickToMinimizeEnabled(boolean enableClickToMinimize) { } /** - * * Slide the view based on scroll of the nav drawer. * "setEnableTouch" user prevents click to expand while the drawer is moving. * It's only possible to maximize the view when @slideOffset is equals to 0.0, diff --git a/draggablepanel/src/main/java/com/github/pedrovgs/DraggableView.java b/draggablepanel/src/main/java/com/github/pedrovgs/DraggableView.java index 5895a14..12aedab 100644 --- a/draggablepanel/src/main/java/com/github/pedrovgs/DraggableView.java +++ b/draggablepanel/src/main/java/com/github/pedrovgs/DraggableView.java @@ -24,6 +24,7 @@ import android.support.v4.view.ViewCompat; import android.support.v4.widget.ViewDragHelper; import android.util.AttributeSet; +import android.util.DisplayMetrics; import android.view.MotionEvent; import android.view.View; import android.widget.RelativeLayout; @@ -255,7 +256,10 @@ public void minimize() { * Close the custom view applying an animation to close the view to the right side of the screen. */ public void closeToRight() { - if (viewDragHelper.smoothSlideViewTo(dragView, transformer.getOriginalWidth(), + + DisplayMetrics dm = getResources().getDisplayMetrics(); + int maxSize = Math.max(dm.widthPixels, dm.heightPixels); + if (viewDragHelper.smoothSlideViewTo(dragView, transformer.getOriginalWidth() + maxSize, getHeight() - transformer.getMinHeightPlusMargin())) { ViewCompat.postInvalidateOnAnimation(this); notifyCloseToRightListener(); @@ -266,7 +270,9 @@ public void closeToRight() { * Close the custom view applying an animation to close the view to the left side of the screen. */ public void closeToLeft() { - if (viewDragHelper.smoothSlideViewTo(dragView, -transformer.getOriginalWidth(), + DisplayMetrics dm = getResources().getDisplayMetrics(); + int maxSize = Math.max(dm.widthPixels, dm.heightPixels); + if (viewDragHelper.smoothSlideViewTo(dragView, -maxSize * 20, getHeight() - transformer.getMinHeightPlusMargin())) { ViewCompat.postInvalidateOnAnimation(this); notifyCloseToLeftListener(); @@ -297,7 +303,7 @@ public boolean isMaximized() { * @return true if the view is closed at right. */ public boolean isClosedAtRight() { - return dragView.getLeft() >= getWidth(); + return dragView.getLeft() >= transformer.getOriginalWidth(); } /** @@ -378,7 +384,7 @@ public boolean isClosed() { } private void analyzeTouchToMaximizeIfNeeded(MotionEvent ev, boolean isDragViewHit) { - switch(ev.getAction()) { + switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: lastTouchActionDownXPosition = ev.getX(); break; @@ -399,8 +405,7 @@ private void analyzeTouchToMaximizeIfNeeded(MotionEvent ev, boolean isDragViewHi public boolean shouldMaximizeOnClick(MotionEvent ev, float deltaX, boolean isDragViewHit) { return (Math.abs(deltaX) < MIN_SLIDING_DISTANCE_ON_CLICK) - && ev.getAction() != MotionEvent.ACTION_MOVE - && isDragViewHit; + && ev.getAction() != MotionEvent.ACTION_MOVE && isDragViewHit; } /** @@ -418,20 +423,52 @@ private MotionEvent cloneMotionEventWithAction(MotionEvent event, int action) { event.getY(), event.getMetaState()); } + private int oldOrientation = -1; + /** * Override method to configure the dragged view and secondView layout properly. */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (isInEditMode()) + DisplayMetrics dm = getResources().getDisplayMetrics(); + if (oldOrientation == -1) { + oldOrientation = getResources().getConfiguration().orientation; + } + if (isInEditMode()) { super.onLayout(changed, left, top, right, bottom); - else if (isDragViewAtTop()) { + } else if (isDragViewAtTop()) { dragView.layout(left, top, right, transformer.getOriginalHeight()); secondView.layout(left, transformer.getOriginalHeight(), right, bottom); ViewHelper.setY(dragView, top); ViewHelper.setY(secondView, transformer.getOriginalHeight()); } else { - secondView.layout(left, transformer.getOriginalHeight(), right, bottom); + dragView.setVisibility(INVISIBLE); + if (isClosedAtLeft()) { + if (oldOrientation != getResources().getConfiguration().orientation) { + dragView.layout(left, top, right, transformer.getOriginalHeight()); + + secondView.layout(left, transformer.getOriginalHeight(), right, bottom); + oldOrientation = getResources().getConfiguration().orientation; + } + closeToLeft(); + } else if (isClosedAtRight()) { + if (oldOrientation != getResources().getConfiguration().orientation) { + dragView.layout(left, top, right, transformer.getOriginalHeight()); + secondView.layout(left, transformer.getOriginalHeight(), right, bottom); + oldOrientation = getResources().getConfiguration().orientation; + } + + closeToRight(); + } else { + if (oldOrientation != getResources().getConfiguration().orientation) { + dragView.layout(left, top, right, transformer.getOriginalHeight()); + secondView.layout(left, transformer.getOriginalHeight(), right, bottom); + oldOrientation = getResources().getConfiguration().orientation; + } + smoothSlideTo(SLIDE_BOTTOM); + } + dragView.setVisibility(VISIBLE); } + oldOrientation = getResources().getConfiguration().orientation; } /** @@ -616,10 +653,8 @@ private boolean isViewHit(View view, int x, int y) { this.getLocationOnScreen(parentLocation); int screenX = parentLocation[0] + x; int screenY = parentLocation[1] + y; - return screenX >= viewLocation[0] - && screenX < viewLocation[0] + view.getWidth() - && screenY >= viewLocation[1] - && screenY < viewLocation[1] + view.getHeight(); + return screenX >= viewLocation[0] && screenX < viewLocation[0] + view.getWidth() + && screenY >= viewLocation[1] && screenY < viewLocation[1] + view.getHeight(); } /** @@ -636,7 +671,8 @@ private void addFragmentToView(final int viewId, final Fragment fragment) { * Initialize the viewDragHelper. */ private void initializeViewDragHelper() { - viewDragHelper = ViewDragHelper.create(this, SENSITIVITY, new DraggableViewCallback(this, dragView)); + viewDragHelper = + ViewDragHelper.create(this, SENSITIVITY, new DraggableViewCallback(this, dragView)); } /** @@ -647,8 +683,9 @@ private void initializeTransformer(TypedArray attributes) { attributes.getBoolean(R.styleable.draggable_view_top_view_resize, DEFAULT_TOP_VIEW_RESIZE); TransformerFactory transformerFactory = new TransformerFactory(); transformer = transformerFactory.getTransformer(topViewResize, dragView, this); - transformer.setViewHeight(attributes.getDimensionPixelSize(R.styleable.draggable_view_top_view_height, - DEFAULT_TOP_VIEW_HEIGHT)); + transformer.setViewHeight( + attributes.getDimensionPixelSize(R.styleable.draggable_view_top_view_height, + DEFAULT_TOP_VIEW_HEIGHT)); transformer.setXScaleFactor( attributes.getFloat(R.styleable.draggable_view_top_view_x_scale_factor, DEFAULT_SCALE_FACTOR)); @@ -691,9 +728,8 @@ private void initializeAttributes(AttributeSet attrs) { */ private boolean smoothSlideTo(float slideOffset) { final int topBound = getPaddingTop(); - int x = (int) (slideOffset * (getWidth() - transformer.getMinWidthPlusMarginRight())); int y = (int) (topBound + slideOffset * getVerticalDragRange()); - if (viewDragHelper.smoothSlideViewTo(dragView, x, y)) { + if (viewDragHelper.smoothSlideViewTo(dragView, 0, y)) { ViewCompat.postInvalidateOnAnimation(this); return true; } diff --git a/draggablepanel/src/main/java/com/github/pedrovgs/DraggableViewCallback.java b/draggablepanel/src/main/java/com/github/pedrovgs/DraggableViewCallback.java index 08016ba..f12528c 100644 --- a/draggablepanel/src/main/java/com/github/pedrovgs/DraggableViewCallback.java +++ b/draggablepanel/src/main/java/com/github/pedrovgs/DraggableViewCallback.java @@ -108,8 +108,7 @@ public DraggableViewCallback(DraggableView draggableView, View draggedView) { @Override public int clampViewPositionHorizontal(View child, int left, int dx) { int newLeft = draggedView.getLeft(); if ((draggableView.isMinimized() && Math.abs(dx) > MINIMUM_DX_FOR_HORIZONTAL_DRAG) || ( - draggableView.isDragViewAtBottom() - && !draggableView.isDragViewAtRight())) { + draggableView.isDragViewAtBottom() && !draggableView.isDragViewAtRight())) { newLeft = left; } return newLeft; @@ -126,13 +125,13 @@ public DraggableViewCallback(DraggableView draggableView, View draggedView) { */ @Override public int clampViewPositionVertical(View child, int top, int dy) { int newTop = draggableView.getHeight() - draggableView.getDraggedViewHeightPlusMarginTop(); - if (draggableView.isMinimized() && Math.abs(dy) >= MINIMUM_DY_FOR_VERTICAL_DRAG - || (!draggableView.isMinimized() && !draggableView.isDragViewAtBottom())) { + if (draggableView.isMinimized() && Math.abs(dy) >= MINIMUM_DY_FOR_VERTICAL_DRAG || ( + !draggableView.isMinimized() && !draggableView.isDragViewAtBottom())) { final int topBound = draggableView.getPaddingTop(); - final int bottomBound = draggableView.getHeight() - - draggableView.getDraggedViewHeightPlusMarginTop() - - draggedView.getPaddingBottom(); + final int bottomBound = + draggableView.getHeight() - draggableView.getDraggedViewHeightPlusMarginTop() + - draggedView.getPaddingBottom(); newTop = Math.min(Math.max(top, topBound), bottomBound); } diff --git a/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ResizeTransformer.java b/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ResizeTransformer.java index 6af7bc3..d3b4a06 100644 --- a/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ResizeTransformer.java +++ b/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ResizeTransformer.java @@ -40,19 +40,18 @@ class ResizeTransformer extends Transformer { */ @Override public void updateScale(float verticalDragOffset) { layoutParams.width = (int) (getOriginalWidth() * (1 - verticalDragOffset / getXScaleFactor())); - layoutParams.height = (int) (getOriginalHeight() * (1 - verticalDragOffset / getYScaleFactor())); + layoutParams.height = + (int) (getOriginalHeight() * (1 - verticalDragOffset / getYScaleFactor())); getView().setLayoutParams(layoutParams); } - /** * Changes X view position using layout() method. * * @param verticalDragOffset used to calculate the new X position. */ - @Override - public void updatePosition(float verticalDragOffset) { + @Override public void updatePosition(float verticalDragOffset) { int right = getViewRightPosition(verticalDragOffset); int left = right - layoutParams.width; int top = getView().getTop(); @@ -61,7 +60,6 @@ public void updatePosition(float verticalDragOffset) { getView().layout(left, top, right, bottom); } - /** * @return true if the right position of the view plus the right margin is equals to the parent * width. @@ -116,5 +114,4 @@ public void updatePosition(float verticalDragOffset) { private int getViewRightPosition(float verticalDragOffset) { return (int) ((getOriginalWidth()) - getMarginRight() * verticalDragOffset); } - } diff --git a/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ScaleTransformer.java b/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ScaleTransformer.java index e49a13e..5dce565 100644 --- a/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ScaleTransformer.java +++ b/draggablepanel/src/main/java/com/github/pedrovgs/transformer/ScaleTransformer.java @@ -94,5 +94,4 @@ class ScaleTransformer extends Transformer { @Override public int getMinWidthPlusMarginRight() { return getOriginalWidth(); } - } diff --git a/sample/AndroidManifest.xml b/sample/AndroidManifest.xml index 960a0f2..9f99368 100755 --- a/sample/AndroidManifest.xml +++ b/sample/AndroidManifest.xml @@ -1,79 +1,84 @@ - + - + - + - - - - + + + + - + - + - + - + - + - + - - - + + + - - - + + + - + - - + + android:label="@string/places_sample_activity_title" /> - + + - - - + + + android:label="@string/youtube_sample_activity_title" /> - - - + - + + + + + diff --git a/sample/src/main/java/com/github/pedrovgs/sample/activity/DIFragmentActivity.java b/sample/src/main/java/com/github/pedrovgs/sample/activity/DIFragmentActivity.java index 7f956a2..f06b68f 100644 --- a/sample/src/main/java/com/github/pedrovgs/sample/activity/DIFragmentActivity.java +++ b/sample/src/main/java/com/github/pedrovgs/sample/activity/DIFragmentActivity.java @@ -15,6 +15,7 @@ */ package com.github.pedrovgs.sample.activity; +import android.content.res.Configuration; import android.os.Bundle; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.github.pedrovgs.sample.DraggablePanelApplication; @@ -32,4 +33,8 @@ public class DIFragmentActivity extends SherlockFragmentActivity { super.onCreate(savedInstanceState); ((DraggablePanelApplication) getApplication()).inject(this); } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } } diff --git a/sample/src/main/java/com/github/pedrovgs/sample/activity/MainActivity.java b/sample/src/main/java/com/github/pedrovgs/sample/activity/MainActivity.java index 8f7c7db..a32a372 100644 --- a/sample/src/main/java/com/github/pedrovgs/sample/activity/MainActivity.java +++ b/sample/src/main/java/com/github/pedrovgs/sample/activity/MainActivity.java @@ -17,6 +17,7 @@ import android.app.Activity; import android.content.Intent; +import android.content.res.Configuration; import android.os.Bundle; import butterknife.ButterKnife; import butterknife.OnClick; @@ -52,4 +53,8 @@ public class MainActivity extends Activity { Intent intent = new Intent(this, VideoSampleActivity.class); startActivity(intent); } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } } diff --git a/sample/src/main/java/com/github/pedrovgs/sample/activity/TvShowsActivity.java b/sample/src/main/java/com/github/pedrovgs/sample/activity/TvShowsActivity.java index ebf2dc5..9c463c8 100644 --- a/sample/src/main/java/com/github/pedrovgs/sample/activity/TvShowsActivity.java +++ b/sample/src/main/java/com/github/pedrovgs/sample/activity/TvShowsActivity.java @@ -15,6 +15,7 @@ */ package com.github.pedrovgs.sample.activity; +import android.content.res.Configuration; import android.os.Bundle; import android.os.Handler; import android.view.View; @@ -89,11 +90,12 @@ public class TvShowsActivity extends DIFragmentActivity { private void initializeDraggableView() { Handler handler = new Handler(); handler.postDelayed(new Runnable() { - @Override public void run() { - draggableView.setVisibility(View.GONE); - draggableView.closeToRight(); - } - }, DELAY_MILLIS); + + @Override public void run() { + draggableView.setVisibility(View.GONE); + draggableView.closeToRight(); + } + }, DELAY_MILLIS); } /** @@ -102,20 +104,21 @@ private void initializeDraggableView() { private void initializeGridView() { tvShowsGridView.setAdapter(adapter); tvShowsGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override public void onItemClick(AdapterView adapterView, View view, int position, - long id) { - TvShowViewModel tvShow = adapter.getItem(position); - tvShowSelected = tvShow; - Picasso.with(getBaseContext()) - .load(tvShow.getFanArt()) - .placeholder(R.drawable.tv_show_placeholder) - .into(fanArtImageView); - renderEpisodesHeader(tvShow); - renderEpisodes(tvShow); - draggableView.setVisibility(View.VISIBLE); - draggableView.maximize(); - } - }); + + @Override + public void onItemClick(AdapterView adapterView, View view, int position, long id) { + TvShowViewModel tvShow = adapter.getItem(position); + tvShowSelected = tvShow; + Picasso.with(getBaseContext()) + .load(tvShow.getFanArt()) + .placeholder(R.drawable.tv_show_placeholder) + .into(fanArtImageView); + renderEpisodesHeader(tvShow); + renderEpisodes(tvShow); + draggableView.setVisibility(View.VISIBLE); + draggableView.maximize(); + } + }); } /** @@ -124,22 +127,23 @@ private void initializeGridView() { */ private void hookListeners() { draggableView.setDraggableListener(new DraggableListener() { - @Override public void onMaximized() { - updateActionBarTitle(); - } - - @Override public void onMinimized() { - updateActionBarTitle(); - } - - @Override public void onClosedToLeft() { - resetActionBarTitle(); - } - - @Override public void onClosedToRight() { - resetActionBarTitle(); - } - }); + + @Override public void onMaximized() { + updateActionBarTitle(); + } + + @Override public void onMinimized() { + updateActionBarTitle(); + } + + @Override public void onClosedToLeft() { + resetActionBarTitle(); + } + + @Override public void onClosedToRight() { + resetActionBarTitle(); + } + }); } /** @@ -186,17 +190,22 @@ private void renderEpisodesHeader(TvShowViewModel tvShow) { episodesListView.setAdapter(null); episodesListView.addHeaderView(header); episodesListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override public void onItemClick(AdapterView adapterView, View view, int position, - long id) { - if (tvShowSelected != null) { - if (position > 0) { - EpisodeViewModel episodeViewModel = tvShowSelected.getEpisodes().get(position - 1); - Toast.makeText(getBaseContext(), - tvShowSelected.getTitle() + " - " + episodeViewModel.getTitle(), Toast.LENGTH_LONG) - .show(); + + @Override + public void onItemClick(AdapterView adapterView, View view, int position, long id) { + if (tvShowSelected != null) { + if (position > 0) { + EpisodeViewModel episodeViewModel = tvShowSelected.getEpisodes().get(position - 1); + Toast.makeText(getBaseContext(), + tvShowSelected.getTitle() + " - " + episodeViewModel.getTitle(), + Toast.LENGTH_LONG).show(); + } + } } - } - } - }); + }); + } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); } } \ No newline at end of file diff --git a/sample/src/main/java/com/github/pedrovgs/sample/activity/VideoSampleActivity.java b/sample/src/main/java/com/github/pedrovgs/sample/activity/VideoSampleActivity.java index 83e2dbf..6f72f2d 100644 --- a/sample/src/main/java/com/github/pedrovgs/sample/activity/VideoSampleActivity.java +++ b/sample/src/main/java/com/github/pedrovgs/sample/activity/VideoSampleActivity.java @@ -15,6 +15,7 @@ */ package com.github.pedrovgs.sample.activity; +import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.FragmentActivity; @@ -84,23 +85,24 @@ public class VideoSampleActivity extends FragmentActivity { */ private void hookDraggableViewListener() { draggableView.setDraggableListener(new DraggableListener() { - @Override public void onMaximized() { - startVideo(); - } - - //Empty - @Override public void onMinimized() { - //Empty - } - - @Override public void onClosedToLeft() { - pauseVideo(); - } - - @Override public void onClosedToRight() { - pauseVideo(); - } - }); + + @Override public void onMaximized() { + startVideo(); + } + + //Empty + @Override public void onMinimized() { + //Empty + } + + @Override public void onClosedToLeft() { + pauseVideo(); + } + + @Override public void onClosedToRight() { + pauseVideo(); + } + }); } /** @@ -143,4 +145,8 @@ private void initializePoster() { .placeholder(R.drawable.spiderman_placeholder) .into(thumbnailImageView); } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } } diff --git a/sample/src/main/java/com/github/pedrovgs/sample/activity/YoutubeSampleActivity.java b/sample/src/main/java/com/github/pedrovgs/sample/activity/YoutubeSampleActivity.java index 756e20d..c24975d 100644 --- a/sample/src/main/java/com/github/pedrovgs/sample/activity/YoutubeSampleActivity.java +++ b/sample/src/main/java/com/github/pedrovgs/sample/activity/YoutubeSampleActivity.java @@ -15,6 +15,7 @@ */ package com.github.pedrovgs.sample.activity; +import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.widget.ImageView; @@ -81,19 +82,20 @@ private void initializeYoutubeFragment() { youtubeFragment = new YouTubePlayerSupportFragment(); youtubeFragment.initialize(YOUTUBE_API_KEY, new YouTubePlayer.OnInitializedListener() { - @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, - YouTubePlayer player, boolean wasRestored) { - if (!wasRestored) { - youtubePlayer = player; - youtubePlayer.loadVideo(VIDEO_KEY); - youtubePlayer.setShowFullscreenButton(true); - } - } - - @Override public void onInitializationFailure(YouTubePlayer.Provider provider, - YouTubeInitializationResult error) { - } - }); + @Override + public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, + boolean wasRestored) { + if (!wasRestored) { + youtubePlayer = player; + youtubePlayer.loadVideo(VIDEO_KEY); + youtubePlayer.setShowFullscreenButton(true); + } + } + + @Override public void onInitializationFailure(YouTubePlayer.Provider provider, + YouTubeInitializationResult error) { + } + }); } /** @@ -119,22 +121,23 @@ private void initializeDraggablePanel() { */ private void hookDraggablePanelListeners() { draggablePanel.setDraggableListener(new DraggableListener() { - @Override public void onMaximized() { - playVideo(); - } - - @Override public void onMinimized() { - //Empty - } - - @Override public void onClosedToLeft() { - pauseVideo(); - } - - @Override public void onClosedToRight() { - pauseVideo(); - } - }); + + @Override public void onMaximized() { + playVideo(); + } + + @Override public void onMinimized() { + + } + + @Override public void onClosedToLeft() { + pauseVideo(); + } + + @Override public void onClosedToRight() { + pauseVideo(); + } + }); } /** @@ -154,4 +157,8 @@ private void playVideo() { youtubePlayer.play(); } } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } }