From c6f9175b507e3e8f43c3555b3307e888c4ff957e Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 20 Jun 2022 20:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/TaxiPassengerVideoPlay.java | 38 + .../ui/TaxiPassengerBaseFragment.java | 6 +- .../ui/leftmenu/ItemViewTouchListener.kt | 28 +- .../taxi/passenger/ui/leftmenu/ListAdapter.kt | 14 + .../ui/leftmenu/OverlayLeftViewUtils.kt | 216 ++-- .../ui/leftmenu/model/LeftMenuModel.kt | 5 +- .../ui/video/RecyclerItemVideoHolder.java | 17 +- .../ui/video/RecyclerVideoAdapter.java | 31 +- .../ui/video/TaxiPassengerMogoConsultView.kt | 163 ++- .../ui/video/TaxiPassengerMogoMoviesView.kt | 212 ++++ .../CarouselChildSelectionListener.java | 49 + .../layoutmanage/CarouselLayoutManager.java | 944 +++++++++++++++++ .../CarouselZoomPostLayoutListener.java | 52 + .../layoutmanage/CenterScrollListener.java | 52 + .../DefaultChildSelectionListener.java | 37 + .../layoutmanage/ItemTransformation.java | 16 + .../passenger/utils/blur/DiskLruCache.java | 974 ++++++++++++++++++ .../utils/blur/DiskLruCacheManager.java | 101 ++ .../passenger/utils/blur/FastBlurUtil.java | 241 +++++ .../utils/blur/GlideBlurTransform.java | 37 + .../utils/blur/StrictLineReader.java | 191 ++++ .../och/taxi/passenger/utils/blur/Util.java | 76 ++ .../utils/windowdispatch/ReflectionUtils.java | 0 .../passenger/widget/ConsultVideoPlayer.kt | 90 +- .../taxi_p_mogo_live_select.png | Bin 0 -> 195585 bytes .../taxi_p_mogo_live_select.png | Bin 0 -> 195585 bytes .../res/layout/list_video_item_normal.xml | 14 +- .../layout/taxi_p_arrived_mogo_consult.xml | 4 +- .../src/main/res/layout/taxi_p_video_show.xml | 3 +- 29 files changed, 3406 insertions(+), 205 deletions(-) create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoMoviesView.kt create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselChildSelectionListener.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/DefaultChildSelectionListener.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCache.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCacheManager.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/FastBlurUtil.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/GlideBlurTransform.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/StrictLineReader.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/Util.java mode change 100755 => 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/windowdispatch/ReflectionUtils.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogo_live_select.png create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogo_live_select.png diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java new file mode 100644 index 0000000000..204760da46 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerVideoPlay.java @@ -0,0 +1,38 @@ +package com.mogo.och.taxi.passenger.bean; + +public class TaxiPassengerVideoPlay { + + public TaxiPassengerVideoPlay(String url, String imageUrl, String title) { + this.url = url; + this.imageUrl = imageUrl; + this.title = title; + } + + private String url; + private String imageUrl; + private String title; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java index d13c32ec71..d758efb3bf 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java @@ -121,16 +121,16 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - //OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity()); + OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity()); //showOrHideArrivedEndLayout(true, "北京北京北京", "1527481606997577728"); //showOrHidePressengerCheckPager(true, "开始站点开", "开始站点开始站点开始", "2", "京A888888", "18811539480"); //OCHFloatWindowManager.getInstance().ShowFloatWindow(getContext()); - OverlayViewUtils.showOverlayView(getActivity(),new TaxiPassengerMogoConsultView(getContext())); - ToastUtils.showShort("测试点击"); + //OverlayViewUtils.showOverlayView(getActivity(),new TaxiPassengerMogoConsultView(getContext())); }); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ItemViewTouchListener.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ItemViewTouchListener.kt index 9ae678ff78..bf061c2902 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ItemViewTouchListener.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ItemViewTouchListener.kt @@ -3,13 +3,17 @@ package com.mogo.och.taxi.passenger.ui.leftmenu import android.view.MotionEvent import android.view.View import android.view.WindowManager +import androidx.constraintlayout.widget.ConstraintLayout class ItemViewTouchListener( private val wl: WindowManager.LayoutParams, - private val windowManager: WindowManager? + private val windowManager: WindowManager?, + private val close: (view:View,windowManager: WindowManager?) -> Unit, + private val open : (view:View,windowManager: WindowManager?) -> Unit ) : View.OnTouchListener { private var x = 0 + // 判断并放跑点击事件 private var dragTime = 0L private val DEVIATION = 10 private val NEGATIVEDEVIATION = -10 @@ -32,24 +36,30 @@ class ItemViewTouchListener( } return false } + if (wl.x > NEGATIVEDEVIATION && movedX > 0) { - wl.x = 0 + open(view.rootView,windowManager) + }else{ + //更新悬浮球控件位置 + windowManager?.updateViewLayout(view.rootView, wl) } if (wl.x < OverlayLeftViewUtils.DEVIATION_WIDTH +DEVIATION && movedX < 0) { - wl.x = OverlayLeftViewUtils.DEVIATION_WIDTH + close(view.rootView,windowManager) + }else{ + //更新悬浮球控件位置 + windowManager?.updateViewLayout(view.rootView, wl) } - //更新悬浮球控件位置 - windowManager?.updateViewLayout(view.rootView, wl) + } MotionEvent.ACTION_UP -> { val startX = wl.x if (startX > OverlayLeftViewUtils.DEVIATION_WIDTH /2 && startX < 0) { - wl.x = 0 - windowManager?.updateViewLayout(view.rootView, wl) + //拖动距离大于一半 自动打开 + open(view.rootView,windowManager) } else if (startX < OverlayLeftViewUtils.DEVIATION_WIDTH /2 && startX >= OverlayLeftViewUtils.DEVIATION_WIDTH) { - wl.x = OverlayLeftViewUtils.DEVIATION_WIDTH - windowManager?.updateViewLayout(view.rootView, wl) + // 拖动距离小于一半自动关闭 + close(view.rootView,windowManager) } if (System.currentTimeMillis() - dragTime > 500) { dragTime = 0 diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ListAdapter.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ListAdapter.kt index 0b77d23ef7..d27143ba02 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ListAdapter.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/ListAdapter.kt @@ -31,6 +31,11 @@ class ListAdapter(private val context: Context,val list: MutableList? = null + private var taxiPassengerMogoMoviesView: WeakReference? = null /** * 添加覆盖View在Activity上面 @@ -55,66 +67,140 @@ object OverlayLeftViewUtils { if (windowManager == null) { windowManager = context.windowManager } - val overlayView = LayoutInflater.from(context) - .inflate(R.layout.taxi_p_window_float_interphone, null) as ConstraintLayout - // 设置View显示模式,沉浸式的侵入到状态栏,导航栏 - overlayView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY - or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION - or View.SYSTEM_UI_FLAG_LAYOUT_STABLE - or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) - layoutParams(ani) - // 如果正在展示中,并且lastOverlayView不为null,先做移除操作,保证覆盖在最上面的View只有一个,防止叠加导致无法移除 - if (lastOverlayView != null) { - dismissOverlayView(lastOverlayView) - } - val vDragField = overlayView.findViewById(R.id.v_drag_field) - vDragField.setOnTouchListener(ItemViewTouchListener(params!!, windowManager)) - vDragField.setOnClickListener { - val start: Int = params!!.x - if (start > DEVIATION_WIDTH /2 && start < 10) { - params?.x = DEVIATION_WIDTH - windowManager?.updateViewLayout(overlayView, params) - } else if (start < DEVIATION_WIDTH /2 && start >= DEVIATION_WIDTH) { - params?.x = 0 - windowManager?.updateViewLayout(overlayView, params) + overlayView = LayoutInflater.from(context) + .inflate(R.layout.taxi_p_window_float_interphone, null) as ConstraintLayout + overlayView?.let { view -> + // 设置View显示模式,沉浸式的侵入到状态栏,导航栏 + view.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY + or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + or View.SYSTEM_UI_FLAG_LAYOUT_STABLE + or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) + layoutParams(ani) + + // 如果正在展示中,并且lastOverlayView不为null,先做移除操作,保证覆盖在最上面的View只有一个,防止叠加导致无法移除 + dismissOverlayView() + + val vDragField = view.findViewById(R.id.v_drag_field) + vDragField.setOnTouchListener(ItemViewTouchListener(params!!, windowManager, ::close, + ::open)) + vDragField.setOnClickListener { + val start: Int = params!!.x + if (start > DEVIATION_WIDTH /2 && start < 10) { + close(view, windowManager) + } else if (start < DEVIATION_WIDTH /2 && start >= DEVIATION_WIDTH) { + open(view, windowManager) + } + } + + val lvSelectItem = view.findViewById(R.id.lv_select_item) + val integers = mutableListOf() + + val liveSelected = object :ListAdapter.OnTabSelectListener{ + override fun onSelect(v: View?) { + close(view, windowManager) + if(taxiPassengerMogoConsultView?.get() != null){ + OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get()) + } + if(taxiPassengerMogoMoviesView?.get() != null){ + OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get()) + } + } + } + + val consultSelect = object :ListAdapter.OnTabSelectListener{ + override fun onSelect(v: View?) { + close(view, windowManager) + if(taxiPassengerMogoMoviesView?.get() != null){ + OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get()) + } + if(taxiPassengerMogoConsultView?.get() != null){ + OverlayViewUtils.showOverlayView(context,taxiPassengerMogoConsultView?.get()) + }else{ + ToastUtils.showLong("已经回收") + taxiPassengerMogoConsultView = + WeakReference(TaxiPassengerMogoConsultView(context)) + OverlayViewUtils.showOverlayView(context,taxiPassengerMogoConsultView?.get()) + } + } + } + + val entertainmentSelect = object :ListAdapter.OnTabSelectListener{ + override fun onSelect(v: View?) { + close(view, windowManager) + if(taxiPassengerMogoConsultView?.get() != null){ + OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get()) + } + if(taxiPassengerMogoMoviesView?.get() != null){ + OverlayViewUtils.showOverlayView(context,taxiPassengerMogoMoviesView?.get()) + }else{ + ToastUtils.showLong("已经回收") + taxiPassengerMogoMoviesView = + WeakReference(TaxiPassengerMogoMoviesView(context)) + OverlayViewUtils.showOverlayView(context,taxiPassengerMogoMoviesView?.get()) + } + } + } + + integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_live_select,R.drawable.taxi_p_mogo_live_selected,true,liveSelected)) + integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_consult_select,R.drawable.taxi_p_mogo_consult_selected,false,consultSelect)) + integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_entertainment_select,R.drawable.taxi_p_mogo_entertainment_selected,false,entertainmentSelect)) + lvSelectItem.adapter = ListAdapter(context, integers) + + view.viewTreeObserver + .addOnGlobalLayoutListener(object :ViewTreeObserver.OnGlobalLayoutListener{ + override fun onGlobalLayout() { + mTouchRegion.setEmpty() + mTouchRegion.op(getViewBounds(vDragField), Region.Op.UNION) + mTouchRegion.op(getViewBounds(lvSelectItem), Region.Op.UNION) + mInvocationHandler?.touchRegion = mTouchRegion + view.viewTreeObserver.removeOnGlobalLayoutListener(this) + } + }) + try { + mInvocationHandler = + OnComputeInternalInsetsListener() + ReflectionUtils.removeOnComputeInternalInsetsListener(view.viewTreeObserver) + ReflectionUtils.addOnComputeInternalInsetsListener( + view.viewTreeObserver, + mInvocationHandler?.getListener() + ) + mInvocationHandler?.touchRegion = mTouchRegion + windowManager!!.addView(overlayView, params) + isShowing = true + } catch (e: Exception) { + e.printStackTrace() } } + } - val lvSelectItem = overlayView.findViewById(R.id.lv_select_item) - val integers = mutableListOf() - integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_live_selected,R.drawable.taxi_p_mogo_live_selected,true)) - integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_overview_selected,R.drawable.taxi_p_mogo_overview_selected,false)) - integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_consult_select,R.drawable.taxi_p_mogo_consult_selected,false)) - integers.add(LeftMenuModel(R.drawable.taxi_p_mogo_entertainment_select,R.drawable.taxi_p_mogo_entertainment_selected,false)) - lvSelectItem.adapter = ListAdapter(context, integers) - - overlayView.viewTreeObserver - .addOnGlobalLayoutListener(object :ViewTreeObserver.OnGlobalLayoutListener{ - override fun onGlobalLayout() { - mTouchRegion.setEmpty() - mTouchRegion.op(getViewBounds(vDragField), Region.Op.UNION) - mTouchRegion.op(getViewBounds(lvSelectItem), Region.Op.UNION) - mInvocationHandler?.touchRegion = mTouchRegion - overlayView.viewTreeObserver.removeOnGlobalLayoutListener(this) - } - }) - try { - lastOverlayView = overlayView - mInvocationHandler = - OnComputeInternalInsetsListener() - ReflectionUtils.removeOnComputeInternalInsetsListener(overlayView.viewTreeObserver) - ReflectionUtils.addOnComputeInternalInsetsListener( - overlayView.viewTreeObserver, - mInvocationHandler?.getListener() - ) - mInvocationHandler?.touchRegion = mTouchRegion - windowManager!!.addView(overlayView, params) - isShowing = true - } catch (e: Exception) { - e.printStackTrace() + /** + * 打开状态栏 + */ + private fun open(overlayView: View,windowManager: WindowManager?) { + params?.x = 0 + windowManager?.updateViewLayout(overlayView, params) + subscribe?.let { + if (!it.isDisposed) { + it.dispose() + } } + subscribe = Observable.timer(3000, TimeUnit.MILLISECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + if(params?.x==0){ + close(overlayView,windowManager) + } + } + } + + /** + * 关闭状态栏 + */ + fun close(overlayView: View,windowManager: WindowManager?) { + params?.x = DEVIATION_WIDTH + windowManager?.updateViewLayout(overlayView, params) } private fun layoutParams(ani: Int) { @@ -144,17 +230,19 @@ object OverlayLeftViewUtils { /** * 移除覆盖View在Activity上面 */ - fun dismissOverlayView(overlayView: View?) { + fun dismissOverlayView() { if (!isShowing) { return } + subscribe?.let { + if (!it.isDisposed) { + it.dispose() + } + } try { if (windowManager != null && overlayView != null) { windowManager!!.removeView(overlayView) } - if (lastOverlayView != null && lastOverlayView === overlayView) { - lastOverlayView = null - } isShowing = false } catch (e: Exception) { e.printStackTrace() @@ -162,10 +250,6 @@ object OverlayLeftViewUtils { } private fun getViewBounds(view: View): Rect { - CallerLogger.e( - SceneConstant.M_TAXI_P + "ItemViewTouchListener", - "点击的位置${view.left}----${view.top}---${view.right}-----${view.bottom}" - ) return Rect(view.left, view.top, view.right, view.bottom) } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/model/LeftMenuModel.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/model/LeftMenuModel.kt index 961788a959..6907442c5d 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/model/LeftMenuModel.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/model/LeftMenuModel.kt @@ -1,7 +1,10 @@ package com.mogo.och.taxi.passenger.ui.leftmenu.model +import com.mogo.och.taxi.passenger.ui.leftmenu.ListAdapter + data class LeftMenuModel( val select: Int, val selected: Int, - var isChecked: Boolean + var isChecked: Boolean, + val selectListener: ListAdapter.OnTabSelectListener ) \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java index 17c96f4e08..1db9dca924 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerItemVideoHolder.java @@ -1,6 +1,7 @@ package com.mogo.och.taxi.passenger.ui.video; import android.content.Context; +import android.graphics.Color; import android.view.View; import android.widget.ImageView; @@ -16,7 +17,7 @@ public class RecyclerItemVideoHolder extends RecyclerView.ViewHolder { protected Context context; - ConsultVideoPlayer gsyVideoPlayer; + public ConsultVideoPlayer gsyVideoPlayer; ImageView imageView; @@ -30,18 +31,4 @@ public class RecyclerItemVideoHolder extends RecyclerView.ViewHolder { gsyVideoOptionBuilder = new GSYVideoOptionBuilder(); } - public void onBind(final int position, String videoModel) { - - String url; - if (position % 2 == 0) { - url = "https://pointshow.oss-cn-hangzhou.aliyuncs.com/McTk51586843620689.mp4"; - } else { - url = "http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"; - } - gsyVideoOptionBuilder.setUrl(url).setCacheWithPlay(false).setPlayTag("NoticeTrafficDialog") - .build(gsyVideoPlayer); - gsyVideoPlayer.getStartButton().performClick(); - - } - } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java index ad0ae64c7f..d6a6d7cfc8 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/RecyclerVideoAdapter.java @@ -1,6 +1,7 @@ package com.mogo.och.taxi.passenger.ui.video; import android.content.Context; +import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -8,21 +9,32 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.mogo.eagle.core.widget.glide.SkinAbleBitmapTarget; import com.mogo.och.taxi.passenger.R; +import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay; import java.util.List; public class RecyclerVideoAdapter extends RecyclerView.Adapter { private final static String TAG = "RecyclerBaseAdapter"; - private List itemDataList = null; + private List itemDataList = null; private Context context = null; - public RecyclerVideoAdapter(Context context, List itemDataList) { + public RecyclerVideoAdapter(Context context, List itemDataList) { this.itemDataList = itemDataList; this.context = context; } + public TaxiPassengerVideoPlay getItemByPosition(int position){ + if(itemDataList!=null){ + return itemDataList.get(position); + } + return null; + } + @NonNull @Override public RecyclerItemVideoHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { @@ -32,7 +44,14 @@ public class RecyclerVideoAdapter extends RecyclerView.Adapter data) { - itemDataList = data; - notifyDataSetChanged(); - } + } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoConsultView.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoConsultView.kt index 322f82a2a5..0a11763663 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoConsultView.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoConsultView.kt @@ -1,15 +1,31 @@ package com.mogo.och.taxi.passenger.ui.video import android.content.Context +import android.graphics.Bitmap +import android.graphics.drawable.BitmapDrawable import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import android.widget.RelativeLayout -import androidx.recyclerview.widget.LinearLayoutManager +import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.bumptech.glide.request.target.SimpleTarget +import com.bumptech.glide.request.transition.Transition import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.taxi.passenger.R +import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselLayoutManager +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselZoomPostLayoutListener +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CenterScrollListener +import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer +import com.mogo.och.taxi.passenger.utils.blur.GlideBlurTransform +import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack +import com.shuyu.gsyvideoplayer.video.base.GSYVideoView import io.reactivex.disposables.Disposable +import java.util.* /** @@ -29,31 +45,156 @@ class TaxiPassengerMogoConsultView :RelativeLayout { private lateinit var rvVideoPlaylist: RecyclerView - - private var subscribe: Disposable?=null + private lateinit var clContain: ConstraintLayout private fun initView(context: Context) { + d(SceneConstant.M_TAXI_P + "pageStopCenterScrollListener", "initView:$visibility") d(SceneConstant.M_TAXI_P + TAG, "initView") LayoutInflater.from(context).inflate(R.layout.taxi_p_arrived_mogo_consult, this, true) rvVideoPlaylist = findViewById(R.id.rv_video_playlist) + clContain = findViewById(R.id.cl_contain) - val arrayListOf = ArrayList() - arrayListOf.add("") - arrayListOf.add("") + val arrayListOf = ArrayList() + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) +//TaxiPassengerMogoMoviesView val recyclerVideoAdapter = RecyclerVideoAdapter(context, arrayListOf) - val linearLayoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) - rvVideoPlaylist.layoutManager = linearLayoutManager + val carouselLayoutManager = CarouselLayoutManager(CarouselLayoutManager.HORIZONTAL, true) + carouselLayoutManager.setPostLayoutListener(CarouselZoomPostLayoutListener ()) + carouselLayoutManager.maxVisibleItems = 1 + rvVideoPlaylist.addOnScrollListener(object: CenterScrollListener() { + var currentPausePlayer = -1 + var prePlayer:ConsultVideoPlayer?=null + override fun pageSelect(recyclerView: RecyclerView?, newState: Int) { + //播放视频 + val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition() + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + if(player is ConsultVideoPlayer){ + if(currentPausePlayer==-1||currentPausePlayer!=centerItemPosition) { + if(prePlayer!=null){ + prePlayer?.onVideoReset() + prePlayer = null + } + if(player.currentState==GSYVideoView.CURRENT_STATE_PAUSE){ + player.onVideoReset() + player.startPlayLogic() + }else{ + player.startPlayLogic() + } + val taxiPassengerVideoPlay = arrayListOf[centerItemPosition] + setBackageAndPlayNext(taxiPassengerVideoPlay, player, centerItemPosition) + }else{ + player.onVideoResume(false) + } + } + } + + override fun pageStop() { + val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition() + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + if(player is ConsultVideoPlayer){ + player.onVideoPause() + prePlayer = player; + currentPausePlayer = centerItemPosition + } + } + + }) + rvVideoPlaylist.layoutManager = carouselLayoutManager + rvVideoPlaylist.setHasFixedSize(true) rvVideoPlaylist.adapter = recyclerVideoAdapter } + private fun setBackageAndPlayNext( + taxiPassengerVideoPlay: TaxiPassengerVideoPlay, + player: ConsultVideoPlayer, + centerItemPosition: Int, + ) { + // 设置背景图片 + Glide.with(context).asBitmap() + .load(taxiPassengerVideoPlay.imageUrl) + .apply( + RequestOptions().transform( + GlideBlurTransform( + context, + taxiPassengerVideoPlay.imageUrl, + 5 + ) + ) + ) + .into(object : SimpleTarget() { + override fun onResourceReady( + resource: Bitmap, + transition: Transition? + ) { + clContain.background = BitmapDrawable(context.resources, resource) + } + }) + + player.setVideoAllCallBack(object : GSYSampleCallBack() { + override fun onAutoComplete(url: String?, vararg objects: Any?) { + player.onVideoReset() + val itemCount = rvVideoPlaylist.adapter?.itemCount + itemCount?.let { + if (centerItemPosition == itemCount - 1) { + rvVideoPlaylist.smoothScrollToPosition(0) + } else { + rvVideoPlaylist.smoothScrollToPosition(centerItemPosition + 1) + } + } + } + }) + } + + + override fun onWindowFocusChanged(hasWindowFocus: Boolean) { + super.onWindowFocusChanged(hasWindowFocus) + val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager + val centerItemPosition: Int = carouselLayoutManager.centerItemPosition + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + player?.let { + if (player is ConsultVideoPlayer) { + if(hasWindowFocus){// 获取焦点两种情况 + // 恢复播放和开始播放 + when (player.currentState) { + GSYVideoView.CURRENT_STATE_PAUSE -> { + player.onVideoResume(false) + } + else -> { + val recyclerVideoAdapter = + rvVideoPlaylist.adapter as RecyclerVideoAdapter + setBackageAndPlayNext(recyclerVideoAdapter.getItemByPosition(centerItemPosition), player, centerItemPosition) + player.startPlayLogic() + } + } + }else { + // 离开应用 暂停视频 + // 关闭 onDetachedFromWindow 会reset + player.onVideoPause() + } + } + + } + + } + override fun onDetachedFromWindow() { super.onDetachedFromWindow() - subscribe?.let { - if (!it.isDisposed) { - it.dispose() + val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager + val centerItemPosition: Int = carouselLayoutManager.centerItemPosition + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + d(SceneConstant.M_TAXI_P + "pageStopCenterScrollListener", "onDetachedFromWindow:$visibility---$player---${centerItemPosition}") + player?.let { + if(player is ConsultVideoPlayer){ + player.onVideoReset() } } + } companion object { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoMoviesView.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoMoviesView.kt new file mode 100644 index 0000000000..56a6cc186c --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/TaxiPassengerMogoMoviesView.kt @@ -0,0 +1,212 @@ +package com.mogo.och.taxi.passenger.ui.video + +import android.content.Context +import android.graphics.Bitmap +import android.graphics.drawable.BitmapDrawable +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.widget.RelativeLayout +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.bumptech.glide.request.target.SimpleTarget +import com.bumptech.glide.request.transition.Transition +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.taxi.passenger.R +import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselLayoutManager +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselZoomPostLayoutListener +import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CenterScrollListener +import com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer +import com.mogo.och.taxi.passenger.utils.blur.GlideBlurTransform +import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack +import com.shuyu.gsyvideoplayer.video.base.GSYVideoView +import io.reactivex.disposables.Disposable +import java.util.* + + +/** + * + * 蘑菇咨询 + * Created on 2022/5/16 + */ +class TaxiPassengerMogoMoviesView :RelativeLayout { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + + private lateinit var rvVideoPlaylist: RecyclerView + private lateinit var clContain: ConstraintLayout + + private fun initView(context: Context) { + d(SceneConstant.M_TAXI_P + "pageStopCenterScrollListener", "initView:$visibility") + d(SceneConstant.M_TAXI_P + TAG, "initView") + LayoutInflater.from(context).inflate(R.layout.taxi_p_arrived_mogo_consult, this, true) + rvVideoPlaylist = findViewById(R.id.rv_video_playlist) + clContain = findViewById(R.id.cl_contain) + + val arrayListOf = ArrayList() + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/McTk51586843620689.png","title")) + arrayListOf.add(TaxiPassengerVideoPlay("https://gohome-1253308323.cos.ap-beijing.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4","https://gohome-1253308323.cos.ap-beijing.myqcloud.com/12111.jpg","title")) +//TaxiPassengerMogoMoviesView + val recyclerVideoAdapter = RecyclerVideoAdapter(context, arrayListOf) + val carouselLayoutManager = CarouselLayoutManager(CarouselLayoutManager.HORIZONTAL, true) + carouselLayoutManager.setPostLayoutListener(CarouselZoomPostLayoutListener ()) + carouselLayoutManager.maxVisibleItems = 1 + rvVideoPlaylist.addOnScrollListener(object: CenterScrollListener() { + var currentPausePlayer = -1 + var prePlayer:ConsultVideoPlayer?=null + override fun pageSelect(recyclerView: RecyclerView?, newState: Int) { + //播放视频 + val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition() + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + if(player is ConsultVideoPlayer){ + if(currentPausePlayer==-1||currentPausePlayer!=centerItemPosition) { + if(prePlayer!=null){ + prePlayer?.onVideoReset() + prePlayer = null + } + if(player.currentState==GSYVideoView.CURRENT_STATE_PAUSE){ + player.onVideoReset() + player.startPlayLogic() + }else{ + player.startPlayLogic() + } + val taxiPassengerVideoPlay = arrayListOf[centerItemPosition] + setBackageAndPlayNext(taxiPassengerVideoPlay, player, centerItemPosition) + }else{ + player.onVideoResume(false) + } + } + } + + override fun pageStop() { + val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition() + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + if(player is ConsultVideoPlayer){ + player.onVideoPause() + prePlayer = player; + currentPausePlayer = centerItemPosition + } + } + + }) + rvVideoPlaylist.layoutManager = carouselLayoutManager + rvVideoPlaylist.setHasFixedSize(true) + rvVideoPlaylist.adapter = recyclerVideoAdapter + } + + private fun setBackageAndPlayNext( + taxiPassengerVideoPlay: TaxiPassengerVideoPlay, + player: ConsultVideoPlayer, + centerItemPosition: Int, + ) { + // 设置背景图片 + Glide.with(context).asBitmap() + .load(taxiPassengerVideoPlay.imageUrl) + .apply( + RequestOptions().transform( + GlideBlurTransform( + context, + taxiPassengerVideoPlay.imageUrl, + 5 + ) + ) + ) + .into(object : SimpleTarget() { + override fun onResourceReady( + resource: Bitmap, + transition: Transition? + ) { + clContain.background = BitmapDrawable(context.resources, resource) + } + }) + + player.setVideoAllCallBack(object : GSYSampleCallBack() { + override fun onAutoComplete(url: String?, vararg objects: Any?) { + player.onVideoReset() + val itemCount = rvVideoPlaylist.adapter?.itemCount + itemCount?.let { + if (centerItemPosition == itemCount - 1) { + rvVideoPlaylist.smoothScrollToPosition(0) + } else { + rvVideoPlaylist.smoothScrollToPosition(centerItemPosition + 1) + } + } + } + }) + } + + + override fun onWindowFocusChanged(hasWindowFocus: Boolean) { + super.onWindowFocusChanged(hasWindowFocus) + val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager + val centerItemPosition: Int = carouselLayoutManager.centerItemPosition + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + player?.let { + if (player is ConsultVideoPlayer) { + if(hasWindowFocus){// 获取焦点两种情况 + // 恢复播放和开始播放 + when (player.currentState) { + GSYVideoView.CURRENT_STATE_PAUSE -> { + player.onVideoResume(false) + } + else -> { + val recyclerVideoAdapter = + rvVideoPlaylist.adapter as RecyclerVideoAdapter + setBackageAndPlayNext(recyclerVideoAdapter.getItemByPosition(centerItemPosition), player, centerItemPosition) + player.startPlayLogic() + } + } + }else { + // 离开应用 暂停视频 + // 关闭 onDetachedFromWindow 会reset + player.onVideoPause() + } + } + + } + + } + + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager + val centerItemPosition: Int = carouselLayoutManager.centerItemPosition + val player = carouselLayoutManager.findViewByPosition(centerItemPosition) + d(SceneConstant.M_TAXI_P + "pageStopCenterScrollListener", "onDetachedFromWindow:$visibility---$player---${centerItemPosition}") + player?.let { + if(player is ConsultVideoPlayer){ + player.onVideoReset() + } + } + + } + + companion object { + const val TAG = "TaxiPassengerMogoConsultView" + } + + init { + try { + initView(context) + } catch (e: Exception) { + e.printStackTrace() + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselChildSelectionListener.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselChildSelectionListener.java new file mode 100644 index 0000000000..5bd1fa4860 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselChildSelectionListener.java @@ -0,0 +1,49 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public abstract class CarouselChildSelectionListener { + + @NonNull + private final RecyclerView mRecyclerView; + @NonNull + private final CarouselLayoutManager mCarouselLayoutManager; + + private final View.OnClickListener mOnClickListener = new View.OnClickListener() { + @Override + public void onClick(final View v) { + final RecyclerView.ViewHolder holder = mRecyclerView.getChildViewHolder(v); + final int position = holder.getAdapterPosition(); + + if (position == mCarouselLayoutManager.getCenterItemPosition()) { + onCenterItemClicked(mRecyclerView, mCarouselLayoutManager, v); + } else { + onBackItemClicked(mRecyclerView, mCarouselLayoutManager, v); + } + } + }; + + protected CarouselChildSelectionListener(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager) { + mRecyclerView = recyclerView; + mCarouselLayoutManager = carouselLayoutManager; + + mRecyclerView.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() { + @Override + public void onChildViewAttachedToWindow(@NonNull final View view) { + view.setOnClickListener(mOnClickListener); + } + + @Override + public void onChildViewDetachedFromWindow(@NonNull final View view) { + view.setOnClickListener(null); + } + }); + } + + protected abstract void onCenterItemClicked(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager, @NonNull final View v); + + protected abstract void onBackItemClicked(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager, @NonNull final View v); +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java new file mode 100644 index 0000000000..f6ae3480ec --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselLayoutManager.java @@ -0,0 +1,944 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +import android.graphics.PointF; +import android.os.Handler; +import android.os.Looper; +import android.os.Parcel; +import android.os.Parcelable; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.CallSuper; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; +import androidx.recyclerview.widget.LinearSmoothScroller; +import androidx.recyclerview.widget.OrientationHelper; +import androidx.recyclerview.widget.RecyclerView; + +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * An implementation of {@link RecyclerView.LayoutManager} that layout items like carousel. + * Generally there is one center item and bellow this item there are maximum {@link CarouselLayoutManager#getMaxVisibleItems()} items on each side of the center + * item. By default {@link CarouselLayoutManager#getMaxVisibleItems()} is {@link CarouselLayoutManager#MAX_VISIBLE_ITEMS}.
+ *
+ * This LayoutManager supports only fixedSized adapter items.
+ *
+ * This LayoutManager supports {@link CarouselLayoutManager#HORIZONTAL} and {@link CarouselLayoutManager#VERTICAL} orientations.
+ *
+ * This LayoutManager supports circle layout. By default it if disabled. We don't recommend to use circle layout with adapter items count less then 3.
+ *
+ * Please be sure that layout_width of adapter item is a constant value and not {@link ViewGroup.LayoutParams#MATCH_PARENT} + * for {@link #HORIZONTAL} orientation. + * So like layout_height is not {@link ViewGroup.LayoutParams#MATCH_PARENT} for {@link CarouselLayoutManager#VERTICAL}
+ *
+ */ +public class CarouselLayoutManager extends RecyclerView.LayoutManager implements RecyclerView.SmoothScroller.ScrollVectorProvider { + + public static final int HORIZONTAL = OrientationHelper.HORIZONTAL; + public static final int VERTICAL = OrientationHelper.VERTICAL; + /** + * 固定值一直不变 + */ + public static final int INVALID_POSITION = -1; + public static final int MAX_VISIBLE_ITEMS = 3; + + private static final boolean CIRCLE_LAYOUT = false; + + private boolean mDecoratedChildSizeInvalid; + private Integer mDecoratedChildWidth; + private Integer mDecoratedChildHeight; + + private final int mOrientation; + private boolean mCircleLayout; + + private int mPendingScrollPosition; + + private final LayoutHelper mLayoutHelper = new LayoutHelper(MAX_VISIBLE_ITEMS); + + private PostLayoutListener mViewPostLayout; + + private final List mOnCenterItemSelectionListeners = new ArrayList<>(); + private int mCenterItemPosition = INVALID_POSITION; + private int mItemsCount; + + @Nullable + private CarouselSavedState mPendingCarouselSavedState; + + /** + * @param orientation should be {@link #VERTICAL} or {@link #HORIZONTAL} + */ + @SuppressWarnings("unused") + public CarouselLayoutManager(final int orientation) { + this(orientation, CIRCLE_LAYOUT); + } + + /** + * If circleLayout is true then all items will be in cycle. Scroll will be infinite on both sides. + * + * @param orientation should be {@link #VERTICAL} or {@link #HORIZONTAL} + * @param circleLayout true for enabling circleLayout + */ + @SuppressWarnings("unused") + public CarouselLayoutManager(final int orientation, final boolean circleLayout) { + if (HORIZONTAL != orientation && VERTICAL != orientation) { + throw new IllegalArgumentException("orientation should be HORIZONTAL or VERTICAL"); + } + mOrientation = orientation; + mCircleLayout = circleLayout; + mPendingScrollPosition = INVALID_POSITION; + } + + /** + * Change circle layout type + */ + @SuppressWarnings("unused") + public void setCircleLayout(final boolean circleLayout) { + if (mCircleLayout != circleLayout) { + mCircleLayout = circleLayout; + requestLayout(); + } + } + + /** + * Setup {@link PostLayoutListener} for this LayoutManager. + * Its methods will be called for each visible view item after general LayoutManager layout finishes.
+ *
+ * Generally this method should be used for scaling and translating view item for better (different) view presentation of layouting. + * + * @param postLayoutListener listener for item layout changes. Can be null. + */ + @SuppressWarnings("unused") + public void setPostLayoutListener(@Nullable final PostLayoutListener postLayoutListener) { + mViewPostLayout = postLayoutListener; + requestLayout(); + } + + /** + * Setup maximum visible (layout) items on each side of the center item. + * Basically during scrolling there can be more visible items (+1 item on each side), but in idle state this is the only reached maximum. + * + * @param maxVisibleItems should be great then 0, if bot an {@link IllegalAccessException} will be thrown + */ + @CallSuper + @SuppressWarnings("unused") + public void setMaxVisibleItems(final int maxVisibleItems) { + if (0 > maxVisibleItems) { + throw new IllegalArgumentException("maxVisibleItems can't be less then 0"); + } + mLayoutHelper.mMaxVisibleItems = maxVisibleItems; + requestLayout(); + } + + /** + * @return current setup for maximum visible items. + * @see #setMaxVisibleItems(int) + */ + @SuppressWarnings("unused") + public int getMaxVisibleItems() { + return mLayoutHelper.mMaxVisibleItems; + } + + @Override + public RecyclerView.LayoutParams generateDefaultLayoutParams() { + return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + } + + /** + * @return current layout orientation + * @see #VERTICAL + * @see #HORIZONTAL + */ + public int getOrientation() { + return mOrientation; + } + + @Override + public boolean canScrollHorizontally() { + return 0 != getChildCount() && HORIZONTAL == mOrientation; + } + + @Override + public boolean canScrollVertically() { + return 0 != getChildCount() && VERTICAL == mOrientation; + } + + /** + * @return current layout center item + */ + public int getCenterItemPosition() { + return mCenterItemPosition; + } + + /** + * @param onCenterItemSelectionListener listener that will trigger when ItemSelectionChanges. can't be null + */ + public void addOnItemSelectionListener(@NonNull final OnCenterItemSelectionListener onCenterItemSelectionListener) { + mOnCenterItemSelectionListeners.add(onCenterItemSelectionListener); + } + + /** + * @param onCenterItemSelectionListener listener that was previously added by {@link #addOnItemSelectionListener(OnCenterItemSelectionListener)} + */ + public void removeOnItemSelectionListener(@NonNull final OnCenterItemSelectionListener onCenterItemSelectionListener) { + mOnCenterItemSelectionListeners.remove(onCenterItemSelectionListener); + } + + @SuppressWarnings("RefusedBequest") + @Override + public void scrollToPosition(final int position) { + if (0 > position) { + throw new IllegalArgumentException("position can't be less then 0. position is : " + position); + } + mPendingScrollPosition = position; + requestLayout(); + } + + @SuppressWarnings("RefusedBequest") + @Override + public void smoothScrollToPosition(@NonNull final RecyclerView recyclerView, @NonNull final RecyclerView.State state, final int position) { + final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) { + @Override + public int calculateDyToMakeVisible(final View view, final int snapPreference) { + if (!canScrollVertically()) { + return 0; + } + + return getOffsetForCurrentView(view); + } + + @Override + public int calculateDxToMakeVisible(final View view, final int snapPreference) { + if (!canScrollHorizontally()) { + return 0; + } + return getOffsetForCurrentView(view); + } + }; + linearSmoothScroller.setTargetPosition(position); + startSmoothScroll(linearSmoothScroller); + } + + @Override + @Nullable + public PointF computeScrollVectorForPosition(final int targetPosition) { + if (0 == getChildCount()) { + return null; + } + final float directionDistance = getScrollDirection(targetPosition); + //noinspection NumericCastThatLosesPrecision + final int direction = (int) -Math.signum(directionDistance); + + if (HORIZONTAL == mOrientation) { + return new PointF(direction, 0); + } else { + return new PointF(0, direction); + } + } + + private float getScrollDirection(final int targetPosition) { + final float currentScrollPosition = makeScrollPositionInRange0ToCount(getCurrentScrollPosition(), mItemsCount); + + if (mCircleLayout) { + final float t1 = currentScrollPosition - targetPosition; + final float t2 = Math.abs(t1) - mItemsCount; + if (Math.abs(t1) > Math.abs(t2)) { + return Math.signum(t1) * t2; + } else { + return t1; + } + } else { + return currentScrollPosition - targetPosition; + } + } + + @Override + public int scrollVerticallyBy(final int dy, @NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) { + if (HORIZONTAL == mOrientation) { + return 0; + } + return scrollBy(dy, recycler, state); + } + + @Override + public int scrollHorizontallyBy(final int dx, final RecyclerView.Recycler recycler, final RecyclerView.State state) { + if (VERTICAL == mOrientation) { + return 0; + } + return scrollBy(dx, recycler, state); + } + + /** + * This method is called from {@link #scrollHorizontallyBy(int, RecyclerView.Recycler, RecyclerView.State)} and + * {@link #scrollVerticallyBy(int, RecyclerView.Recycler, RecyclerView.State)} to calculate needed scroll that is allowed.
+ *
+ * This method may do relayout work. + * + * @param diff 要滚动的距离 + * @param recycler 回收期 + * @param state Transient state of RecyclerView + * @return distance that we actually scrolled by + */ + @CallSuper + protected int scrollBy(final int diff, @NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) { + if (null == mDecoratedChildWidth || null == mDecoratedChildHeight) { + return 0; + } + if (0 == getChildCount() || 0 == diff) { + return 0; + } + final int resultScroll; + if (mCircleLayout) { + resultScroll = diff; + + mLayoutHelper.mScrollOffset += resultScroll; + + final int maxOffset = getScrollItemSize() * mItemsCount; + while (0 > mLayoutHelper.mScrollOffset) { + mLayoutHelper.mScrollOffset += maxOffset; + } + while (mLayoutHelper.mScrollOffset > maxOffset) { + mLayoutHelper.mScrollOffset -= maxOffset; + } + + mLayoutHelper.mScrollOffset -= resultScroll; + } else { + final int maxOffset = getMaxScrollOffset(); + + if (0 > mLayoutHelper.mScrollOffset + diff) { + resultScroll = -mLayoutHelper.mScrollOffset; //to make it 0 + } else if (mLayoutHelper.mScrollOffset + diff > maxOffset) { + resultScroll = maxOffset - mLayoutHelper.mScrollOffset; //to make it maxOffset + } else { + resultScroll = diff; + } + } + if (0 != resultScroll) { + mLayoutHelper.mScrollOffset += resultScroll; + fillData(recycler, state); + } + return resultScroll; + } + + @Override + public void onMeasure(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state, final int widthSpec, final int heightSpec) { + mDecoratedChildSizeInvalid = true; + + super.onMeasure(recycler, state, widthSpec, heightSpec); + } + + @SuppressWarnings("rawtypes") + @Override + public void onAdapterChanged(final RecyclerView.Adapter oldAdapter, final RecyclerView.Adapter newAdapter) { + super.onAdapterChanged(oldAdapter, newAdapter); + + removeAllViews(); + } + + + @SuppressWarnings("RefusedBequest") + @Override + @CallSuper + public void onLayoutChildren(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) { + if (0 == state.getItemCount()) { + removeAndRecycleAllViews(recycler); + selectItemCenterPosition(INVALID_POSITION); + return; + } + + detachAndScrapAttachedViews(recycler); + + if (null == mDecoratedChildWidth || mDecoratedChildSizeInvalid) { + final List scrapList = recycler.getScrapList(); + + final boolean shouldRecycle; + final View view; + if (scrapList.isEmpty()) { + shouldRecycle = true; + final int itemsCount = state.getItemCount(); + view = recycler.getViewForPosition( + mPendingScrollPosition == INVALID_POSITION ? + 0 : + Math.max(0, Math.min(itemsCount - 1, mPendingScrollPosition)) + ); + addView(view); + } else { + shouldRecycle = false; + view = scrapList.get(0).itemView; + } + measureChildWithMargins(view, 0, 0); + + final int decoratedChildWidth = getDecoratedMeasuredWidth(view); + final int decoratedChildHeight = getDecoratedMeasuredHeight(view); + if (shouldRecycle) { + detachAndScrapView(view, recycler); + } + + if (null != mDecoratedChildWidth && (mDecoratedChildWidth != decoratedChildWidth || mDecoratedChildHeight != decoratedChildHeight)) { + if (INVALID_POSITION == mPendingScrollPosition && null == mPendingCarouselSavedState) { + mPendingScrollPosition = mCenterItemPosition; + } + } + + mDecoratedChildWidth = decoratedChildWidth; + mDecoratedChildHeight = decoratedChildHeight; + mDecoratedChildSizeInvalid = false; + } + + if (INVALID_POSITION != mPendingScrollPosition) { + final int itemsCount = state.getItemCount(); + mPendingScrollPosition = 0 == itemsCount ? INVALID_POSITION : Math.max(0, Math.min(itemsCount - 1, mPendingScrollPosition)); + } + if (INVALID_POSITION != mPendingScrollPosition) { + mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mPendingScrollPosition, state); + mPendingScrollPosition = INVALID_POSITION; + mPendingCarouselSavedState = null; + } else if (null != mPendingCarouselSavedState) { + mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mPendingCarouselSavedState.mCenterItemPosition, state); + mPendingCarouselSavedState = null; + } else if (state.didStructureChange() && INVALID_POSITION != mCenterItemPosition) { + mLayoutHelper.mScrollOffset = calculateScrollForSelectingPosition(mCenterItemPosition, state); + } + + fillData(recycler, state); + } + + private int calculateScrollForSelectingPosition(final int itemPosition, final RecyclerView.State state) { + if (itemPosition == INVALID_POSITION) { + return 0; + } + + final int fixedItemPosition = itemPosition < state.getItemCount() ? itemPosition : state.getItemCount() - 1; + return fixedItemPosition * (VERTICAL == mOrientation ? mDecoratedChildHeight : mDecoratedChildWidth); + } + + private void fillData(@NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) { + final float currentScrollPosition = getCurrentScrollPosition(); + + generateLayoutOrder(currentScrollPosition, state); + detachAndScrapAttachedViews(recycler); + recyclerOldViews(recycler); + + final int width = getWidthNoPadding(); + final int height = getHeightNoPadding(); + if (VERTICAL == mOrientation) { + fillDataVertical(recycler, width, height); + } else { + fillDataHorizontal(recycler, width, height); + } + + recycler.clear(); + + detectOnItemSelectionChanged(currentScrollPosition, state); + } + + private void detectOnItemSelectionChanged(final float currentScrollPosition, final RecyclerView.State state) { + final float absCurrentScrollPosition = makeScrollPositionInRange0ToCount(currentScrollPosition, state.getItemCount()); + final int centerItem = Math.round(absCurrentScrollPosition); + + if (mCenterItemPosition != centerItem) { + mCenterItemPosition = centerItem; + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + selectItemCenterPosition(centerItem); + } + }); + } + } + + private void selectItemCenterPosition(final int centerItem) { + for (final OnCenterItemSelectionListener onCenterItemSelectionListener : mOnCenterItemSelectionListeners) { + onCenterItemSelectionListener.onCenterItemChanged(centerItem); + } + } + + private void fillDataVertical(final RecyclerView.Recycler recycler, final int width, final int height) { + final int start = (width - mDecoratedChildWidth) / 2; + final int end = start + mDecoratedChildWidth; + + final int centerViewTop = (height - mDecoratedChildHeight) / 2; + + for (int i = 0, count = mLayoutHelper.mLayoutOrder.length; i < count; ++i) { + final LayoutOrder layoutOrder = mLayoutHelper.mLayoutOrder[i]; + final int offset = getCardOffsetByPositionDiff(layoutOrder.mItemPositionDiff); + final int top = centerViewTop + offset; + final int bottom = top + mDecoratedChildHeight; + fillChildItem(start, top, end, bottom, layoutOrder, recycler, i); + } + } + + private void fillDataHorizontal(final RecyclerView.Recycler recycler, final int width, final int height) { + final int top = (height - mDecoratedChildHeight) / 2; + final int bottom = top + mDecoratedChildHeight; + + final int centerViewStart = (width - mDecoratedChildWidth) / 2; + + for (int i = 0, count = mLayoutHelper.mLayoutOrder.length; i < count; ++i) { + final LayoutOrder layoutOrder = mLayoutHelper.mLayoutOrder[i]; + final int offset = getCardOffsetByPositionDiff(layoutOrder.mItemPositionDiff); + final int start = centerViewStart + offset; + final int end = start + mDecoratedChildWidth; + fillChildItem(start, top, end, bottom, layoutOrder, recycler, i); + } + } + + + @SuppressWarnings("MethodWithTooManyParameters") + private void fillChildItem(final int start, final int top, final int end, final int bottom, @NonNull final LayoutOrder layoutOrder, @NonNull final RecyclerView.Recycler recycler, final int i) { + final View view = bindChild(layoutOrder.mItemAdapterPosition, recycler); + ViewCompat.setElevation(view, i); + ItemTransformation transformation = null; + if (null != mViewPostLayout) { + transformation = mViewPostLayout.transformChild(view, layoutOrder.mItemPositionDiff, mOrientation, layoutOrder.mItemAdapterPosition); + } + if (null == transformation) { + view.layout(start, top, end, bottom); + } else { + view.layout(Math.round(start + transformation.mTranslationX), Math.round(top + transformation.mTranslationY), + Math.round(end + transformation.mTranslationX), Math.round(bottom + transformation.mTranslationY)); + view.setScaleX(transformation.mScaleX); + view.setScaleY(transformation.mScaleY); + } + } + + /** + * 中心项目的当前滚动位置。如果是循环布局,则该值可以在任何范围内。如果不是,那么它在[0,-1] + */ + private float getCurrentScrollPosition() { + final int fullScrollSize = getMaxScrollOffset(); + if (0 == fullScrollSize) { + return 0; + } + return 1.0f * mLayoutHelper.mScrollOffset / getScrollItemSize(); + } + + /** + * 填充布局中所有项目的最大滚动值。通常,这仅适用于非循环布局。 + */ + private int getMaxScrollOffset() { + return getScrollItemSize() * (mItemsCount - 1); + } + + /** + * Because we can support old Android versions, we should layout our children in specific order to make our center view in the top of layout + * (this item should layout last). So this method will calculate layout order and fill up {@link #mLayoutHelper} object. + * This object will be filled by only needed to layout items. Non visible items will not be there. + * + * @param currentScrollPosition current scroll position this is a value that indicates position of center item + * (if this value is int, then center item is really in the center of the layout, else it is near state). + * Be aware that this value can be in any range is it is cycle layout + * @param state Transient state of RecyclerView + * @see #getCurrentScrollPosition() + */ + private void generateLayoutOrder(final float currentScrollPosition, @NonNull final RecyclerView.State state) { + mItemsCount = state.getItemCount(); + final float absCurrentScrollPosition = makeScrollPositionInRange0ToCount(currentScrollPosition, mItemsCount); + final int centerItem = Math.round(absCurrentScrollPosition); + + if (mCircleLayout && 1 < mItemsCount) { + final int layoutCount = Math.min(mLayoutHelper.mMaxVisibleItems * 2 + 1, mItemsCount); + + mLayoutHelper.initLayoutOrder(layoutCount); + + final int countLayoutHalf = layoutCount / 2; + // before center item + for (int i = 1; i <= countLayoutHalf; ++i) { + final int position = Math.round(absCurrentScrollPosition - i + mItemsCount) % mItemsCount; + mLayoutHelper.setLayoutOrder(countLayoutHalf - i, position, centerItem - absCurrentScrollPosition - i); + } + // after center item + for (int i = layoutCount - 1; i >= countLayoutHalf + 1; --i) { + final int position = Math.round(absCurrentScrollPosition - i + layoutCount) % mItemsCount; + mLayoutHelper.setLayoutOrder(i - 1, position, centerItem - absCurrentScrollPosition + layoutCount - i); + } + mLayoutHelper.setLayoutOrder(layoutCount - 1, centerItem, centerItem - absCurrentScrollPosition); + + } else { + final int firstVisible = Math.max(centerItem - mLayoutHelper.mMaxVisibleItems, 0); + final int lastVisible = Math.min(centerItem + mLayoutHelper.mMaxVisibleItems, mItemsCount - 1); + final int layoutCount = lastVisible - firstVisible + 1; + + mLayoutHelper.initLayoutOrder(layoutCount); + + for (int i = firstVisible; i <= lastVisible; ++i) { + if (i == centerItem) { + mLayoutHelper.setLayoutOrder(layoutCount - 1, i, i - absCurrentScrollPosition); + } else if (i < centerItem) { + mLayoutHelper.setLayoutOrder(i - firstVisible, i, i - absCurrentScrollPosition); + } else { + mLayoutHelper.setLayoutOrder(layoutCount - (i - centerItem) - 1, i, i - absCurrentScrollPosition); + } + } + } + } + + public int getWidthNoPadding() { + return getWidth() - getPaddingStart() - getPaddingEnd(); + } + + public int getHeightNoPadding() { + return getHeight() - getPaddingEnd() - getPaddingStart(); + } + + private View bindChild(final int position, @NonNull final RecyclerView.Recycler recycler) { + final View view = recycler.getViewForPosition(position); + + addView(view); + measureChildWithMargins(view, 0, 0); + + return view; + } + + private void recyclerOldViews(final RecyclerView.Recycler recycler) { + for (RecyclerView.ViewHolder viewHolder : new ArrayList<>(recycler.getScrapList())) { + int adapterPosition = viewHolder.getAdapterPosition(); + boolean found = false; + for (LayoutOrder layoutOrder : mLayoutHelper.mLayoutOrder) { + if (layoutOrder.mItemAdapterPosition == adapterPosition) { + found = true; + break; + } + } + if (!found) { + recycler.recycleView(viewHolder.itemView); + } + } + } + + /** + * Called during {@link #fillData(RecyclerView.Recycler, RecyclerView.State)} to calculate item offset from layout center line.
+ *
+ * Returns {@link #convertItemPositionDiffToSmoothPositionDiff(float)} * (size off area above center item when it is on the center).
+ * Sign is: plus if this item is bellow center line, minus if not
+ *
+ * ----- - area above it
+ * ||||| - center item
+ * ----- - area bellow it (it has the same size as are above center item)
+ * + * @param itemPositionDiff current item difference with layout center line. if this is 0, then this item center is in layout center line. + * if this is 1 then this item is bellow the layout center line in the full item size distance. + * @return offset in scroll px coordinates. + */ + protected int getCardOffsetByPositionDiff(final float itemPositionDiff) { + final double smoothPosition = convertItemPositionDiffToSmoothPositionDiff(itemPositionDiff); + + final int dimenDiff; + if (VERTICAL == mOrientation) { + dimenDiff = (getHeightNoPadding() - mDecoratedChildHeight) / 2; + } else { + dimenDiff = (getWidthNoPadding() - mDecoratedChildWidth) / 2; + } + //noinspection NumericCastThatLosesPrecision + return (int) Math.round(Math.signum(itemPositionDiff) * dimenDiff * smoothPosition); + } + + /** + * Called during {@link #getCardOffsetByPositionDiff(float)} for better item movement.
+ * Current implementation speed up items that are far from layout center line and slow down items that are close to this line. + * This code is full of maths. If you want to make items move in a different way, probably you should override this method.
+ * Please see code comments for better explanations. + * + * @param itemPositionDiff current item difference with layout center line. if this is 0, then this item center is in layout center line. + * if this is 1 then this item is bellow the layout center line in the full item size distance. + * @return smooth position offset. needed for scroll calculation and better user experience. + * @see #getCardOffsetByPositionDiff(float) + */ + @SuppressWarnings({"MagicNumber", "InstanceMethodNamingConvention"}) + protected double convertItemPositionDiffToSmoothPositionDiff(final float itemPositionDiff) { + // generally item moves the same way above center and bellow it. So we don't care about diff sign. + final float absIemPositionDiff = Math.abs(itemPositionDiff); + + // we detect if this item is close for center or not. We use (1 / maxVisibleItem) ^ (1/3) as close definer. + if (absIemPositionDiff > StrictMath.pow(1.0f / mLayoutHelper.mMaxVisibleItems, 1.0f / 3)) { + // this item is far from center line, so we should make it move like square root function + return StrictMath.pow(absIemPositionDiff / mLayoutHelper.mMaxVisibleItems, 1 / 2.0f); + } else { + // this item is close from center line. we should slow it down and don't make it speed up very quick. + // so square function in range of [0, (1/maxVisible)^(1/3)] is quite good in it; + return StrictMath.pow(absIemPositionDiff, 2.0f); + } + } + + /** + * @return full item size + */ + protected int getScrollItemSize() { + if (VERTICAL == mOrientation) { + return mDecoratedChildHeight; + } else { + return mDecoratedChildWidth; + } + } + + @Override + public Parcelable onSaveInstanceState() { + if (null != mPendingCarouselSavedState) { + return new CarouselSavedState(mPendingCarouselSavedState); + } + final CarouselSavedState savedState = new CarouselSavedState(super.onSaveInstanceState()); + savedState.mCenterItemPosition = mCenterItemPosition; + return savedState; + } + + @Override + public void onRestoreInstanceState(final Parcelable state) { + if (state instanceof CarouselSavedState) { + mPendingCarouselSavedState = (CarouselSavedState) state; + + super.onRestoreInstanceState(mPendingCarouselSavedState.mSuperState); + } else { + super.onRestoreInstanceState(state); + } + } + + /** + * @return 从中心到最近项目的滚动偏移量 + */ + protected int getOffsetCenterView() { + return Math.round(getCurrentScrollPosition()) * getScrollItemSize() - mLayoutHelper.mScrollOffset; + } + + protected int getOffsetForCurrentView(@NonNull final View view) { + final int targetPosition = getPosition(view); + final float directionDistance = getScrollDirection(targetPosition); + + return Math.round(directionDistance * getScrollItemSize()); + } + + /** + * 使滚动范围在[0,count]内的Helper方法。通常,只有循环布局才需要此方法。 + * + * @param currentScrollPosition 滚动位置范围 个位数 view的index 小数滚动的范围 + * @param count adapter 中的数量 + * @return 在[0,总数]范围内滚动位置良好 + */ + private static float makeScrollPositionInRange0ToCount(final float currentScrollPosition, final int count) { + float absCurrentScrollPosition = currentScrollPosition; + while (0 > absCurrentScrollPosition) { + absCurrentScrollPosition += count; + } + while (Math.round(absCurrentScrollPosition) >= count) { + absCurrentScrollPosition -= count; + } + return absCurrentScrollPosition; + } + + /** + * This interface methods will be called for each visible view item after general LayoutManager layout finishes.
+ *
+ * Generally this method should be used for scaling and translating view item for better (different) view presentation of layouting. + */ + @SuppressWarnings("InterfaceNeverImplemented") + public abstract static class PostLayoutListener { + + /** + * 子布局完成后调用。通常,您可以在这里进行任何平移和缩放工作。 + * + * @param child view that was layout + * @param itemPositionToCenterDiff view center line difference to layout center. if > 0 then this item is bellow layout center line, else if not + * @param orientation layoutManager orientation {@link #getLayoutDirection()} + * @param itemPositionInAdapter item position inside adapter for this layout pass + */ + public ItemTransformation transformChild( + @NonNull final View child, + final float itemPositionToCenterDiff, + final int orientation, + final int itemPositionInAdapter + ) { + return transformChild(child, itemPositionToCenterDiff, orientation); + } + + /** + * Called after child layout finished. Generally you can do any translation and scaling work here. + * + * @param child view that was layout + * @param itemPositionToCenterDiff view center line difference to layout center. if > 0 then this item is bellow layout center line, else if not + * @param orientation layoutManager orientation {@link #getLayoutDirection()} + */ + public ItemTransformation transformChild( + @NonNull final View child, + final float itemPositionToCenterDiff, + final int orientation + ) { + throw new IllegalStateException("at least one transformChild should be implemented"); + } + } + + public interface OnCenterItemSelectionListener { + + /** + * Listener that will be called on every change of center item. + * This listener will be triggered on every layout operation if item was changed. + * Do not do any expensive operations in this method since this will effect scroll experience. + * + * @param adapterPosition current layout center item + */ + void onCenterItemChanged(final int adapterPosition); + } + + /** + * Helper class that holds currently visible items. + * Generally this class fills this list.
+ *
+ * This class holds all scroll and maxVisible items state. + * + * @see #getMaxVisibleItems() + */ + private static class LayoutHelper { + + private int mMaxVisibleItems; + + private int mScrollOffset; + + private LayoutOrder[] mLayoutOrder; + + private final List> mReusedItems = new ArrayList<>(); + + LayoutHelper(final int maxVisibleItems) { + mMaxVisibleItems = maxVisibleItems; + } + + /** + * Called before any fill calls. Needed to recycle old items and init new array list. Generally this list is an array an it is reused. + * + * @param layoutCount items count that will be layout + */ + void initLayoutOrder(final int layoutCount) { + if (null == mLayoutOrder || mLayoutOrder.length != layoutCount) { + if (null != mLayoutOrder) { + recycleItems(mLayoutOrder); + } + mLayoutOrder = new LayoutOrder[layoutCount]; + fillLayoutOrder(); + } + } + + /** + * Called during layout generation process of filling this list. Should be called only after {@link #initLayoutOrder(int)} method call. + * + * @param arrayPosition position in layout order + * @param itemAdapterPosition adapter position of item for future data filling logic + * @param itemPositionDiff difference of current item scroll position and center item position. + * if this is a center item and it is in real center of layout, then this will be 0. + * if current layout is not in the center, then this value will never be int. + * if this item center is bellow layout center line then this value is greater then 0, + * else less then 0. + */ + void setLayoutOrder(final int arrayPosition, final int itemAdapterPosition, final float itemPositionDiff) { + final LayoutOrder item = mLayoutOrder[arrayPosition]; + item.mItemAdapterPosition = itemAdapterPosition; + item.mItemPositionDiff = itemPositionDiff; + } + + /** + * Checks is this screen Layout has this adapterPosition view in layout + * + * @param adapterPosition adapter position of item for future data filling logic + * @return true is adapterItem is in layout + */ + boolean hasAdapterPosition(final int adapterPosition) { + if (null != mLayoutOrder) { + for (final LayoutOrder layoutOrder : mLayoutOrder) { + if (layoutOrder.mItemAdapterPosition == adapterPosition) { + return true; + } + } + } + return false; + } + + @SuppressWarnings("VariableArgumentMethod") + private void recycleItems(@NonNull final LayoutOrder... layoutOrders) { + for (final LayoutOrder layoutOrder : layoutOrders) { + //noinspection ObjectAllocationInLoop + mReusedItems.add(new WeakReference<>(layoutOrder)); + } + } + + private void fillLayoutOrder() { + for (int i = 0, length = mLayoutOrder.length; i < length; ++i) { + if (null == mLayoutOrder[i]) { + mLayoutOrder[i] = createLayoutOrder(); + } + } + } + + private LayoutOrder createLayoutOrder() { + final Iterator> iterator = mReusedItems.iterator(); + while (iterator.hasNext()) { + final WeakReference layoutOrderWeakReference = iterator.next(); + final LayoutOrder layoutOrder = layoutOrderWeakReference.get(); + iterator.remove(); + if (null != layoutOrder) { + return layoutOrder; + } + } + return new LayoutOrder(); + } + } + + /** + * Class that holds item data. + * This class is filled during {@link #generateLayoutOrder(float, RecyclerView.State)} and used during {@link #fillData(RecyclerView.Recycler, RecyclerView.State)} + */ + private static class LayoutOrder { + + /** + * Item adapter position + */ + private int mItemAdapterPosition; + /** + * Item center difference to layout center. If center of item is bellow layout center, then this value is greater then 0, else it is less. + */ + private float mItemPositionDiff; + } + + protected static class CarouselSavedState implements Parcelable { + + private final Parcelable mSuperState; + private int mCenterItemPosition; + + protected CarouselSavedState(@Nullable final Parcelable superState) { + mSuperState = superState; + } + + private CarouselSavedState(@NonNull final Parcel in) { + mSuperState = in.readParcelable(Parcelable.class.getClassLoader()); + mCenterItemPosition = in.readInt(); + } + + protected CarouselSavedState(@NonNull final CarouselSavedState other) { + mSuperState = other.mSuperState; + mCenterItemPosition = other.mCenterItemPosition; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(final Parcel parcel, final int i) { + parcel.writeParcelable(mSuperState, i); + parcel.writeInt(mCenterItemPosition); + } + + public static final Creator CREATOR + = new Creator() { + @Override + public CarouselSavedState createFromParcel(final Parcel parcel) { + return new CarouselSavedState(parcel); + } + + @Override + public CarouselSavedState[] newArray(final int i) { + return new CarouselSavedState[i]; + } + }; + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java new file mode 100644 index 0000000000..c91711e1c9 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CarouselZoomPostLayoutListener.java @@ -0,0 +1,52 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +import android.view.View; + +import androidx.annotation.NonNull; + +/** + * Implementation of {@link CarouselLayoutManager.PostLayoutListener} that makes interesting scaling of items.
+ * We are trying to make items scaling quicker for closer items for center and slower for when they are far away.
+ * Tis implementation uses atan function for this purpose. + */ +public class CarouselZoomPostLayoutListener extends CarouselLayoutManager.PostLayoutListener { + + private final float mScaleMultiplier; + + public CarouselZoomPostLayoutListener() { + this(0.21f); + } + + public CarouselZoomPostLayoutListener(final float scaleMultiplier) { + mScaleMultiplier = scaleMultiplier; + } + + @Override + public ItemTransformation transformChild(@NonNull final View child, final float itemPositionToCenterDiff, final int orientation) { + float scale = 1.0f - mScaleMultiplier * Math.abs(itemPositionToCenterDiff); +// float scale; +// if(itemPositionToCenterDiff==1||itemPositionToCenterDiff==-1){ +// scale = 0.79f; +// }else { +// scale = 1.0f - mScaleMultiplier * Math.abs(itemPositionToCenterDiff); +// if(scale<0.79){ +// scale = 0.79f; +// } +// } + // because scaling will make view smaller in its center, then we should move this item to the top or bottom to make it visible + final float translateY; + final float translateX; + if (CarouselLayoutManager.VERTICAL == orientation) { + final float translateYGeneral = child.getMeasuredHeight() * (1 - scale) / 2f; + translateY = Math.signum(itemPositionToCenterDiff) * translateYGeneral; + translateX = 0; + } else { + final float translateXGeneral = child.getMeasuredWidth() * (1 - scale) / 2f; + translateX = Math.signum(itemPositionToCenterDiff) * translateXGeneral; + translateY = 0; + } + System.err.println("CarouselZoomPostLayoutListener---itemPositionToCenterDiff:"+itemPositionToCenterDiff); + + return new ItemTransformation(scale, scale, translateX, translateY); + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java new file mode 100644 index 0000000000..4b04e7b957 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/CenterScrollListener.java @@ -0,0 +1,52 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +/** + * Class for centering items after scroll event.
+ * This class will listen to current scroll state and if item is not centered after scroll it will automatically scroll it to center. + */ +public class CenterScrollListener extends RecyclerView.OnScrollListener { + + private boolean mAutoSet = true; + + @Override + public void onScrollStateChanged(@NonNull final RecyclerView recyclerView, final int newState) { + super.onScrollStateChanged(recyclerView, newState); + final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); + if (!(layoutManager instanceof CarouselLayoutManager)) { + mAutoSet = true; + return; + } + + final CarouselLayoutManager lm = (CarouselLayoutManager) layoutManager; + if (!mAutoSet) { + if (RecyclerView.SCROLL_STATE_IDLE == newState) { + final int scrollNeeded = lm.getOffsetCenterView(); + // 滚动到中心位置 + if (CarouselLayoutManager.HORIZONTAL == lm.getOrientation()) { + recyclerView.smoothScrollBy(scrollNeeded, 0); + } else { + recyclerView.smoothScrollBy(0, scrollNeeded); + } + pageSelect(recyclerView,newState); + mAutoSet = true; + } + } + if (RecyclerView.SCROLL_STATE_DRAGGING == newState || RecyclerView.SCROLL_STATE_SETTLING == newState) { + mAutoSet = false; + } + if(RecyclerView.SCROLL_STATE_DRAGGING == newState){ + pageStop(); + } + } + + protected void pageStop() { + + } + + protected void pageSelect(RecyclerView recyclerView, final int newState) { + + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/DefaultChildSelectionListener.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/DefaultChildSelectionListener.java new file mode 100644 index 0000000000..6e4d2d8e8c --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/DefaultChildSelectionListener.java @@ -0,0 +1,37 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class DefaultChildSelectionListener extends CarouselChildSelectionListener { + + @NonNull + private final OnCenterItemClickListener mOnCenterItemClickListener; + + protected DefaultChildSelectionListener(@NonNull final OnCenterItemClickListener onCenterItemClickListener, @NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager) { + super(recyclerView, carouselLayoutManager); + + mOnCenterItemClickListener = onCenterItemClickListener; + } + + @Override + protected void onCenterItemClicked(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager, @NonNull final View v) { + mOnCenterItemClickListener.onCenterItemClicked(recyclerView, carouselLayoutManager, v); + } + + @Override + protected void onBackItemClicked(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager, @NonNull final View v) { + recyclerView.smoothScrollToPosition(carouselLayoutManager.getPosition(v)); + } + + public static DefaultChildSelectionListener initCenterItemListener(@NonNull final OnCenterItemClickListener onCenterItemClickListener, @NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager) { + return new DefaultChildSelectionListener(onCenterItemClickListener, recyclerView, carouselLayoutManager); + } + + public interface OnCenterItemClickListener { + + void onCenterItemClicked(@NonNull final RecyclerView recyclerView, @NonNull final CarouselLayoutManager carouselLayoutManager, @NonNull final View v); + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java new file mode 100644 index 0000000000..14003ca28b --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/layoutmanage/ItemTransformation.java @@ -0,0 +1,16 @@ +package com.mogo.och.taxi.passenger.ui.video.layoutmanage; + +public class ItemTransformation { + + final float mScaleX; + final float mScaleY; + final float mTranslationX; + final float mTranslationY; + + public ItemTransformation(final float scaleX, final float scaleY, final float translationX, final float translationY) { + mScaleX = scaleX; + mScaleY = scaleY; + mTranslationX = translationX; + mTranslationY = translationY; + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCache.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCache.java new file mode 100644 index 0000000000..d20bd4e65e --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCache.java @@ -0,0 +1,974 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.mogo.och.taxi.passenger.utils.blur; + +import java.io.BufferedWriter; +import java.io.Closeable; +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * A cache that uses a bounded amount of space on a filesystem. Each cache + * entry has a string key and a fixed number of values. Each key must match + * the regex [a-z0-9_-]{1,64}. Values are byte sequences, + * accessible as streams or files. Each value must be between {@code 0} and + * {@code Integer.MAX_VALUE} bytes in length. + * + *

The cache stores its data in a directory on the filesystem. This + * directory must be exclusive to the cache; the cache may delete or overwrite + * files from its directory. It is an error for multiple processes to use the + * same cache directory at the same time. + * + *

This cache limits the number of bytes that it will store on the + * filesystem. When the number of stored bytes exceeds the limit, the cache will + * remove entries in the background until the limit is satisfied. The limit is + * not strict: the cache may temporarily exceed it while waiting for files to be + * deleted. The limit does not include filesystem overhead or the cache + * journal so space-sensitive applications should set a conservative limit. + * + *

Clients call {@link #edit} to create or update the values of an entry. An + * entry may have only one editor at one time; if a value is not available to be + * edited then {@link #edit} will return null. + *

    + *
  • When an entry is being created it is necessary to + * supply a full set of values; the empty value should be used as a + * placeholder if necessary. + *
  • When an entry is being edited, it is not necessary + * to supply data for every value; values default to their previous + * value. + *
+ * Every {@link #edit} call must be matched by a call to {@link Editor#commit} + * or {@link Editor#abort}. Committing is atomic: a read observes the full set + * of values as they were before or after the commit, but never a mix of values. + * + *

Clients call {@link #get} to read a snapshot of an entry. The read will + * observe the value at the time that {@link #get} was called. Updates and + * removals after the call do not impact ongoing reads. + * + *

This class is tolerant of some I/O errors. If files are missing from the + * filesystem, the corresponding entries will be dropped from the cache. If + * an error occurs while writing a cache value, the edit will fail silently. + * Callers should handle other problems by catching {@code IOException} and + * responding appropriately. + */ +final class DiskLruCache implements Closeable { + static final String JOURNAL_FILE = "journal"; + static final String JOURNAL_FILE_TEMP = "journal.tmp"; + static final String JOURNAL_FILE_BACKUP = "journal.bkp"; + static final String MAGIC = "libcore.io.DiskLruCache"; + static final String VERSION_1 = "1"; + static final long ANY_SEQUENCE_NUMBER = -1; + static final Pattern LEGAL_KEY_PATTERN = Pattern.compile("[a-z0-9_-]{1,64}"); + private static final String CLEAN = "CLEAN"; + private static final String DIRTY = "DIRTY"; + private static final String REMOVE = "REMOVE"; + private static final String READ = "READ"; + + /* + * This cache uses a journal file named "journal". A typical journal file + * looks like this: + * libcore.io.DiskLruCache + * 1 + * 100 + * 2 + * + * CLEAN 3400330d1dfc7f3f7f4b8d4d803dfcf6 832 21054 + * DIRTY 335c4c6028171cfddfbaae1a9c313c52 + * CLEAN 335c4c6028171cfddfbaae1a9c313c52 3934 2342 + * REMOVE 335c4c6028171cfddfbaae1a9c313c52 + * DIRTY 1ab96a171faeeee38496d8b330771a7a + * CLEAN 1ab96a171faeeee38496d8b330771a7a 1600 234 + * READ 335c4c6028171cfddfbaae1a9c313c52 + * READ 3400330d1dfc7f3f7f4b8d4d803dfcf6 + * + * The first five lines of the journal form its header. They are the + * constant string "libcore.io.DiskLruCache", the disk cache's version, + * the application's version, the value count, and a blank line. + * + * Each of the subsequent lines in the file is a record of the state of a + * cache entry. Each line contains space-separated values: a state, a key, + * and optional state-specific values. + * o DIRTY lines track that an entry is actively being created or updated. + * Every successful DIRTY action should be followed by a CLEAN or REMOVE + * action. DIRTY lines without a matching CLEAN or REMOVE indicate that + * temporary files may need to be deleted. + * o CLEAN lines track a cache entry that has been successfully published + * and may be read. A publish line is followed by the lengths of each of + * its values. + * o READ lines track accesses for LRU. + * o REMOVE lines track entries that have been deleted. + * + * The journal file is appended to as cache operations occur. The journal may + * occasionally be compacted by dropping redundant lines. A temporary file named + * "journal.tmp" will be used during compaction; that file should be deleted if + * it exists when the cache is opened. + */ + + private final File directory; + private final File journalFile; + private final File journalFileTmp; + private final File journalFileBackup; + private final int appVersion; + private long maxSize; + private int maxFileCount; + private final int valueCount; + private long size = 0; + private int fileCount = 0; + private Writer journalWriter; + private final LinkedHashMap lruEntries = + new LinkedHashMap(0, 0.75f, true); + private int redundantOpCount; + + /** + * To differentiate between old and current snapshots, each entry is given + * a sequence number each time an edit is committed. A snapshot is stale if + * its sequence number is not equal to its entry's sequence number. + */ + private long nextSequenceNumber = 0; + + /** This cache uses a single background thread to evict entries. */ + final ThreadPoolExecutor executorService = + new ThreadPoolExecutor(0, 1, 60L, TimeUnit.SECONDS, new LinkedBlockingQueue()); + private final Callable cleanupCallable = new Callable() { + public Void call() throws Exception { + synchronized (DiskLruCache.this) { + if (journalWriter == null) { + return null; // Closed. + } + trimToSize(); + trimToFileCount(); + if (journalRebuildRequired()) { + rebuildJournal(); + redundantOpCount = 0; + } + } + return null; + } + }; + + private DiskLruCache(File directory, int appVersion, int valueCount, long maxSize, int maxFileCount) { + this.directory = directory; + this.appVersion = appVersion; + this.journalFile = new File(directory, JOURNAL_FILE); + this.journalFileTmp = new File(directory, JOURNAL_FILE_TEMP); + this.journalFileBackup = new File(directory, JOURNAL_FILE_BACKUP); + this.valueCount = valueCount; + this.maxSize = maxSize; + this.maxFileCount = maxFileCount; + } + + /** + * Opens the cache in {@code directory}, creating a cache if none exists + * there. + * + * @param directory a writable directory + * @param valueCount the number of values per cache entry. Must be positive. + * @param maxSize the maximum number of bytes this cache should use to store + * @param maxFileCount the maximum file count this cache should store + * @throws IOException if reading or writing the cache directory fails + */ + public static DiskLruCache open(File directory, int appVersion, int valueCount, long maxSize, int maxFileCount) + throws IOException { + if (maxSize <= 0) { + throw new IllegalArgumentException("maxSize <= 0"); + } + if (maxFileCount <= 0) { + throw new IllegalArgumentException("maxFileCount <= 0"); + } + if (valueCount <= 0) { + throw new IllegalArgumentException("valueCount <= 0"); + } + + // If a bkp file exists, use it instead. + File backupFile = new File(directory, JOURNAL_FILE_BACKUP); + if (backupFile.exists()) { + File journalFile = new File(directory, JOURNAL_FILE); + // If journal file also exists just delete backup file. + if (journalFile.exists()) { + backupFile.delete(); + } else { + renameTo(backupFile, journalFile, false); + } + } + + // Prefer to pick up where we left off. + DiskLruCache cache = new DiskLruCache(directory, appVersion, valueCount, maxSize, maxFileCount); + if (cache.journalFile.exists()) { + try { + cache.readJournal(); + cache.processJournal(); + cache.journalWriter = new BufferedWriter( + new OutputStreamWriter(new FileOutputStream(cache.journalFile, true), Util.US_ASCII)); + return cache; + } catch (IOException journalIsCorrupt) { + System.out + .println("DiskLruCache " + + directory + + " is corrupt: " + + journalIsCorrupt.getMessage() + + ", removing"); + cache.delete(); + } + } + + // Create a new empty cache. + directory.mkdirs(); + cache = new DiskLruCache(directory, appVersion, valueCount, maxSize, maxFileCount); + cache.rebuildJournal(); + return cache; + } + + private void readJournal() throws IOException { + StrictLineReader reader = new StrictLineReader(new FileInputStream(journalFile), Util.US_ASCII); + try { + String magic = reader.readLine(); + String version = reader.readLine(); + String appVersionString = reader.readLine(); + String valueCountString = reader.readLine(); + String blank = reader.readLine(); + if (!MAGIC.equals(magic) + || !VERSION_1.equals(version) + || !Integer.toString(appVersion).equals(appVersionString) + || !Integer.toString(valueCount).equals(valueCountString) + || !"".equals(blank)) { + throw new IOException("unexpected journal header: [" + magic + ", " + version + ", " + + valueCountString + ", " + blank + "]"); + } + + int lineCount = 0; + while (true) { + try { + readJournalLine(reader.readLine()); + lineCount++; + } catch (EOFException endOfJournal) { + break; + } + } + redundantOpCount = lineCount - lruEntries.size(); + } finally { + Util.closeQuietly(reader); + } + } + + private void readJournalLine(String line) throws IOException { + int firstSpace = line.indexOf(' '); + if (firstSpace == -1) { + throw new IOException("unexpected journal line: " + line); + } + + int keyBegin = firstSpace + 1; + int secondSpace = line.indexOf(' ', keyBegin); + final String key; + if (secondSpace == -1) { + key = line.substring(keyBegin); + if (firstSpace == REMOVE.length() && line.startsWith(REMOVE)) { + lruEntries.remove(key); + return; + } + } else { + key = line.substring(keyBegin, secondSpace); + } + + Entry entry = lruEntries.get(key); + if (entry == null) { + entry = new Entry(key); + lruEntries.put(key, entry); + } + + if (secondSpace != -1 && firstSpace == CLEAN.length() && line.startsWith(CLEAN)) { + String[] parts = line.substring(secondSpace + 1).split(" "); + entry.readable = true; + entry.currentEditor = null; + entry.setLengths(parts); + } else if (secondSpace == -1 && firstSpace == DIRTY.length() && line.startsWith(DIRTY)) { + entry.currentEditor = new Editor(entry); + } else if (secondSpace == -1 && firstSpace == READ.length() && line.startsWith(READ)) { + // This work was already done by calling lruEntries.get(). + } else { + throw new IOException("unexpected journal line: " + line); + } + } + + /** + * Computes the initial size and collects garbage as a part of opening the + * cache. Dirty entries are assumed to be inconsistent and will be deleted. + */ + private void processJournal() throws IOException { + deleteIfExists(journalFileTmp); + for (Iterator i = lruEntries.values().iterator(); i.hasNext(); ) { + Entry entry = i.next(); + if (entry.currentEditor == null) { + for (int t = 0; t < valueCount; t++) { + size += entry.lengths[t]; + fileCount++; + } + } else { + entry.currentEditor = null; + for (int t = 0; t < valueCount; t++) { + deleteIfExists(entry.getCleanFile(t)); + deleteIfExists(entry.getDirtyFile(t)); + } + i.remove(); + } + } + } + + /** + * Creates a new journal that omits redundant information. This replaces the + * current journal if it exists. + */ + private synchronized void rebuildJournal() throws IOException { + if (journalWriter != null) { + journalWriter.close(); + } + + Writer writer = new BufferedWriter( + new OutputStreamWriter(new FileOutputStream(journalFileTmp), Util.US_ASCII)); + try { + writer.write(MAGIC); + writer.write("\n"); + writer.write(VERSION_1); + writer.write("\n"); + writer.write(Integer.toString(appVersion)); + writer.write("\n"); + writer.write(Integer.toString(valueCount)); + writer.write("\n"); + writer.write("\n"); + + for (Entry entry : lruEntries.values()) { + if (entry.currentEditor != null) { + writer.write(DIRTY + ' ' + entry.key + '\n'); + } else { + writer.write(CLEAN + ' ' + entry.key + entry.getLengths() + '\n'); + } + } + } finally { + writer.close(); + } + + if (journalFile.exists()) { + renameTo(journalFile, journalFileBackup, true); + } + renameTo(journalFileTmp, journalFile, false); + journalFileBackup.delete(); + + journalWriter = new BufferedWriter( + new OutputStreamWriter(new FileOutputStream(journalFile, true), Util.US_ASCII)); + } + + private static void deleteIfExists(File file) throws IOException { + if (file.exists() && !file.delete()) { + throw new IOException(); + } + } + + private static void renameTo(File from, File to, boolean deleteDestination) throws IOException { + if (deleteDestination) { + deleteIfExists(to); + } + if (!from.renameTo(to)) { + throw new IOException(); + } + } + + /** + * Returns a snapshot of the entry named {@code key}, or null if it doesn't + * exist is not currently readable. If a value is returned, it is moved to + * the head of the LRU queue. + */ + public synchronized Snapshot get(String key) throws IOException { + checkNotClosed(); + validateKey(key); + Entry entry = lruEntries.get(key); + if (entry == null) { + return null; + } + + if (!entry.readable) { + return null; + } + + // Open all streams eagerly to guarantee that we see a single published + // snapshot. If we opened streams lazily then the streams could come + // from different edits. + File[] files = new File[valueCount]; + InputStream[] ins = new InputStream[valueCount]; + try { + File file; + for (int i = 0; i < valueCount; i++) { + file = entry.getCleanFile(i); + files[i] = file; + ins[i] = new FileInputStream(file); + } + } catch (FileNotFoundException e) { + // A file must have been deleted manually! + for (int i = 0; i < valueCount; i++) { + if (ins[i] != null) { + Util.closeQuietly(ins[i]); + } else { + break; + } + } + return null; + } + + redundantOpCount++; + journalWriter.append(READ + ' ' + key + '\n'); + if (journalRebuildRequired()) { + executorService.submit(cleanupCallable); + } + + return new Snapshot(key, entry.sequenceNumber, files, ins, entry.lengths); + } + + /** + * Returns an editor for the entry named {@code key}, or null if another + * edit is in progress. + */ + public Editor edit(String key) throws IOException { + return edit(key, ANY_SEQUENCE_NUMBER); + } + + private synchronized Editor edit(String key, long expectedSequenceNumber) throws IOException { + checkNotClosed(); + validateKey(key); + Entry entry = lruEntries.get(key); + if (expectedSequenceNumber != ANY_SEQUENCE_NUMBER && (entry == null + || entry.sequenceNumber != expectedSequenceNumber)) { + return null; // Snapshot is stale. + } + if (entry == null) { + entry = new Entry(key); + lruEntries.put(key, entry); + } else if (entry.currentEditor != null) { + return null; // Another edit is in progress. + } + + Editor editor = new Editor(entry); + entry.currentEditor = editor; + + // Flush the journal before creating files to prevent file leaks. + journalWriter.write(DIRTY + ' ' + key + '\n'); + journalWriter.flush(); + return editor; + } + + /** Returns the directory where this cache stores its data. */ + public File getDirectory() { + return directory; + } + + /** + * Returns the maximum number of bytes that this cache should use to store + * its data. + */ + public synchronized long getMaxSize() { + return maxSize; + } + + /** Returns the maximum number of files that this cache should store */ + public synchronized int getMaxFileCount() { + return maxFileCount; + } + + /** + * Changes the maximum number of bytes the cache can store and queues a job + * to trim the existing store, if necessary. + */ + public synchronized void setMaxSize(long maxSize) { + this.maxSize = maxSize; + executorService.submit(cleanupCallable); + } + + /** + * Returns the number of bytes currently being used to store the values in + * this cache. This may be greater than the max size if a background + * deletion is pending. + */ + public synchronized long size() { + return size; + } + + /** + * Returns the number of files currently being used to store the values in + * this cache. This may be greater than the max file count if a background + * deletion is pending. + */ + public synchronized long fileCount() { + return fileCount; + } + + private synchronized void completeEdit(Editor editor, boolean success) throws IOException { + Entry entry = editor.entry; + if (entry.currentEditor != editor) { + throw new IllegalStateException(); + } + + // If this edit is creating the entry for the first time, every index must have a value. + if (success && !entry.readable) { + for (int i = 0; i < valueCount; i++) { + if (!editor.written[i]) { + editor.abort(); + throw new IllegalStateException("Newly created entry didn't create value for index " + i); + } + if (!entry.getDirtyFile(i).exists()) { + editor.abort(); + return; + } + } + } + + for (int i = 0; i < valueCount; i++) { + File dirty = entry.getDirtyFile(i); + if (success) { + if (dirty.exists()) { + File clean = entry.getCleanFile(i); + dirty.renameTo(clean); + long oldLength = entry.lengths[i]; + long newLength = clean.length(); + entry.lengths[i] = newLength; + size = size - oldLength + newLength; + fileCount++; + } + } else { + deleteIfExists(dirty); + } + } + + redundantOpCount++; + entry.currentEditor = null; + if (entry.readable | success) { + entry.readable = true; + journalWriter.write(CLEAN + ' ' + entry.key + entry.getLengths() + '\n'); + if (success) { + entry.sequenceNumber = nextSequenceNumber++; + } + } else { + lruEntries.remove(entry.key); + journalWriter.write(REMOVE + ' ' + entry.key + '\n'); + } + journalWriter.flush(); + + if (size > maxSize || fileCount > maxFileCount || journalRebuildRequired()) { + executorService.submit(cleanupCallable); + } + } + + /** + * We only rebuild the journal when it will halve the size of the journal + * and eliminate at least 2000 ops. + */ + private boolean journalRebuildRequired() { + final int redundantOpCompactThreshold = 2000; + return redundantOpCount >= redundantOpCompactThreshold // + && redundantOpCount >= lruEntries.size(); + } + + /** + * Drops the entry for {@code key} if it exists and can be removed. Entries + * actively being edited cannot be removed. + * + * @return true if an entry was removed. + */ + public synchronized boolean remove(String key) throws IOException { + checkNotClosed(); + validateKey(key); + Entry entry = lruEntries.get(key); + if (entry == null || entry.currentEditor != null) { + return false; + } + + for (int i = 0; i < valueCount; i++) { + File file = entry.getCleanFile(i); + if (file.exists() && !file.delete()) { + throw new IOException("failed to delete " + file); + } + size -= entry.lengths[i]; + fileCount--; + entry.lengths[i] = 0; + } + + redundantOpCount++; + journalWriter.append(REMOVE + ' ' + key + '\n'); + lruEntries.remove(key); + + if (journalRebuildRequired()) { + executorService.submit(cleanupCallable); + } + + return true; + } + + /** Returns true if this cache has been closed. */ + public synchronized boolean isClosed() { + return journalWriter == null; + } + + private void checkNotClosed() { + if (journalWriter == null) { + throw new IllegalStateException("cache is closed"); + } + } + + /** Force buffered operations to the filesystem. */ + public synchronized void flush() throws IOException { + checkNotClosed(); + trimToSize(); + trimToFileCount(); + journalWriter.flush(); + } + + /** Closes this cache. Stored values will remain on the filesystem. */ + public synchronized void close() throws IOException { + if (journalWriter == null) { + return; // Already closed. + } + for (Entry entry : new ArrayList(lruEntries.values())) { + if (entry.currentEditor != null) { + entry.currentEditor.abort(); + } + } + trimToSize(); + trimToFileCount(); + journalWriter.close(); + journalWriter = null; + } + + private void trimToSize() throws IOException { + while (size > maxSize) { + Map.Entry toEvict = lruEntries.entrySet().iterator().next(); + remove(toEvict.getKey()); + } + } + + private void trimToFileCount() throws IOException { + while (fileCount > maxFileCount) { + Map.Entry toEvict = lruEntries.entrySet().iterator().next(); + remove(toEvict.getKey()); + } + } + + /** + * Closes the cache and deletes all of its stored values. This will delete + * all files in the cache directory including files that weren't created by + * the cache. + */ + public void delete() throws IOException { + close(); + Util.deleteContents(directory); + } + + private void validateKey(String key) { + Matcher matcher = LEGAL_KEY_PATTERN.matcher(key); + if (!matcher.matches()) { + throw new IllegalArgumentException("keys must match regex [a-z0-9_-]{1,64}: \"" + key + "\""); + } + } + + private static String inputStreamToString(InputStream in) throws IOException { + return Util.readFully(new InputStreamReader(in, Util.UTF_8)); + } + + /** A snapshot of the values for an entry. */ + public final class Snapshot implements Closeable { + private final String key; + private final long sequenceNumber; + private File[] files; + private final InputStream[] ins; + private final long[] lengths; + + private Snapshot(String key, long sequenceNumber, File[] files, InputStream[] ins, long[] lengths) { + this.key = key; + this.sequenceNumber = sequenceNumber; + this.files = files; + this.ins = ins; + this.lengths = lengths; + } + + /** + * Returns an editor for this snapshot's entry, or null if either the + * entry has changed since this snapshot was created or if another edit + * is in progress. + */ + public Editor edit() throws IOException { + return DiskLruCache.this.edit(key, sequenceNumber); + } + + /** Returns file with the value for {@code index}. */ + public File getFile(int index) { + return files[index]; + } + + /** Returns the unbuffered stream with the value for {@code index}. */ + public InputStream getInputStream(int index) { + return ins[index]; + } + + /** Returns the string value for {@code index}. */ + public String getString(int index) throws IOException { + return inputStreamToString(getInputStream(index)); + } + + /** Returns the byte length of the value for {@code index}. */ + public long getLength(int index) { + return lengths[index]; + } + + public void close() { + for (InputStream in : ins) { + Util.closeQuietly(in); + } + } + } + + private static final OutputStream NULL_OUTPUT_STREAM = new OutputStream() { + @Override + public void write(int b) throws IOException { + // Eat all writes silently. Nom nom. + } + }; + + /** Edits the values for an entry. */ + public final class Editor { + private final Entry entry; + private final boolean[] written; + private boolean hasErrors; + private boolean committed; + + private Editor(Entry entry) { + this.entry = entry; + this.written = (entry.readable) ? null : new boolean[valueCount]; + } + + /** + * Returns an unbuffered input stream to read the last committed value, + * or null if no value has been committed. + */ + public InputStream newInputStream(int index) throws IOException { + synchronized (DiskLruCache.this) { + if (entry.currentEditor != this) { + throw new IllegalStateException(); + } + if (!entry.readable) { + return null; + } + try { + return new FileInputStream(entry.getCleanFile(index)); + } catch (FileNotFoundException e) { + return null; + } + } + } + + /** + * Returns the last committed value as a string, or null if no value + * has been committed. + */ + public String getString(int index) throws IOException { + InputStream in = newInputStream(index); + return in != null ? inputStreamToString(in) : null; + } + + /** + * Returns a new unbuffered output stream to write the value at + * {@code index}. If the underlying output stream encounters errors + * when writing to the filesystem, this edit will be aborted when + * {@link #commit} is called. The returned output stream does not throw + * IOExceptions. + */ + public OutputStream newOutputStream(int index) throws IOException { + synchronized (DiskLruCache.this) { + if (entry.currentEditor != this) { + throw new IllegalStateException(); + } + if (!entry.readable) { + written[index] = true; + } + File dirtyFile = entry.getDirtyFile(index); + FileOutputStream outputStream; + try { + outputStream = new FileOutputStream(dirtyFile); + } catch (FileNotFoundException e) { + // Attempt to recreate the cache directory. + directory.mkdirs(); + try { + outputStream = new FileOutputStream(dirtyFile); + } catch (FileNotFoundException e2) { + // We are unable to recover. Silently eat the writes. + return NULL_OUTPUT_STREAM; + } + } + return new FaultHidingOutputStream(outputStream); + } + } + + /** Sets the value at {@code index} to {@code value}. */ + public void set(int index, String value) throws IOException { + Writer writer = null; + try { + writer = new OutputStreamWriter(newOutputStream(index), Util.UTF_8); + writer.write(value); + } finally { + Util.closeQuietly(writer); + } + } + + /** + * Commits this edit so it is visible to readers. This releases the + * edit lock so another edit may be started on the same key. + */ + public void commit() throws IOException { + if (hasErrors) { + completeEdit(this, false); + remove(entry.key); // The previous entry is stale. + } else { + completeEdit(this, true); + } + committed = true; + } + + /** + * Aborts this edit. This releases the edit lock so another edit may be + * started on the same key. + */ + public void abort() throws IOException { + completeEdit(this, false); + } + + public void abortUnlessCommitted() { + if (!committed) { + try { + abort(); + } catch (IOException ignored) { + } + } + } + + private class FaultHidingOutputStream extends FilterOutputStream { + private FaultHidingOutputStream(OutputStream out) { + super(out); + } + + @Override public void write(int oneByte) { + try { + out.write(oneByte); + } catch (IOException e) { + hasErrors = true; + } + } + + @Override public void write(byte[] buffer, int offset, int length) { + try { + out.write(buffer, offset, length); + } catch (IOException e) { + hasErrors = true; + } + } + + @Override public void close() { + try { + out.close(); + } catch (IOException e) { + hasErrors = true; + } + } + + @Override public void flush() { + try { + out.flush(); + } catch (IOException e) { + hasErrors = true; + } + } + } + } + + private final class Entry { + private final String key; + + /** Lengths of this entry's files. */ + private final long[] lengths; + + /** True if this entry has ever been published. */ + private boolean readable; + + /** The ongoing edit or null if this entry is not being edited. */ + private Editor currentEditor; + + /** The sequence number of the most recently committed edit to this entry. */ + private long sequenceNumber; + + private Entry(String key) { + this.key = key; + this.lengths = new long[valueCount]; + } + + public String getLengths() throws IOException { + StringBuilder result = new StringBuilder(); + for (long size : lengths) { + result.append(' ').append(size); + } + return result.toString(); + } + + /** Set lengths using decimal numbers like "10123". */ + private void setLengths(String[] strings) throws IOException { + if (strings.length != valueCount) { + throw invalidLengths(strings); + } + + try { + for (int i = 0; i < strings.length; i++) { + lengths[i] = Long.parseLong(strings[i]); + } + } catch (NumberFormatException e) { + throw invalidLengths(strings); + } + } + + private IOException invalidLengths(String[] strings) throws IOException { + throw new IOException("unexpected journal line: " + java.util.Arrays.toString(strings)); + } + + public File getCleanFile(int i) { + return new File(directory, key + "" + i); + } + + public File getDirtyFile(int i) { + return new File(directory, key + "" + i + ".tmp"); + } + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCacheManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCacheManager.java new file mode 100644 index 0000000000..424c5dce56 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/DiskLruCacheManager.java @@ -0,0 +1,101 @@ +package com.mogo.och.taxi.passenger.utils.blur; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.text.TextUtils; + +import java.io.InputStream; +import java.io.OutputStream; +import java.math.BigInteger; +import java.security.MessageDigest; + +/******************************************************************************* + * Description: 用于缓存经过高斯模糊的图片 + * + * Author: Freeman + * + * Date: 2018/9/4 + * + * Copyright: all rights reserved by Freeman. + *******************************************************************************/ +public class DiskLruCacheManager { + + private DiskLruCache diskLruCache; + private static DiskLruCacheManager instance; + + private final int MAX_CACHE_SIZE = 64 * 1024 * 1024; + + private DiskLruCacheManager(Context context) { + try { + diskLruCache = DiskLruCache.open(context.getCacheDir(), 1, 1, + MAX_CACHE_SIZE, Integer.MAX_VALUE); + } catch (Exception e) { + e.printStackTrace(System.err); + } + } + + public static DiskLruCacheManager getInstance(Context context) { + if (instance == null) { + synchronized (DiskLruCacheManager.class) { + if (instance == null) { + instance = new DiskLruCacheManager(context.getApplicationContext()); + } + } + } + + return instance; + } + + public void put(String url, Bitmap bitmap) { + if (TextUtils.isEmpty(url) || bitmap == null || bitmap.isRecycled()) { + return; + } + + try { + DiskLruCache.Editor editor = diskLruCache.edit(getKey(url)); + OutputStream outputStream = editor.newOutputStream(0); + if (bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream)) { + editor.commit(); + } + diskLruCache.flush(); + } catch (Exception e) { + e.printStackTrace(System.err); + } + } + + public Bitmap get(String url) { + try { + DiskLruCache.Snapshot snapshot = diskLruCache.get(getKey(url)); + if (snapshot != null) { + InputStream inputStream = snapshot.getInputStream(0); + return BitmapFactory.decodeStream(inputStream); + } + } catch (Exception e) { + e.printStackTrace(System.err); + } + + return null; + } + + public static String getKey(String url) { + try { + MessageDigest digest = MessageDigest.getInstance("MD5"); + byte[] md5 = digest.digest(url.getBytes()); + BigInteger bigInteger = new BigInteger(1, md5); + return bigInteger.toString(16); + } catch (Exception e) { + e.printStackTrace(System.err); + } + + return null; + } + + public void close() { + try { + diskLruCache.close(); + } catch (Exception e) { + e.printStackTrace(System.err); + } + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/FastBlurUtil.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/FastBlurUtil.java new file mode 100644 index 0000000000..bab7819ba1 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/FastBlurUtil.java @@ -0,0 +1,241 @@ +package com.mogo.och.taxi.passenger.utils.blur; + +import android.graphics.Bitmap; + +/** + * Created by jay on 11/7/15. + */ +public class FastBlurUtil { + + public static Bitmap doBlur(Bitmap sentBitmap, int scaleRadius, int radius) { + + // Stack Blur v1.0 from + // http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html + // + // Java Author: Mario Klingemann + // http://incubator.quasimondo.com + // created Feburary 29, 2004 + // Android port : Yahel Bouaziz + // http://www.kayenko.com + // ported april 5th, 2012 + + // This is a compromise between Gaussian Blur and Box blur + // It creates much better looking blurs than Box Blur, but is + // 7x faster than my Gaussian Blur implementation. + // + // I called it Stack Blur because this describes best how this + // filter works internally: it creates a kind of moving stack + // of colors whilst scanning through the image. Thereby it + // just has to add one new block of color to the right side + // of the stack and remove the leftmost color. The remaining + // colors on the topmost layer of the stack are either added on + // or reduced by one, depending on if they are on the right or + // on the left side of the stack. + // + // If you are using this algorithm in your code please add + // the following line: + // + // Stack Blur Algorithm by Mario Klingemann + if (scaleRadius > 0) { + sentBitmap = Bitmap.createScaledBitmap(sentBitmap, sentBitmap.getWidth() / scaleRadius, + sentBitmap.getHeight() / scaleRadius, false); + } + Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); + + if (radius < 1) { + return (null); + } + int w = bitmap.getWidth(); + int h = bitmap.getHeight(); + + int[] pix = new int[w * h]; + bitmap.getPixels(pix, 0, w, 0, 0, w, h); + + int wm = w - 1; + int hm = h - 1; + int wh = w * h; + int div = radius + radius + 1; + + int r[] = new int[wh]; + int g[] = new int[wh]; + int b[] = new int[wh]; + int rsum, gsum, bsum, x, y, i, p, yp, yi, yw; + int vmin[] = new int[Math.max(w, h)]; + + int divsum = (div + 1) >> 1; + divsum *= divsum; + int dv[] = new int[256 * divsum]; + for (i = 0; i < 256 * divsum; i++) { + dv[i] = (i / divsum); + } + + yw = yi = 0; + + int[][] stack = new int[div][3]; + int stackpointer; + int stackstart; + int[] sir; + int rbs; + int r1 = radius + 1; + int routsum, goutsum, boutsum; + int rinsum, ginsum, binsum; + + for (y = 0; y < h; y++) { + rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; + for (i = -radius; i <= radius; i++) { + p = pix[yi + Math.min(wm, Math.max(i, 0))]; + sir = stack[i + radius]; + sir[0] = (p & 0xff0000) >> 16; + sir[1] = (p & 0x00ff00) >> 8; + sir[2] = (p & 0x0000ff); + rbs = r1 - Math.abs(i); + rsum += sir[0] * rbs; + gsum += sir[1] * rbs; + bsum += sir[2] * rbs; + if (i > 0) { + rinsum += sir[0]; + ginsum += sir[1]; + binsum += sir[2]; + } else { + routsum += sir[0]; + goutsum += sir[1]; + boutsum += sir[2]; + } + } + stackpointer = radius; + + for (x = 0; x < w; x++) { + + r[yi] = dv[rsum]; + g[yi] = dv[gsum]; + b[yi] = dv[bsum]; + + rsum -= routsum; + gsum -= goutsum; + bsum -= boutsum; + + stackstart = stackpointer - radius + div; + sir = stack[stackstart % div]; + + routsum -= sir[0]; + goutsum -= sir[1]; + boutsum -= sir[2]; + + if (y == 0) { + vmin[x] = Math.min(x + radius + 1, wm); + } + p = pix[yw + vmin[x]]; + + sir[0] = (p & 0xff0000) >> 16; + sir[1] = (p & 0x00ff00) >> 8; + sir[2] = (p & 0x0000ff); + + rinsum += sir[0]; + ginsum += sir[1]; + binsum += sir[2]; + + rsum += rinsum; + gsum += ginsum; + bsum += binsum; + + stackpointer = (stackpointer + 1) % div; + sir = stack[(stackpointer) % div]; + + routsum += sir[0]; + goutsum += sir[1]; + boutsum += sir[2]; + + rinsum -= sir[0]; + ginsum -= sir[1]; + binsum -= sir[2]; + + yi++; + } + yw += w; + } + for (x = 0; x < w; x++) { + rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; + yp = -radius * w; + for (i = -radius; i <= radius; i++) { + yi = Math.max(0, yp) + x; + + sir = stack[i + radius]; + + sir[0] = r[yi]; + sir[1] = g[yi]; + sir[2] = b[yi]; + + rbs = r1 - Math.abs(i); + + rsum += r[yi] * rbs; + gsum += g[yi] * rbs; + bsum += b[yi] * rbs; + + if (i > 0) { + rinsum += sir[0]; + ginsum += sir[1]; + binsum += sir[2]; + } else { + routsum += sir[0]; + goutsum += sir[1]; + boutsum += sir[2]; + } + + if (i < hm) { + yp += w; + } + } + yi = x; + stackpointer = radius; + for (y = 0; y < h; y++) { + // Preserve alpha channel: ( 0xff000000 & pix[yi] ) + pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum]; + + rsum -= routsum; + gsum -= goutsum; + bsum -= boutsum; + + stackstart = stackpointer - radius + div; + sir = stack[stackstart % div]; + + routsum -= sir[0]; + goutsum -= sir[1]; + boutsum -= sir[2]; + + if (x == 0) { + vmin[y] = Math.min(y + r1, hm) * w; + } + p = x + vmin[y]; + + sir[0] = r[p]; + sir[1] = g[p]; + sir[2] = b[p]; + + rinsum += sir[0]; + ginsum += sir[1]; + binsum += sir[2]; + + rsum += rinsum; + gsum += ginsum; + bsum += binsum; + + stackpointer = (stackpointer + 1) % div; + sir = stack[stackpointer]; + + routsum += sir[0]; + goutsum += sir[1]; + boutsum += sir[2]; + + rinsum -= sir[0]; + ginsum -= sir[1]; + binsum -= sir[2]; + + yi += w; + } + } + + bitmap.setPixels(pix, 0, w, 0, 0, w, h); + + return (bitmap); + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/GlideBlurTransform.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/GlideBlurTransform.java new file mode 100644 index 0000000000..eee5c0cfdc --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/GlideBlurTransform.java @@ -0,0 +1,37 @@ +package com.mogo.och.taxi.passenger.utils.blur; + +import android.content.Context; +import android.graphics.Bitmap; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; + +import java.security.MessageDigest; + +public class GlideBlurTransform extends BitmapTransformation { + + private String key; + private Context context; + private int blurRadius; + + public GlideBlurTransform(Context context, String key, int blurRadius ) { + this.context = context; + this.key = key; + this.blurRadius = blurRadius; + } + + @Override + protected Bitmap transform( @NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight ) { + Bitmap bitmap = FastBlurUtil.doBlur( toTransform, 1, blurRadius ); + // 缓存高斯模糊图片 + DiskLruCacheManager.getInstance( context ).put( key, bitmap ); + return bitmap; + } + + @Override + public void updateDiskCacheKey( MessageDigest messageDigest ) { + + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/StrictLineReader.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/StrictLineReader.java new file mode 100644 index 0000000000..94f756e38b --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/StrictLineReader.java @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.mogo.och.taxi.passenger.utils.blur; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; + +/** + * Buffers input from an {@link InputStream} for reading lines. + * + *

This class is used for buffered reading of lines. For purposes of this class, a line ends + * with "\n" or "\r\n". End of input is reported by throwing {@code EOFException}. Unterminated + * line at end of input is invalid and will be ignored, the caller may use {@code + * hasUnterminatedLine()} to detect it after catching the {@code EOFException}. + * + *

This class is intended for reading input that strictly consists of lines, such as line-based + * cache entries or cache journal. Unlike the {@link java.io.BufferedReader} which in conjunction + * with {@link java.io.InputStreamReader} provides similar functionality, this class uses different + * end-of-input reporting and a more restrictive definition of a line. + * + *

This class supports only charsets that encode '\r' and '\n' as a single byte with value 13 + * and 10, respectively, and the representation of no other character contains these values. + * We currently check in constructor that the charset is one of US-ASCII, UTF-8 and ISO-8859-1. + * The default charset is US_ASCII. + */ +class StrictLineReader implements Closeable { + private static final byte CR = (byte) '\r'; + private static final byte LF = (byte) '\n'; + + private final InputStream in; + private final Charset charset; + + /* + * Buffered data is stored in {@code buf}. As long as no exception occurs, 0 <= pos <= end + * and the data in the range [pos, end) is buffered for reading. At end of input, if there is + * an unterminated line, we set end == -1, otherwise end == pos. If the underlying + * {@code InputStream} throws an {@code IOException}, end may remain as either pos or -1. + */ + private byte[] buf; + private int pos; + private int end; + + /** + * Constructs a new {@code LineReader} with the specified charset and the default capacity. + * + * @param in the {@code InputStream} to read data from. + * @param charset the charset used to decode data. Only US-ASCII, UTF-8 and ISO-8859-1 are + * supported. + * @throws NullPointerException if {@code in} or {@code charset} is null. + * @throws IllegalArgumentException if the specified charset is not supported. + */ + public StrictLineReader(InputStream in, Charset charset) { + this(in, 8192, charset); + } + + /** + * Constructs a new {@code LineReader} with the specified capacity and charset. + * + * @param in the {@code InputStream} to read data from. + * @param capacity the capacity of the buffer. + * @param charset the charset used to decode data. Only US-ASCII, UTF-8 and ISO-8859-1 are + * supported. + * @throws NullPointerException if {@code in} or {@code charset} is null. + * @throws IllegalArgumentException if {@code capacity} is negative or zero + * or the specified charset is not supported. + */ + public StrictLineReader(InputStream in, int capacity, Charset charset) { + if (in == null || charset == null) { + throw new NullPointerException(); + } + if (capacity < 0) { + throw new IllegalArgumentException("capacity <= 0"); + } + if (!(charset.equals(Util.US_ASCII))) { + throw new IllegalArgumentException("Unsupported encoding"); + } + + this.in = in; + this.charset = charset; + buf = new byte[capacity]; + } + + /** + * Closes the reader by closing the underlying {@code InputStream} and + * marking this reader as closed. + * + * @throws IOException for errors when closing the underlying {@code InputStream}. + */ + public void close() throws IOException { + synchronized (in) { + if (buf != null) { + buf = null; + in.close(); + } + } + } + + /** + * Reads the next line. A line ends with {@code "\n"} or {@code "\r\n"}, + * this end of line marker is not included in the result. + * + * @return the next line from the input. + * @throws IOException for underlying {@code InputStream} errors. + * @throws EOFException for the end of source stream. + */ + public String readLine() throws IOException { + synchronized (in) { + if (buf == null) { + throw new IOException("LineReader is closed"); + } + + // Read more data if we are at the end of the buffered data. + // Though it's an error to read after an exception, we will let {@code fillBuf()} + // throw again if that happens; thus we need to handle end == -1 as well as end == pos. + if (pos >= end) { + fillBuf(); + } + // Try to find LF in the buffered data and return the line if successful. + for (int i = pos; i != end; ++i) { + if (buf[i] == LF) { + int lineEnd = (i != pos && buf[i - 1] == CR) ? i - 1 : i; + String res = new String(buf, pos, lineEnd - pos, charset.name()); + pos = i + 1; + return res; + } + } + + // Let's anticipate up to 80 characters on top of those already read. + ByteArrayOutputStream out = new ByteArrayOutputStream(end - pos + 80) { + @Override + public String toString() { + int length = (count > 0 && buf[count - 1] == CR) ? count - 1 : count; + try { + return new String(buf, 0, length, charset.name()); + } catch (UnsupportedEncodingException e) { + throw new AssertionError(e); // Since we control the charset this will never happen. + } + } + }; + + while (true) { + out.write(buf, pos, end - pos); + // Mark unterminated line in case fillBuf throws EOFException or IOException. + end = -1; + fillBuf(); + // Try to find LF in the buffered data and return the line if successful. + for (int i = pos; i != end; ++i) { + if (buf[i] == LF) { + if (i != pos) { + out.write(buf, pos, i - pos); + } + pos = i + 1; + return out.toString(); + } + } + } + } + } + + /** + * Reads new input data into the buffer. Call only with pos == end or end == -1, + * depending on the desired outcome if the function throws. + */ + private void fillBuf() throws IOException { + int result = in.read(buf, 0, buf.length); + if (result == -1) { + throw new EOFException(); + } + pos = 0; + end = result; + } +} + diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/Util.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/Util.java new file mode 100644 index 0000000000..7d9ad39ccb --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/blur/Util.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.mogo.och.taxi.passenger.utils.blur; + +import java.io.Closeable; +import java.io.File; +import java.io.IOException; +import java.io.Reader; +import java.io.StringWriter; +import java.nio.charset.Charset; + +/** Junk drawer of utility methods. */ +final class Util { + static final Charset US_ASCII = Charset.forName("US-ASCII"); + static final Charset UTF_8 = Charset.forName("UTF-8"); + + private Util() { + } + + static String readFully(Reader reader) throws IOException { + try { + StringWriter writer = new StringWriter(); + char[] buffer = new char[1024]; + int count; + while ((count = reader.read(buffer)) != -1) { + writer.write(buffer, 0, count); + } + return writer.toString(); + } finally { + reader.close(); + } + } + + /** + * Deletes the contents of {@code dir}. Throws an IOException if any file + * could not be deleted, or if {@code dir} is not a readable directory. + */ + static void deleteContents(File dir) throws IOException { + File[] files = dir.listFiles(); + if (files == null) { + throw new IOException("not a readable directory: " + dir); + } + for (File file : files) { + if (file.isDirectory()) { + deleteContents(file); + } + if (!file.delete()) { + throw new IOException("failed to delete file: " + file); + } + } + } + + static void closeQuietly(/*Auto*/Closeable closeable) { + if (closeable != null) { + try { + closeable.close(); + } catch (RuntimeException rethrown) { + throw rethrown; + } catch (Exception ignored) { + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/windowdispatch/ReflectionUtils.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/windowdispatch/ReflectionUtils.java old mode 100755 new mode 100644 diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt index da85038f80..28ae85501b 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt @@ -1,15 +1,18 @@ package com.mogo.och.taxi.passenger.widget import android.content.Context -import android.os.Build import android.util.AttributeSet import android.view.Surface import android.view.View import android.widget.ImageView import android.widget.TextView +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.TimeTransformUtils import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider import com.mogo.och.taxi.passenger.R +import com.mogo.och.taxi.passenger.model.TaxiPassengerModel import com.shuyu.gsyvideoplayer.GSYVideoManager import com.shuyu.gsyvideoplayer.utils.GSYVideoType import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer @@ -24,21 +27,11 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge */ class ConsultVideoPlayer : StandardGSYVideoPlayer { - companion object { - const val PLAY_EVT_PLAY_LOADING = 1000 - const val PLAY_EVT_PLAY_BEGIN = 2000 - const val PLAY_EVT_PLAY_ERROR = 3000 - } - - private var playListener: PlayListener? = null private lateinit var start: ImageView - private lateinit var coverImage: ImageView + lateinit var coverImage: ImageView private lateinit var currentTimeTextView: TextView private lateinit var totalTimeTextView: TextView - - interface PlayListener { - fun onPlayEvent(event: Int) - } + private lateinit var layoutBottom: ConstraintLayout constructor(context: Context?) : super(context) constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) @@ -50,7 +43,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { coverImage = findViewById(R.id.thumbImage) currentTimeTextView = findViewById(R.id.current) totalTimeTextView = findViewById(R.id.total) - + layoutBottom = findViewById(R.id.layout_bottom) if (mThumbImageViewLayout != null && (mCurrentState == -1 || mCurrentState == CURRENT_STATE_NORMAL || mCurrentState == CURRENT_STATE_ERROR) ) { @@ -86,9 +79,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { forceChange: Boolean ) { super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange) - mBottomContainer?.visibility = View.VISIBLE - mProgressBar?.visibility = View.VISIBLE - start.visibility = View.VISIBLE //时间显示 currentTimeTextView.text = TimeTransformUtils.stringForTime(currentTime) totalTimeTextView.text = TimeTransformUtils.stringForTime(totalTime) @@ -98,49 +88,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { } } - fun setPlayListener(listener: PlayListener) { - this.playListener = listener - } - - override fun changeUiToCompleteShow() { - super.changeUiToCompleteShow() - } - - override fun hideAllWidget() { - super.hideAllWidget() - mBottomContainer?.visibility = View.VISIBLE - mProgressBar?.visibility = View.VISIBLE - start?.visibility = View.VISIBLE - start.setImageResource(R.drawable.notice_video_pause) - } - - override fun changeUiToPrepareingClear() { - super.changeUiToPrepareingClear() - mBottomContainer?.visibility = View.INVISIBLE - mProgressBar?.visibility = View.GONE - } - - override fun changeUiToPlayingBufferingClear() { - super.changeUiToPlayingBufferingClear() - mBottomContainer?.visibility = View.INVISIBLE - mProgressBar?.visibility = View.GONE - - } - -// override fun changeUiToClear() { -// super.changeUiToClear() -// } - - override fun changeUiToCompleteClear() { - super.changeUiToCompleteClear() - mBottomContainer?.visibility = View.INVISIBLE - mProgressBar?.visibility = View.GONE - } - - override fun onAutoCompletion() { - super.onAutoCompletion() - } - override fun showWifiDialog() { //直接播放,不显示WIFI对话框 startPlayLogic() @@ -158,12 +105,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { } override fun onCompletion() { - mBottomContainer?.visibility = View.VISIBLE - mProgressBar?.visibility = View.VISIBLE - start.visibility = View.VISIBLE start.setImageResource(R.drawable.notice_video_after_pause) - - isPostBufferUpdate = false } override fun onSurfaceUpdated(surface: Surface) { @@ -175,24 +117,15 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { override fun onPrepared() { super.onPrepared() - - playListener?.onPlayEvent(PLAY_EVT_PLAY_LOADING) } - private var isPostBufferUpdate = false - override fun onBufferingUpdate(percent: Int) { super.onBufferingUpdate(percent) - if (!isPostBufferUpdate && percent == 0) { - isPostBufferUpdate = true - playListener?.onPlayEvent(PLAY_EVT_PLAY_BEGIN) - } + } override fun onError(what: Int, extra: Int) { super.onError(what, extra) - playListener?.onPlayEvent(PLAY_EVT_PLAY_ERROR) - isPostBufferUpdate = false } override fun setViewShowState(view: View?, visibility: Int) { @@ -204,11 +137,10 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer { override fun onSurfaceAvailable(surface: Surface) { super.onSurfaceAvailable(surface) - mProgressBar?.visibility = View.GONE if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) { - if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { - mThumbImageViewLayout.visibility = View.INVISIBLE - } +// if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { +// mThumbImageViewLayout.visibility = View.INVISIBLE +// } } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogo_live_select.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_mogo_live_select.png new file mode 100644 index 0000000000000000000000000000000000000000..b0436faf248e5e336a96c3993b216d91cad778d2 GIT binary patch literal 195585 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�$q#7%}Xyk{Rl7X$<+@G1kRDb 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 literal 0 HcmV?d00001 diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogo_live_select.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_mogo_live_select.png new file mode 100644 index 0000000000000000000000000000000000000000..b0436faf248e5e336a96c3993b216d91cad778d2 GIT binary patch literal 195585 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�$q#7%}Xyk{Rl7X$<+@G1kRDb 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 literal 0 HcmV?d00001 diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/list_video_item_normal.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/list_video_item_normal.xml index 64a33f5bcb..0d891e27eb 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/list_video_item_normal.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/list_video_item_normal.xml @@ -1,11 +1,5 @@ - - - - - + diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_mogo_consult.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_mogo_consult.xml index b06e2ec461..11d9264e47 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_mogo_consult.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_mogo_consult.xml @@ -32,10 +32,12 @@ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_video_show.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_video_show.xml index 02629c9710..c160faf6c8 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_video_show.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_video_show.xml @@ -19,8 +19,7 @@ android:id="@+id/thumbImage" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_centerInParent="true" - android:scaleType="fitXY" /> + android:layout_centerInParent="true" />