void switchToNormalMode() { if (mDisplayMode == DisplayMode.NORMAL) { return; } if (mDisplayMode == DisplayMode.FULLSCREEN) { handleFullscreenMode(false); } Logging.out(LOG_TAG, "switchToNormalMode", LogLevel.DEBUG); mDisplayMode = DisplayMode.NORMAL; LoopMeBannerView initialView = ((LoopMeBanner) mAd).getBannerView(); initialView.setVisibility(View.VISIBLE); if (mMinimizedView != null && mMinimizedView.getParent() != null) { ((ViewGroup) mMinimizedView.getParent()).removeView(mMinimizedView); rebuildView(initialView); mMinimizedView.removeAllViews(); } mAdView.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return (event.getAction() == MotionEvent.ACTION_MOVE); } }); }
private void configMinimizedViewLayoutParams(LoopMeBannerView bannerView) { LayoutParams lp = (LayoutParams) bannerView.getLayoutParams(); lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); lp.bottomMargin = mMinimizedMode.getMarginBottom(); lp.rightMargin = mMinimizedMode.getMarginRight(); bannerView.setLayoutParams(lp); }
void destroyMinimizedView() { if (mMinimizedView != null) { if (mMinimizedView.getParent() != null) { ((ViewGroup) mMinimizedView.getParent()).removeView(mMinimizedView); } mMinimizedView.removeAllViews(); mMinimizedView = null; } }
@SuppressLint("NewApi") private void addBordersToView(LoopMeBannerView bannerView) { ShapeDrawable drawable = new ShapeDrawable(new RectShape()); drawable.getPaint().setColor(Color.BLACK); drawable.getPaint().setStyle(Style.FILL_AND_STROKE); drawable.getPaint().setAntiAlias(true); bannerView.setPadding(2, 2, 2, 2); if (Build.VERSION.SDK_INT < 16) { bannerView.setBackgroundDrawable(drawable); } else { bannerView.setBackground(drawable); } }
void switchToMinimizedMode() { if (mDisplayMode == DisplayMode.MINIMIZED) { if (getCurrentVideoState() == VideoState.PAUSED) { setWebViewState(WebviewState.VISIBLE); } return; } Logging.out(LOG_TAG, "switchToMinimizedMode", LogLevel.DEBUG); mDisplayMode = DisplayMode.MINIMIZED; int width = mMinimizedMode.getWidth(); int height = mMinimizedMode.getHeight(); mMinimizedView = new LoopMeBannerView(mAdView.getContext(), width, height); rebuildView(mMinimizedView); addBordersToView(mMinimizedView); if (mAdView.getCurrentWebViewState() == WebviewState.HIDDEN) { mMinimizedView.setAlpha(0); } mMinimizedMode.getRootView().addView(mMinimizedView); configMinimizedViewLayoutParams(mMinimizedView); setWebViewState(WebviewState.VISIBLE); mAdView.setOnTouchListener( new SwipeListener( width, new SwipeListener.Listener() { @Override public void onSwipe(boolean toRight) { mAdView.setWebViewState(WebviewState.HIDDEN); Animation anim = AnimationUtils.makeOutAnimation(mAd.getContext(), toRight); anim.setDuration(200); mMinimizedView.startAnimation(anim); switchToNormalMode(); mMinimizedMode = null; } })); }