删除反射使用通过中间宿主来实现
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.taxi.passenger.ui;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.view.View;
|
||||
@@ -54,6 +55,8 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
private WeakReference<TaxiPassengerCheckView> mArrivedCheckView;
|
||||
private WeakReference<TaxiPassengerStartAutopilotView> mStartAutopilotView;
|
||||
|
||||
private View vOpenLeft;
|
||||
|
||||
protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null;
|
||||
|
||||
private Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
@@ -83,6 +86,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
CallerHmiManager.INSTANCE.setProxyNotificationView(mV2XNotificationView);
|
||||
|
||||
mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_iv);
|
||||
vOpenLeft = findViewById(R.id.v_open_left);
|
||||
updateSwitchMapIcon();
|
||||
initListener();
|
||||
|
||||
@@ -130,6 +134,9 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
//OCHFloatWindowManager.getInstance().ShowFloatWindow(getContext());
|
||||
//OverlayViewUtils.showOverlayView(getActivity(),new TaxiPassengerMogoConsultView(getContext()));
|
||||
});
|
||||
|
||||
vOpenLeft.setOnClickListener(v -> OverlayLeftViewUtils.INSTANCE.open());
|
||||
OverlayLeftViewUtils.INSTANCE.dragTarget(vOpenLeft);
|
||||
}
|
||||
|
||||
private void initArrivedView(){
|
||||
@@ -223,6 +230,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
OverlayLeftViewUtils.INSTANCE.removeDragTarget(vOpenLeft);
|
||||
removeListener();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ 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 windowView: View,
|
||||
private val wl: WindowManager.LayoutParams,
|
||||
private val windowManager: WindowManager?,
|
||||
private val close: (view:View,windowManager: WindowManager?) -> Unit,
|
||||
@@ -38,16 +38,16 @@ class ItemViewTouchListener(
|
||||
}
|
||||
|
||||
if (wl.x > NEGATIVEDEVIATION && movedX > 0) {
|
||||
open(view.rootView,windowManager)
|
||||
open(windowView,windowManager)
|
||||
}else{
|
||||
//更新悬浮球控件位置
|
||||
windowManager?.updateViewLayout(view.rootView, wl)
|
||||
windowManager?.updateViewLayout(windowView, wl)
|
||||
}
|
||||
if (wl.x < OverlayLeftViewUtils.DEVIATION_WIDTH +DEVIATION && movedX < 0) {
|
||||
close(view.rootView,windowManager)
|
||||
close(windowView,windowManager)
|
||||
}else{
|
||||
//更新悬浮球控件位置
|
||||
windowManager?.updateViewLayout(view.rootView, wl)
|
||||
windowManager?.updateViewLayout(windowView, wl)
|
||||
}
|
||||
|
||||
|
||||
@@ -56,10 +56,10 @@ class ItemViewTouchListener(
|
||||
val startX = wl.x
|
||||
if (startX > OverlayLeftViewUtils.DEVIATION_WIDTH /2 && startX < 0) {
|
||||
//拖动距离大于一半 自动打开
|
||||
open(view.rootView,windowManager)
|
||||
open(windowView,windowManager)
|
||||
} else if (startX < OverlayLeftViewUtils.DEVIATION_WIDTH /2 && startX >= OverlayLeftViewUtils.DEVIATION_WIDTH) {
|
||||
// 拖动距离小于一半自动关闭
|
||||
close(view.rootView,windowManager)
|
||||
close(windowView,windowManager)
|
||||
}
|
||||
if (System.currentTimeMillis() - dragTime > 500) {
|
||||
dragTime = 0
|
||||
|
||||
@@ -7,7 +7,6 @@ import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.graphics.PixelFormat
|
||||
import android.graphics.Rect
|
||||
import android.graphics.Region
|
||||
import android.view.*
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.ListView
|
||||
@@ -19,8 +18,6 @@ import com.mogo.och.taxi.passenger.ui.leftmenu.model.LeftMenuModel
|
||||
import com.mogo.och.taxi.passenger.ui.video.FullVideoUtils
|
||||
import com.mogo.och.taxi.passenger.ui.video.TaxiPassengerMogoConsultView
|
||||
import com.mogo.och.taxi.passenger.ui.video.TaxiPassengerMogoMoviesView
|
||||
import com.mogo.och.taxi.passenger.utils.windowdispatch.OnComputeInternalInsetsListener
|
||||
import com.mogo.och.taxi.passenger.utils.windowdispatch.ReflectionUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -40,9 +37,6 @@ object OverlayLeftViewUtils {
|
||||
@Volatile
|
||||
private var isShowing = false
|
||||
|
||||
|
||||
private var mInvocationHandler: OnComputeInternalInsetsListener? = null
|
||||
private val mTouchRegion = Region()
|
||||
private var params:WindowManager.LayoutParams?=null
|
||||
|
||||
const val WIDTH = 810
|
||||
@@ -57,6 +51,7 @@ object OverlayLeftViewUtils {
|
||||
private var taxiPassengerMogoMoviesView: TaxiPassengerMogoMoviesView? = null
|
||||
|
||||
private var acivOpenClose: AppCompatImageView?=null
|
||||
private var dragList = mutableListOf<View>()
|
||||
|
||||
/**
|
||||
* 添加覆盖View在Activity上面
|
||||
@@ -89,7 +84,12 @@ object OverlayLeftViewUtils {
|
||||
|
||||
val vDragField = view.findViewById<View>(R.id.v_drag_field)
|
||||
acivOpenClose = view.findViewById(R.id.aciv_open_close)
|
||||
vDragField.setOnTouchListener(ItemViewTouchListener(params!!, windowManager, ::close,
|
||||
dragList.forEach {
|
||||
it.setOnTouchListener(ItemViewTouchListener(
|
||||
overlayView!!,params!!, windowManager, ::close,
|
||||
::open))
|
||||
}
|
||||
vDragField.setOnTouchListener(ItemViewTouchListener(overlayView!!,params!!, windowManager, ::close,
|
||||
::open))
|
||||
vDragField.setOnClickListener {
|
||||
val start: Int = params!!.x
|
||||
@@ -136,26 +136,7 @@ object OverlayLeftViewUtils {
|
||||
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) {
|
||||
@@ -184,6 +165,10 @@ object OverlayLeftViewUtils {
|
||||
rotation = 0f
|
||||
}
|
||||
closeByTime(overlayView, windowManager)
|
||||
params?.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
|
||||
windowManager?.updateViewLayout(overlayView, params)
|
||||
}
|
||||
override fun onAnimationCancel(animation: Animator?) {}
|
||||
override fun onAnimationRepeat(animation: Animator?) {}
|
||||
@@ -191,6 +176,24 @@ object OverlayLeftViewUtils {
|
||||
valueAnimator.start()
|
||||
}
|
||||
|
||||
fun open(){
|
||||
if(isShowing) {
|
||||
overlayView?.let { open(it, windowManager) }
|
||||
}
|
||||
}
|
||||
|
||||
fun dragTarget(view :View){
|
||||
dragList.add(view)
|
||||
params?.let {
|
||||
view.setOnTouchListener(ItemViewTouchListener(overlayView!!,params!!, windowManager, ::close,
|
||||
::open))
|
||||
}
|
||||
}
|
||||
|
||||
fun removeDragTarget(view: View){
|
||||
dragList.remove(view)
|
||||
}
|
||||
|
||||
private fun closeByTime(
|
||||
overlayView: View,
|
||||
windowManager: WindowManager?
|
||||
@@ -228,6 +231,11 @@ object OverlayLeftViewUtils {
|
||||
pivotY = (height /2).toFloat()
|
||||
rotation = 180f
|
||||
}
|
||||
params?.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE or
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
|
||||
windowManager?.updateViewLayout(overlayView, params)
|
||||
}
|
||||
override fun onAnimationCancel(animation: Animator?) {}
|
||||
override fun onAnimationRepeat(animation: Animator?) {}
|
||||
@@ -243,7 +251,7 @@ object OverlayLeftViewUtils {
|
||||
it.width = WIDTH
|
||||
it.height = WindowManager.LayoutParams.MATCH_PARENT
|
||||
it.alpha = 1.0f
|
||||
it.gravity = Gravity.START or Gravity.TOP
|
||||
it.gravity = Gravity.START or Gravity.CENTER_HORIZONTAL
|
||||
it.x = 0
|
||||
it.y = 0
|
||||
it.format = PixelFormat.RGBA_8888
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.bumptech.glide.request.transition.Transition
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
|
||||
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
|
||||
@@ -28,7 +29,6 @@ import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorSlideMode
|
||||
import com.mogo.och.taxi.passenger.widget.indicator.enums.IndicatorStyle
|
||||
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
|
||||
import com.shuyu.gsyvideoplayer.video.base.GSYVideoView
|
||||
import java.util.*
|
||||
import kotlin.math.floor
|
||||
|
||||
|
||||
@@ -50,12 +50,19 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
|
||||
private lateinit var rvVideoPlaylist: RecyclerView
|
||||
private lateinit var indicatorView: IndicatorView
|
||||
private lateinit var clContain: ConstraintLayout
|
||||
private lateinit var vOpenLeft: View
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.taxi_p_arrived_mogo_consult, this, true)
|
||||
rvVideoPlaylist = findViewById(R.id.rv_video_playlist)
|
||||
indicatorView = findViewById(R.id.indicatorView)
|
||||
clContain = findViewById(R.id.cl_contain)
|
||||
vOpenLeft = findViewById(R.id.v_open_left)
|
||||
|
||||
vOpenLeft.setOnClickListener {
|
||||
OverlayLeftViewUtils.open()
|
||||
}
|
||||
OverlayLeftViewUtils.dragTarget(vOpenLeft)
|
||||
|
||||
val arrayListOf = ArrayList<TaxiPassengerVideoPlay>()
|
||||
arrayListOf.add(TaxiPassengerVideoPlay("https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708596763/全车型混剪增加红旗车队.m4v","https://img.zhidaohulian.com/fileServer/online_car_hailing/1655969511280/车队.png","蘑菇车联覆盖生活的方方面面"))
|
||||
@@ -249,6 +256,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
|
||||
player.onVideoReset()
|
||||
}
|
||||
}
|
||||
OverlayLeftViewUtils.removeDragTarget(vOpenLeft)
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.bumptech.glide.request.transition.Transition
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
|
||||
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
|
||||
@@ -50,6 +51,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
|
||||
private lateinit var rvVideoPlaylist: RecyclerView
|
||||
private lateinit var indicatorView: IndicatorView
|
||||
private lateinit var clContain: ConstraintLayout
|
||||
private lateinit var vOpenLeft: View
|
||||
|
||||
private fun initView(context: Context) {
|
||||
LayoutInflater.from(context).inflate(R.layout.taxi_p_mogo_movies, this, true)
|
||||
@@ -57,6 +59,12 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
|
||||
indicatorView = findViewById(R.id.indicatorView)
|
||||
clContain = findViewById(R.id.cl_contain)
|
||||
|
||||
vOpenLeft = findViewById(R.id.v_open_left)
|
||||
vOpenLeft.setOnClickListener {
|
||||
OverlayLeftViewUtils.open()
|
||||
}
|
||||
OverlayLeftViewUtils.dragTarget(vOpenLeft)
|
||||
|
||||
val arrayListOf = ArrayList<TaxiPassengerVideoPlay>()
|
||||
arrayListOf.add(TaxiPassengerVideoPlay("https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558672856/小宝宝.mp4","https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559345882/1.png","小宝宝"))
|
||||
arrayListOf.add(TaxiPassengerVideoPlay("https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558697055/小猫.mp4","https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559367261/2.png","小猫"))
|
||||
@@ -249,6 +257,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
|
||||
player.onVideoReset()
|
||||
}
|
||||
}
|
||||
OverlayLeftViewUtils.removeDragTarget(vOpenLeft)
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
package com.mogo.och.taxi.passenger.utils.windowdispatch;
|
||||
|
||||
import android.graphics.Region;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
|
||||
public class OnComputeInternalInsetsListener implements InvocationHandler {
|
||||
|
||||
private Region touchRegion = null;
|
||||
public Object getListener() {
|
||||
Object target = null;
|
||||
try {
|
||||
Class class1 = Class.forName("android.view.ViewTreeObserver$OnComputeInternalInsetsListener");
|
||||
target = Proxy.newProxyInstance(OnComputeInternalInsetsListener.class.getClassLoader(),
|
||||
new Class[]{class1}, this);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
public Region getTouchRegion() {
|
||||
return touchRegion;
|
||||
}
|
||||
|
||||
public void setTouchRegion(Region touchRegion) {
|
||||
this.touchRegion = touchRegion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke(Object proxy, Method method, Object[] args) {
|
||||
try {
|
||||
Field regionField = args[0].getClass()
|
||||
.getDeclaredField("touchableRegion");
|
||||
regionField.setAccessible(true);
|
||||
Field insetField = args[0].getClass()
|
||||
.getDeclaredField("mTouchableInsets");
|
||||
insetField.setAccessible(true);
|
||||
if (touchRegion != null) {
|
||||
Region region = (Region) regionField.get(args[0]);
|
||||
region.set(touchRegion);
|
||||
insetField.set(args[0], InputMethodService.Insets.TOUCHABLE_INSETS_REGION);
|
||||
} else {
|
||||
insetField.set(args[0], InputMethodService.Insets.TOUCHABLE_INSETS_FRAME);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package com.mogo.och.taxi.passenger.utils.windowdispatch;
|
||||
|
||||
import android.view.ViewTreeObserver;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class ReflectionUtils {
|
||||
|
||||
private ReflectionUtils() {
|
||||
|
||||
}
|
||||
|
||||
public static void removeOnComputeInternalInsetsListener(ViewTreeObserver viewTree) {
|
||||
if (viewTree == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Class<?> clazz = Class.forName("android.view.ViewTreeObserver");
|
||||
Field field = viewTree.getClass().getDeclaredField("mOnComputeInternalInsetsListeners");
|
||||
field.setAccessible(true);
|
||||
Object listenerList = field.get(viewTree);
|
||||
Method method = listenerList.getClass().getDeclaredMethod("getArray");
|
||||
method.setAccessible(true);
|
||||
ArrayList<Object> list = (ArrayList<Object>) method.invoke(listenerList);
|
||||
Class<?> classes[] = {Class.forName("android.view.ViewTreeObserver$OnComputeInternalInsetsListener")};
|
||||
if (list != null && list.size() > 0) {
|
||||
clazz.getDeclaredMethod("removeOnComputeInternalInsetsListener", classes).invoke(viewTree,
|
||||
list.get(0));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void addOnComputeInternalInsetsListener(ViewTreeObserver viewTree, Object object) {
|
||||
if (viewTree == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Class<?> classes[] = {Class.forName("android.view.ViewTreeObserver$OnComputeInternalInsetsListener")};
|
||||
Class<?> clazz = Class.forName("android.view.ViewTreeObserver");
|
||||
clazz.getDeclaredMethod("addOnComputeInternalInsetsListener", classes).invoke(viewTree,
|
||||
object);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.mogo.och.taxi.passenger.widget
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.util.AttributeSet
|
||||
import android.util.TypedValue
|
||||
import android.view.Gravity
|
||||
@@ -19,6 +20,7 @@ import com.mogo.eagle.core.utilcode.util.TimeTransformUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
|
||||
import com.mogo.och.taxi.passenger.ui.video.FullVideoUtils
|
||||
import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack
|
||||
import com.shuyu.gsyvideoplayer.utils.GSYVideoType
|
||||
@@ -42,6 +44,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
|
||||
private lateinit var totalTimeTextView: TextView
|
||||
private lateinit var aivStartPlay: AppCompatImageView
|
||||
private lateinit var layoutBottom: ConstraintLayout
|
||||
private lateinit var vPpenLeft: View
|
||||
|
||||
private var fullVideoPlayer:ConsultVideoPlayer?=null
|
||||
var smalllPlayer:ConsultVideoPlayer?=null
|
||||
@@ -71,6 +74,12 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
|
||||
GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL)
|
||||
aivStartPlay.scaleX = 0.8f
|
||||
aivStartPlay.scaleY = 0.8f
|
||||
vPpenLeft = findViewById(R.id.v_open_left)
|
||||
|
||||
vPpenLeft.setOnClickListener {
|
||||
OverlayLeftViewUtils.open()
|
||||
}
|
||||
OverlayLeftViewUtils.dragTarget(vPpenLeft)
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
@@ -163,6 +172,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
|
||||
setVideoAllCallBack(null)
|
||||
}
|
||||
dismissProgressDialog()
|
||||
OverlayLeftViewUtils.removeDragTarget(vPpenLeft)
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
|
||||
@@ -61,6 +61,14 @@
|
||||
app:vpi_slider_radius="@dimen/dp_20"
|
||||
app:vpi_style="round_rect" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_open_left"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_width="143px"
|
||||
android:layout_height="308px"/>
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -28,6 +28,14 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_open_left"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_width="143px"
|
||||
android:layout_height="308px"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_och_taxi_swich_map_iv"
|
||||
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
|
||||
|
||||
@@ -62,6 +62,14 @@
|
||||
app:vpi_slider_radius="@dimen/dp_20"
|
||||
app:vpi_style="round_rect" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_open_left"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_width="143px"
|
||||
android:layout_height="308px"/>
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -124,4 +124,12 @@
|
||||
android:textColor="@android:color/white"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/v_open_left"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_width="143px"
|
||||
android:layout_height="308px"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
Reference in New Issue
Block a user