订单Fragment添加动画
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
package com.mogo.och.taxi.passenger.event;
|
||||
|
||||
public class FinishActivity {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.mogo.och.taxi.passenger.event;
|
||||
|
||||
public class UIStatus {
|
||||
|
||||
public static final int LIVE = 0;
|
||||
public static final int OVERVIEW = 1;
|
||||
public static final int CONSULT = 2;
|
||||
public static final int MOVIE = 3;
|
||||
|
||||
public int status = LIVE;
|
||||
|
||||
public UIStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -157,7 +157,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
// 70 取消订单
|
||||
if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == order.orderStatus){
|
||||
runOnUIThread(() -> {
|
||||
mView.showOrHideServingOrderFragment(false);
|
||||
mView.showOrHideServingOrderFragment(false,true);
|
||||
mView.showOrHideStartAutopilotView(false,false);
|
||||
mView.showOrHidePressengerCheckPager(false, "",
|
||||
"", "", "", "");
|
||||
@@ -191,7 +191,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
|
||||
runOnUIThread(() ->{
|
||||
mView.showOrHideStartAutopilotView(false,false);
|
||||
mView.showOrHideServingOrderFragment(true);
|
||||
mView.showOrHideServingOrderFragment(true,true);
|
||||
});
|
||||
TaxiPassengerModel.getInstance().startOrStopReadyToAutopilotoop(false);
|
||||
}
|
||||
@@ -212,7 +212,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
TaxiPassengerModel.getInstance().recoverNaviInfo();
|
||||
TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch();
|
||||
runOnUIThread(() -> {
|
||||
mView.showOrHideServingOrderFragment(false);
|
||||
mView.showOrHideServingOrderFragment(false,true);
|
||||
mView.showOrHideArrivedEndLayout(true, order.endSiteAddr,order.orderNo);
|
||||
});
|
||||
return;
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
package com.mogo.och.taxi.passenger.ui;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
@@ -27,11 +30,16 @@ import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.constants.DataTypes;
|
||||
import com.mogo.och.taxi.passenger.R;
|
||||
import com.mogo.och.taxi.passenger.callback.ITPClickStartAutopilotCallback;
|
||||
import com.mogo.och.taxi.passenger.event.UIStatus;
|
||||
import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter;
|
||||
import com.mogo.och.taxi.passenger.ui.comment.TaxiPassengerArrivedView;
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils;
|
||||
import com.mogo.och.taxi.passenger.mulprocess.EmptyService;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
|
||||
@@ -47,7 +55,6 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
|
||||
static final String TAG = "TaxiPassengerBaseFragment";
|
||||
|
||||
private FrameLayout flNaviPanelContainer;
|
||||
private ImageView mAutopilotImage;
|
||||
private ImageView mMapswitchBtn;
|
||||
private TaxiPassengerTrafficLightView mTrafficLightView;
|
||||
@@ -62,6 +69,13 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
|
||||
private Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
EventBus.getDefault().register(this);
|
||||
return super.onCreateView(inflater, container, savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.taxi_p_base_fragment;
|
||||
@@ -78,7 +92,6 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
hideEagleConfig();
|
||||
|
||||
mAutopilotImage = findViewById(R.id.module_och_autopilot_iv);
|
||||
flNaviPanelContainer = findViewById(R.id.module_mogo_och_navi_panel_container);
|
||||
|
||||
mTrafficLightView = findViewById(R.id.traffic_light_view);
|
||||
CallerHmiManager.INSTANCE.setProxyTrafficLightView(mTrafficLightView);
|
||||
@@ -236,6 +249,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
OverlayLeftViewUtils.INSTANCE.removeDragTarget(vOpenLeft);
|
||||
EventBus.getDefault().unregister(this);
|
||||
removeListener();
|
||||
}
|
||||
|
||||
@@ -245,6 +259,16 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
}
|
||||
mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(null);
|
||||
}
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void changeOverview(UIStatus uiStatus){
|
||||
if(uiStatus.status==UIStatus.LIVE){
|
||||
CallerHmiManager.INSTANCE.hideSmallFragment();
|
||||
showOrHideServingOrderFragment(true,false);
|
||||
}else if(uiStatus.status==UIStatus.OVERVIEW){
|
||||
CallerHmiManager.INSTANCE.showSmallFragment();
|
||||
showOrHideServingOrderFragment(false,false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) {
|
||||
@@ -255,34 +279,43 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
* 显示或隐藏订单信息
|
||||
* @param isShow
|
||||
*/
|
||||
public void showOrHideServingOrderFragment(boolean isShow){
|
||||
public void showOrHideServingOrderFragment(boolean isShow,boolean showOrHideLefeMenu){
|
||||
|
||||
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
|
||||
|
||||
if (isShow){
|
||||
flNaviPanelContainer.setVisibility(View.VISIBLE);
|
||||
if (ochServingOrderFragment == null){
|
||||
ochServingOrderFragment = new TaxiPassengerServingOrderFragment().newInstance();
|
||||
}
|
||||
OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity(),0,true,-1,true);
|
||||
OverlayLeftViewUtils.INSTANCE.addDragTarget(vOpenLeft);
|
||||
if(showOrHideLefeMenu) {
|
||||
OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity(), 0, true, -1, true);
|
||||
OverlayLeftViewUtils.INSTANCE.addDragTarget(vOpenLeft);
|
||||
}
|
||||
if (ochServingOrderFragment.isHidden()){
|
||||
transaction.show(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
transaction
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.show(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
return;
|
||||
}
|
||||
if (ochServingOrderFragment.isAdded()){
|
||||
transaction.show(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
transaction
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.show(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
return;
|
||||
}
|
||||
transaction.add(R.id.module_mogo_och_navi_panel_container, ochServingOrderFragment)
|
||||
transaction
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.add(R.id.module_mogo_och_navi_panel_container, ochServingOrderFragment)
|
||||
.show(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
|
||||
}else {
|
||||
flNaviPanelContainer.setVisibility(View.GONE);
|
||||
if (ochServingOrderFragment != null){
|
||||
transaction.hide(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
transaction
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
|
||||
.hide(ochServingOrderFragment).commitAllowingStateLoss();
|
||||
}
|
||||
if(showOrHideLefeMenu) {
|
||||
OverlayLeftViewUtils.INSTANCE.dismissOverlayView(true);
|
||||
}
|
||||
OverlayLeftViewUtils.INSTANCE.dismissOverlayView(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.mogo.och.taxi.passenger.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorInflater;
|
||||
import android.location.Location;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -13,8 +15,10 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.widget.AppCompatSeekBar;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.amap.api.maps.model.LatLng;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
@@ -379,4 +383,22 @@ public class TaxiPassengerServingOrderFragment extends
|
||||
lastBearing = bearing;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
|
||||
if (transit == FragmentTransaction.TRANSIT_FRAGMENT_OPEN) {
|
||||
if (enter) {//普通的进入的动作
|
||||
return AnimatorInflater.loadAnimator(getContext(),R.animator.alpha_hide_show_f);
|
||||
} else {//比如一个已经Fragmen被另一个replace,是一个进入动作,被replace的那个就是false
|
||||
return AnimatorInflater.loadAnimator(getContext(),R.animator.alpha_hide_hide_f);
|
||||
}
|
||||
} else if (FragmentTransaction.TRANSIT_FRAGMENT_CLOSE == transit) {
|
||||
if (enter) {//之前被replace的重新进入到界面或者Fragment回到栈顶
|
||||
return AnimatorInflater.loadAnimator(getContext(),R.animator.alpha_hide_show_f);
|
||||
} else {//Fragment退出,出栈
|
||||
return AnimatorInflater.loadAnimator(getContext(),R.animator.alpha_hide_hide_f);
|
||||
}
|
||||
}
|
||||
return super.onCreateAnimator(transit,enter,nextAnim);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,8 @@ import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.model.LeftMenuModel
|
||||
import com.mogo.och.taxi.passenger.mulprocess.EmptyService
|
||||
import com.mogo.och.taxi.passenger.ui.video.VideoActivity
|
||||
import com.mogo.och.taxi.passenger.ui.video.event.FinishActivity
|
||||
import com.mogo.och.taxi.passenger.event.FinishActivity
|
||||
import com.mogo.och.taxi.passenger.event.UIStatus
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -53,6 +54,8 @@ object OverlayLeftViewUtils {
|
||||
private var overlayView: View?=null
|
||||
|
||||
private var subscribe: Disposable?=null
|
||||
private var subscribeLive: Disposable?=null
|
||||
private var subscribeOVERVIEW: Disposable?=null
|
||||
|
||||
private var acivOpenClose: AppCompatImageView?=null
|
||||
|
||||
@@ -101,12 +104,17 @@ object OverlayLeftViewUtils {
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
EventBus.getDefault().post(FinishActivity())
|
||||
}else {
|
||||
LeftMenuOpen.invoKeyByEventType(VideoActivity.EVENT_FINISH)
|
||||
}
|
||||
if(isMainProcess){
|
||||
//主进程 建议Eventbus实现
|
||||
subscribeLive = Observable.timer(300, TimeUnit.MILLISECONDS)
|
||||
.subscribe {
|
||||
EventBus.getDefault().post(UIStatus(UIStatus.LIVE))
|
||||
}
|
||||
}else{
|
||||
EventBus.getDefault().post(FinishActivity())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -115,14 +123,17 @@ object OverlayLeftViewUtils {
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
ToastUtils.showShort("全程概览")
|
||||
EventBus.getDefault().post(FinishActivity())
|
||||
}else {
|
||||
LeftMenuOpen.invoKeyByEventType(VideoActivity.EVENT_FINISH)
|
||||
}
|
||||
if(isMainProcess){
|
||||
//主进程 建议Eventbus实现
|
||||
// TODO: 需要在主进程中 添加全程概览的代码
|
||||
subscribeOVERVIEW = Observable.timer(300, TimeUnit.MILLISECONDS)
|
||||
.subscribe {
|
||||
EventBus.getDefault().post(UIStatus(UIStatus.OVERVIEW))
|
||||
}
|
||||
}else{
|
||||
EventBus.getDefault().post(FinishActivity())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -211,7 +222,6 @@ object OverlayLeftViewUtils {
|
||||
return@forEach
|
||||
}
|
||||
}
|
||||
System.err.println("进程是否存在---$haveProcess----")
|
||||
if (!haveProcess) {
|
||||
EmptyService.startService(Utils.getApp())
|
||||
}
|
||||
@@ -335,16 +345,17 @@ object OverlayLeftViewUtils {
|
||||
if (!isShowing) {
|
||||
return
|
||||
}
|
||||
subscribe?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
releaseDelay(subscribe)
|
||||
releaseDelay(subscribeLive)
|
||||
releaseDelay(subscribeOVERVIEW)
|
||||
subscribe = null
|
||||
subscribeLive = null
|
||||
subscribeOVERVIEW = null
|
||||
// 管理的要关闭都得关闭
|
||||
if(isMain) {
|
||||
LeftMenuOpen.invoKeyByEventType(VideoActivity.EVENT_FINISH)
|
||||
}
|
||||
subscribe = null
|
||||
|
||||
LeftMenuOpen.clearValue()
|
||||
try {
|
||||
if (windowManager != null && overlayView != null) {
|
||||
@@ -363,4 +374,12 @@ object OverlayLeftViewUtils {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
private fun releaseDelay(subscribe: Disposable?) {
|
||||
subscribe?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay
|
||||
import com.mogo.och.taxi.passenger.mulprocess.ICallback
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.LeftMenuOpen
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
|
||||
import com.mogo.och.taxi.passenger.ui.video.event.FinishActivity
|
||||
import com.mogo.och.taxi.passenger.event.FinishActivity
|
||||
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
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
package com.mogo.och.taxi.passenger.ui.video.event;
|
||||
|
||||
public class FinishActivity {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<objectAnimator android:propertyName="alpha" android:duration="1000" android:valueFrom="1.0" android:valueTo="0.0"/>
|
||||
</set>
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<objectAnimator android:propertyName="alpha" android:duration="1000" android:valueFrom="0.0" android:valueTo="1.0"/>
|
||||
</set>
|
||||
Reference in New Issue
Block a user