Merge branch 'dev_robotaxi-d-app-module_260_220304_2.6.0' of gitlab.zhidaoauto.com:zhjt/AndroidApp/MoGoEagleEye into dev_robotaxi-d-app-module_260_220304_2.6.0
@@ -1,12 +1,14 @@
|
||||
package com.mogo.och.bus;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
@@ -36,7 +38,7 @@ public class OchBusProvider implements IMogoOCH {
|
||||
* 进入鹰眼模式,设置手势缩放地图失效
|
||||
*/
|
||||
private void stepIntoVrMode(){
|
||||
Logger.d( TAG, "进入vr模式" );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "进入vr模式" );
|
||||
MogoMapUIController.getInstance()
|
||||
.openVrMode(false);
|
||||
}
|
||||
@@ -51,18 +53,18 @@ public class OchBusProvider implements IMogoOCH {
|
||||
|
||||
private void showFragment() {
|
||||
if (busFragment == null) {
|
||||
Logger.d(TAG, "准备add fragment======");
|
||||
CallerLogger.INSTANCE.d(TAG, "准备add fragment======");
|
||||
busFragment = new OchBusFragment();
|
||||
activity.getSupportFragmentManager().beginTransaction().add(containerId, busFragment).commitAllowingStateLoss();
|
||||
return;
|
||||
}
|
||||
Logger.d(TAG, "准备show fragment");
|
||||
CallerLogger.INSTANCE.d(TAG, "准备show fragment");
|
||||
activity.getSupportFragmentManager().beginTransaction().show(busFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
private void hideFragment() {
|
||||
if (busFragment != null) {
|
||||
Logger.d(TAG, "准备hide fragment");
|
||||
CallerLogger.INSTANCE.d(TAG, "准备hide fragment");
|
||||
activity.getSupportFragmentManager().beginTransaction().hide(busFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ public class OchBusStationAdapter extends RecyclerView.Adapter<OchBusStationAdap
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
// Logger.d("OchBusStationAdapter", "position: " + position + " currPos: " + currentStation + " station: " + stationList.get(position));
|
||||
// CallerLogger.INSTANCE.d(M_BUS + "OchBusStationAdapter", "position: " + position + " currPos: " + currentStation + " station: " + stationList.get(position));
|
||||
holder.tvStationName.setText(stationList.get(position).getName());
|
||||
if (position == currentStation) {
|
||||
if (currentStation == 0) {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package com.mogo.och.bus.fragment;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
@@ -28,7 +29,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager;
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.map.MogoMarkerManager;
|
||||
@@ -136,7 +137,7 @@ public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter
|
||||
if (DebugConfig.isDebug()) {
|
||||
mouduleArc.setLongClickable(true);
|
||||
mouduleArc.setOnLongClickListener(v -> {
|
||||
Log.d(TAG, "长按显示状态工具栏");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "长按显示状态工具栏");
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("oper", 52);
|
||||
MogoApisHandler.getInstance().getApis().getIntentManagerApi().invoke("com.mogo.mock", intent);
|
||||
@@ -299,7 +300,7 @@ public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter
|
||||
}
|
||||
|
||||
private void changeAutopilotBtnView(int autopilotStatus, boolean isAnimateRunning) {
|
||||
Logger.d(TAG, "onStateChangeChangeAutopilotBtnView: " + autopilotStatus + "isAnimateRunning = " + isAnimateRunning);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "onStateChangeChangeAutopilotBtnView: " + autopilotStatus + "isAnimateRunning = " + isAnimateRunning);
|
||||
if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE
|
||||
== autopilotStatus) {//0不可用
|
||||
if (isAnimateRunning) {
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
package com.mogo.och.bus.fragment;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.map.MogoMarkerManager;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.bus.R;
|
||||
import com.mogo.och.bus.bean.OchBusStation;
|
||||
import com.mogo.och.bus.constant.OchBusConst;
|
||||
@@ -27,7 +26,6 @@ import com.mogo.och.bus.presenter.OchBusPresenter;
|
||||
import com.mogo.och.bus.ui.BusSwitchLineActivity;
|
||||
import com.mogo.och.bus.view.SlidePanelView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
@@ -88,7 +86,7 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
});
|
||||
}
|
||||
|
||||
Logger.d(TAG, "initView: " + CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState());
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "initView: " + CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState());
|
||||
// 初始化的时候设置 UI 按钮状态
|
||||
switch (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState()) {
|
||||
case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE:
|
||||
@@ -153,7 +151,7 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
*/
|
||||
private void renderCurrentStationStatus(List<OchBusStation> stationList, int currentStation
|
||||
, int nextStation, boolean isArrived) {
|
||||
Log.d("MapMaker= ", "currentStation=" + currentStation + ",nextStation=" + nextStation + "isArrived=" + isArrived);
|
||||
CallerLogger.INSTANCE.d(M_BUS + "MapMaker ", "currentStation=" + currentStation + ",nextStation=" + nextStation + "isArrived=" + isArrived);
|
||||
String currentStationName = null;
|
||||
String nextStationName = null;
|
||||
int startStationFlagVisibility = View.INVISIBLE;
|
||||
@@ -174,13 +172,13 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
startStationFlagVisibility = View.VISIBLE;
|
||||
isArriveAtStartStation = true;
|
||||
mStartStationFlag.setText(getResources().getString(R.string.bus_arrive_to_end_start));
|
||||
// Log.d("MapMaker= ","起点=");
|
||||
// CallerLogger.INSTANCE.d("MapMaker= ","起点=");
|
||||
setOrRemoveMapMaker(true, OchBusConst.BUS_START_MAP_MAKER, startStation.getLat()
|
||||
, startStation.getLon(), R.drawable.icon_station_start_end);
|
||||
setOrRemoveMapMaker(true, OchBusConst.BUS_END_MAP_MAKER, endStation.getLat()
|
||||
, endStation.getLon(), R.drawable.icon_station_start_end);
|
||||
} else if (currentStation > 0 && currentStation < stationList.size() - 1) {// 是否到达站点
|
||||
// Log.d("MapMaker= ","中间=");
|
||||
// CallerLogger.INSTANCE.d("MapMaker= ","中间=");
|
||||
isArriveAtStation = true;
|
||||
// mStartStationFlag.setText(getResources().getString(R.string.bus_arrive_to_end_start1));
|
||||
setOrRemoveMapMaker(false, OchBusConst.BUS_START_MAP_MAKER, startStation.getLat()
|
||||
@@ -188,7 +186,7 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
setOrRemoveMapMaker(true, OchBusConst.BUS_END_MAP_MAKER, endStation.getLat()
|
||||
, endStation.getLon(), R.drawable.icon_station_start_end);
|
||||
} else if (currentStation == stationList.size() - 1) {// 是否到达终点
|
||||
// Log.d("MapMaker= ","终点=");
|
||||
// CallerLogger.INSTANCE.d("MapMaker= ","终点=");
|
||||
isArriveEndStation = true;
|
||||
nextStationName = "--";
|
||||
mStartStationFlag.setText(getResources().getString(R.string.bus_arrive_to_end_end));
|
||||
@@ -323,7 +321,7 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
*/
|
||||
private void setOrRemoveMapMaker(boolean isAdd, String uuid, double lat, double longi, int iconId) {
|
||||
if (isAdd) {
|
||||
Log.d("setMapMaker= ", uuid + "=latitude=" + lat + ",longitude=" + longi);
|
||||
CallerLogger.INSTANCE.d("setMapMaker= ", uuid + "=latitude=" + lat + ",longitude=" + longi);
|
||||
MogoMarkerOptions options = new MogoMarkerOptions();
|
||||
options.anchorColor("#000000");//不设置报错,暂时随便设置个
|
||||
options.setGps(true);//使用wgs 必须设置true
|
||||
@@ -334,7 +332,7 @@ public class OchBusFragment extends BaseOchBusTabFragment<OchBusFragment, OchBus
|
||||
options.longitude(longi);
|
||||
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).addMarker(uuid, options);
|
||||
}else {
|
||||
Log.d("RemoveMapMaker=",uuid+"=latitude="+lat+",longitude="+longi);
|
||||
CallerLogger.INSTANCE.d("RemoveMapMaker=",uuid+"=latitude="+lat+",longitude="+longi);
|
||||
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers(uuid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.mogo.och.bus.net;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.network.RequestOptions;
|
||||
import com.mogo.eagle.core.network.SubscribeImpl;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.bus.bean.BusQueryLinesResponse;
|
||||
import com.mogo.och.bus.bean.CarHeartbeatReqBean;
|
||||
@@ -247,7 +249,7 @@ public class OCHBusServiceManager {
|
||||
@Override
|
||||
public void onSuccess(T o) {
|
||||
super.onSuccess(o);
|
||||
Logger.e(TAG,apiName + ": onSuccess() " + o.msg);
|
||||
CallerLogger.INSTANCE.e(M_BUS + TAG,apiName + ": onSuccess() " + o.msg);
|
||||
if (callback != null) {
|
||||
callback.onSuccess(o);
|
||||
}
|
||||
@@ -256,7 +258,7 @@ public class OCHBusServiceManager {
|
||||
@Override
|
||||
public void onError(String message, int code) {
|
||||
super.onError(message, code);
|
||||
Logger.e(TAG,apiName + ": onError() " +"msg="+ message+" code="+code);
|
||||
CallerLogger.INSTANCE.e(M_BUS + TAG,apiName + ": onError() " +"msg="+ message+" code="+code);
|
||||
if (callback != null) {
|
||||
callback.onFail("msg="+ message+" code="+code);
|
||||
}
|
||||
@@ -265,7 +267,7 @@ public class OCHBusServiceManager {
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
super.onError(e);
|
||||
Logger.e(TAG,apiName + ": onError() " +" e="+e.getMessage());
|
||||
CallerLogger.INSTANCE.e(M_BUS + TAG,apiName + ": onError() " +" e="+e.getMessage());
|
||||
if (callback != null) {
|
||||
callback.onFail(e.getMessage());
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.mogo.och.bus.presenter;
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.och.bus.bean.BusQueryLinesResponse;
|
||||
import com.mogo.och.bus.bean.OchBusRoutesResponse;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.mogo.och.bus.presenter;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.bus.constant.OchBusConst;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -33,7 +35,7 @@ public class OchBusModelLoopManager {
|
||||
if (mHeartbeatDisposable != null && !mHeartbeatDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startHeartbeatLoop()");
|
||||
CallerLogger.INSTANCE.i(M_BUS + TAG, "startHeartbeatLoop()");
|
||||
mHeartbeatDisposable = Observable.interval(OchBusConst.LOOP_DELAY,
|
||||
OchBusConst.LOOP_PERIOD_60S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -44,7 +46,7 @@ public class OchBusModelLoopManager {
|
||||
|
||||
public void stopHeartbeatLoop() {
|
||||
if (mHeartbeatDisposable != null) {
|
||||
Logger.i(TAG, "stopHeartbeatLoop()");
|
||||
CallerLogger.INSTANCE.i(M_BUS + TAG, "stopHeartbeatLoop()");
|
||||
mHeartbeatDisposable.dispose();
|
||||
mHeartbeatDisposable = null;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.bus.presenter;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
import static com.mogo.och.bus.constant.OchBusConst.STATION_STATUS_STOPPED;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -7,20 +8,18 @@ import android.location.Location;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo;
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
@@ -148,31 +147,31 @@ public class OchBusOrderModel {
|
||||
public void accept(Throwable e) {
|
||||
if (e instanceof UndeliverableException) {
|
||||
e = e.getCause();
|
||||
Log.d(TAG,"UndeliverableException");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"UndeliverableException");
|
||||
}
|
||||
if ((e instanceof IOException)) {//
|
||||
// fine, irrelevant network problem or API that throws on cancellation
|
||||
Log.d(TAG,"IOException");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"IOException");
|
||||
return;
|
||||
}
|
||||
if (e instanceof InterruptedException) {
|
||||
// fine, some blocking code was interrupted by a dispose call
|
||||
Log.d(TAG,"InterruptedException");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"InterruptedException");
|
||||
return;
|
||||
}
|
||||
if ((e instanceof NullPointerException) || (e instanceof IllegalArgumentException)) {
|
||||
// that's likely a bug in the application
|
||||
Log.d(TAG,"NullPointerException or IllegalArgumentException");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"NullPointerException or IllegalArgumentException");
|
||||
Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
|
||||
return;
|
||||
}
|
||||
if (e instanceof IllegalStateException) {
|
||||
// that's a bug in RxJava or in a custom operator
|
||||
Log.d(TAG,"IllegalStateException");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"IllegalStateException");
|
||||
Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
|
||||
return;
|
||||
}
|
||||
Log.d(TAG,"Undeliverable exception");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"Undeliverable exception");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -216,7 +215,7 @@ public class OchBusOrderModel {
|
||||
@Override
|
||||
public void onSuccess(OchBusOrdersResponse o) {
|
||||
if (o.data != null && o.data.orders != null && o.data.orders.size() > 0) {
|
||||
Logger.d( TAG, "获取到bus订单数据: " + o.data.orders.toString() );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "获取到bus订单数据: " + o.data.orders.toString() );
|
||||
List<OchBusOrder> busOrders = o.data.orders;
|
||||
for (int i = 0; i < busOrders.size(); i++) {
|
||||
OchBusOrder order = busOrders.get(i);
|
||||
@@ -231,7 +230,7 @@ public class OchBusOrderModel {
|
||||
e.printStackTrace();
|
||||
tailNum = order.getPassengerPhone();
|
||||
}
|
||||
Logger.d(TAG, "TTS:" + tailNum);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "TTS:" + tailNum);
|
||||
AIAssist.getInstance(mContext).speakTTSVoice("接到新订单,尾号 " + tailNum
|
||||
+ " 上车站点为 " + order.getStartStationName());
|
||||
prevBusOrderNos.add(order.getOrderNo());
|
||||
@@ -284,11 +283,11 @@ public class OchBusOrderModel {
|
||||
};
|
||||
|
||||
// 自车定位
|
||||
private IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() {
|
||||
private final IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() {
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged2( Location location ) {
|
||||
// Log.d(TAG,"location = "+location.getLongitude()+","+location.getLatitude());
|
||||
// CallerLogger.INSTANCE.d(M_BUS + TAG,"location = "+location.getLongitude()+","+location.getLatitude());
|
||||
IMogoServiceApis apis = MogoApisHandler.getInstance().getApis();
|
||||
MogoLocation mogoLocation = new MogoLocation();
|
||||
mogoLocation.setAccuracy(location.getAccuracy());
|
||||
@@ -320,7 +319,7 @@ public class OchBusOrderModel {
|
||||
* 查询小巴路线
|
||||
*/
|
||||
public void queryBusRoutes() {
|
||||
Logger.d( TAG, "查询小巴路线");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "查询小巴路线");
|
||||
OCHBusServiceManager.getInstance().queryBusRoutes(mContext, new OCHServiceCallback<OchBusRoutesResponse>() {
|
||||
@Override
|
||||
public void onSuccess(OchBusRoutesResponse data) {
|
||||
@@ -330,7 +329,7 @@ public class OchBusOrderModel {
|
||||
|| data.getResult().getSites().isEmpty() ) {
|
||||
return;
|
||||
}
|
||||
Logger.d( TAG, "获取到小巴路线数据: " + data );
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "获取到小巴路线数据: " + data );
|
||||
renderBusStationsStatus( data.getResult());
|
||||
}
|
||||
@Override
|
||||
@@ -346,12 +345,12 @@ public class OchBusOrderModel {
|
||||
* 测试、重置站点状态
|
||||
*/
|
||||
public void debugResetStationStatus() {
|
||||
Logger.d( TAG, "测试、重置站点状态");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "测试、重置站点状态");
|
||||
OCHBusServiceManager.getInstance().resetStationStatus(mContext, currentLineId
|
||||
, new OCHServiceCallback<OchBusRoutesResponse>() {
|
||||
@Override
|
||||
public void onSuccess(OchBusRoutesResponse o) {
|
||||
Logger.d(TAG, "获取到小巴路线数据: " + o);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "获取到小巴路线数据: " + o);
|
||||
isGoingToNextStation = false;
|
||||
if (o.getResult() == null || o.getResult().getSites() == null || o.getResult().getSites().isEmpty()) {
|
||||
return;
|
||||
@@ -372,7 +371,7 @@ public class OchBusOrderModel {
|
||||
* 离站上报
|
||||
*/
|
||||
public void leaveStation(boolean isOneWayOver,boolean isRestart){
|
||||
Log.d(TAG,"leaveStation-backgroundCurrentStationIndex = "+backgroundCurrentStationIndex);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"leaveStation-backgroundCurrentStationIndex = "+backgroundCurrentStationIndex);
|
||||
OCHBusServiceManager.getInstance().leaveStation(mContext, stationList.get(backgroundCurrentStationIndex).getSeq()
|
||||
, stationList.get(backgroundCurrentStationIndex).getSiteId(), new OCHServiceCallback<OchBusRoutesResponse>() {
|
||||
@Override
|
||||
@@ -381,11 +380,11 @@ public class OchBusOrderModel {
|
||||
return;
|
||||
}
|
||||
if (!isOneWayOver){
|
||||
Logger.d( TAG, "自动驾驶开启开往下一站====" );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "自动驾驶开启开往下一站====" );
|
||||
//需要更改当前站和下一站的状态 然后渲染
|
||||
RenderLeaveStationSuccess(o.getResult(),isRestart);
|
||||
}else {
|
||||
Logger.d( TAG, "单程真的结束了====" );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "单程真的结束了====" );
|
||||
isGoingToNextStation = false;
|
||||
currentStationIndex = 0;
|
||||
backgroundCurrentStationIndex = 0;
|
||||
@@ -443,7 +442,7 @@ public class OchBusOrderModel {
|
||||
currentAutopilot.endLatLon = new AutopilotControlParameters
|
||||
.AutoPilotLonLat( nextStation.getLat(), nextStation.getLon() );
|
||||
currentAutopilot.vehicleType = VEHICLE_TYPE;
|
||||
Logger.d( TAG, "开启自动驾驶====" + currentAutopilot.toString()
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "开启自动驾驶====" + currentAutopilot.toString()
|
||||
+" startLatLon="+currentStation.getName()+",endLatLon="+nextStation.getName());
|
||||
CallerAutoPilotManager.INSTANCE.startAutoPilot(currentAutopilot);
|
||||
if (mControllerStatusCallback != null) {
|
||||
@@ -455,13 +454,13 @@ public class OchBusOrderModel {
|
||||
* 到站后重置站点状态
|
||||
*/
|
||||
private void arriveSiteStation(boolean isRestart) {
|
||||
Log.d(TAG,"arriveSiteStation-currentStationIndex = "+currentStationIndex);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"arriveSiteStation-currentStationIndex = "+currentStationIndex);
|
||||
OCHBusServiceManager.getInstance().arriveSiteStation(mContext
|
||||
, stationList.get(currentStationIndex).getSeq(), stationList.get(currentStationIndex).getSiteId()
|
||||
, new OCHServiceCallback<BaseData>() {
|
||||
@Override
|
||||
public void onSuccess(BaseData o) {
|
||||
Log.d(TAG,"arriveSiteStation success");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG,"arriveSiteStation success");
|
||||
if (!isRestart){
|
||||
renderArriveBusStation();
|
||||
}
|
||||
@@ -491,7 +490,7 @@ public class OchBusOrderModel {
|
||||
* 查询到站下车乘客
|
||||
*/
|
||||
private void queryStationLeaveAwayPassengers() {
|
||||
Logger.d( TAG, "查询到站下车乘客");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "查询到站下车乘客");
|
||||
|
||||
OCHBusServiceManager.getInstance().queryStationLeaveAwayPassengers(mContext
|
||||
, stationList.get(currentStationIndex).getSeq(), stationList.get(currentStationIndex).getSiteId()
|
||||
@@ -565,14 +564,14 @@ public class OchBusOrderModel {
|
||||
* 查询运营状态
|
||||
*/
|
||||
public void queryOperationStatus() {
|
||||
Logger.d( TAG, "查询运营状态");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "查询运营状态");
|
||||
OCHBusServiceManager.getInstance().queryOperationStatus(mContext
|
||||
, new OCHServiceCallback<OchBusOperationStatusResponse>() {
|
||||
@Override
|
||||
public void onSuccess(OchBusOperationStatusResponse o) {
|
||||
if ( o.data != null ) {
|
||||
mIsWorking = o.data.serviceStatus == 1;
|
||||
Logger.d( TAG, "查询运营状态 result.status: " + o.data.serviceStatus);
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "查询运营状态 result.status: " + o.data.serviceStatus);
|
||||
startOrStopOrderLoop(mIsWorking);
|
||||
}
|
||||
carOperationStatusCallback.changeOperationStatus(isWorking());
|
||||
@@ -625,7 +624,7 @@ public class OchBusOrderModel {
|
||||
}
|
||||
backgroundCurrentStationIndex = currentStationIndex;
|
||||
OchBusStation currentStation = stationList.get(currentStationIndex);
|
||||
Logger.d( TAG, "渲染站点信息服务端currentStationIndex="+currentStationIndex
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "渲染站点信息服务端currentStationIndex="+currentStationIndex
|
||||
+" isLeaving()="+currentStation.isLeaving());
|
||||
//当前站点是始发站,告诉服务端到达始发站。 如果没有这个节点, 服务器不知道始发站到达状态
|
||||
// ,订单开始站下在始发站的状态流转有问题
|
||||
@@ -637,7 +636,7 @@ public class OchBusOrderModel {
|
||||
&& currentStationIndex < stationList.size()-1)
|
||||
|| (stationList.get(0).isLeaving() || stationList.get(stationList.size() -1).isLeaving()))){//行驶过程中设置美化
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
|
||||
Logger.d(TAG, "美化模式-ignore:置为true(每次滑动出发)");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "美化模式-ignore:置为true(每次滑动出发)");
|
||||
}
|
||||
if (refreshBusStationsCallback != null){
|
||||
if (currentStation.isLeaving()){//如果服务端的当前站是leaving状态,展示当前站需要+1
|
||||
@@ -660,7 +659,7 @@ public class OchBusOrderModel {
|
||||
* @param lastStopStation
|
||||
*/
|
||||
private void resetNextStopStation( int lastStopStation ) {
|
||||
Logger.d( TAG, "重置下一站");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "重置下一站");
|
||||
int nextStopStation = getNextStopStation();
|
||||
if ( nextStopStation < 0 ) {
|
||||
return;
|
||||
@@ -705,7 +704,7 @@ public class OchBusOrderModel {
|
||||
* 在踩刹车、控制方向盘等操作后,会停止自动驾驶,重启自动驾驶的话相当于重新设置自动驾驶目的地
|
||||
*/
|
||||
public void restartAutopilot() {
|
||||
Logger.d( TAG, "重启自动驾驶===" + isGoingToNextStation );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "重启自动驾驶===" + isGoingToNextStation );
|
||||
if ( isGoingToNextStation ) {
|
||||
autoDriveToNextStation( true );
|
||||
}
|
||||
@@ -717,7 +716,7 @@ public class OchBusOrderModel {
|
||||
* @param awayPassengersResponse
|
||||
*/
|
||||
private void playLeavePassengersMsg( QueryLeaveAwayPassengersResponse awayPassengersResponse ) {
|
||||
Logger.d( TAG, "播报下车乘客信息currentStationIndex="+currentStationIndex);
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "播报下车乘客信息currentStationIndex="+currentStationIndex);
|
||||
|
||||
if ( currentStationIndex > stationList.size() - 1 ) {
|
||||
return;
|
||||
@@ -730,7 +729,7 @@ public class OchBusOrderModel {
|
||||
}
|
||||
if ( awayPassengersResponse == null || awayPassengersResponse.data == null
|
||||
|| awayPassengersResponse.data.orders == null || awayPassengersResponse.data.orders.isEmpty() ) {
|
||||
Logger.d( TAG, "播报下车乘客信息为null");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "播报下车乘客信息为null");
|
||||
} else {
|
||||
builder.append( ",请尾号为 " );
|
||||
for ( QueryLeaveAwayPassengersResponse.LeaveAwayPassenger leaveAwayPassenger : awayPassengersResponse.data.orders ) {
|
||||
@@ -749,7 +748,7 @@ public class OchBusOrderModel {
|
||||
builder.append( "的乘客下车" );
|
||||
}
|
||||
builder.append(",带好随身物品,下车请注意安全");
|
||||
Logger.d(TAG, "TTS:" + builder.toString());
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "TTS:" + builder.toString());
|
||||
AIAssist.getInstance( mContext ).speakTTSVoice( builder.toString() );
|
||||
}
|
||||
|
||||
@@ -757,7 +756,7 @@ public class OchBusOrderModel {
|
||||
* 修改小巴运营状态
|
||||
*/
|
||||
public void onChangeOperationStatus() {
|
||||
Logger.d( TAG, "修改小巴运营状态");
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "修改小巴运营状态");
|
||||
if (isWorking()){//收车
|
||||
stopTakeOrder();
|
||||
}else {//出车
|
||||
@@ -769,13 +768,13 @@ public class OchBusOrderModel {
|
||||
* 行程结束
|
||||
*/
|
||||
private void travelOver() {
|
||||
// Logger.d( TAG, "行程结束");
|
||||
// CallerLogger.INSTANCE.d( M_BUS + TAG, "行程结束");
|
||||
|
||||
if ( currentStationIndex >= stationList.size() ) {
|
||||
Logger.e( TAG, "travel over index out of station list" );
|
||||
CallerLogger.INSTANCE.e( M_BUS + TAG, "travel over index out of station list" );
|
||||
return;
|
||||
}
|
||||
Logger.d( TAG, "单程结束====" );
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "单程结束====" );
|
||||
CallerAutoPilotManager.INSTANCE.cancelAutoPilot();
|
||||
AIAssist.getInstance( mContext ).speakTTSVoice( "感谢您体验'蘑菇车联'无人驾驶小巴车,请您携带好随身物品,我们下次再见" );
|
||||
leaveStation(true,true);
|
||||
@@ -791,14 +790,14 @@ public class OchBusOrderModel {
|
||||
*/
|
||||
public void onArriveAt( MessagePad.ArrivalNotification data){
|
||||
if ( currentStationIndex > stationList.size() - 1 ) {
|
||||
Logger.e( TAG, "到站异常,取消后续操作结束" );
|
||||
CallerLogger.INSTANCE.e( M_BUS + TAG, "到站异常,取消后续操作结束" );
|
||||
return;
|
||||
}
|
||||
if (FunctionBuildConfig.isDemoMode && currentStationIndex == stationList.size() - 1){//到达最后一站结束美化
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = false;
|
||||
Logger.d(TAG, "美化模式-ignore:置为false(到最后一站)");
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "美化模式-ignore:置为false(到最后一站)");
|
||||
}
|
||||
Logger.d( TAG, "到站====currentStationIndex=" + currentStationIndex);
|
||||
CallerLogger.INSTANCE.d( M_BUS + TAG, "到站====currentStationIndex=" + currentStationIndex);
|
||||
isGoingToNextStation = false;
|
||||
// 到达站点后,更新站点状态
|
||||
// currentStationIndex = getNextStopStation();
|
||||
@@ -835,7 +834,7 @@ public class OchBusOrderModel {
|
||||
}
|
||||
|
||||
private void startOrStopOrderLoop(boolean start) {
|
||||
Logger.d(TAG, "startOrStopOrderLoop() " + start);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "startOrStopOrderLoop() " + start);
|
||||
if (start) {
|
||||
OchBusModelLoopManager.getInstance().startHeartbeatLoop();
|
||||
} else {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.mogo.och.bus.presenter;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.location.Location;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
@@ -12,7 +13,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.bus.bean.OchBusStation;
|
||||
import com.mogo.och.bus.callback.CarOperationStatusCallback;
|
||||
@@ -116,14 +117,14 @@ public class OchBusPresenter extends Presenter<OchBusFragment>
|
||||
mStationList.addAll(stationList);
|
||||
mCurrentStation = currentStation;
|
||||
functionDemoModeChange();
|
||||
Log.d("OchBusOrderModel =", " mCurrentStation =" + mCurrentStation);
|
||||
CallerLogger.INSTANCE.d(M_BUS + "OchBusOrderModel =", " mCurrentStation =" + mCurrentStation);
|
||||
if (mView != null) {
|
||||
mView.refreshBusStations(stationList, currentStation, nextStation, isArrived);
|
||||
}
|
||||
}
|
||||
|
||||
private void functionDemoModeChange() {
|
||||
// Log.d("OchBusOrderModel ="," functionDemoModeChange ="+mCurrentStation);
|
||||
// CallerLogger.INSTANCE.d(M_BUS + "OchBusOrderModel ="," functionDemoModeChange ="+mCurrentStation);
|
||||
if (FunctionBuildConfig.isDemoMode
|
||||
&& (
|
||||
(mCurrentStation > 0 && mCurrentStation < mStationList.size() - 1)
|
||||
@@ -158,7 +159,7 @@ public class OchBusPresenter extends Presenter<OchBusFragment>
|
||||
public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) {
|
||||
if (autopilotStatusInfo == null) return;
|
||||
int state = autopilotStatusInfo.getState();
|
||||
Logger.d(TAG, "onStateChange: " + state + "currentAutopilotStatus = " + currentAutopilotStatus);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "onStateChange: " + state + "currentAutopilotStatus = " + currentAutopilotStatus);
|
||||
switch (state) {
|
||||
case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE:
|
||||
if (currentAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) {
|
||||
@@ -180,7 +181,7 @@ public class OchBusPresenter extends Presenter<OchBusFragment>
|
||||
)
|
||||
)
|
||||
) {
|
||||
Log.d("OchBusOrderModel=", "有美化功能");
|
||||
CallerLogger.INSTANCE.d(M_BUS + "OchBusOrderModel=", "有美化功能");
|
||||
return;
|
||||
}
|
||||
// 改变UI自动驾驶状态
|
||||
@@ -211,7 +212,7 @@ public class OchBusPresenter extends Presenter<OchBusFragment>
|
||||
)
|
||||
)
|
||||
) {
|
||||
Log.d("OchBusOrderModel=", "有美化功能");
|
||||
CallerLogger.INSTANCE.d(M_BUS + "OchBusOrderModel=", "有美化功能");
|
||||
return;
|
||||
}
|
||||
mView.onAutopilotEnableChange(false);
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.mogo.och.bus.receiver;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.bus.constant.OchBusConst;
|
||||
|
||||
/**
|
||||
@@ -23,7 +25,7 @@ public class TestOchBusBroadcastReceiver extends BroadcastReceiver {
|
||||
try {
|
||||
this.mContext = context;
|
||||
int sceneType = intent.getIntExtra(OchBusConst.BROADCAST_TEST_BUS_CONTROL_TYPE_EXTRA_KEY, 0);
|
||||
Logger.d(TAG, "sceneType:" + sceneType);
|
||||
CallerLogger.INSTANCE.d(M_BUS + TAG, "sceneType:" + sceneType);
|
||||
|
||||
// 分发场景
|
||||
dispatchSceneTest(sceneType);
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.mogo.och.taxi.passenger;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
@@ -34,7 +36,7 @@ class MogoOCHTaxi implements IMogoOCH, IMogoStatusChangedListener {
|
||||
private int mContainerId;
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
Logger.d( TAG, "init" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "init" );
|
||||
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener("ochTaxi", StatusDescriptor.VR_MODE,this);
|
||||
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener("ochTaxi", StatusDescriptor.TOP_VIEW,this);
|
||||
}
|
||||
@@ -43,19 +45,19 @@ class MogoOCHTaxi implements IMogoOCH, IMogoStatusChangedListener {
|
||||
* 进入鹰眼模式,设置手势缩放地图失效
|
||||
*/
|
||||
private void stepIntoVrMode() {
|
||||
Logger.d( TAG, "进入vr模式" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "进入vr模式" );
|
||||
MogoMapUIController.getInstance()
|
||||
.openVrMode( false );
|
||||
}
|
||||
|
||||
private void showFragment() {
|
||||
if (ochTaxiPassengerFragment == null) {
|
||||
Logger.d(TAG, "准备add fragment======");
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "准备add fragment======");
|
||||
ochTaxiPassengerFragment = new TaxiPassengerBaseFragment();
|
||||
mActivity.getSupportFragmentManager().beginTransaction().add(mContainerId, ochTaxiPassengerFragment).commitAllowingStateLoss();
|
||||
return;
|
||||
}
|
||||
Logger.d(TAG, "准备show fragment");
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "准备show fragment");
|
||||
mActivity.getSupportFragmentManager().beginTransaction().show(ochTaxiPassengerFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mogo.och.taxi.passenger.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.location.Location;
|
||||
@@ -24,7 +26,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager;
|
||||
import com.mogo.eagle.core.function.call.v2x.CallLimitingVelocityListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
@@ -216,7 +218,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
|
||||
private void startOrStopOrderLoop(boolean start) {
|
||||
Logger.d(TAG, "startOrStopOrderLoop() " + start);
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "startOrStopOrderLoop() " + start);
|
||||
if (start) {
|
||||
TaxiPassengerModelLoopManager.getInstance().startInAndWaitOrdersLoop();
|
||||
// TaxiPassengerModelLoopManager.getInstance().startHeartbeatLoop();
|
||||
@@ -389,10 +391,10 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
|
||||
//监听网络变化,避免启动机器时无网导致无法更新订单信息
|
||||
private IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() {
|
||||
private final IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() {
|
||||
@Override
|
||||
public void onIntentReceived( String intentStr, Intent intent ) {
|
||||
Logger.d( TAG, "onIntentReceived = %s", intentStr );
|
||||
CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "onIntentReceived = %s", intentStr );
|
||||
if ( ConnectivityManager.CONNECTIVITY_ACTION.equals( intentStr ) ) {
|
||||
if ( NetworkUtils.isConnected( mContext ) ) {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
@@ -403,7 +405,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
};
|
||||
|
||||
private IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() {
|
||||
private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() {
|
||||
// VR mode变更回调
|
||||
@Override
|
||||
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
|
||||
@@ -417,15 +419,15 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
};
|
||||
|
||||
private IMogoLifecycleListener mSocketLifeCycleLisnter = new IMogoLifecycleListener() {
|
||||
private final IMogoLifecycleListener mSocketLifeCycleLisnter = new IMogoLifecycleListener() {
|
||||
@Override
|
||||
public void onConnectFailure() { Logger.e(TAG,"socket onConnectFailure"); }
|
||||
public void onConnectFailure() { CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"socket onConnectFailure"); }
|
||||
|
||||
@Override
|
||||
public void onConnectSuccess() { Logger.e(TAG,"socket onConnectSuccess"); }
|
||||
public void onConnectSuccess() { CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"socket onConnectSuccess"); }
|
||||
|
||||
@Override
|
||||
public void onConnectLost() { Logger.e(TAG,"socket onConnectLost"); }
|
||||
public void onConnectLost() { CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"socket onConnectLost"); }
|
||||
};
|
||||
|
||||
// 自车定位
|
||||
@@ -476,7 +478,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) {
|
||||
if (autopilotStatusInfo == null) return;
|
||||
int state = autopilotStatusInfo.getState();
|
||||
Logger.d( TAG, "state = %s", state );
|
||||
CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "state = %s", state );
|
||||
if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning();
|
||||
if (mCurrentOCHOrder != null
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.mogo.och.taxi.passenger.model;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -34,7 +36,7 @@ public class TaxiPassengerModelLoopManager {
|
||||
if (mInAndWaitServiceDisposable != null && !mInAndWaitServiceDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startInAndWaitOrdersLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startInAndWaitOrdersLoop()");
|
||||
mInAndWaitServiceDisposable = Observable.interval(TaxiPassengerConst.LOOP_DELAY,
|
||||
TaxiPassengerConst.LOOP_PERIOD_2S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -45,7 +47,7 @@ public class TaxiPassengerModelLoopManager {
|
||||
|
||||
public void stopInAndWaitOrdersLoop() {
|
||||
if (mInAndWaitServiceDisposable != null) {
|
||||
Logger.i(TAG, "stopInAndWaitOrdersLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "stopInAndWaitOrdersLoop()");
|
||||
mInAndWaitServiceDisposable.dispose();
|
||||
mInAndWaitServiceDisposable = null;
|
||||
}
|
||||
@@ -56,7 +58,7 @@ public class TaxiPassengerModelLoopManager {
|
||||
// if (mHeartbeatDisposable != null && !mHeartbeatDisposable.isDisposed()) {
|
||||
// return;
|
||||
// }
|
||||
// Logger.i(TAG, "startHeartbeatLoop()");
|
||||
// CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startHeartbeatLoop()");
|
||||
// mHeartbeatDisposable = Observable.interval(TaxiPassengerConst.LOOP_DELAY,
|
||||
// TaxiPassengerConst.LOOP_PERIOD_60S, TimeUnit.MILLISECONDS)
|
||||
// .map((aLong -> aLong + 1))
|
||||
@@ -67,7 +69,7 @@ public class TaxiPassengerModelLoopManager {
|
||||
|
||||
// public void stopHeartbeatLoop() {
|
||||
// if (mHeartbeatDisposable != null) {
|
||||
// Logger.i(TAG, "stopHeartbeatLoop()");
|
||||
// CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "stopHeartbeatLoop()");
|
||||
// mHeartbeatDisposable.dispose();
|
||||
// mHeartbeatDisposable = null;
|
||||
// }
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mogo.och.taxi.passenger.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.widget.Toast;
|
||||
@@ -22,7 +24,7 @@ import com.amap.api.navi.model.AimLessModeStat;
|
||||
import com.amap.api.navi.model.NaviInfo;
|
||||
import com.amap.api.navi.model.NaviLatLng;
|
||||
import com.autonavi.tbt.TrafficFacilityInfo;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerNaviChangedCallback;
|
||||
@@ -123,14 +125,14 @@ public class TaxiPassengerNaviToDestinationModel implements AMapNaviListener {
|
||||
@Override
|
||||
public void onCalculateRouteSuccess(int[] ints) {
|
||||
//多路径算路成功回调
|
||||
Logger.d(TAG,"onCalculateRouteSuccess");
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"onCalculateRouteSuccess");
|
||||
mAMapNavi.startNavi(NaviType.GPS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNaviInfoUpdate(NaviInfo naviinfo) {
|
||||
//导航过程中的信息更新,请看NaviInfo的具体说明
|
||||
Logger.d(TAG,"naviinfo = "+naviinfo.getPathRetainDistance()+" ,"+naviinfo.getPathRetainTime()
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"naviinfo = "+naviinfo.getPathRetainDistance()+" ,"+naviinfo.getPathRetainTime()
|
||||
+" ,"+naviinfo.getCurrentRoadName());
|
||||
|
||||
if (mFirstcalculateDriveRoute == 0 && SharedPrefsMgr.getInstance(mContext).getInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS,0) == 0){
|
||||
@@ -175,8 +177,8 @@ public class TaxiPassengerNaviToDestinationModel implements AMapNaviListener {
|
||||
// }else if (result.getErrorCode() == 6){
|
||||
// TipToast.longTip("终点坐标错误");
|
||||
// }
|
||||
Logger.i(TAG, "路线计算失败:错误码=" + result.getErrorCode() + ",Error Message= " + result.getErrorDetail());
|
||||
Logger.i(TAG, "错误码详细链接见:http://lbs.amap.com/api/android-navi-sdk/guide/tools/errorcode/");
|
||||
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "路线计算失败:错误码=" + result.getErrorCode() + ",Error Message= " + result.getErrorDetail());
|
||||
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "错误码详细链接见:http://lbs.amap.com/api/android-navi-sdk/guide/tools/errorcode/");
|
||||
}
|
||||
@Override
|
||||
public void onStartNavi(int type) {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package com.mogo.och.taxi.passenger.network;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager;
|
||||
import com.mogo.eagle.core.network.RequestOptions;
|
||||
import com.mogo.eagle.core.network.SubscribeImpl;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerCarHeartbeatReqBean;
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean;
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean;
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean;
|
||||
@@ -117,7 +117,7 @@ public class TaxiPassengerServiceManager {
|
||||
@Override
|
||||
public void onSuccess(T o) {
|
||||
super.onSuccess(o);
|
||||
Logger.e(TAG,apiName + ": onSuccess() " + o.msg);
|
||||
CallerLogger.INSTANCE.e(M_TAXI_P + TAG,apiName + ": onSuccess() " + o.msg);
|
||||
if (callback != null) {
|
||||
callback.onSuccess(o);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ public class TaxiPassengerServiceManager {
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
super.onError(e);
|
||||
Logger.e(TAG,apiName + ": onError() " + e.getMessage());
|
||||
CallerLogger.INSTANCE.e(M_TAXI_P + TAG,apiName + ": onError() " + e.getMessage());
|
||||
if (callback != null) {
|
||||
callback.onError();
|
||||
}
|
||||
@@ -135,7 +135,7 @@ public class TaxiPassengerServiceManager {
|
||||
@Override
|
||||
public void onError(String message, int code) {
|
||||
super.onError(message, code);
|
||||
Logger.e(TAG,String.format(apiName + ": onError() code = %d; message = %s;", code, message));
|
||||
CallerLogger.INSTANCE.e(M_TAXI_P + TAG,String.format(apiName + ": onError() code = %d; message = %s;", code, message));
|
||||
if (callback != null) {
|
||||
callback.onFail(code, message);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.mogo.och.taxi.passenger.presenter;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.location.Location;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
@@ -11,7 +12,7 @@ import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.taxi.passenger.R;
|
||||
@@ -46,7 +47,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
@Override
|
||||
public void onCreate( @NonNull LifecycleOwner owner ) {
|
||||
super.onCreate( owner );
|
||||
Logger.d( TAG, "网约车-出租车拿到订单" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "网约车-出租车拿到订单" );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -120,7 +121,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
|
||||
@Override
|
||||
public void onCurrentOrderStatusChanged(TaxiPassengerOrderQueryRespBean.Result order) {
|
||||
Log.d(TAG,"order = "+order.toString());
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"order = "+order.toString());
|
||||
if (mCurrentPassengerOrder == null){
|
||||
mCurrentPassengerOrder = order; //当前无订单
|
||||
updateOrderView(order);
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.mogo.och.taxi.passenger.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
@@ -31,7 +32,7 @@ import com.mogo.eagle.core.data.map.MogoLatLng;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.passenger.R;
|
||||
import com.mogo.och.taxi.passenger.callback.ITaxiPassengerMapViewCallback;
|
||||
import com.mogo.och.taxi.passenger.utils.TaxiPassengerMapAssetStyleUtil;
|
||||
@@ -87,7 +88,7 @@ public class TaxiPassengerMapDirectionView
|
||||
}
|
||||
|
||||
private void initView(Context context) {
|
||||
Logger.d(TAG, "initView");
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "initView");
|
||||
|
||||
mContext = context;
|
||||
|
||||
@@ -147,7 +148,7 @@ public class TaxiPassengerMapDirectionView
|
||||
mAMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
Logger.d(TAG, "smp---onMapLoaded");
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "smp---onMapLoaded");
|
||||
// 加载自定义样式
|
||||
CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions()
|
||||
.setEnable(true)
|
||||
@@ -172,7 +173,7 @@ public class TaxiPassengerMapDirectionView
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(@Nullable MogoLocation location) {
|
||||
Logger.d(TAG, "onCarLocationChanged2 :" + location.getLatitude()+":"+location.getLongitude());
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2 :" + location.getLatitude()+":"+location.getLongitude());
|
||||
if (location == null){
|
||||
return;
|
||||
}
|
||||
@@ -180,7 +181,7 @@ public class TaxiPassengerMapDirectionView
|
||||
|
||||
//更新车辆位置
|
||||
if (mCarMarker != null) {
|
||||
Log.d(TAG, "location.getBearing() = " + location.getBearing());
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "location.getBearing() = " + location.getBearing());
|
||||
mCarMarker.setRotateAngle(360 - location.getBearing());
|
||||
mCarMarker.setPosition(currentLatLng);
|
||||
mCarMarker.setToTop();
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package com.mogo.och.taxi.passenger.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
|
||||
|
||||
import android.location.Location;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Looper;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.RotateAnimation;
|
||||
@@ -18,7 +19,7 @@ import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.eagle.core.data.map.MogoLatLng;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.taxi.passenger.R;
|
||||
@@ -331,7 +332,7 @@ public class TaxiPassengerServingOrderFragment extends
|
||||
private void setSeekBarMax() {
|
||||
//计算订单起点和终点距离
|
||||
int maxInt = SharedPrefsMgr.getInstance(getContext()).getInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS,0);
|
||||
Logger.d(TAG, "maxInt = " + maxInt);
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "maxInt = " + maxInt);
|
||||
mProgressSeekBar.setMax(maxInt);
|
||||
}
|
||||
|
||||
@@ -375,7 +376,7 @@ public class TaxiPassengerServingOrderFragment extends
|
||||
}
|
||||
|
||||
public void routeResult(List<MogoLatLng> latLngList) {
|
||||
Log.d(TAG, "routeResult:" + latLngList.size());
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "routeResult:" + latLngList.size());
|
||||
if (latLngList.size() > 0) {
|
||||
drawablePolyline(latLngList);
|
||||
} else {
|
||||
@@ -467,7 +468,7 @@ public class TaxiPassengerServingOrderFragment extends
|
||||
*/
|
||||
private void updateSpeedView(float newSpeed) {
|
||||
int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值
|
||||
Logger.d(TAG,"mLimitingVelocity = "+mLimitingVelocity);
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"mLimitingVelocity = "+mLimitingVelocity);
|
||||
if (speed < mLimitingVelocity) {
|
||||
mTPSpeedTv.setText(getSpeedTextStyle(String.valueOf(speed), true));
|
||||
mSpeedLayoutBg.setBackgroundResource(R.drawable.taxi_p_speed_light_green_bg);
|
||||
@@ -518,7 +519,7 @@ public class TaxiPassengerServingOrderFragment extends
|
||||
*/
|
||||
private void startIvCompass(float bearing) {
|
||||
bearing = 360 - bearing;
|
||||
Log.d(TAG, "startIvCompass: " + bearing);
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "startIvCompass: " + bearing);
|
||||
rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF
|
||||
, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
|
||||
rotateAnimation.setFillAfter(true);
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package com.mogo.och.taxi;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
@@ -35,7 +36,7 @@ class MogoOCHTaxi implements IMogoOCH , IMogoStatusChangedListener {
|
||||
private int mContainerId;
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
Logger.d( TAG, "init" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI + TAG, "init" );
|
||||
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener("ochTaxi", StatusDescriptor.VR_MODE,this);
|
||||
MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener("ochTaxi", StatusDescriptor.TOP_VIEW,this);
|
||||
}
|
||||
@@ -44,19 +45,19 @@ class MogoOCHTaxi implements IMogoOCH , IMogoStatusChangedListener {
|
||||
* 进入鹰眼模式,设置手势缩放地图失效
|
||||
*/
|
||||
private void stepIntoVrMode() {
|
||||
Logger.d( TAG, "进入vr模式" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI + TAG, "进入vr模式" );
|
||||
MogoMapUIController.getInstance()
|
||||
.openVrMode( false );
|
||||
}
|
||||
|
||||
private void showFragment() {
|
||||
if (ochTaxiFragment == null) {
|
||||
Logger.d(TAG, "准备add fragment======");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "准备add fragment======");
|
||||
ochTaxiFragment = new OCHTaxiFragment();
|
||||
mActivity.getSupportFragmentManager().beginTransaction().add(mContainerId, ochTaxiFragment).commitAllowingStateLoss();
|
||||
return;
|
||||
}
|
||||
Logger.d(TAG, "准备show fragment");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "准备show fragment");
|
||||
mActivity.getSupportFragmentManager().beginTransaction().show(ochTaxiFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.mogo.och.taxi.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.location.Location;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
@@ -16,7 +17,6 @@ import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
@@ -25,7 +25,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
@@ -148,31 +148,31 @@ public class MogoOCHTaxiModelNew {
|
||||
public void accept(Throwable e) {
|
||||
if (e instanceof UndeliverableException) {
|
||||
e = e.getCause();
|
||||
Log.d(TAG, "UndeliverableException");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "UndeliverableException");
|
||||
}
|
||||
if ((e instanceof IOException)) {//
|
||||
// fine, irrelevant network problem or API that throws on cancellation
|
||||
Log.d(TAG, "IOException");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "IOException");
|
||||
return;
|
||||
}
|
||||
if (e instanceof InterruptedException) {
|
||||
// fine, some blocking code was interrupted by a dispose call
|
||||
Log.d(TAG, "InterruptedException");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "InterruptedException");
|
||||
return;
|
||||
}
|
||||
if ((e instanceof NullPointerException) || (e instanceof IllegalArgumentException)) {
|
||||
// that's likely a bug in the application
|
||||
Log.d(TAG, "NullPointerException or IllegalArgumentException");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "NullPointerException or IllegalArgumentException");
|
||||
Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
|
||||
return;
|
||||
}
|
||||
if (e instanceof IllegalStateException) {
|
||||
// that's a bug in RxJava or in a custom operator
|
||||
Log.d(TAG, "IllegalStateException");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "IllegalStateException");
|
||||
Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
|
||||
return;
|
||||
}
|
||||
Log.d(TAG,"Undeliverable exception");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"Undeliverable exception");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -241,7 +241,7 @@ public class MogoOCHTaxiModelNew {
|
||||
}
|
||||
|
||||
private void startOrStopOrderLoop(boolean start) {
|
||||
Logger.d(TAG, "startOrStopOrderLoop() " + start);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "startOrStopOrderLoop() " + start);
|
||||
if (start) {
|
||||
OCHTaxiModelLoopManager.getInstance().startInAndWaitOrdersLoop();
|
||||
OCHTaxiModelLoopManager.getInstance().startNewBookingOrderLoop();
|
||||
@@ -299,7 +299,7 @@ public class MogoOCHTaxiModelNew {
|
||||
if (mCarStatusCallback != null) {
|
||||
mCarStatusCallback.onCarStatusChanged(mOCHCarStatus == 1);
|
||||
}
|
||||
Logger.d(TAG, "changeCarStatus:" + status);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "changeCarStatus:" + status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -751,7 +751,7 @@ public class MogoOCHTaxiModelNew {
|
||||
&& mCurrentOCHOrder.orderStatus == OrderStatusEnum.OnTheWayToEndStation.getCode()) {
|
||||
// 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
|
||||
Logger.d(TAG, "美化模式-ignore:置为true(更新本地order信息)");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "美化模式-ignore:置为true(更新本地order信息)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -762,7 +762,7 @@ public class MogoOCHTaxiModelNew {
|
||||
if (FunctionBuildConfig.isDemoMode) {
|
||||
// 当美化模式(演示模式)开启时: 取消或订单已完成时,置false
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = false;
|
||||
Logger.d(TAG, "美化模式-ignore:置为false(清除当前订单)");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "美化模式-ignore:置为false(清除当前订单)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,7 +779,7 @@ public class MogoOCHTaxiModelNew {
|
||||
//以当前订单为基础,开启自动驾驶
|
||||
public void startAutoPilot() {
|
||||
if (!checkCurrentOCHOrder()) {
|
||||
Logger.e(TAG, "no order or order is empty.");
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "no order or order is empty.");
|
||||
TipToast.shortTip("当前订单不存在或异常!");
|
||||
return;
|
||||
}
|
||||
@@ -802,7 +802,7 @@ public class MogoOCHTaxiModelNew {
|
||||
parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat(startWgsLat, startWgsLon);
|
||||
parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat(endWgsLat, endWgsLon);
|
||||
CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters);
|
||||
Logger.d(TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters)
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters)
|
||||
+ " ,startSiteName=" + mCurrentOCHOrder.startSiteAddr + " ,endSiteName=" + mCurrentOCHOrder.endSiteAddr);
|
||||
if (DebugConfig.isDebug()) {
|
||||
// TipToast.shortTip("Start autopilot!");
|
||||
@@ -816,7 +816,7 @@ public class MogoOCHTaxiModelNew {
|
||||
public void cancelAutopilot() {
|
||||
try {
|
||||
CallerAutoPilotManager.INSTANCE.cancelAutoPilot();
|
||||
Logger.d(TAG, "结束自动驾驶");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "结束自动驾驶");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -838,7 +838,7 @@ public class MogoOCHTaxiModelNew {
|
||||
// TipToast.shortTip("距离上车点:" + Double.valueOf(distance).intValue());
|
||||
}
|
||||
|
||||
Logger.i(TAG, "judgeStartStation() distance = " + distance);
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "judgeStartStation() distance = " + distance);
|
||||
// if (mOrderStatusCallback != null && distance >= 0) {
|
||||
// mOrderStatusCallback.onCurrentOrderDistToStartChanged((long) distance, 0);
|
||||
// }
|
||||
@@ -871,10 +871,10 @@ public class MogoOCHTaxiModelNew {
|
||||
}
|
||||
|
||||
//监听网络变化,避免启动机器时无网导致无法更新订单信息
|
||||
private IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() {
|
||||
private final IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() {
|
||||
@Override
|
||||
public void onIntentReceived(String intentStr, Intent intent) {
|
||||
Logger.d(TAG, "onIntentReceived = %s", intentStr);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "onIntentReceived = %s", intentStr);
|
||||
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intentStr)) {
|
||||
if (NetworkUtils.isConnected(mContext)) {
|
||||
startOrStopOrderLoop(mOCHCarStatus == 1);
|
||||
@@ -884,7 +884,7 @@ public class MogoOCHTaxiModelNew {
|
||||
}
|
||||
};
|
||||
|
||||
private IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() {
|
||||
private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() {
|
||||
// VR mode变更回调
|
||||
@Override
|
||||
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
|
||||
@@ -896,25 +896,25 @@ public class MogoOCHTaxiModelNew {
|
||||
}
|
||||
};
|
||||
|
||||
private IMogoLifecycleListener mSocketLifeCycleLisnter = new IMogoLifecycleListener() {
|
||||
private final IMogoLifecycleListener mSocketLifeCycleLisnter = new IMogoLifecycleListener() {
|
||||
@Override
|
||||
public void onConnectFailure() {
|
||||
Logger.e(TAG, "socket onConnectFailure");
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "socket onConnectFailure");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnectSuccess() {
|
||||
Logger.e(TAG, "socket onConnectSuccess");
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "socket onConnectSuccess");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnectLost() {
|
||||
Logger.e(TAG, "socket onConnectLost");
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "socket onConnectLost");
|
||||
}
|
||||
};
|
||||
|
||||
// 自车定位
|
||||
private IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() {
|
||||
private final IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() {
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged2(Location location) {
|
||||
@@ -991,7 +991,7 @@ public class MogoOCHTaxiModelNew {
|
||||
public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) {
|
||||
if (autopilotStatusInfo == null) return;
|
||||
int state = autopilotStatusInfo.getState();
|
||||
Logger.d(TAG, "state = %s", state);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "state = %s", state);
|
||||
if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning();
|
||||
if (mCurrentOCHOrder != null
|
||||
@@ -1003,7 +1003,7 @@ public class MogoOCHTaxiModelNew {
|
||||
if (FunctionBuildConfig.isDemoMode) {
|
||||
// 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
|
||||
Logger.d(TAG, "美化模式-ignore:置为true(到达出发点且已开启自动驾驶)");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "美化模式-ignore:置为true(到达出发点且已开启自动驾驶)");
|
||||
}
|
||||
}
|
||||
} else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.mogo.och.taxi.model;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.amap.api.navi.AMapNavi;
|
||||
@@ -23,6 +24,7 @@ import com.amap.api.navi.model.AimLessModeStat;
|
||||
import com.amap.api.navi.model.NaviInfo;
|
||||
import com.amap.api.navi.model.NaviLatLng;
|
||||
import com.autonavi.tbt.TrafficFacilityInfo;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.och.taxi.callback.IOCHTaxiNaviChangedCallback;
|
||||
@@ -170,8 +172,8 @@ public class NaviToDestinationModel implements AMapNaviListener {
|
||||
// }else if (result.getErrorCode() == 6){
|
||||
// TipToast.longTip("终点坐标错误");
|
||||
// }
|
||||
Log.i("dm", "路线计算失败:错误码=" + result.getErrorCode() + ",Error Message= " + result.getErrorDetail());
|
||||
Log.i("dm", "错误码详细链接见:http://lbs.amap.com/api/android-navi-sdk/guide/tools/errorcode/");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + "dm", "路线计算失败:错误码=" + result.getErrorCode() + ",Error Message= " + result.getErrorDetail());
|
||||
CallerLogger.INSTANCE.i(M_TAXI + "dm", "错误码详细链接见:http://lbs.amap.com/api/android-navi-sdk/guide/tools/errorcode/");
|
||||
}
|
||||
@Override
|
||||
public void onStartNavi(int type) {
|
||||
@@ -257,7 +259,7 @@ public class NaviToDestinationModel implements AMapNaviListener {
|
||||
// //当前用户要执行的动作
|
||||
// int recommend = aMapLaneInfo.frontLane[i];
|
||||
//
|
||||
// Log.e("ggb", "---->>> background is " + background + " ; recommend is " + recommend);
|
||||
// CallerLogger.INSTANCE.e(M_TAXI + "ggb", "---->>> background is " + background + " ; recommend is " + recommend);
|
||||
// //根据文档中每个动作对应的枚举类型,显示对应的图片
|
||||
// try {
|
||||
// sb.append(",第" + (i + 1) + "车道为" + array[background]);
|
||||
@@ -269,7 +271,7 @@ public class NaviToDestinationModel implements AMapNaviListener {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
// Log.e("showLaneInfo", sb.toString());
|
||||
// CallerLogger.INSTANCE.e(M_TAXI + "showLaneInfo", sb.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.mogo.och.taxi.model;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.constant.OCHTaxiConst;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -36,7 +38,7 @@ public class OCHTaxiModelLoopManager {
|
||||
if (mInAndWaitServiceDisposable != null && !mInAndWaitServiceDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startInAndWaitOrdersLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "startInAndWaitOrdersLoop()");
|
||||
mInAndWaitServiceDisposable = Observable.interval(OCHTaxiConst.LOOP_DELAY,
|
||||
OCHTaxiConst.LOOP_PERIOD_2S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -47,7 +49,7 @@ public class OCHTaxiModelLoopManager {
|
||||
|
||||
public void stopInAndWaitOrdersLoop() {
|
||||
if (mInAndWaitServiceDisposable != null) {
|
||||
Logger.i(TAG, "stopInAndWaitOrdersLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "stopInAndWaitOrdersLoop()");
|
||||
mInAndWaitServiceDisposable.dispose();
|
||||
mInAndWaitServiceDisposable = null;
|
||||
}
|
||||
@@ -57,7 +59,7 @@ public class OCHTaxiModelLoopManager {
|
||||
if (mNewBookingOrderDisposable != null && !mNewBookingOrderDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startNewBookingOrderLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "startNewBookingOrderLoop()");
|
||||
mNewBookingOrderDisposable = Observable.interval(OCHTaxiConst.LOOP_DELAY,
|
||||
OCHTaxiConst.LOOP_PERIOD_1S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -68,7 +70,7 @@ public class OCHTaxiModelLoopManager {
|
||||
|
||||
public void stopNewBookingOrderLoop() {
|
||||
if (mNewBookingOrderDisposable != null) {
|
||||
Logger.i(TAG, "stopNewBookingOrderLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "stopNewBookingOrderLoop()");
|
||||
mNewBookingOrderDisposable.dispose();
|
||||
mNewBookingOrderDisposable = null;
|
||||
}
|
||||
@@ -78,7 +80,7 @@ public class OCHTaxiModelLoopManager {
|
||||
if (mGrabResultDisposable != null && !mGrabResultDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startGrabResultLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "startGrabResultLoop()");
|
||||
mGrabResultDisposable = Observable.interval(OCHTaxiConst.LOOP_DELAY,
|
||||
OCHTaxiConst.LOOP_PERIOD_1S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -89,7 +91,7 @@ public class OCHTaxiModelLoopManager {
|
||||
|
||||
public void stopGrabResultLoop() {
|
||||
if (mGrabResultDisposable != null) {
|
||||
Logger.i(TAG, "stopGrabResultLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "stopGrabResultLoop()");
|
||||
mGrabResultDisposable.dispose();
|
||||
mGrabResultDisposable = null;
|
||||
}
|
||||
@@ -99,7 +101,7 @@ public class OCHTaxiModelLoopManager {
|
||||
if (mHeartbeatDisposable != null && !mHeartbeatDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, "startHeartbeatLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "startHeartbeatLoop()");
|
||||
mHeartbeatDisposable = Observable.interval(OCHTaxiConst.LOOP_DELAY,
|
||||
OCHTaxiConst.LOOP_PERIOD_60S, TimeUnit.MILLISECONDS)
|
||||
.map((aLong -> aLong + 1))
|
||||
@@ -110,7 +112,7 @@ public class OCHTaxiModelLoopManager {
|
||||
|
||||
public void stopHeartbeatLoop() {
|
||||
if (mHeartbeatDisposable != null) {
|
||||
Logger.i(TAG, "stopHeartbeatLoop()");
|
||||
CallerLogger.INSTANCE.i(M_TAXI + TAG, "stopHeartbeatLoop()");
|
||||
mHeartbeatDisposable.dispose();
|
||||
mHeartbeatDisposable = null;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.mogo.och.taxi.network;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.network.RequestOptions;
|
||||
import com.mogo.eagle.core.network.SubscribeImpl;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.taxi.bean.CarHeartbeatReqBean;
|
||||
import com.mogo.och.taxi.bean.DriverServiceDataRespBean;
|
||||
@@ -375,7 +377,7 @@ public class OCHTaxiServiceManagerNew {
|
||||
@Override
|
||||
public void onSuccess(T o) {
|
||||
super.onSuccess(o);
|
||||
Logger.e(TAG,apiName + ": onSuccess() " + o.msg);
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG,apiName + ": onSuccess() " + o.msg);
|
||||
if (callback != null) {
|
||||
callback.onSuccess(o);
|
||||
}
|
||||
@@ -384,7 +386,7 @@ public class OCHTaxiServiceManagerNew {
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
super.onError(e);
|
||||
Logger.e(TAG,apiName + ": onError() " + e.getMessage());
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG,apiName + ": onError() " + e.getMessage());
|
||||
if (callback != null) {
|
||||
callback.onError();
|
||||
}
|
||||
@@ -393,7 +395,7 @@ public class OCHTaxiServiceManagerNew {
|
||||
@Override
|
||||
public void onError(String message, int code) {
|
||||
super.onError(message, code);
|
||||
Logger.e(TAG,String.format(apiName + ": onError() code = %d; message = %s;", code, message));
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG,String.format(apiName + ": onError() code = %d; message = %s;", code, message));
|
||||
if (callback != null) {
|
||||
callback.onFail(code, message);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package com.mogo.och.taxi.presenter;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.location.Location;
|
||||
import android.os.Build;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
@@ -12,7 +13,7 @@ import androidx.lifecycle.LifecycleOwner;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean;
|
||||
@@ -48,7 +49,7 @@ public class OCHTaxiPresenter extends Presenter<OCHTaxiFragment> implements IOCH
|
||||
@Override
|
||||
public void onCreate( @NonNull LifecycleOwner owner ) {
|
||||
super.onCreate( owner );
|
||||
Logger.d( TAG, "网约车-出租车拿到订单" );
|
||||
CallerLogger.INSTANCE.d( M_TAXI + TAG, "网约车-出租车拿到订单" );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -184,7 +185,7 @@ public class OCHTaxiPresenter extends Presenter<OCHTaxiFragment> implements IOCH
|
||||
@RequiresApi(api = Build.VERSION_CODES.P)
|
||||
@Override
|
||||
public void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
|
||||
Log.d(TAG,"order = "+order.toString());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"order = "+order.toString());
|
||||
mView.updateCurrentOrderStatusChanged(order);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.AnimationDrawable;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
@@ -35,7 +36,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListen
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
|
||||
import com.mogo.eagle.core.function.call.map.CallerSmpManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.map.MogoMarkerManager;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
@@ -104,7 +105,7 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
// onAutopilotStatusChanged(false);
|
||||
// });
|
||||
mSpeedView.setOnLongClickListener(v -> {
|
||||
Log.d(TAG, "长按显示状态工具栏");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "长按显示状态工具栏");
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("oper", 52);
|
||||
MogoApisHandler.getInstance().getApis().getIntentManagerApi().invoke("com.mogo.mock", intent);
|
||||
@@ -188,7 +189,7 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
// MogoApisHandler.getInstance().getApis()
|
||||
// .getAdasControllerApi()
|
||||
// .mockOchStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE, "不能使用");
|
||||
//// Logger.d("lianglihui","模拟 不可自动驾驶");
|
||||
//// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","模拟 不可自动驾驶");
|
||||
// }
|
||||
// );
|
||||
|
||||
@@ -199,7 +200,7 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
// .getAdasControllerApi()
|
||||
// .mockOchStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE, "能使用");
|
||||
//
|
||||
//// Logger.d("lianglihui","模拟 可自动驾驶");
|
||||
//// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","模拟 可自动驾驶");
|
||||
// }
|
||||
// );
|
||||
|
||||
@@ -209,7 +210,7 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
// MogoApisHandler.getInstance().getApis()
|
||||
// .getAdasControllerApi()
|
||||
// .mockOchStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING, "Running");
|
||||
//// Logger.d("lianglihui","模拟 自动驾驶能力");
|
||||
//// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","模拟 自动驾驶能力");
|
||||
// }
|
||||
// );
|
||||
|
||||
@@ -219,14 +220,14 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
// MogoApisHandler.getInstance().getApis()
|
||||
// .getAdasControllerApi().mockOchStatus(-1, "Arrived");
|
||||
//
|
||||
//// Logger.d("lianglihui","模拟 自动驾驶站");
|
||||
//// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","模拟 自动驾驶站");
|
||||
// }
|
||||
// );
|
||||
|
||||
// 模拟 站点下发工控
|
||||
findViewById(R.id.btnAutopilotControl).setOnClickListener(view ->
|
||||
{
|
||||
// Logger.d("lianglihui","模拟 站点下发工控");
|
||||
// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","模拟 站点下发工控");
|
||||
AutopilotControlParameters currentAutopilot = new AutopilotControlParameters();
|
||||
currentAutopilot.isSpeakVoice = true;
|
||||
// 万集东门站
|
||||
@@ -235,7 +236,7 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
|
||||
currentAutopilot.endLatLon = new AutopilotControlParameters.AutoPilotLonLat(40.1939540844, 116.720067);
|
||||
// 订单运营类型 (9出租车,10小巴)
|
||||
currentAutopilot.vehicleType = 10;
|
||||
Logger.d(TAG, "模拟 订单站点下发:" + currentAutopilot);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "模拟 订单站点下发:" + currentAutopilot);
|
||||
CallerAutoPilotManager.INSTANCE.startAutoPilot(currentAutopilot);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.amap.api.maps.AMap;
|
||||
@@ -12,6 +13,7 @@ import com.amap.api.navi.AMapNaviViewListener;
|
||||
import com.amap.api.navi.AMapNaviViewOptions;
|
||||
import com.amap.api.navi.model.RouteOverlayOptions;
|
||||
import com.mogo.eagle.core.utilcode.mogo.MapAssetStyleUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.R;
|
||||
import com.mogo.och.taxi.callback.IOCHTaxiNaviChangedCallback;
|
||||
import com.mogo.och.taxi.model.NaviToDestinationModel;
|
||||
@@ -199,8 +201,8 @@ public class OCHNaviFragment extends BaseTaxiUIFragment implements AMapNaviViewL
|
||||
|
||||
@Override
|
||||
public void onNaviViewLoaded() {
|
||||
Log.d("wlx", "导航页面加载成功");
|
||||
Log.d("wlx", "请不要使用AMapNaviView.getMap().setOnMapLoadedListener();会overwrite导航SDK内部画线逻辑");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + "wlx", "导航页面加载成功");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + "wlx", "请不要使用AMapNaviView.getMap().setOnMapLoadedListener();会overwrite导航SDK内部画线逻辑");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
@@ -8,7 +10,6 @@ import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -21,13 +22,12 @@ import com.amap.api.navi.model.NaviLatLng;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.MogoMarkerManager;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.taxi.callback.IOCHTaxiNaviChangedCallback;
|
||||
import com.mogo.och.taxi.constant.OCHTaxiConst;
|
||||
import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
@@ -163,7 +163,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
mTaxiFragment.queryCurOrderRouteInfo();
|
||||
mContentModule3.setVisibility(View.GONE);
|
||||
mContentModule2.setVisibility(View.VISIBLE);
|
||||
Logger.d(TAG, "已经达到终点");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经达到终点");
|
||||
mOrderStatus.setText(R.string.module_och_taxi_arrive_at_end_station2);
|
||||
mOrderServerStatus.setText(R.string.module_och_taxi_order_server_end);
|
||||
mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF"));
|
||||
@@ -178,7 +178,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
// + "<font color=\"#CAD6FF\">用时 </font>" + "<b><font color=\"#FFFFFF\">- -</font></b>" + "<font color=\"#CAD6FF\"> 分钟</font>";
|
||||
// mDistanceAndTime.setText(Html.fromHtml(strHtml2));
|
||||
} else if (OrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus) {
|
||||
Logger.d(TAG, "已经去往终点");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经去往终点");
|
||||
mContentModule3.setVisibility(View.GONE);
|
||||
mContentModule2.setVisibility(View.VISIBLE);
|
||||
mOrderStatus.setText(R.string.module_och_taxi_on_the_way_2_end_station);
|
||||
@@ -196,7 +196,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
// + "<font color=\"#CAD6FF\">用时 </font>" + "<b><font color=\"#FFFFFF\">- -</font></b>" + "<font color=\"#CAD6FF\"> 分钟</font>";
|
||||
// mDistanceAndTime.setText(Html.fromHtml(strHtml4));
|
||||
} else if (OrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus) {
|
||||
Logger.d(TAG, "已经达到起点");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经达到起点");
|
||||
mContentModule2.setVisibility(View.GONE);
|
||||
mContentModule3.setVisibility(View.VISIBLE);
|
||||
mArrivedStartTimeTv32.setVisibility(View.VISIBLE);
|
||||
@@ -233,7 +233,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
}
|
||||
mDistanceAndTime3.setText(Html.fromHtml(strHtml13));
|
||||
} else if (MogoOCHTaxiModelNew.getInstance().checkCurrentOCHOrder()) {
|
||||
Logger.d(TAG, "前往乘客上车地点");
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "前往乘客上车地点");
|
||||
mContentModule2.setVisibility(View.GONE);
|
||||
mContentModule3.setVisibility(View.VISIBLE);
|
||||
mContentModule31.setVisibility(View.VISIBLE);
|
||||
@@ -278,7 +278,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
|
||||
private void startNaviToStartStation(boolean isShow, double orderStartStationLat, double orderStartStationLng) {
|
||||
NaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
|
||||
Log.d(TAG, "currentLatLng=" + mTaxiFragment.mCurLatitude + " " + mTaxiFragment.mCurLongitude);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "currentLatLng=" + mTaxiFragment.mCurLatitude + " " + mTaxiFragment.mCurLongitude);
|
||||
NaviLatLng startNaviLatLng = new NaviLatLng(mTaxiFragment.mCurLatitude, mTaxiFragment.mCurLongitude);
|
||||
NaviLatLng endNaviLatLng = new NaviLatLng(orderStartStationLat, orderStartStationLng);
|
||||
NaviToDestinationModel.getInstance(getContext()).initAMapNavi(startNaviLatLng, endNaviLatLng);
|
||||
@@ -295,7 +295,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
}
|
||||
|
||||
public void updateDistanceAndTime(long meters, long timeInSecond) {
|
||||
// Log.d(TAG,"meters = "+meters);
|
||||
// CallerLogger.INSTANCE.d(M_TAXI + TAG,"meters = "+meters);
|
||||
if (mContentModule3 != null && mContentModule3.getVisibility() == View.VISIBLE) {
|
||||
DecimalFormat fnum = new DecimalFormat("##0.0");
|
||||
String dis = fnum.format((float) meters / 1000);
|
||||
@@ -313,7 +313,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
}
|
||||
|
||||
public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {
|
||||
Log.d(TAG, "meters = " + routeInfo.durationToEnd);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "meters = " + routeInfo.durationToEnd);
|
||||
DecimalFormat fnum = new DecimalFormat("##0.0");
|
||||
String dis = fnum.format((float) routeInfo.distanceToEnd / 1000);
|
||||
String strHtml2 = "<font color=\"#CAD6FF\">距离 </font>" + "<b><font color=\"#FFFFFF\">" + dis + "</font></b>" + "<font color=\"#CAD6FF\"> 公里</font>"
|
||||
@@ -352,7 +352,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
|
||||
public void onOrderStatusChanged(OrderQueryRespBean.Result order) {
|
||||
int status = order.orderStatus;
|
||||
Log.d(TAG, "status==" + status);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "status==" + status);
|
||||
mActivity.runOnUiThread(() -> {
|
||||
if (status == OrderStatusEnum.None.getCode() || status == OrderStatusEnum.Cancel.getCode() || status == OrderStatusEnum.JourneyCompleted.getCode()) {
|
||||
isSpeakedEndingNotice = false;
|
||||
@@ -415,7 +415,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
* @param being
|
||||
*/
|
||||
public void isHaveBeingOrder(boolean being) {
|
||||
Log.d(TAG, "isHaveBeingOrder = " + being);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "isHaveBeingOrder = " + being);
|
||||
if (being) {
|
||||
mNoDataView.setVisibility(View.GONE);
|
||||
mBeingOrderLayout.setVisibility(View.VISIBLE);
|
||||
@@ -434,7 +434,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
switch (mOrderServerStatus.getText().toString().trim()) {
|
||||
case "开始服务":
|
||||
case "服务完成":
|
||||
Log.d(TAG, mOrderServerStatus.getText().toString());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, mOrderServerStatus.getText().toString());
|
||||
startOrEndService(mOrderServerStatus.getText().toString().trim());
|
||||
break;
|
||||
}
|
||||
@@ -490,7 +490,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
|
||||
@Override
|
||||
public void reInitNaviAmap(boolean isPlay, boolean isRestart) {
|
||||
Log.d(TAG, "isPlay = " + isPlay + ", isRestart=" + isRestart);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "isPlay = " + isPlay + ", isRestart=" + isRestart);
|
||||
if (!isRestart) {
|
||||
mTaxiFragment.showNaviToStartStationFragment(false);
|
||||
return;
|
||||
@@ -526,7 +526,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
*/
|
||||
private void setOrRemoveMapMaker(boolean isAdd, String uuid, List<Double> station, int iconId){
|
||||
if (isAdd){
|
||||
Log.d("setMapMaker= ",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0));
|
||||
CallerLogger.INSTANCE.d(M_TAXI + "setMapMaker= ",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0));
|
||||
MogoMarkerOptions options = new MogoMarkerOptions();
|
||||
options.anchorColor("#000000");//不设置报错,暂时随便设置个
|
||||
options.setGps(true);//使用wgs 必须设置true
|
||||
@@ -537,7 +537,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
options.longitude(station.get(0));
|
||||
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .addMarker(uuid, options);
|
||||
}else {
|
||||
Log.d("RemoveMapMaker=",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0));
|
||||
CallerLogger.INSTANCE.d(M_TAXI + "RemoveMapMaker=",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0));
|
||||
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .removeMarkers(uuid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -7,16 +9,13 @@ import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.amap.api.maps.CoordinateConverter;
|
||||
import com.amap.api.maps.model.LatLng;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
|
||||
import com.mogo.eagle.core.data.map.MogoLatLng;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.och.taxi.R;
|
||||
import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
@@ -39,10 +38,10 @@ import mogo.telematics.pad.MessagePad;
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2021/1/18
|
||||
*
|
||||
* <p>
|
||||
* 网约车-出租车UI
|
||||
*/
|
||||
public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCHTaxiPresenter> implements OCHTaxiView{
|
||||
public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCHTaxiPresenter> implements OCHTaxiView {
|
||||
|
||||
public static final String TAG = "OCHTaxiFragment";
|
||||
|
||||
@@ -51,9 +50,10 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
Bundle args = new Bundle();
|
||||
|
||||
OCHTaxiFragment fragment = new OCHTaxiFragment();
|
||||
fragment.setArguments( args );
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
private OCHTaxiGrabOrderFragment grabOrderFragment;
|
||||
private OCHTaxiServerOrdersFragment serverOrdersFragment;
|
||||
private WeakReference<OCHTaxiPersonalDialogFragment> personalDialogFragment = null;
|
||||
@@ -69,7 +69,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
public void restartAutopilot() {
|
||||
// 在自动驾驶中,才会有重新开启自动驾驶的操作
|
||||
if (mPresenter.getCurOrderStatus() == OrderStatusEnum.OnTheWayToEndStation) {
|
||||
Logger.d( TAG, "restartAutopilot" );
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "restartAutopilot");
|
||||
mPresenter.startAutoPilot();
|
||||
startOrStopLoadingAnim(true);
|
||||
}
|
||||
@@ -87,10 +87,10 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
mPersonalBtn.setVisibility(View.GONE);
|
||||
initFragment();
|
||||
hidPanel();
|
||||
if ( MogoApisHandler.getInstance()
|
||||
if (MogoApisHandler.getInstance()
|
||||
.getApis()
|
||||
.getStatusManagerApi()
|
||||
.isVrMode() ) {
|
||||
.isVrMode()) {
|
||||
switchVRFlatMode(true);
|
||||
} else {
|
||||
switchVRFlatMode(false);
|
||||
@@ -109,27 +109,27 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
grabOrderFragment = OCHTaxiGrabOrderFragment.newInstance();
|
||||
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
|
||||
//默认显示OCHTaxiServerOrdersFragment
|
||||
transaction.add(R.id.fragment_container,serverOrdersFragment).show(serverOrdersFragment);
|
||||
transaction.add(R.id.fragment_container,grabOrderFragment).hide(grabOrderFragment);
|
||||
transaction.add(R.id.fragment_container, serverOrdersFragment).show(serverOrdersFragment);
|
||||
transaction.add(R.id.fragment_container, grabOrderFragment).hide(grabOrderFragment);
|
||||
transaction.commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
private void showGrabFragmentAndUpdate() {
|
||||
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
|
||||
if (grabOrderFragment == null){
|
||||
if (grabOrderFragment == null) {
|
||||
grabOrderFragment = OCHTaxiGrabOrderFragment.newInstance();
|
||||
transaction.add(R.id.fragment_container,grabOrderFragment).show(grabOrderFragment).commitAllowingStateLoss();
|
||||
}else {
|
||||
transaction.add(R.id.fragment_container, grabOrderFragment).show(grabOrderFragment).commitAllowingStateLoss();
|
||||
} else {
|
||||
transaction.show(grabOrderFragment).hide(serverOrdersFragment).commitAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
|
||||
public void showServerFragmentAndUpdate() {
|
||||
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
|
||||
if (serverOrdersFragment == null){
|
||||
if (serverOrdersFragment == null) {
|
||||
serverOrdersFragment = OCHTaxiServerOrdersFragment.newInstance();
|
||||
transaction.add(R.id.fragment_container,serverOrdersFragment).show(serverOrdersFragment);
|
||||
}else {
|
||||
transaction.add(R.id.fragment_container, serverOrdersFragment).show(serverOrdersFragment);
|
||||
} else {
|
||||
transaction.show(serverOrdersFragment).hide(grabOrderFragment).commitAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
@NonNull
|
||||
@Override
|
||||
protected OCHTaxiPresenter createPresenter() {
|
||||
return new OCHTaxiPresenter( this );
|
||||
return new OCHTaxiPresenter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -158,17 +158,17 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
}
|
||||
|
||||
public void updateOperationStatus(boolean inOperation) {
|
||||
Logger.e(TAG,"onOperationChanged:"+ inOperation);
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "onOperationChanged:" + inOperation);
|
||||
isOperationStatus = inOperation;
|
||||
if ( inOperation ) {
|
||||
tvOperationStatus.setText( "收车" );
|
||||
if (inOperation) {
|
||||
tvOperationStatus.setText("收车");
|
||||
mPersonalBtn.setVisibility(View.VISIBLE);
|
||||
tvOperationStatus.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.taxi_back_btn),null,null,null);
|
||||
tvOperationStatus.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.taxi_back_btn), null, null, null);
|
||||
showPanel();
|
||||
} else {
|
||||
// AIAssist.getInstance(getContext()).speakTTSVoice("已收车");
|
||||
tvOperationStatus.setText("出车");
|
||||
tvOperationStatus.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.taxi_out_btn),null,null,null);
|
||||
tvOperationStatus.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.taxi_out_btn), null, null, null);
|
||||
mPersonalBtn.setVisibility(View.GONE);
|
||||
hidPanel();
|
||||
}
|
||||
@@ -177,19 +177,19 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
@Override
|
||||
protected void onGoToTaxiOrders() {
|
||||
personalDialogFragment = new WeakReference<>(new OCHTaxiPersonalDialogFragment(this));
|
||||
personalDialogFragment.get().show(getActivity().getSupportFragmentManager(),"service_data");
|
||||
personalDialogFragment.get().show(getActivity().getSupportFragmentManager(), "service_data");
|
||||
}
|
||||
|
||||
// public void routeResult(List<AutopilotRouteInfo.RouteModels> routeList) {
|
||||
// public void routeResult(List<AutopilotRouteInfo.RouteModels> routeList) {
|
||||
// if (routeList == null ) return;
|
||||
// double distance = calculateTravelDistance(mogoLocation,routeList);
|
||||
// if ( MogoOCHTaxiModel.getInstance().checkCurrentOCHOrder() ) {
|
||||
// MogoOCHTaxiModel.getInstance().getCurrentOCHOrder().decreaseTravelDistance( distance );
|
||||
// updateOrderBaseStatusInfo();
|
||||
// }
|
||||
// Logger.d("lianglihui","routeResult 剩余导航距离:"+distance);
|
||||
// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","routeResult 剩余导航距离:"+distance);
|
||||
// if (routeList != null && routeList.size() >0){
|
||||
// Logger.d("lianglihui","routeResult:"+routeList.size());
|
||||
// CallerLogger.INSTANCE.d(M_TAXI + "lianglihui","routeResult:"+routeList.size());
|
||||
// //adas回调导航路径 绘制引导线
|
||||
// if ( ochTaxiOverlayManager == null){
|
||||
// ochTaxiOverlayManager = new OCHTaxiOverlayManager(this.getContext());
|
||||
@@ -204,67 +204,80 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
public void updateAutopilotStatus(int status) {
|
||||
onAutopilotStatusChanged(status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 收到自动驾驶通知的成功状态之后,设置本地状态及服务端状态
|
||||
*/
|
||||
private void resetOCHTaxiOrderAutopilotStatus() {
|
||||
mPresenter.updateCurOrderStatus(OrderStatusEnum.OnTheWayToEndStation);
|
||||
}
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.P)
|
||||
public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order){
|
||||
if (serverOrdersFragment != null){
|
||||
public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
|
||||
if (serverOrdersFragment != null) {
|
||||
serverOrdersFragment.updateCurrentOrderStatusChanged(order);
|
||||
}
|
||||
}
|
||||
public void startAutoPilot(){
|
||||
|
||||
public void startAutoPilot() {
|
||||
mPresenter.startAutoPilot();
|
||||
startOrStopLoadingAnim(true);
|
||||
}
|
||||
public void completeOrderService(OrderStatusEnum status){
|
||||
|
||||
public void completeOrderService(OrderStatusEnum status) {
|
||||
mPresenter.updateCurOrderStatus(status);
|
||||
}
|
||||
public void cancelCurOrder(int reasonType, String reaso){
|
||||
mPresenter.cancelCurOrder(reasonType,reaso);
|
||||
|
||||
public void cancelCurOrder(int reasonType, String reaso) {
|
||||
mPresenter.cancelCurOrder(reasonType, reaso);
|
||||
}
|
||||
|
||||
public void cancelOrderById(String orderNo, int reasonType, String reason){
|
||||
mPresenter.cancelOrderById(orderNo,reasonType,reason);
|
||||
public void cancelOrderById(String orderNo, int reasonType, String reason) {
|
||||
mPresenter.cancelOrderById(orderNo, reasonType, reason);
|
||||
}
|
||||
public void onCurrentOrderCancelDone(){
|
||||
|
||||
public void onCurrentOrderCancelDone() {
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onCurrentOrderCancelDone();
|
||||
}
|
||||
public void onOrderCancelDone(String orderNo){
|
||||
|
||||
public void onOrderCancelDone(String orderNo) {
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onOrderCancelDone(orderNo);
|
||||
}
|
||||
public void onNewBookingOrderGot(OrderQueryRespBean.Result order){
|
||||
|
||||
public void onNewBookingOrderGot(OrderQueryRespBean.Result order) {
|
||||
if (null == order) return;
|
||||
showGrabFragmentAndUpdate();
|
||||
grabOrderFragment.updateGrabOrder(order);
|
||||
}
|
||||
public void grabOrder(){
|
||||
|
||||
public void grabOrder() {
|
||||
mPresenter.grabOrder();
|
||||
}
|
||||
public void cancelNewBookingOrder(){
|
||||
|
||||
public void cancelNewBookingOrder() {
|
||||
mPresenter.cancelNewBookingOrder();
|
||||
showServerFragmentAndUpdate();
|
||||
}
|
||||
public void onGrabOrderExecuteDone(){
|
||||
|
||||
public void onGrabOrderExecuteDone() {
|
||||
if (null == grabOrderFragment) return;
|
||||
grabOrderFragment.onGrabOrderExecuteDone();
|
||||
}
|
||||
public void onGrabOrderSuccess(OrderQueryRespBean.Result order){
|
||||
|
||||
public void onGrabOrderSuccess(OrderQueryRespBean.Result order) {
|
||||
if (null == grabOrderFragment) return;
|
||||
if (null == order){
|
||||
if (null == order) {
|
||||
showServerFragmentAndUpdate();
|
||||
return;
|
||||
}
|
||||
showGrabFragmentAndUpdate();
|
||||
grabOrderFragment.onGrabOrderSuccess();
|
||||
}
|
||||
public void onGrabOrderFailed(OrderQueryRespBean.Result order){
|
||||
if (order == null){
|
||||
|
||||
public void onGrabOrderFailed(OrderQueryRespBean.Result order) {
|
||||
if (order == null) {
|
||||
showServerFragmentAndUpdate();
|
||||
return;
|
||||
}
|
||||
@@ -272,44 +285,56 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
showGrabFragmentAndUpdate();
|
||||
grabOrderFragment.onGrabOrderFailed();
|
||||
}
|
||||
public void onOrdersWaitServiceChanged(List<OrderQueryRespBean.Result> waitServiceList){
|
||||
|
||||
public void onOrdersWaitServiceChanged(List<OrderQueryRespBean.Result> waitServiceList) {
|
||||
if (null == waitServiceList) return;
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onOrdersWaitServiceChanged(waitServiceList);
|
||||
}
|
||||
public void queryOrdersList(int page, int size){
|
||||
mPresenter.queryOrdersList(page,size);
|
||||
|
||||
public void queryOrdersList(int page, int size) {
|
||||
mPresenter.queryOrdersList(page, size);
|
||||
}
|
||||
public void onOrdersListPageRefresh(List<OrderQueryRespBean.Result> ordersList){
|
||||
if (null == personalDialogFragment) personalDialogFragment = new WeakReference<>(new OCHTaxiPersonalDialogFragment(this));
|
||||
|
||||
public void onOrdersListPageRefresh(List<OrderQueryRespBean.Result> ordersList) {
|
||||
if (null == personalDialogFragment)
|
||||
personalDialogFragment = new WeakReference<>(new OCHTaxiPersonalDialogFragment(this));
|
||||
personalDialogFragment.get().onOrdersListPageRefresh(ordersList);
|
||||
}
|
||||
public void queryDriverServiceData(){
|
||||
|
||||
public void queryDriverServiceData() {
|
||||
mPresenter.queryDriverServiceData();
|
||||
}
|
||||
public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum){
|
||||
|
||||
public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum) {
|
||||
if (null == personalDialogFragment) return;
|
||||
personalDialogFragment.get().onServiceDataUpdate(dailyTimeDuration,dailyOrderNum);
|
||||
personalDialogFragment.get().onServiceDataUpdate(dailyTimeDuration, dailyOrderNum);
|
||||
}
|
||||
public void queryCurOrderRouteInfo(){
|
||||
|
||||
public void queryCurOrderRouteInfo() {
|
||||
mPresenter.queryCurOrderRouteInfo();
|
||||
}
|
||||
public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo){
|
||||
|
||||
public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onCurrentOrderRouteInfoGot(routeInfo);
|
||||
}
|
||||
public void onCurrentOrderDistToStartChanged(long meters, long timeInSecond){
|
||||
|
||||
public void onCurrentOrderDistToStartChanged(long meters, long timeInSecond) {
|
||||
// if (null == serverOrdersFragment) return;
|
||||
// serverOrdersFragment.onCurrentOrderDistToStartChanged(meters,timeInSecond);
|
||||
}
|
||||
public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond){
|
||||
|
||||
public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond) {
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onCurrentOrderDistToEndChanged(meters,timeInSecond);
|
||||
serverOrdersFragment.onCurrentOrderDistToEndChanged(meters, timeInSecond);
|
||||
}
|
||||
public void updateLocation(double latitude,double longitude){
|
||||
|
||||
public void updateLocation(double latitude, double longitude) {
|
||||
this.mCurLatitude = latitude;
|
||||
this.mCurLongitude = longitude;
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单流转debug START
|
||||
*/
|
||||
@@ -320,7 +345,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
findViewById(R.id.test_bar_to_end).setOnClickListener(v -> {
|
||||
MogoOCHTaxiModelNew.getInstance().setArriveAtEndStation();
|
||||
});
|
||||
findViewById(R.id.test_bar_on_the_way_to_end).setOnClickListener(v ->{
|
||||
findViewById(R.id.test_bar_on_the_way_to_end).setOnClickListener(v -> {
|
||||
showNotice("自动驾驶已启动,请系好安全带");
|
||||
MogoOCHTaxiModelNew.getInstance().setOnTheWayToEndStation();
|
||||
});
|
||||
@@ -508,14 +533,14 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(listStr);
|
||||
JSONArray jsonElements = jsonObject.getJSONArray("models");
|
||||
for (int i = 0; i < jsonElements.length(); i++){
|
||||
for (int i = 0; i < jsonElements.length(); i++) {
|
||||
JSONObject s = jsonElements.getJSONObject(i);
|
||||
MessagePad.Location.Builder builder = MessagePad.Location.newBuilder();
|
||||
builder.setLatitude(s.getDouble("lat"));
|
||||
builder.setLongitude(s.getDouble("lon"));
|
||||
list.add(builder.build());
|
||||
}
|
||||
List<MessagePad.Location> list1 = CoordinateConverterFrom84ForList(getContext(),list);
|
||||
List<MessagePad.Location> list1 = CoordinateConverterFrom84ForList(getContext(), list);
|
||||
MogoOCHTaxiModelNew.getInstance().updateOrderRoute(list1);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
@@ -543,7 +568,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
|
||||
return latLng;
|
||||
}
|
||||
|
||||
public void clickTestBar(){
|
||||
public void clickTestBar() {
|
||||
View testBar = findViewById(R.id.module_och_taxi_order_status_change_test_bar);
|
||||
if (testBar.getVisibility() == View.VISIBLE) {
|
||||
testBar.setVisibility(View.GONE);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
@@ -7,7 +9,6 @@ import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -19,6 +20,7 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
|
||||
import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
import com.mogo.och.taxi.R;
|
||||
@@ -144,7 +146,7 @@ public class OCHTaxiOrderCancelDialog extends AlertDialog implements View.OnClic
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
Log.d(TAG,"mCurrentReason ="+ mContentArrays[position]);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"mCurrentReason ="+ mContentArrays[position]);
|
||||
mCurrentReason = mContentArrays[position];
|
||||
// GradientDrawable background = (GradientDrawable) mCancelBt.getBackground();//GradientDrawable是Drawable的子类
|
||||
// background.setColor(Color.parseColor("#2B6EFF"));
|
||||
|
||||
@@ -6,7 +6,6 @@ import android.graphics.Point;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -31,7 +30,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
import com.mogo.och.taxi.R;
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean;
|
||||
@@ -43,6 +42,7 @@ import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
@@ -99,7 +99,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie
|
||||
windowManager.getDefaultDisplay().getSize(point);
|
||||
params.width = (int)(point.x * 0.375);
|
||||
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
Log.d(TAG,"width= "+params.width+"height= "+params.height);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"width= "+params.width+"height= "+params.height);
|
||||
window.setAttributes(params);
|
||||
window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全
|
||||
window.setGravity(Gravity.LEFT|Gravity.BOTTOM);
|
||||
@@ -203,13 +203,13 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie
|
||||
ImageView imageView = (ImageView) tab.getCustomView().findViewById(R.id.operation_tab_line_iv);
|
||||
if (isSelected){
|
||||
textView.setTextSize(23);
|
||||
Log.d(TAG,"SelectTv = "+ textView.getText());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"SelectTv = "+ textView.getText());
|
||||
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
||||
textView.setTextColor(Color.parseColor("#FFFFFF"));
|
||||
imageView.setImageDrawable(getResources().getDrawable(R.drawable.taxi_driver_operation_tab_line));
|
||||
}else {
|
||||
textView.setTextSize(20);
|
||||
Log.d(TAG,"unSelectTv = "+ textView.getText());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"unSelectTv = "+ textView.getText());
|
||||
textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
|
||||
textView.setTextColor(Color.parseColor("#A7B6F0"));
|
||||
imageView.setImageDrawable(null);
|
||||
@@ -462,7 +462,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie
|
||||
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
|
||||
int lastItemPosition = linearLayoutManager.findLastCompletelyVisibleItemPosition();
|
||||
int itemCount = linearLayoutManager.getItemCount();
|
||||
Log.d(TAG,"lastItemPosition=="+lastItemPosition+",itemCount=="+itemCount);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"lastItemPosition=="+lastItemPosition+",itemCount=="+itemCount);
|
||||
//向上滑动到最后一个
|
||||
if ((lastItemPosition == itemCount-1) && isUpwardSliding){
|
||||
onLoadMore();
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.mogo.och.taxi.ui;
|
||||
|
||||
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -18,7 +19,7 @@ import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.och.taxi.R;
|
||||
import com.mogo.och.taxi.bean.OrderQueryRespBean;
|
||||
import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean;
|
||||
@@ -91,7 +92,7 @@ public class OCHTaxiServerOrdersFragment extends BaseTaxiUIFragment {
|
||||
}
|
||||
|
||||
}
|
||||
Log.d(TAG,"activity="+getActivity());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"activity="+getActivity());
|
||||
mTaxiOrderTab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
@Override
|
||||
@@ -134,13 +135,13 @@ public class OCHTaxiServerOrdersFragment extends BaseTaxiUIFragment {
|
||||
if (isSelected){
|
||||
textView.setBackground(getActivity().getDrawable(R.drawable.taxi_driver_tab_item_bg));
|
||||
textView.setTextSize(20);
|
||||
Log.d(TAG,"SelectTv = "+ textView.getText());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"SelectTv = "+ textView.getText());
|
||||
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
||||
textView.setTextColor(Color.parseColor("#FFFFFF"));
|
||||
}else {
|
||||
textView.setBackground(null);
|
||||
textView.setTextSize(18);
|
||||
Log.d(TAG,"unSelectTv = "+ textView.getText());
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG,"unSelectTv = "+ textView.getText());
|
||||
textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
|
||||
textView.setTextColor(Color.parseColor("#CCD4F5"));
|
||||
}
|
||||
@@ -158,7 +159,7 @@ public class OCHTaxiServerOrdersFragment extends BaseTaxiUIFragment {
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
Logger.d( TAG, "getItem="+position);
|
||||
CallerLogger.INSTANCE.d( M_TAXI + TAG, "getItem="+position);
|
||||
return fragments.get(position);
|
||||
}
|
||||
|
||||
@@ -170,7 +171,7 @@ public class OCHTaxiServerOrdersFragment extends BaseTaxiUIFragment {
|
||||
@Nullable
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
Logger.d( TAG, "getPageTitle="+position);
|
||||
CallerLogger.INSTANCE.d( M_TAXI + TAG, "getPageTitle="+position);
|
||||
return mTabTitles[position];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,17 +4,17 @@ import chassis.VehicleStateOuterClass
|
||||
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HdMapBuildConfig
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_LINK_ADAS
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_DATA
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_ADAS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_DATA
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeArriveAtStation
|
||||
|
||||
@@ -53,7 +53,7 @@ public class MoGoHandAdasMsgManager implements
|
||||
|
||||
@Override
|
||||
public void onAutopilotBrakeLightData(boolean brakeLight) {
|
||||
//设置刹车信息
|
||||
//设置刹车信息 TODO 需要添加转向和删除的优先级
|
||||
CallerHmiManager.INSTANCE.showBrakeLight(brakeLight ? 1 : 0);
|
||||
}
|
||||
|
||||
|
||||
1
core/function-impl/mogo-core-function-bindingcar/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/build
|
||||
@@ -0,0 +1,90 @@
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'kotlin-android'
|
||||
id 'kotlin-android-extensions'
|
||||
id 'kotlin-kapt'
|
||||
id 'com.alibaba.arouter'
|
||||
}
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
// buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
versionCode Integer.valueOf(VERSION_CODE)
|
||||
versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles 'consumer-rules.pro'
|
||||
//ARouter apt 参数
|
||||
kapt {
|
||||
useBuildCache = false
|
||||
arguments {
|
||||
arg("AROUTER_MODULE_NAME", project.getName())
|
||||
}
|
||||
}
|
||||
|
||||
javaCompileOptions{
|
||||
annotationProcessorOptions{
|
||||
arguments = ["room.schemaLocation":"$projectDir/schemas".toString()]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
|
||||
implementation rootProject.ext.dependencies.androidxccorektx
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
implementation rootProject.ext.dependencies.androidxconstraintlayout
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
implementation rootProject.ext.dependencies.androidxrecyclerview
|
||||
implementation rootProject.ext.dependencies.androidxroomruntime
|
||||
implementation rootProject.ext.dependencies.androidxroomktx
|
||||
implementation rootProject.ext.dependencies.litezxing
|
||||
kapt rootProject.ext.dependencies.androidxroomcompiler
|
||||
kapt rootProject.ext.dependencies.aroutercompiler
|
||||
|
||||
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
|
||||
implementation rootProject.ext.dependencies.mogocommons
|
||||
implementation rootProject.ext.dependencies.mogoserviceapi
|
||||
implementation rootProject.ext.dependencies.modulecommon
|
||||
|
||||
implementation rootProject.ext.dependencies.mogo_core_data
|
||||
implementation rootProject.ext.dependencies.mogo_core_utils
|
||||
implementation rootProject.ext.dependencies.mogo_core_res
|
||||
implementation rootProject.ext.dependencies.mogo_core_network
|
||||
implementation rootProject.ext.dependencies.mogo_core_function_call
|
||||
} else {
|
||||
implementation project(":foudations:mogo-commons")
|
||||
implementation project(':services:mogo-service-api')
|
||||
implementation project(':modules:mogo-module-common')
|
||||
|
||||
implementation project(':core:mogo-core-data')
|
||||
implementation project(':core:mogo-core-utils')
|
||||
implementation project(':core:mogo-core-res')
|
||||
implementation project(':core:mogo-core-network')
|
||||
implementation project(':core:mogo-core-function-call')
|
||||
}
|
||||
}
|
||||
|
||||
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
|
||||
@@ -0,0 +1,3 @@
|
||||
GROUP=com.mogo.eagle.core.function.impl
|
||||
POM_ARTIFACT_ID=notice
|
||||
VERSION_CODE=1
|
||||
21
core/function-impl/mogo-core-function-bindingcar/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.eagle.core.function.bindingcar">
|
||||
|
||||
<application>
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.mogo.eagle.core.function.bindingcar;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description
|
||||
* @since: 10/27/21
|
||||
*/
|
||||
public class BindingcarManager {
|
||||
private String TAG = "BindingcarManager";
|
||||
private static BindingcarManager mBindingcarManager;
|
||||
private Context mContext;
|
||||
|
||||
public static synchronized BindingcarManager getInstance() {
|
||||
synchronized (BindingcarManager.class) {
|
||||
if (mBindingcarManager == null) {
|
||||
mBindingcarManager = new BindingcarManager();
|
||||
}
|
||||
}
|
||||
return mBindingcarManager;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.mogo.eagle.core.function.bindingcar;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths;
|
||||
import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack;
|
||||
import com.mogo.eagle.core.function.api.bindingcar.IMoGoBindingcarProvider;
|
||||
import com.mogo.eagle.core.function.bindingcar.network.BindingcarNetWorkManager;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
||||
/**
|
||||
* @author Jing
|
||||
* @description 云公告公告
|
||||
* @since: 10/27/21
|
||||
*/
|
||||
@Route(path = MogoServicePaths.PATH_BINDING_CAR)
|
||||
public class BindingcarProvider implements IMoGoBindingcarProvider {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFunctionName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void modifyCarInfo(BindingcarCallBack callBack) {
|
||||
BindingcarNetWorkManager.getInstance().getBindingcarInfo("");
|
||||
// BindingcarNetWorkManager.getInstance().modifyBindingcar(callBack);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.mogo.eagle.core.function.bindingcar.network;
|
||||
|
||||
import com.mogo.eagle.core.data.bindingcar.BindingcarInfo;
|
||||
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
|
||||
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.RequestBody;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.Headers;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description 绑定车辆
|
||||
* @since: 10/28/21
|
||||
*/
|
||||
public interface BindingcarApiService {
|
||||
/**
|
||||
* 获取绑定车辆的信息
|
||||
*
|
||||
* @return {@link BindingcarInfo}
|
||||
*/
|
||||
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||
@POST("/pad/selectPadByMac")
|
||||
Observable<BindingcarInfo> getBindingcarInfo(@Body RequestBody requestBody);
|
||||
|
||||
/**
|
||||
* 绑定和修改绑定车机
|
||||
*
|
||||
* @return {@link ModifyBindingcarInfo}
|
||||
*/
|
||||
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||
@POST("/pad/updatePadByMac")
|
||||
Observable<ModifyBindingcarInfo> modifyBindingcarInfo(@Body RequestBody requestBody);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.mogo.eagle.core.function.bindingcar.network;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.mogo.cloud.network.RetrofitFactory;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.data.bindingcar.BindingcarInfo;
|
||||
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
|
||||
import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack;
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.RequestBody;
|
||||
|
||||
/**
|
||||
* @author Jing
|
||||
* @description 云公告网络请求类
|
||||
* @since: 10/28/21
|
||||
*/
|
||||
public class BindingcarNetWorkManager {
|
||||
private static volatile BindingcarNetWorkManager requestNoticeManager;
|
||||
private final BindingcarApiService mBindingcarApiService;
|
||||
|
||||
private BindingcarNetWorkManager() { //TODO
|
||||
// mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.DEVA_HOST)
|
||||
// .create(BindingcarApiService.class);
|
||||
|
||||
mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance("http://cmdb.ee-private-dev.myghost.zhidaoauto.com/")
|
||||
.create(BindingcarApiService.class);
|
||||
}
|
||||
|
||||
public static BindingcarNetWorkManager getInstance() {
|
||||
if (requestNoticeManager == null) {
|
||||
synchronized (BindingcarNetWorkManager.class) {
|
||||
if (requestNoticeManager == null) {
|
||||
requestNoticeManager = new BindingcarNetWorkManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return requestNoticeManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取绑定的车辆信息
|
||||
*
|
||||
* @param macAddress mac地址 TODO
|
||||
*
|
||||
*/
|
||||
public void getBindingcarInfo(String macAddress) {
|
||||
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
|
||||
BindingcarRequest request = new BindingcarRequest(sn, "48:b0:2d:3a:9c:19");
|
||||
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
|
||||
mBindingcarApiService.getBindingcarInfo(requestBody)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BindingcarInfo>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.d("liyz", "getBindingcarInfo onSubscribe -----> ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BindingcarInfo info) {
|
||||
Log.d("liyz", "getBindingcarInfo onNext info =" + info.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.d("liyz", "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.d("liyz", "getBindingcarInfo onComplete");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定和修改绑定车辆
|
||||
*/
|
||||
public void modifyBindingcar(BindingcarCallBack callBack) {
|
||||
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
|
||||
BindingcarRequest request = new BindingcarRequest(sn, "48:b0:2d:3a:9c:19");
|
||||
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
|
||||
mBindingcarApiService.modifyBindingcarInfo(requestBody)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<ModifyBindingcarInfo>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.d("liyz", "modifyBindingcar onSubscribe -----> ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull ModifyBindingcarInfo info) {
|
||||
if (info.getData() != null) {
|
||||
callBack.callBackResult(info);
|
||||
}
|
||||
Log.d("liyz", "modifyBindingcar onNext info " + info.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.d("liyz", "modifyBindingcar onError e = " + e.toString() + "---e.getMessage = " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.d("liyz", "modifyBindingcar onComplete ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.mogo.eagle.core.function.bindingcar.network;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description
|
||||
* @since: 11/15/21
|
||||
*/
|
||||
public class BindingcarRequest {
|
||||
private String mac;
|
||||
private String sn;
|
||||
|
||||
public BindingcarRequest(String mac, String sn) {
|
||||
this.mac = mac;
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
public String getMac() {
|
||||
return mac;
|
||||
}
|
||||
|
||||
public void setMac(String mac) {
|
||||
this.mac = mac;
|
||||
}
|
||||
|
||||
public String getSn() {
|
||||
return sn;
|
||||
}
|
||||
|
||||
public void setSn(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "BindingcarRequest{" +
|
||||
"mac='" + mac + '\'' +
|
||||
", sn='" + sn + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 434 B |
|
After Width: | Height: | Size: 589 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 434 B |
|
After Width: | Height: | Size: 581 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<corners android:radius="@dimen/module_push_clear_bg_radius" />
|
||||
<solid android:color="#FF494B66 "/>
|
||||
</shape>
|
||||
|
After Width: | Height: | Size: 434 B |
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/module_push_content_only_line_space" />
|
||||
<solid android:color="#222533" />
|
||||
</shape>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape>
|
||||
<corners android:radius="@dimen/module_push_ui_decrease_timer_corner"/>
|
||||
<solid android:color="#7F000000"/>
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/module_push_check_dialog_bg_color" />
|
||||
<corners android:radius="@dimen/module_push_dialog_check_bg_corner" />
|
||||
</shape>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--<selector xmlns:android="http://schemas.android.com/apk/res/android">-->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="135"
|
||||
android:endColor="#33000000"
|
||||
android:startColor="#33000000"
|
||||
android:type="linear" />
|
||||
<corners android:radius="@dimen/module_push_ui_bkg_corner" />
|
||||
</shape>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/module_push_ui_bkg_corner" />
|
||||
<solid android:color="#F23F4057" />
|
||||
</shape>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="false">
|
||||
<shape>
|
||||
<corners android:radius="@dimen/module_push_ui_button_radius" />
|
||||
<gradient android:angle="135" android:endColor="#1F7EFF" android:startColor="#1E57A4" android:type="linear" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:state_pressed="true">
|
||||
<shape>
|
||||
<corners android:radius="@dimen/module_push_ui_button_radius" />
|
||||
<gradient android:angle="135" android:endColor="#124C9A" android:startColor="#123463" android:type="linear" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
|
After Width: | Height: | Size: 583 B |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<corners android:radius="@dimen/module_push_panel_item_corner" />
|
||||
<solid android:color="#1F2131" />
|
||||
<!-- <gradient
|
||||
android:angle="-90"
|
||||
android:endColor="#2F3047"
|
||||
android:startColor="#3F4057"
|
||||
android:type="linear" />-->
|
||||
</shape>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="false">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="@dimen/module_push_ui_button_radius" />
|
||||
<gradient android:angle="135" android:endColor="#616381" android:startColor="#48495E" />
|
||||
</shape>
|
||||
|
||||
</item>
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="@dimen/module_push_ui_button_radius" />
|
||||
<gradient android:angle="135" android:endColor="#3A3B4D" android:startColor="#2B2C38" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:fromDegrees="0"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:toDegrees="360">
|
||||
<shape
|
||||
android:innerRadius="@dimen/module_push_timer_inner_radius"
|
||||
android:shape="ring"
|
||||
android:thickness="@dimen/module_push_timer_thickness"
|
||||
android:useLevel="false">
|
||||
<gradient
|
||||
android:centerY="0.50"
|
||||
android:endColor="#001F7FFF"
|
||||
android:startColor="#7A8199"
|
||||
android:type="sweep"
|
||||
android:useLevel="false" />
|
||||
</shape>
|
||||
</rotate>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="@dimen/module_push_dialog_check_width"
|
||||
android:layout_height="@dimen/module_push_dialog_check_height"
|
||||
android:background="@drawable/module_push_dialog_check_background">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_push_dialog_close"
|
||||
android:layout_width="@dimen/module_push_dialog_close_width"
|
||||
android:layout_height="@dimen/module_push_dialog_close_height"
|
||||
android:layout_marginLeft="@dimen/module_push_dialog_close_margin"
|
||||
android:layout_marginTop="@dimen/module_push_dialog_close_margin"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/module_push_dialog_close"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_dialog_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_dialog_title_margin"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_dialog_title_size"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_dialog_content"
|
||||
android:layout_width="@dimen/module_push_dialog_content_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_dialog_content_margin_top"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_dialog_content_size"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_push_dialog_title" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_push_ui_height"
|
||||
android:layout_marginTop="@dimen/module_push_ui_margin_top"
|
||||
android:background="@drawable/module_push_item_background">
|
||||
|
||||
<com.mogo.module.push.view.roundimage.RoundedImageView
|
||||
android:id="@+id/module_push_image"
|
||||
android:layout_width="@dimen/module_push_ui_image_width"
|
||||
android:layout_height="@dimen/module_push_ui_image_height"
|
||||
android:scaleType="fitXY"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:riv_corner_radius_bottom_left="@dimen/module_push_ui_image_corner"
|
||||
app:riv_corner_radius_top_left="@dimen/module_push_ui_image_corner" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_push_app_icon_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/module_push_ui_app_icon_leftMargin"
|
||||
android:layout_marginTop="@dimen/module_push_ui_app_icon_topMargin"
|
||||
android:gravity="center_vertical"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_push_image"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_goneMarginTop="@dimen/module_push_ui_app_icon_goneTopMargin">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical|left"
|
||||
android:maxWidth="@dimen/module_push_title_mix_width"
|
||||
android:maxLength="25"
|
||||
android:singleLine="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_textSize"
|
||||
app:layout_constrainedWidth="true"
|
||||
tools:text="官方公告" />
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/module_push_rl_content"
|
||||
android:layout_width="@dimen/module_push_ui_content_width"
|
||||
android:layout_height="@dimen/module_push_ui_content_height"
|
||||
android:layout_marginTop="@dimen/module_push_ui_content_marginTop"
|
||||
android:layout_marginBottom="@dimen/module_push_ui_content_marginBottom"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_push_app_icon_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_push_app_icon_title">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="3"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_text_size" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/module_push_line"
|
||||
android:layout_width="@dimen/module_push_line_width"
|
||||
android:layout_height="@dimen/module_push_line_height"
|
||||
android:layout_marginLeft="@dimen/module_push_line_margin_left"
|
||||
android:background="@color/module_push_item_line_color"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_push_rl_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_check"
|
||||
android:layout_width="@dimen/module_push_check_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/module_push_check_margin"
|
||||
android:layout_marginBottom="@dimen/module_push_check_margin"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/module_push_check"
|
||||
android:textColor="@color/module_push_check_color"
|
||||
android:textSize="@dimen/module_push_check_text_size"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_push_line"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_push_ui_height"
|
||||
android:background="@drawable/module_push_item_background_p">
|
||||
|
||||
<com.mogo.eagle.core.function.notice.view.roundimage.RoundedImageView
|
||||
android:id="@+id/module_push_image"
|
||||
android:layout_width="@dimen/module_push_ui_image_width"
|
||||
android:layout_height="@dimen/module_push_ui_image_height"
|
||||
android:layout_marginLeft="@dimen/module_push_ui_image_marLeft"
|
||||
android:scaleType="fitXY"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:riv_corner_radius="@dimen/module_push_ui_image_corner" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_push_app_icon_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/module_push_ui_app_icon_leftMargin"
|
||||
android:layout_marginTop="@dimen/module_push_ui_app_icon_topMargin"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="@dimen/module_push_ui_app_icon_size"
|
||||
app:layout_constraintRight_toLeftOf="@+id/module_push_progress_bar_frame"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_push_image"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_goneMarginTop="@dimen/module_push_ui_app_icon_goneTopMargin">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_push_app_icon"
|
||||
android:layout_width="@dimen/module_push_ui_app_icon_size"
|
||||
android:layout_height="@dimen/module_push_ui_app_icon_size"
|
||||
android:layout_marginRight="@dimen/module_push_title_margin_start"
|
||||
android:background="@drawable/module_push_ui_ic_message2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical|left"
|
||||
android:maxWidth="@dimen/module_push_title_mix_width"
|
||||
android:singleLine="true"
|
||||
android:maxLength="25"
|
||||
tools:text="标题标题标题标题标题标题标题"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_textSize"
|
||||
app:layout_constrainedWidth="true" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/module_push_ui_content_marginTop"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_push_app_icon_title"
|
||||
app:layout_constraintRight_toRightOf="@id/module_push_progress_bar_frame"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_push_app_icon_title">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:maxLines="3"
|
||||
android:layout_above="@+id/module_push_buttons"
|
||||
android:ellipsize="end"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_text_size"
|
||||
tools:text="文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内文本内容文本内容文本内" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_push_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_push_button_height"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginTop="@dimen/module_push_button_margin_top"
|
||||
android:layout_marginBottom="@dimen/module_push_button_margin_bottom"
|
||||
android:gravity="center"
|
||||
android:weightSum="2">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_button_left"
|
||||
android:layout_width="@dimen/module_push_button_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/module_push_left_button"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:enabled="true"
|
||||
android:lines="1"
|
||||
android:maxWidth="@dimen/module_push_button_maxWidth"
|
||||
android:maxLength="6"
|
||||
android:text="查看"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_button_right"
|
||||
android:layout_width="@dimen/module_push_button_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/module_push_button_right_marLeft"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/module_push_right_button"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:maxWidth="@dimen/module_push_button_maxWidth"
|
||||
android:maxLength="6"
|
||||
android:text="忽略"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_push_progress_bar_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_progress_bar_frame_marginTop"
|
||||
android:layout_marginEnd="@dimen/module_push_progress_bar_frame_marginEnd"
|
||||
android:background="@drawable/module_push_decrease_timer_bkg"
|
||||
android:paddingLeft="@dimen/module_push_progress_bar_frame_padding"
|
||||
android:paddingRight="@dimen/module_push_progress_bar_frame_padding"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_timer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="@dimen/module_push_ui_timer_textSize"
|
||||
tools:text="11s" />
|
||||
</FrameLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="@dimen/module_push_ui_width_vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/module_push_item_background_origin"
|
||||
android:maxHeight="@dimen/module_push_item_maxHeight_vertical"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/module_push_ui_app_icon_leftMargin_vertical"
|
||||
android:paddingRight="@dimen/module_push_ui_app_icon_leftMargin_vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_push_content_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/module_push_content_paddingBottom_vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/module_push_app_icon_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_ui_app_icon_topMargin_vertical"
|
||||
android:layout_marginBottom="@dimen/module_push_image_marginTop_vertical"
|
||||
android:minHeight="@dimen/module_push_ui_app_icon_size">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_push_app_icon"
|
||||
android:layout_width="@dimen/module_push_ui_app_icon_size"
|
||||
android:layout_height="@dimen/module_push_ui_app_icon_size"
|
||||
android:layout_marginRight="@dimen/module_push_title_margin_start"
|
||||
tools:background="@drawable/module_push_ui_ic_message2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/module_push_app_icon"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical|left"
|
||||
android:maxWidth="@dimen/module_push_title_mix_width"
|
||||
android:singleLine="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_textSize"
|
||||
tools:text="push title" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_push_progress_bar_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:background="@drawable/module_push_decrease_timer_bkg"
|
||||
android:paddingLeft="@dimen/module_push_progress_bar_frame_padding"
|
||||
android:paddingRight="@dimen/module_push_progress_bar_frame_padding">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_timer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="@dimen/module_push_ui_timer_textSize"
|
||||
tools:text="11s" />
|
||||
</FrameLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<com.mogo.module.push.view.roundimage.RoundedImageView
|
||||
android:id="@+id/module_push_image"
|
||||
android:layout_width="@dimen/module_push_ui_image_width_vertical"
|
||||
android:layout_height="@dimen/module_push_ui_image_height_vertical"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/module_push_ui_content_marginTop_vertical"
|
||||
android:scaleType="fitXY"
|
||||
app:riv_corner_radius="@dimen/module_push_ui_image_corner" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/module_push_button_margin_top"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="4"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_push_ui_title_text_size"
|
||||
tools:text="文本内容文本内文本内容文本内文本内容文本内文本内容文本内文本内容文本内文本内容文本内文本内容文本内文本内容文本内文本内容文本内" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_push_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_push_button_height"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginBottom="@dimen/module_push_button_margin_bottom"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_button_left"
|
||||
android:layout_width="@dimen/module_push_button_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/module_push_left_button"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:maxWidth="@dimen/module_push_button_maxWidth"
|
||||
android:maxLength="6"
|
||||
android:text="查看"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_button_right"
|
||||
android:layout_width="@dimen/module_push_button_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/module_push_button_right_marLeft"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/module_push_right_button"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:maxWidth="@dimen/module_push_button_maxWidth"
|
||||
android:maxLength="6"
|
||||
android:text="忽略"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/module_push_panel_marginTop"
|
||||
android:layout_marginBottom="@dimen/module_push_panel_marginBottom"
|
||||
android:layout_marginRight="@dimen/module_push_panel_marginRight"
|
||||
android:layout_marginLeft="@dimen/module_push_panel_marginRight"
|
||||
android:paddingLeft="@dimen/module_push_panel_paddingLeft"
|
||||
android:paddingRight="@dimen/module_push_panel_paddingLeft"
|
||||
android:background="@drawable/module_push_message_background"
|
||||
android:layout_gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_id_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_activity_title_margin_top"
|
||||
android:text="历史消息"
|
||||
android:textColor="@color/module_push_panel_title_textColor"
|
||||
android:textSize="@dimen/module_push_activity_title_text_size" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_push_id_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="@dimen/module_push_activity_close_margin_top"
|
||||
android:src="@drawable/module_push_close" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/module_push_id_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:overScrollMode="never"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/module_push_activity_recycler_view_margin_top" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_id_not_data"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:text="@string/module_push_str_not_data"
|
||||
android:textColor="@color/module_push_panel_title_textColor"
|
||||
android:textSize="@dimen/module_push_activity_not_data_text_size" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_id_clear"
|
||||
android:layout_width="@dimen/module_push_content_only_height"
|
||||
android:layout_height="@dimen/module_push_button_height"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_marginBottom="@dimen/module_push_activity_clear_margin_bottom"
|
||||
android:background="@drawable/module_push_clear_bg"
|
||||
android:gravity="center"
|
||||
android:text="@string/module_push_str_clear"
|
||||
android:textColor="@color/module_push_panel_title_textColor"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</FrameLayout>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.module.push.view.SwipeItemLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/module_push_panel_paddingBottom">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_push_message_item_height">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/module_push_item_click"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/module_push_recycler_item_background">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/module_push_item_app_icon"
|
||||
android:layout_width="@dimen/module_push_message_app_icon_size"
|
||||
android:layout_height="@dimen/module_push_message_app_icon_size"
|
||||
android:layout_marginStart="@dimen/module_push_message_margin_start"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_item_title"
|
||||
android:layout_width="@dimen/module_push_item_content_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_push_image_margin_top"
|
||||
android:layout_marginTop="@dimen/module_push_item_title_margin_top"
|
||||
android:ellipsize="end"
|
||||
android:gravity="left"
|
||||
android:maxLines="1"
|
||||
android:text="push title"
|
||||
android:textColor="@color/module_push_item_title_textColor"
|
||||
android:textSize="@dimen/module_push_title_text_size"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_push_item_app_icon"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/module_push_item_content_width"
|
||||
app:layout_goneMarginBottom="@dimen/module_push_item_title_gone_margin_bottom" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_item_content"
|
||||
android:layout_width="@dimen/module_push_item_content_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/module_push_item_content_margin_end"
|
||||
android:ellipsize="end"
|
||||
android:gravity="left"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/module_push_item_content_textColor"
|
||||
android:textSize="@dimen/module_push_item_content_text_size"
|
||||
app:layout_constraintStart_toStartOf="@+id/module_push_item_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_push_item_title"
|
||||
tools:text="发现系统新版本,共140.3M。部分功能优化,建议下载升级。" />
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/module_push_item_image"
|
||||
android:layout_width="@dimen/module_push_item_image_width"
|
||||
android:layout_height="@dimen/module_push_item_image_height"
|
||||
android:layout_marginEnd="@dimen/module_push_message_item_image_margin_end"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:miv_radius="@dimen/module_push_item_image_radius"
|
||||
app:miv_shape="round" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_item_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_push_item_time_textSize"
|
||||
android:layout_marginEnd="@dimen/module_push_image_margin_top"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/module_push_item_time_textColor"
|
||||
android:textSize="@dimen/module_push_massage_time_text_size"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_push_item_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_push_item_content"
|
||||
tools:text="3:20" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_push_button_margin_top">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_push_item_delete"
|
||||
android:layout_width="@dimen/module_push_message_item_height"
|
||||
android:layout_height="@dimen/module_push_message_item_height"
|
||||
android:layout_marginStart="@dimen/module_push_button_margin_top"
|
||||
android:background="@drawable/module_push_recycler_item_background"
|
||||
android:gravity="center"
|
||||
android:text="@string/module_push_str_delete"
|
||||
android:textColor="@color/module_push_item_title_textColor"
|
||||
android:textSize="@dimen/module_push_title_text_size" />
|
||||
</FrameLayout>
|
||||
</com.mogo.module.push.view.SwipeItemLayout>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<dimen name="module_push_margin_top">16px</dimen>
|
||||
<dimen name="module_push_size">352px</dimen>
|
||||
<dimen name="module_push_margin_start">32px</dimen>
|
||||
<dimen name="module_push_app_icon_size">32px</dimen>
|
||||
<dimen name="module_push_app_icon_margin_start">16.5px</dimen>
|
||||
<dimen name="module_push_title_margin_start">12px</dimen>
|
||||
<dimen name="module_push_title_margin_top">20px</dimen>
|
||||
<dimen name="module_push_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_title_mix_width">210px</dimen>
|
||||
<dimen name="module_push_timer_margin_end">13px</dimen>
|
||||
<dimen name="module_push_timer_text_size">15px</dimen>
|
||||
<dimen name="module_push_timer_margin_top">18px</dimen>
|
||||
<dimen name="module_push_image_width">320px</dimen>
|
||||
<dimen name="module_push_image_height">180px</dimen>
|
||||
<dimen name="module_push_image_margin_top">16px</dimen>
|
||||
<dimen name="module_push_content_only_width">320px</dimen>
|
||||
<dimen name="module_push_content_only_height">160px</dimen>
|
||||
<dimen name="module_push_content_only_line_space">9px</dimen>
|
||||
<dimen name="module_push_content_only_padding">20px</dimen>
|
||||
<dimen name="module_push_button_width">0px</dimen>
|
||||
<dimen name="module_push_button_height">48px</dimen>
|
||||
<dimen name="module_push_button_margin_top">10px</dimen>
|
||||
<dimen name="module_push_button_margin_bottom">14px</dimen>
|
||||
<dimen name="module_push_activity_title_margin_top">28px</dimen>
|
||||
<dimen name="module_push_activity_title_text_size">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_top">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_end">90px</dimen>
|
||||
<dimen name="module_push_activity_close_padding">5px</dimen>
|
||||
<dimen name="module_push_activity_recycler_view_margin_top">84px</dimen>
|
||||
<dimen name="module_push_activity_not_data_text_size">38px</dimen>
|
||||
<dimen name="module_push_activity_clear_margin_bottom">36px</dimen>
|
||||
<dimen name="module_push_message_item_height">100px</dimen>
|
||||
<dimen name="module_push_message_app_icon_size">64px</dimen>
|
||||
<dimen name="module_push_message_margin_start">24px</dimen>
|
||||
<dimen name="module_push_item_title_margin_top">16px</dimen>
|
||||
<dimen name="module_push_item_title_gone_margin_bottom">44px</dimen>
|
||||
<dimen name="module_push_item_title_margin_bottom">2px</dimen>
|
||||
<dimen name="module_push_item_content_margin_end">20px</dimen>
|
||||
<dimen name="module_push_item_content_margin_bottom">27px</dimen>
|
||||
<dimen name="module_push_item_content_text_size">16px</dimen>
|
||||
<dimen name="module_push_message_item_image_size">64px</dimen>
|
||||
<dimen name="module_push_message_item_image_margin_end">8px</dimen>
|
||||
<dimen name="module_push_massage_time_text_size">16px</dimen>
|
||||
|
||||
<dimen name="module_push_image_margin_bottom">22px</dimen>
|
||||
<dimen name="module_push_button_radius">27px</dimen>
|
||||
<dimen name="module_push_timer_inner_radius">14px</dimen>
|
||||
<dimen name="module_push_timer_thickness">1.5px</dimen>
|
||||
<dimen name="module_push_clear_bg_radius">24px</dimen>
|
||||
<dimen name="module_push_image_radius">10px</dimen>
|
||||
<dimen name="module_push_item_image_radius">8px</dimen>
|
||||
<dimen name="module_push_item_content_width">560px</dimen>
|
||||
<dimen name="module_push_ui_height">194px</dimen>
|
||||
<dimen name="module_push_ui_image_width">266px</dimen>
|
||||
<dimen name="module_push_ui_image_height">178px</dimen>
|
||||
<dimen name="module_push_ui_image_marLeft">8px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin">12px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin">16px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_goneTopMargin">19px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_size">30px</dimen>
|
||||
<dimen name="module_push_ui_title_textSize">16px</dimen>
|
||||
<dimen name="module_push_ui_decrease_timer_corner">8px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginTop">17px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginEnd">19px</dimen>
|
||||
<dimen name="module_push_ui_timer_textSize">16px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_padding">11px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop">6px</dimen>
|
||||
<dimen name="module_push_ui_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_ui_button_radius">10px</dimen>
|
||||
<dimen name="module_push_ui_bkg_corner">17px</dimen>
|
||||
<dimen name="module_push_button_right_marLeft">10px</dimen>
|
||||
<dimen name="module_push_ui_image_corner">8px</dimen>
|
||||
<dimen name="module_push_button_maxWidth">242px</dimen>
|
||||
<dimen name="module_push_ui_height_vertical">270px</dimen>
|
||||
<dimen name="module_push_ui_width_vertical">374px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin_vertical">24px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin_vertical">19px</dimen>
|
||||
<dimen name="module_push_image_marginTop_vertical">8px</dimen>
|
||||
<dimen name="module_push_ui_image_width_vertical">328px</dimen>
|
||||
<dimen name="module_push_ui_image_height_vertical">164px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop_vertical">15px</dimen>
|
||||
<dimen name="module_push_image_qr_size_vertical">150px</dimen>
|
||||
<dimen name="module_push_window_x">20px</dimen>
|
||||
<dimen name="module_push_window_y">0px</dimen>
|
||||
<dimen name="module_push_item_minHeight_vertical">310px</dimen>
|
||||
<dimen name="module_push_item_maxHeight_vertical">350px</dimen>
|
||||
<dimen name="module_push_content_paddingBottom_vertical">60px</dimen>
|
||||
<dimen name="module_push_panel_marginTop">2px</dimen>
|
||||
<dimen name="module_push_panel_marginBottom">2px</dimen>
|
||||
<dimen name="module_push_panel_marginRight">8px</dimen>
|
||||
<dimen name="module_push_panel_paddingLeft">28px</dimen>
|
||||
<dimen name="module_push_panel_paddingBottom">16px</dimen>
|
||||
<dimen name="module_push_panel_corner">16px</dimen>
|
||||
<dimen name="module_push_panel_item_corner">12px</dimen>
|
||||
<dimen name="module_push_item_time_textSize">5px</dimen>
|
||||
<dimen name="module_push_item_image_width">118px</dimen>
|
||||
<dimen name="module_push_item_image_height">86px</dimen>
|
||||
<dimen name="module_push_panel_bkg_padding">8px</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<dimen name="module_push_margin_top">16px</dimen>
|
||||
<dimen name="module_push_size">352px</dimen>
|
||||
<dimen name="module_push_margin_start">32px</dimen>
|
||||
<dimen name="module_push_app_icon_size">32px</dimen>
|
||||
<dimen name="module_push_app_icon_margin_start">16.5px</dimen>
|
||||
<dimen name="module_push_title_margin_start">12px</dimen>
|
||||
<dimen name="module_push_title_margin_top">20px</dimen>
|
||||
<dimen name="module_push_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_title_mix_width">210px</dimen>
|
||||
<dimen name="module_push_timer_margin_end">13px</dimen>
|
||||
<dimen name="module_push_timer_text_size">15px</dimen>
|
||||
<dimen name="module_push_timer_margin_top">18px</dimen>
|
||||
<dimen name="module_push_image_width">320px</dimen>
|
||||
<dimen name="module_push_image_height">180px</dimen>
|
||||
<dimen name="module_push_image_margin_top">16px</dimen>
|
||||
<dimen name="module_push_content_only_width">320px</dimen>
|
||||
<dimen name="module_push_content_only_height">160px</dimen>
|
||||
<dimen name="module_push_content_only_line_space">9px</dimen>
|
||||
<dimen name="module_push_content_only_padding">20px</dimen>
|
||||
<dimen name="module_push_button_width">0px</dimen>
|
||||
<dimen name="module_push_button_height">48px</dimen>
|
||||
<dimen name="module_push_button_margin_top">10px</dimen>
|
||||
<dimen name="module_push_button_margin_bottom">14px</dimen>
|
||||
<dimen name="module_push_activity_title_margin_top">28px</dimen>
|
||||
<dimen name="module_push_activity_title_text_size">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_top">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_end">90px</dimen>
|
||||
<dimen name="module_push_activity_close_padding">5px</dimen>
|
||||
<dimen name="module_push_activity_recycler_view_margin_top">84px</dimen>
|
||||
<dimen name="module_push_activity_not_data_text_size">38px</dimen>
|
||||
<dimen name="module_push_activity_clear_margin_bottom">36px</dimen>
|
||||
<dimen name="module_push_message_item_height">100px</dimen>
|
||||
<dimen name="module_push_message_app_icon_size">64px</dimen>
|
||||
<dimen name="module_push_message_margin_start">24px</dimen>
|
||||
<dimen name="module_push_item_title_margin_top">16px</dimen>
|
||||
<dimen name="module_push_item_title_gone_margin_bottom">44px</dimen>
|
||||
<dimen name="module_push_item_title_margin_bottom">2px</dimen>
|
||||
<dimen name="module_push_item_content_margin_end">20px</dimen>
|
||||
<dimen name="module_push_item_content_margin_bottom">27px</dimen>
|
||||
<dimen name="module_push_item_content_text_size">16px</dimen>
|
||||
<dimen name="module_push_message_item_image_size">64px</dimen>
|
||||
<dimen name="module_push_message_item_image_margin_end">8px</dimen>
|
||||
<dimen name="module_push_massage_time_text_size">16px</dimen>
|
||||
|
||||
<dimen name="module_push_image_margin_bottom">22px</dimen>
|
||||
<dimen name="module_push_button_radius">27px</dimen>
|
||||
<dimen name="module_push_timer_inner_radius">14px</dimen>
|
||||
<dimen name="module_push_timer_thickness">1.5px</dimen>
|
||||
<dimen name="module_push_clear_bg_radius">24px</dimen>
|
||||
<dimen name="module_push_image_radius">10px</dimen>
|
||||
<dimen name="module_push_item_image_radius">8px</dimen>
|
||||
<dimen name="module_push_item_content_width">560px</dimen>
|
||||
<dimen name="module_push_ui_height">194px</dimen>
|
||||
<dimen name="module_push_ui_image_width">266px</dimen>
|
||||
<dimen name="module_push_ui_image_height">178px</dimen>
|
||||
<dimen name="module_push_ui_image_marLeft">8px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin">12px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin">16px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_goneTopMargin">19px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_size">30px</dimen>
|
||||
<dimen name="module_push_ui_title_textSize">16px</dimen>
|
||||
<dimen name="module_push_ui_decrease_timer_corner">8px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginTop">17px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginEnd">19px</dimen>
|
||||
<dimen name="module_push_ui_timer_textSize">16px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_padding">11px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop">6px</dimen>
|
||||
<dimen name="module_push_ui_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_ui_button_radius">10px</dimen>
|
||||
<dimen name="module_push_ui_bkg_corner">17px</dimen>
|
||||
<dimen name="module_push_button_right_marLeft">10px</dimen>
|
||||
<dimen name="module_push_ui_image_corner">8px</dimen>
|
||||
<dimen name="module_push_button_maxWidth">242px</dimen>
|
||||
<dimen name="module_push_ui_height_vertical">270px</dimen>
|
||||
<dimen name="module_push_ui_width_vertical">374px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin_vertical">24px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin_vertical">19px</dimen>
|
||||
<dimen name="module_push_image_marginTop_vertical">8px</dimen>
|
||||
<dimen name="module_push_ui_image_width_vertical">328px</dimen>
|
||||
<dimen name="module_push_ui_image_height_vertical">164px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop_vertical">15px</dimen>
|
||||
<dimen name="module_push_image_qr_size_vertical">150px</dimen>
|
||||
<dimen name="module_push_window_x">20px</dimen>
|
||||
<dimen name="module_push_window_y">0px</dimen>
|
||||
<dimen name="module_push_item_minHeight_vertical">310px</dimen>
|
||||
<dimen name="module_push_item_maxHeight_vertical">350px</dimen>
|
||||
<dimen name="module_push_content_paddingBottom_vertical">60px</dimen>
|
||||
<dimen name="module_push_panel_marginTop">2px</dimen>
|
||||
<dimen name="module_push_panel_marginBottom">2px</dimen>
|
||||
<dimen name="module_push_panel_marginRight">8px</dimen>
|
||||
<dimen name="module_push_panel_paddingLeft">28px</dimen>
|
||||
<dimen name="module_push_panel_paddingBottom">16px</dimen>
|
||||
<dimen name="module_push_panel_corner">16px</dimen>
|
||||
<dimen name="module_push_panel_item_corner">12px</dimen>
|
||||
<dimen name="module_push_item_time_textSize">5px</dimen>
|
||||
<dimen name="module_push_item_image_width">118px</dimen>
|
||||
<dimen name="module_push_item_image_height">86px</dimen>
|
||||
<dimen name="module_push_panel_bkg_padding">8px</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
|
||||
<dimen name="module_push_ui_height">230px</dimen>
|
||||
<dimen name="module_push_ui_image_width">230px</dimen>
|
||||
<dimen name="module_push_ui_image_height">230px</dimen>
|
||||
<dimen name="module_push_ui_image_corner">30px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin">21px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin">34px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_goneTopMargin">33px</dimen>
|
||||
<dimen name="module_push_line_width">2px</dimen>
|
||||
<dimen name="module_push_line_height">120px</dimen>
|
||||
<dimen name="module_push_line_margin_left">30px</dimen>
|
||||
<dimen name="module_push_check_margin">55px</dimen>
|
||||
<dimen name="module_push_check_text_size">42px</dimen>
|
||||
<dimen name="module_push_check_width">208px</dimen>
|
||||
<dimen name="module_push_title_mix_width">394px</dimen>
|
||||
<dimen name="module_push_ui_title_textSize">42px</dimen>
|
||||
<dimen name="module_push_ui_content_width">567px</dimen>
|
||||
<dimen name="module_push_ui_content_height">100px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop">20px</dimen>
|
||||
<dimen name="module_push_ui_content_marginBottom">34px</dimen>
|
||||
<dimen name="module_push_ui_title_text_size">34px</dimen>
|
||||
|
||||
|
||||
<dimen name="module_push_dialog_check_width">1200px</dimen>
|
||||
<dimen name="module_push_dialog_check_height">763px</dimen>
|
||||
<dimen name="module_push_dialog_check_bg_corner">32px</dimen>
|
||||
<dimen name="module_push_dialog_close_width">107px</dimen>
|
||||
<dimen name="module_push_dialog_close_height">107px</dimen>
|
||||
<dimen name="module_push_dialog_close_margin">40px</dimen>
|
||||
<dimen name="module_push_dialog_title_margin">54px</dimen>
|
||||
<dimen name="module_push_dialog_title_size">56px</dimen>
|
||||
<dimen name="module_push_dialog_content_width">1000px</dimen>
|
||||
<dimen name="module_push_dialog_content_margin_top">33px</dimen>
|
||||
<dimen name="module_push_dialog_content_size">43px</dimen>
|
||||
<dimen name="module_push_ui_margin_top">20px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<dimen name="module_push_margin_top">30px</dimen>
|
||||
<dimen name="module_push_size">660px</dimen>
|
||||
<dimen name="module_push_margin_start">60px</dimen>
|
||||
<dimen name="module_push_app_icon_size">60px</dimen>
|
||||
<dimen name="module_push_app_icon_margin_start">31px</dimen>
|
||||
<dimen name="module_push_title_margin_start">22px</dimen>
|
||||
<dimen name="module_push_title_margin_top">38px</dimen>
|
||||
<dimen name="module_push_title_text_size">32px</dimen>
|
||||
<dimen name="module_push_title_mix_width">394px</dimen>
|
||||
<dimen name="module_push_timer_margin_end">24px</dimen>
|
||||
<dimen name="module_push_timer_text_size">28px</dimen>
|
||||
<dimen name="module_push_timer_margin_top">34px</dimen>
|
||||
<dimen name="module_push_image_width">600px</dimen>
|
||||
<dimen name="module_push_image_height">338px</dimen>
|
||||
<dimen name="module_push_image_margin_top">30px</dimen>
|
||||
<dimen name="module_push_content_only_width">605px</dimen>
|
||||
<dimen name="module_push_content_only_height">300px</dimen>
|
||||
<dimen name="module_push_content_only_line_space">16px</dimen>
|
||||
<dimen name="module_push_content_only_padding">53px</dimen>
|
||||
<dimen name="module_push_button_width">0px</dimen>
|
||||
<dimen name="module_push_button_height">90px</dimen>
|
||||
<dimen name="module_push_button_margin_top">20px</dimen>
|
||||
<dimen name="module_push_button_margin_bottom">26px</dimen>
|
||||
<dimen name="module_push_activity_title_margin_top">50px</dimen>
|
||||
<dimen name="module_push_activity_title_text_size">36px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_top">36px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_end">160px</dimen>
|
||||
<dimen name="module_push_activity_close_padding">10px</dimen>
|
||||
<dimen name="module_push_activity_recycler_view_margin_top">151px</dimen>
|
||||
<dimen name="module_push_activity_not_data_text_size">72px</dimen>
|
||||
<dimen name="module_push_activity_clear_margin_bottom">68px</dimen>
|
||||
<dimen name="module_push_message_item_height">180px</dimen>
|
||||
<dimen name="module_push_message_app_icon_size">120px</dimen>
|
||||
<dimen name="module_push_message_margin_start">50px</dimen>
|
||||
<dimen name="module_push_item_title_margin_top">22px</dimen>
|
||||
<dimen name="module_push_item_title_margin_bottom">6px</dimen>
|
||||
<dimen name="module_push_item_title_gone_margin_bottom">84px</dimen>
|
||||
|
||||
<dimen name="module_push_item_content_margin_end">40px</dimen>
|
||||
<dimen name="module_push_item_content_margin_bottom">52px</dimen>
|
||||
<dimen name="module_push_item_content_text_size">28px</dimen>
|
||||
<dimen name="module_push_message_item_image_size">120px</dimen>
|
||||
<dimen name="module_push_message_item_image_margin_end">11px</dimen>
|
||||
<dimen name="module_push_massage_time_text_size">26px</dimen>
|
||||
<dimen name="module_push_image_margin_bottom">42px</dimen>
|
||||
<dimen name="module_push_button_radius">51px</dimen>
|
||||
<dimen name="module_push_timer_inner_radius">27px</dimen>
|
||||
<dimen name="module_push_timer_thickness">3px</dimen>
|
||||
<dimen name="module_push_clear_bg_radius">45px</dimen>
|
||||
<dimen name="module_push_image_radius">20px</dimen>
|
||||
<dimen name="module_push_item_image_radius">16px</dimen>
|
||||
<dimen name="module_push_item_content_width">1000px</dimen>
|
||||
<dimen name="module_push_ui_height">350px</dimen>
|
||||
<dimen name="module_push_ui_image_width">480px</dimen>
|
||||
<dimen name="module_push_ui_image_height">320px</dimen>
|
||||
<dimen name="module_push_ui_image_marLeft">17px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin">21px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin">30px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_goneTopMargin">33px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_size">50px</dimen>
|
||||
<dimen name="module_push_ui_title_textSize">30px</dimen>
|
||||
<dimen name="module_push_ui_decrease_timer_corner">14px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginTop">30px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginEnd">27px</dimen>
|
||||
<dimen name="module_push_ui_timer_textSize">30px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_padding">21px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop">11px</dimen>
|
||||
<dimen name="module_push_ui_title_text_size">34px</dimen>
|
||||
<dimen name="module_push_ui_button_radius">20px</dimen>
|
||||
<dimen name="module_push_ui_bkg_corner">30px</dimen>
|
||||
<dimen name="module_push_button_right_marLeft">20px</dimen>
|
||||
<dimen name="module_push_ui_image_corner">15px</dimen>
|
||||
<dimen name="module_push_button_maxWidth">242px</dimen>
|
||||
<dimen name="module_push_ui_height_vertical">486px</dimen>
|
||||
<dimen name="module_push_ui_width_vertical">700px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin_vertical">30px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin_vertical">33px</dimen>
|
||||
<dimen name="module_push_image_marginTop_vertical">16px</dimen>
|
||||
<dimen name="module_push_ui_image_width_vertical">640px</dimen>
|
||||
<dimen name="module_push_ui_image_height_vertical">296px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop_vertical">30px</dimen>
|
||||
<dimen name="module_push_image_qr_size_vertical">250px</dimen>
|
||||
<dimen name="module_push_window_x">20px</dimen>
|
||||
<dimen name="module_push_window_y">0px</dimen>
|
||||
<dimen name="module_push_item_minHeight_vertical">618px</dimen>
|
||||
<dimen name="module_push_item_maxHeight_vertical">350px</dimen>
|
||||
<dimen name="module_push_content_paddingBottom_vertical">120px</dimen>
|
||||
<dimen name="module_push_panel_marginTop">20px</dimen>
|
||||
<dimen name="module_push_panel_marginBottom">20px</dimen>
|
||||
<dimen name="module_push_panel_marginRight">20px</dimen>
|
||||
<dimen name="module_push_panel_paddingLeft">50px</dimen>
|
||||
<dimen name="module_push_panel_paddingBottom">28px</dimen>
|
||||
<dimen name="module_push_panel_corner">29px</dimen>
|
||||
<dimen name="module_push_panel_item_corner">22px</dimen>
|
||||
<dimen name="module_push_item_time_textSize">11px</dimen>
|
||||
<dimen name="module_push_item_image_width">212px</dimen>
|
||||
<dimen name="module_push_item_image_height">154px</dimen>
|
||||
<dimen name="module_push_panel_bkg_padding">10px</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<declare-styleable name="RoundedImageView">
|
||||
<attr name="riv_corner_radius" format="dimension" />
|
||||
<attr name="riv_corner_radius_top_left" format="dimension" />
|
||||
<attr name="riv_corner_radius_top_right" format="dimension" />
|
||||
<attr name="riv_corner_radius_bottom_left" format="dimension" />
|
||||
<attr name="riv_corner_radius_bottom_right" format="dimension" />
|
||||
<attr name="riv_border_width" format="dimension" />
|
||||
<attr name="riv_border_color" format="color" />
|
||||
<attr name="riv_mutate_background" format="boolean" />
|
||||
<attr name="riv_oval" format="boolean" />
|
||||
<attr name="android:scaleType" />
|
||||
<attr name="riv_tile_Mode">
|
||||
<enum name="clamp" value="0" />
|
||||
<enum name="repeat" value="1" />
|
||||
<enum name="mirror" value="2" />
|
||||
</attr>
|
||||
<attr name="riv_tile_Mode_x">
|
||||
<enum name="clamp" value="0" />
|
||||
<enum name="repeat" value="1" />
|
||||
<enum name="mirror" value="2" />
|
||||
</attr>
|
||||
<attr name="riv_tile_Mode_y">
|
||||
<enum name="clamp" value="0" />
|
||||
<enum name="repeat" value="1" />
|
||||
<enum name="mirror" value="2" />
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="module_push_panel_title_textColor">#FFFFFFFF</color>
|
||||
<color name="module_push_item_title_textColor">#FFFFFF</color>
|
||||
<color name="module_push_item_content_textColor">#B2FFFFFF</color>
|
||||
<color name="module_push_item_time_textColor">#999999</color>
|
||||
<color name="module_push_item_line_color">#B3FFFFFF</color>
|
||||
<color name="module_push_check_color">#5A8EFD</color>
|
||||
<color name="module_push_check_dialog_bg_color">#E63B4577</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<dimen name="module_push_margin_top">16px</dimen>
|
||||
<dimen name="module_push_size">352px</dimen>
|
||||
<dimen name="module_push_margin_start">32px</dimen>
|
||||
<dimen name="module_push_app_icon_size">32px</dimen>
|
||||
<dimen name="module_push_app_icon_margin_start">16.5px</dimen>
|
||||
<dimen name="module_push_title_margin_start">12px</dimen>
|
||||
<dimen name="module_push_title_margin_top">20px</dimen>
|
||||
<dimen name="module_push_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_title_mix_width">210px</dimen>
|
||||
<dimen name="module_push_timer_margin_end">13px</dimen>
|
||||
<dimen name="module_push_timer_text_size">15px</dimen>
|
||||
<dimen name="module_push_timer_margin_top">18px</dimen>
|
||||
<dimen name="module_push_image_width">320px</dimen>
|
||||
<dimen name="module_push_image_height">180px</dimen>
|
||||
<dimen name="module_push_image_margin_top">16px</dimen>
|
||||
<dimen name="module_push_content_only_width">320px</dimen>
|
||||
<dimen name="module_push_content_only_height">160px</dimen>
|
||||
<dimen name="module_push_content_only_line_space">9px</dimen>
|
||||
<dimen name="module_push_content_only_padding">20px</dimen>
|
||||
<dimen name="module_push_button_width">0px</dimen>
|
||||
<dimen name="module_push_button_height">48px</dimen>
|
||||
<dimen name="module_push_button_margin_top">10px</dimen>
|
||||
<dimen name="module_push_button_margin_bottom">14px</dimen>
|
||||
<dimen name="module_push_activity_title_margin_top">50px</dimen>
|
||||
<dimen name="module_push_activity_title_text_size">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_top">20px</dimen>
|
||||
<dimen name="module_push_activity_close_margin_end">90px</dimen>
|
||||
<dimen name="module_push_activity_close_padding">5px</dimen>
|
||||
<dimen name="module_push_activity_recycler_view_margin_top">84px</dimen>
|
||||
<dimen name="module_push_activity_not_data_text_size">38px</dimen>
|
||||
<dimen name="module_push_activity_clear_margin_bottom">36px</dimen>
|
||||
<dimen name="module_push_message_item_height">100px</dimen>
|
||||
<dimen name="module_push_message_app_icon_size">64px</dimen>
|
||||
<dimen name="module_push_message_margin_start">24px</dimen>
|
||||
<dimen name="module_push_item_title_margin_top">16px</dimen>
|
||||
<dimen name="module_push_item_title_gone_margin_bottom">44px</dimen>
|
||||
<dimen name="module_push_item_title_margin_bottom">2px</dimen>
|
||||
<dimen name="module_push_item_content_margin_end">20px</dimen>
|
||||
<dimen name="module_push_item_content_margin_bottom">27px</dimen>
|
||||
<dimen name="module_push_item_content_text_size">16px</dimen>
|
||||
<dimen name="module_push_message_item_image_size">64px</dimen>
|
||||
<dimen name="module_push_message_item_image_margin_end">8px</dimen>
|
||||
<dimen name="module_push_massage_time_text_size">16px</dimen>
|
||||
|
||||
<dimen name="module_push_image_margin_bottom">22px</dimen>
|
||||
<dimen name="module_push_button_radius">27px</dimen>
|
||||
<dimen name="module_push_timer_inner_radius">14px</dimen>
|
||||
<dimen name="module_push_timer_thickness">1.5px</dimen>
|
||||
<dimen name="module_push_clear_bg_radius">24px</dimen>
|
||||
<dimen name="module_push_image_radius">10px</dimen>
|
||||
<dimen name="module_push_item_image_radius">8px</dimen>
|
||||
<dimen name="module_push_item_content_width">560px</dimen>
|
||||
<dimen name="module_push_ui_height">194px</dimen>
|
||||
<dimen name="module_push_ui_image_width">266px</dimen>
|
||||
<dimen name="module_push_ui_image_height">178px</dimen>
|
||||
<dimen name="module_push_ui_image_marLeft">8px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin">12px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin">16px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_goneTopMargin">19px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_size">30px</dimen>
|
||||
<dimen name="module_push_ui_title_textSize">16px</dimen>
|
||||
<dimen name="module_push_ui_decrease_timer_corner">8px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginTop">17px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_marginEnd">19px</dimen>
|
||||
<dimen name="module_push_ui_timer_textSize">16px</dimen>
|
||||
<dimen name="module_push_progress_bar_frame_padding">11px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop">6px</dimen>
|
||||
<dimen name="module_push_ui_title_text_size">18px</dimen>
|
||||
<dimen name="module_push_ui_button_radius">10px</dimen>
|
||||
<dimen name="module_push_ui_bkg_corner">17px</dimen>
|
||||
<dimen name="module_push_button_right_marLeft">10px</dimen>
|
||||
<dimen name="module_push_ui_image_corner">8px</dimen>
|
||||
<dimen name="module_push_button_maxWidth">242px</dimen>
|
||||
<dimen name="module_push_ui_height_vertical">270px</dimen>
|
||||
<dimen name="module_push_ui_width_vertical">374px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_leftMargin_vertical">24px</dimen>
|
||||
<dimen name="module_push_ui_app_icon_topMargin_vertical">19px</dimen>
|
||||
<dimen name="module_push_image_marginTop_vertical">8px</dimen>
|
||||
<dimen name="module_push_ui_image_width_vertical">328px</dimen>
|
||||
<dimen name="module_push_ui_image_height_vertical">164px</dimen>
|
||||
<dimen name="module_push_ui_content_marginTop_vertical">15px</dimen>
|
||||
<dimen name="module_push_image_qr_size_vertical">150px</dimen>
|
||||
<dimen name="module_push_window_x">20px</dimen>
|
||||
<dimen name="module_push_window_y">0px</dimen>
|
||||
<dimen name="module_push_item_minHeight_vertical">310px</dimen>
|
||||
<dimen name="module_push_item_maxHeight_vertical">350px</dimen>
|
||||
<dimen name="module_push_content_paddingBottom_vertical">60px</dimen>
|
||||
<dimen name="module_push_panel_marginTop">2px</dimen>
|
||||
<dimen name="module_push_panel_marginBottom">2px</dimen>
|
||||
<dimen name="module_push_panel_marginRight">8px</dimen>
|
||||
<dimen name="module_push_panel_paddingLeft">28px</dimen>
|
||||
<dimen name="module_push_panel_paddingBottom">16px</dimen>
|
||||
<dimen name="module_push_panel_corner">16px</dimen>
|
||||
<dimen name="module_push_panel_item_corner">12px</dimen>
|
||||
<dimen name="module_push_item_time_textSize">5px</dimen>
|
||||
<dimen name="module_push_item_image_width">118px</dimen>
|
||||
<dimen name="module_push_item_image_height">86px</dimen>
|
||||
<dimen name="module_push_panel_bkg_padding">8px</dimen>
|
||||
|
||||
|
||||
<dimen name="module_push_ui_content_marginBottom">34px</dimen>
|
||||
<dimen name="module_push_ui_content_width">567px</dimen>
|
||||
<dimen name="module_push_ui_content_height">100px</dimen>
|
||||
|
||||
<dimen name="module_push_line_width">2px</dimen>
|
||||
<dimen name="module_push_line_height">120px</dimen>
|
||||
<dimen name="module_push_line_margin_left">30px</dimen>
|
||||
<dimen name="module_push_check_margin">55px</dimen>
|
||||
<dimen name="module_push_check_text_size">42px</dimen>
|
||||
<dimen name="module_push_check_width">208px</dimen>
|
||||
|
||||
<dimen name="module_push_dialog_check_width">1200px</dimen>
|
||||
<dimen name="module_push_dialog_check_height">763px</dimen>
|
||||
<dimen name="module_push_dialog_check_bg_corner">32px</dimen>
|
||||
<dimen name="module_push_dialog_close_width">107px</dimen>
|
||||
<dimen name="module_push_dialog_close_height">107px</dimen>
|
||||
<dimen name="module_push_dialog_close_margin">40px</dimen>
|
||||
<dimen name="module_push_dialog_title_margin">54px</dimen>
|
||||
<dimen name="module_push_dialog_title_size">56px</dimen>
|
||||
<dimen name="module_push_dialog_content_width">1000px</dimen>
|
||||
<dimen name="module_push_dialog_content_margin_top">33px</dimen>
|
||||
<dimen name="module_push_dialog_content_size">43px</dimen>
|
||||
<dimen name="module_push_ui_margin_top">20px</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,7 @@
|
||||
<resources>
|
||||
<string name="app_name">mogo-core-function-notice</string>
|
||||
<string name="module_push_str_delete">清除</string>
|
||||
<string name="module_push_str_clear">清空历史消息</string>
|
||||
<string name="module_push_str_not_data">暂无消息</string>
|
||||
<string name="module_push_check">查看</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,9 @@
|
||||
<resources>
|
||||
|
||||
<style name="ModulePushMessageTheme" parent="Theme.AppCompat.NoActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
|
||||
<item name="android:windowBackground">@drawable/module_push_message_background</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -1,14 +1,11 @@
|
||||
package com.mogo.eagle.core.function.chat.facade.net
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.JsonElement
|
||||
import com.google.gson.JsonObject
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.data.BaseResponse
|
||||
import com.mogo.eagle.core.data.chat.UserInfo
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.function.api.chat.biz.ChatConsts
|
||||
import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_VOICE
|
||||
import com.mogo.eagle.core.function.chat.facade.bridge.BridgeApi
|
||||
@@ -18,8 +15,8 @@ import com.mogo.eagle.core.function.chat.facade.net.bean.*
|
||||
import com.mogo.eagle.core.function.chat.facade.utils.log
|
||||
import com.mogo.map.MogoLocationClient
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import retrofit2.http.*
|
||||
import java.lang.IllegalStateException
|
||||
|
||||
|
||||
internal class ChatServiceModel {
|
||||
@@ -35,11 +32,12 @@ internal class ChatServiceModel {
|
||||
} ?: false
|
||||
}
|
||||
|
||||
suspend fun queryUserInfo(sn: String): Pair<Error?,UserInfo?>? {
|
||||
suspend fun queryUserInfo(sn: String): Pair<Error?, UserInfo?>? {
|
||||
val sns = arrayListOf(sn)
|
||||
val requestData = SnArrayRequestBody().also { it.sns = sns }
|
||||
return apiCall {
|
||||
getNetWorkApi(getConfig())?.queryUserInfoBySnS(requestData) ?: throw IllegalStateException("apis is null.")
|
||||
getNetWorkApi(getConfig())?.queryUserInfoBySnS(requestData)
|
||||
?: throw IllegalStateException("apis is null.")
|
||||
}.let { itx ->
|
||||
if (itx.code != 0 && itx.code != 200) {
|
||||
return@let Pair(Error(itx.code, itx.msg), null)
|
||||
@@ -84,11 +82,13 @@ internal class ChatServiceModel {
|
||||
map["data"] = Gson().toJson(params)
|
||||
return if (params.type == CALL_TYPE_VOICE.type) {
|
||||
apiCall {
|
||||
getNetWorkApi()?.requestConnectStatus(sn, map) ?: throw IllegalStateException("apis is null.")
|
||||
getNetWorkApi()?.requestConnectStatus(sn, map)
|
||||
?: throw IllegalStateException("apis is null.")
|
||||
}
|
||||
} else {
|
||||
apiCall {
|
||||
getNetWorkApi()?.requestVehicleTeamConnectStatus(map) ?: throw IllegalStateException("apis is null.")
|
||||
getNetWorkApi()?.requestVehicleTeamConnectStatus(map)
|
||||
?: throw IllegalStateException("apis is null.")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,7 +99,8 @@ internal class ChatServiceModel {
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["data"] = Gson().toJson(param)
|
||||
return apiCall {
|
||||
getNetWorkApi()?.inviteJoinVehicleTeam(map) ?: throw IllegalStateException("apis is null.")
|
||||
getNetWorkApi()?.inviteJoinVehicleTeam(map)
|
||||
?: throw IllegalStateException("apis is null.")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,8 +123,7 @@ internal class ChatServiceModel {
|
||||
}
|
||||
|
||||
private fun getNetWorkApi(baseUrl: String = ChatHttp.getBaseUrl()): HttpApi? {
|
||||
val serviceApi: IMogoServiceApis? = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() as? IMogoServiceApis
|
||||
return serviceApi?.networkApi?.createNoCallAdapter(HttpApi::class.java, baseUrl)
|
||||
return MoGoRetrofitFactory.getInstanceNoCallAdapter(baseUrl).create(HttpApi::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,10 @@ internal interface HttpApi {
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("/yycp-chat-service/car/voiceRoom/no/operate/v1")
|
||||
suspend fun requestConnectStatus(@Query("sn") sn: String, @FieldMap connectStatus: Map<String, String>): BaseResponse<Any>
|
||||
suspend fun requestConnectStatus(
|
||||
@Query("sn") sn: String,
|
||||
@FieldMap connectStatus: Map<String, String>
|
||||
): BaseResponse<Any>
|
||||
|
||||
//邀请加入车队
|
||||
@FormUrlEncoded
|
||||
|
||||
@@ -4,12 +4,15 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.eagle.core.data.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneModule
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneTAG
|
||||
import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager
|
||||
import com.zhjt.mogo_core_function_devatools.feedback.FeedbackManager
|
||||
import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchManager
|
||||
import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager
|
||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager
|
||||
import record_cache.RecordPanelOuterClass
|
||||
|
||||
@@ -32,8 +35,8 @@ class DevaToolsProvider : IDevaToolsProvider {
|
||||
MogoLogCatchManager.startCatchLog()
|
||||
}
|
||||
|
||||
override fun startLogCatch(duration: Int) {
|
||||
MogoLogCatchManager.startCatchLog(duration)
|
||||
override fun startLogCatch(duration: Int, logPrefixName: String?) {
|
||||
MogoLogCatchManager.startCatchLog(duration, logPrefixName)
|
||||
}
|
||||
|
||||
override fun stopLogCatch() {
|
||||
@@ -49,6 +52,22 @@ class DevaToolsProvider : IDevaToolsProvider {
|
||||
traceManager.refreshTraceInfo(map)
|
||||
}
|
||||
|
||||
override fun getModuleTAG(): MutableMap<String, SceneModule> {
|
||||
return sceneManager.getModuleLogTAG()
|
||||
}
|
||||
|
||||
override fun updateModuleTAG(moduleTag: MutableMap<String, SceneModule>) {
|
||||
sceneManager.updateModuleTAG(moduleTag)
|
||||
}
|
||||
|
||||
override fun getSceneLogTAG(): MutableMap<String, SceneTAG> {
|
||||
return sceneManager.getSceneLogTAG()
|
||||
}
|
||||
|
||||
override fun updateSceneTAG(sceneTag: MutableMap<String, SceneTAG>) {
|
||||
sceneManager.updateSceneTAG(sceneTag)
|
||||
}
|
||||
|
||||
override fun initBadCase(view: View, onShow: (() -> Unit)?, onHide: (() -> Unit)?) {
|
||||
BadCaseManager.init(view, onShow, onHide)
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onDetach
|
||||
import com.mogo.eagle.core.utilcode.kotlin.safeCancel
|
||||
@@ -134,12 +135,14 @@ internal object FeedbackManager {
|
||||
|
||||
private fun startRecordLog(record: AutoPilotRecord) {
|
||||
//val fileName = record.fileName
|
||||
//TODO zhongchao 添加全量日志开始录制
|
||||
//添加全量日志开始录制
|
||||
CallerDevaToolsManager.startCatchLog(1,record.fileName)
|
||||
}
|
||||
|
||||
private fun stopRecordLog(newRecord: AutoPilotRecord) {
|
||||
//val fileName = record.fileName
|
||||
//TODO zhongchao 添加全量日志结束录制
|
||||
//添加全量日志结束录制
|
||||
CallerDevaToolsManager.startCatchLog()
|
||||
}
|
||||
|
||||
private suspend fun upload(ctx: Context, badCase: BadCase, checked: Reason) {
|
||||
|
||||
@@ -10,12 +10,12 @@ import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.constants.MoGoConfig
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
@@ -103,14 +103,14 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
return false
|
||||
}
|
||||
|
||||
fun startCatchLog(duration: Int = 10) {
|
||||
fun startCatchLog(duration: Int = 10, logPrefixName: String? = null) {
|
||||
if (catchingList.contains(MANUAL_CATCH_PKG_NAME)) {
|
||||
TipToast.shortTip("已经在抓取日志了,请稍后再试")
|
||||
} else {
|
||||
CallerLogger.d("$M_DEVA$TAG", "开始抓取日志==== duration : $duration")
|
||||
manualContent.type = START_CATCH_LOG
|
||||
manualContent.duration = duration
|
||||
startCatchLog(manualContent)
|
||||
startCatchLog(manualContent, logPrefixName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
stopCatchLog(manualContent)
|
||||
}
|
||||
|
||||
private fun startCatchLog(content: RemoteLogPushContent) {
|
||||
private fun startCatchLog(content: RemoteLogPushContent, logPrefixName: String? = null) {
|
||||
catchingList.add(content.pkgName)
|
||||
var delay = (content.duration).toLong()
|
||||
handler.removeMessages(MSG_TRY_CLOSE_LOG)
|
||||
@@ -136,6 +136,7 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
mContext,
|
||||
MoGoAiCloudClientConfig.getInstance().sn,
|
||||
AppConfigInfo.toString(),
|
||||
logPrefixName?.replace("_", "-"),
|
||||
content,
|
||||
this
|
||||
)
|
||||
|
||||
@@ -1,17 +1,131 @@
|
||||
package com.zhjt.mogo_core_function_devatools.scene
|
||||
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneLogTAG
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneModule
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneModuleTAG
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneTAG
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.Scene.Companion.scene
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_NETWORK
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OLD_ROUTE
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneLogCache
|
||||
|
||||
//todo 1. SceneLogCache增加模块名称,提供场景需要
|
||||
//todo 2. 对特定场景提供数据, 网约车,调度...
|
||||
|
||||
//1. SceneLogCache增加模块名称,提供场景需要
|
||||
//2. 对特定场景提供数据, 网约车,调度...
|
||||
class SceneManager {
|
||||
|
||||
companion object {
|
||||
|
||||
private const val ADAS = "ADAS"
|
||||
private const val DEVA = "DEVA"
|
||||
private const val HMI = "HMI"
|
||||
private const val OBU = "OBU"
|
||||
private const val V2X = "V2X"
|
||||
private const val ROUTE = "ROUTE"
|
||||
private const val NET = "NET"
|
||||
private const val BUS = "BUS"
|
||||
private const val TAXI = "TAXI"
|
||||
private const val TAXI_P = "TAXI-P"
|
||||
|
||||
val sceneManager: SceneManager by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||
SceneManager()
|
||||
}
|
||||
}
|
||||
|
||||
fun init(){
|
||||
private var sceneCache: MutableMap<String, SceneLogCache> = scene.getSceneCache()
|
||||
private var sceneModuleTAG: SceneModuleTAG = SceneModuleTAG(mutableMapOf())
|
||||
private var sceneLogTAG: SceneLogTAG = SceneLogTAG(mutableMapOf())
|
||||
|
||||
fun init() {
|
||||
//过滤所需条件
|
||||
sceneModuleTAG.map[ADAS] = SceneModule(true, M_ADAS_IMPL)
|
||||
sceneModuleTAG.map[DEVA] = SceneModule(true, M_DEVA)
|
||||
sceneModuleTAG.map[HMI] = SceneModule(true, M_HMI)
|
||||
sceneModuleTAG.map[OBU] = SceneModule(false, M_OBU)
|
||||
sceneModuleTAG.map[V2X] = SceneModule(true, M_V2X)
|
||||
sceneModuleTAG.map[ROUTE] = SceneModule(true, M_OLD_ROUTE)
|
||||
sceneModuleTAG.map[NET] = SceneModule(true, M_NETWORK)
|
||||
sceneModuleTAG.map[BUS] = SceneModule(false, M_BUS)
|
||||
sceneModuleTAG.map[TAXI] = SceneModule(false, M_TAXI)
|
||||
sceneModuleTAG.map[TAXI_P] = SceneModule(false, M_TAXI_P)
|
||||
|
||||
sceneLogTAG.map[TAXI] = SceneTAG(false)
|
||||
sceneLogTAG.map[BUS] = SceneTAG(false)
|
||||
}
|
||||
|
||||
fun getModuleLogTAG(): MutableMap<String, SceneModule> {
|
||||
return sceneModuleTAG.map
|
||||
}
|
||||
|
||||
fun getSceneLogTAG(): MutableMap<String, SceneTAG> {
|
||||
return sceneLogTAG.map
|
||||
}
|
||||
|
||||
fun updateModuleTAG(moduleTag: MutableMap<String, SceneModule>) {
|
||||
moduleTag.iterator().forEach { map ->
|
||||
val name = map.value.name
|
||||
val logger = map.value.log
|
||||
name?.let {
|
||||
val sceneLogCache = sceneCache[it]
|
||||
sceneLogCache?.let { logCache ->
|
||||
logCache.logger = logger
|
||||
sceneCache[it] = logCache
|
||||
}
|
||||
}
|
||||
}
|
||||
scene.updateSceneCache(sceneCache)
|
||||
}
|
||||
|
||||
fun updateSceneTAG(sceneTag: MutableMap<String, SceneTAG>) {
|
||||
sceneTag.iterator().forEach { map ->
|
||||
realUpdateSceneTAG(map.key, map.value.log)
|
||||
}
|
||||
updateSceneModuleTAG()
|
||||
}
|
||||
|
||||
private fun updateSceneModuleTAG() {
|
||||
sceneModuleTAG.map.iterator().forEach { map ->
|
||||
val sceneModule = map.value
|
||||
val sceneLogCache = sceneCache[sceneModule.name]
|
||||
sceneLogCache?.let {
|
||||
sceneModule.log = it.logger
|
||||
}
|
||||
map.setValue(sceneModule)
|
||||
}
|
||||
//call back
|
||||
CallerDevaToolsListenerManager.invokeDevaToolsModuleLogChanges(sceneModuleTAG.map)
|
||||
}
|
||||
|
||||
private fun realUpdateSceneTAG(name: String, logger: Boolean) {
|
||||
when (name) {
|
||||
TAXI -> {
|
||||
sceneCache[M_TAXI]?.logger = logger
|
||||
sceneCache[M_TAXI_P]?.logger = logger
|
||||
sceneCache[M_NETWORK]?.logger = logger
|
||||
sceneCache[M_ADAS_IMPL]?.logger = logger
|
||||
sceneCache[M_HMI]?.logger = logger
|
||||
sceneCache[M_DEVA]?.logger = logger
|
||||
sceneCache[M_OLD_ROUTE]?.logger = logger
|
||||
scene.updateSceneCache(sceneCache)
|
||||
}
|
||||
BUS -> {
|
||||
sceneCache[M_BUS]?.logger = logger
|
||||
sceneCache[M_NETWORK]?.logger = logger
|
||||
sceneCache[M_ADAS_IMPL]?.logger = logger
|
||||
sceneCache[M_HMI]?.logger = logger
|
||||
sceneCache[M_DEVA]?.logger = logger
|
||||
sceneCache[M_OLD_ROUTE]?.logger = logger
|
||||
scene.updateSceneCache(sceneCache)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,8 @@ package com.zhjt.mogo_core_function_devatools.trace
|
||||
|
||||
import android.content.Context
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
|
||||
@@ -46,5 +46,13 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!--绑定车辆-->
|
||||
<receiver android:name="com.mogo.eagle.core.function.hmi.receiver.BindingcarBroadcastReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="com.hmi.bindingcar" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
</application>
|
||||
</manifest>
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.mogo.eagle.core.function.hmi.receiver
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showBindingcarDialog
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showBrakeLight
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showModifyBindingcarDialog
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showTurnLight
|
||||
|
||||
/**
|
||||
* 绑定车辆
|
||||
*
|
||||
* @author lixiaopeng
|
||||
*/
|
||||
class BindingcarBroadcastReceiver : BroadcastReceiver() {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "BindingcarBroadcastReceiver"
|
||||
}
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
try {
|
||||
val type = intent.getIntExtra("type", 0)
|
||||
showTurnLight(type)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun showTurnLight( //type 1获取车辆信息,2修改绑定信息
|
||||
type: Int
|
||||
) {
|
||||
if (type == 1) {
|
||||
showBindingcarDialog()
|
||||
} else if (type == 2) {
|
||||
showModifyBindingcarDialog()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,16 +3,8 @@ package com.mogo.eagle.core.function.hmi.receiver
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.notice.NoticeNormalData
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showBrakeLight
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showTurnLight
|
||||
import com.mogo.eagle.core.function.hmi.WaringConst
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.SharedPrefs
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
|
||||
/**
|
||||
* 转向灯,刹车
|
||||
@@ -37,8 +29,8 @@ class TurnLightBroadcastReceiver : BroadcastReceiver() {
|
||||
|
||||
|
||||
private fun showTurnLight( //type 1,转向灯,2刹车
|
||||
type: Int,
|
||||
lightInt: Int
|
||||
type: Int,
|
||||
lightInt: Int
|
||||
) {
|
||||
if (type == 1) {
|
||||
showTurnLight(lightInt) //设置转向灯
|
||||
|
||||
@@ -3,13 +3,10 @@ package com.mogo.eagle.core.function.hmi.receiver
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.WaringConst
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
|
||||
/**
|
||||
* V2X 预警广播接收。用于跨应用,跨进程,内部也可以通过这种方式 控制限速标志
|
||||
@@ -21,13 +18,10 @@ class V2XLimitingVelocityBroadcastReceiver : BroadcastReceiver() {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "V2XLimitingVelocityBroadcastReceiver"
|
||||
private var mMogoServiceApis: IMogoServiceApis? = null
|
||||
}
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
try {
|
||||
mMogoServiceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS)
|
||||
.navigation(context) as IMogoServiceApis
|
||||
mContext = context
|
||||
|
||||
val limitingVelocityIsShow =
|
||||
|
||||
@@ -3,11 +3,8 @@ package com.mogo.eagle.core.function.hmi.receiver
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.WaringConst
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
|
||||
/**
|
||||
* V2X 预警广播接收。用于跨应用,跨进程,内部也可以通过这种方式 触发红绿灯场景
|
||||
@@ -19,13 +16,10 @@ class V2XTrafficLightBroadcastReceiver : BroadcastReceiver() {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "V2XTrafficLightBroadcastReceiver"
|
||||
private var mMogoServiceApis: IMogoServiceApis? = null
|
||||
}
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
try {
|
||||
mMogoServiceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS)
|
||||
.navigation(context) as IMogoServiceApis
|
||||
mContext = context
|
||||
|
||||
val trafficLightIsShow =
|
||||
|
||||
@@ -36,10 +36,13 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.WaringConst
|
||||
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
|
||||
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
|
||||
import com.mogo.eagle.core.function.hmi.ui.bindingcar.ModifyBindingCarDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.bindingcar.ToBindingCarDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.camera.CameraListView
|
||||
import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView
|
||||
import com.mogo.eagle.core.function.hmi.ui.notice.NoticeNormalBannerView
|
||||
import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.AutoPilotAndCheckView
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.V2XNotificationView
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -823,6 +826,24 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
|
||||
}
|
||||
}
|
||||
|
||||
private var modifyBindingCarDialog: ModifyBindingCarDialog? = null
|
||||
private var toBindingCarDialog: ToBindingCarDialog? = null
|
||||
|
||||
override fun showToBindingcarDialog() {
|
||||
if (toBindingCarDialog == null) {
|
||||
toBindingCarDialog = ToBindingCarDialog(requireContext())
|
||||
}
|
||||
toBindingCarDialog!!.showToBindingcarDialog()
|
||||
}
|
||||
|
||||
override fun showModifyBindingcarDialog() {
|
||||
if (modifyBindingCarDialog == null) {
|
||||
modifyBindingCarDialog = ModifyBindingCarDialog(requireContext())
|
||||
}
|
||||
modifyBindingCarDialog!!.showModifyBindingcarDialog()
|
||||
|
||||
}
|
||||
|
||||
override fun setTurnLightFunction(isOpen: Boolean) {
|
||||
HmiBuildConfig.isShowTurnLightView = isOpen
|
||||
}
|
||||
@@ -933,4 +954,5 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.bindingcar
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.module.common.dialog.BaseFloatDialog
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener
|
||||
import com.mogo.service.statusmanager.StatusDescriptor
|
||||
|
||||
|
||||
/**
|
||||
* @brief 修改车辆对话框
|
||||
* @author lixiaopeng
|
||||
*/
|
||||
class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver{
|
||||
|
||||
private val TAG = "BindingCarDialog"
|
||||
private var confirmTv: TextView? = null
|
||||
private var cancleTv: TextView? = null
|
||||
|
||||
private var mServiceApis: IMogoServiceApis? = null
|
||||
private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue ->
|
||||
if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND) {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
setContentView(R.layout.dialog_modify_bindingcar)
|
||||
setCanceledOnTouchOutside(true)
|
||||
|
||||
confirmTv = findViewById(R.id.tv_bindingcar_confirm)
|
||||
cancleTv = findViewById(R.id.tv_bindingcar_cancel)
|
||||
|
||||
confirmTv?.setOnClickListener {
|
||||
modifyBindingcar()
|
||||
}
|
||||
|
||||
cancleTv?.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改绑定车机 TODO
|
||||
*/
|
||||
fun modifyBindingcar() {
|
||||
CallerBindingcarManager.getBindingcarProvider().modifyCarInfo {
|
||||
if (it.code == 200) {
|
||||
TipToast.shortTip("修改绑定成功")
|
||||
} else {
|
||||
TipToast.shortTip("修改绑定失败")
|
||||
}
|
||||
}
|
||||
dismiss()
|
||||
}
|
||||
|
||||
override fun dismiss() {
|
||||
super.dismiss()
|
||||
}
|
||||
|
||||
fun showModifyBindingcarDialog() {
|
||||
if (isShowing) {
|
||||
return
|
||||
}
|
||||
|
||||
show()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.bindingcar
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.module.common.dialog.BaseFloatDialog
|
||||
import com.mogo.service.IMogoServiceApis
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener
|
||||
import com.mogo.service.statusmanager.StatusDescriptor
|
||||
|
||||
|
||||
/**
|
||||
* @brief 绑定车辆对话框
|
||||
* @author lixiaopeng
|
||||
*/
|
||||
class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver{
|
||||
|
||||
private val TAG = "ToBindingCarDialog"
|
||||
private var confirmTv: TextView? = null
|
||||
private var cancleTv: TextView? = null
|
||||
|
||||
private var mServiceApis: IMogoServiceApis? = null
|
||||
private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue ->
|
||||
if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND) {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
setContentView(R.layout.dialog_to_bindingcar)
|
||||
setCanceledOnTouchOutside(true)
|
||||
|
||||
confirmTv = findViewById(R.id.tv_to_bindingcar_confirm)
|
||||
cancleTv = findViewById(R.id.tv_to_bindingcar_cancel)
|
||||
|
||||
confirmTv?.setOnClickListener {
|
||||
toBindingcar()
|
||||
}
|
||||
|
||||
cancleTv?.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改绑定车机 TODO
|
||||
*/
|
||||
fun toBindingcar() {
|
||||
CallerBindingcarManager.getBindingcarProvider().modifyCarInfo {
|
||||
if (it.code == 200) {
|
||||
TipToast.shortTip("绑定成功")
|
||||
} else {
|
||||
TipToast.shortTip("绑定失败")
|
||||
}
|
||||
}
|
||||
dismiss()
|
||||
}
|
||||
|
||||
override fun dismiss() {
|
||||
super.dismiss()
|
||||
}
|
||||
|
||||
fun showToBindingcarDialog() {
|
||||
if (isShowing) {
|
||||
return
|
||||
}
|
||||
|
||||
show()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -95,7 +95,7 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO
|
||||
}
|
||||
|
||||
mServiceApis = MogoApisHandler.getInstance().apis
|
||||
mServiceApis?.getStatusManagerApi()?.registerStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForCheckNotice)
|
||||
mServiceApis?.statusManagerApi?.registerStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForCheckNotice)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -11,9 +11,10 @@ import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.autopilot.*
|
||||
import com.mogo.eagle.core.data.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.constants.MoGoConfig
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneModule
|
||||
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.data.obu.ObuStatusInfo
|
||||
@@ -424,6 +425,10 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun moduleLogChanged(moduleTag: MutableMap<String, SceneModule>) {
|
||||
//todo 模块日志 tag 发生变化,需要更新对应 UI
|
||||
}
|
||||
})
|
||||
tbLogDebugView.setOnCheckedChangeListener { _, isChecked ->
|
||||
if (isChecked) {
|
||||
|
||||
@@ -37,6 +37,7 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
private var clickListener: ClickListener? = null
|
||||
private var keyBoardUtil: KeyBoardUtil? = null
|
||||
private var connectStatus = false
|
||||
private var lastTime = 0L
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_auto_pilot_check, this, true)
|
||||
@@ -51,10 +52,6 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
keyBoardUtil?.setActionListener { inputContent ->
|
||||
inputContent.toIntOrNull()?.let { speed ->
|
||||
when {
|
||||
!connectStatus -> {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
keyBoardUtil?.hideKeyboard()
|
||||
}
|
||||
speed > 60 -> {
|
||||
// 设置失败键盘不消失,让用户直接修改
|
||||
ToastUtils.showShort("超过最大限速值60,设置失败")
|
||||
@@ -90,22 +87,28 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
ivDebugFeedback.onClick {
|
||||
clickListener?.showFeedbackView()
|
||||
}
|
||||
etInputSpeed.setOnTouchListener { v, _ ->
|
||||
if (!connectStatus) {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
keyBoardUtil?.hideKeyboard()
|
||||
return@setOnTouchListener true
|
||||
} else {
|
||||
llSpeedPosition.background = resources.getDrawable(R.drawable.pilot_speed_high_light_bg)
|
||||
if (etInputSpeed.hasFocusable()) {
|
||||
etInputSpeed.setOnFocusChangeListener { v, hasFocus ->
|
||||
when {
|
||||
hasFocus -> {
|
||||
llSpeedPosition.background = resources.getDrawable(R.drawable.pilot_speed_high_light_bg)
|
||||
if (keyBoardUtil == null) {
|
||||
keyBoardUtil = KeyBoardUtil(sKeyBoardView, etInputSpeed)
|
||||
}
|
||||
keyBoardUtil?.showKeyboard()
|
||||
}
|
||||
if (!etInputSpeed.hasFocus()) {
|
||||
etInputSpeed.requestFocus()
|
||||
}
|
||||
else -> llSpeedPosition.background = resources.getDrawable(R.drawable.pilot_speed_bg)
|
||||
}
|
||||
}
|
||||
etInputSpeed.setOnTouchListener { v, event ->
|
||||
var curTime = System.currentTimeMillis()
|
||||
if (curTime - lastTime < 1000) {
|
||||
return@setOnTouchListener true
|
||||
}
|
||||
if (!connectStatus) {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
keyBoardUtil?.hideKeyboard()
|
||||
return@setOnTouchListener true
|
||||
} else {
|
||||
return@setOnTouchListener false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,9 @@ import android.view.animation.Animation
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.ImageView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Default
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Turning
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import kotlinx.android.synthetic.main.view_turn_light_status.view.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -35,6 +38,9 @@ class TurnLightViewStatus @JvmOverloads constructor(
|
||||
private var isRightLight :Boolean = false
|
||||
private var isDisappare :Boolean = false
|
||||
|
||||
@Volatile
|
||||
private var isVisualAngleChanged = false
|
||||
|
||||
/**
|
||||
* 转向灯动画
|
||||
*/
|
||||
@@ -46,6 +52,13 @@ class TurnLightViewStatus @JvmOverloads constructor(
|
||||
isShowNormalBg = true
|
||||
}
|
||||
|
||||
if (directionLight == 1 || directionLight == 2) {
|
||||
if (!isVisualAngleChanged) {
|
||||
isVisualAngleChanged = true
|
||||
CallerVisualAngleManager.changeVisualAngle(Turning)
|
||||
}
|
||||
}
|
||||
|
||||
//根据左右进行显示和隐藏,实际要判断每个来的时间和频度
|
||||
if (directionLight == 1) { //左转向
|
||||
if (!isLeftLight) {
|
||||
@@ -73,6 +86,8 @@ class TurnLightViewStatus @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
} else { //消失
|
||||
CallerVisualAngleManager.changeVisualAngle(Default())
|
||||
isVisualAngleChanged = false
|
||||
if (!isDisappare) {
|
||||
GlobalScope.launch(Dispatchers.Main) {
|
||||
animationDisappear()
|
||||
|
||||