From 6ddf294e7d1f30cf66312d8159640e7742e448bc Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 15 Jan 2020 19:17:33 +0800 Subject: [PATCH 01/14] opt --- .idea/misc.xml | 2 +- .../com/mogo/commons/network/ParamsUtil.java | 2 + .../java/com/mogo/commons/network/Utils.java | 16 +++-- .../module/extensions/anim/JSurfaceView.java | 66 ++++++++++++++++--- .../com/mogo/module/main/MainActivity.java | 8 +-- .../module/service/MarkerServiceHandler.java | 53 ++++++++++----- .../module/service/MogoServiceProvider.java | 6 +- .../module/service/receiver/MogoReceiver.java | 2 +- .../service/imageloader/MogoImageView.java | 2 + 9 files changed, 117 insertions(+), 40 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 707ee6e613..2dc54c489f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java index 79ca7b4f74..73ca6ac8a3 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java @@ -75,6 +75,8 @@ public class ParamsUtil { public static Map< String, Object > getAnalyticsCustomParams() { Map< String, Object > map = new ArrayMap<>(); map.put( "debug", DebugConfig.isDebug() ? 1 : 0 ); + map.put( "systemversion", Utils.getFotaVersion() ); + map.put( "sn", Utils.getSn() ); return map; } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java index 350234532b..ccb06a943c 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java @@ -55,15 +55,24 @@ public class Utils { public static final String GET = "get"; public static final String GSM_SERIAL = "gsm.serial"; + public static final String FOTA_VERSION = "ro.fota.version"; public static final String PROPERTIES = "android.os.SystemProperties"; public static String getSn() { - String serial = ""; + return getSystemProperties( GSM_SERIAL ); + } + + public static String getFotaVersion() { + return getSystemProperties( FOTA_VERSION ); + } + + public static String getSystemProperties( String name ) { + String value = ""; try { Class< ? > c = Class.forName( PROPERTIES ); Method get = c.getMethod( GET, String.class ); - serial = ( String ) get.invoke( c, GSM_SERIAL ); + value = ( String ) get.invoke( c, GSM_SERIAL ); } catch ( ClassNotFoundException var3 ) { var3.printStackTrace(); } catch ( NoSuchMethodException var4 ) { @@ -73,7 +82,6 @@ public class Utils { } catch ( IllegalAccessException var6 ) { var6.printStackTrace(); } - - return serial; + return value; } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java index cae414cf21..46c005b357 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java @@ -15,9 +15,16 @@ import android.view.SurfaceHolder; import android.view.SurfaceView; import com.mogo.utils.ThreadPoolService; +import com.mogo.utils.logger.Logger; + +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.Map; public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder.Callback { + private static final String TAG = "JSurfaceView"; + private SurfaceHolder mHolder; /** @@ -33,6 +40,15 @@ public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder */ private int[] mFrames; + // 使用 BitmapFactory.Option.inBitmap 属性复用 bitmap 对象 + private Bitmap mContainerBitmap = null; + + // mContainerBitmap 是否生效 + private boolean mContainerBitmapStatus = true; + + // mContainerBitmapStatus 为 false 时,使用该缓存方案 + private Map< Integer, WeakReference< Bitmap > > mBitmapRefMap = new HashMap<>(); + public JSurfaceView( Context context ) { super( context ); init(); @@ -87,28 +103,60 @@ public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder private void drawBitmap() { //获取画布并锁定 - Canvas mCanvas = mHolder.lockCanvas(); - if ( mCanvas == null ) { + Canvas canvas = mHolder.lockCanvas(); + if ( canvas == null ) { return; } //绘制透明色 - mCanvas.drawColor( Color.TRANSPARENT, PorterDuff.Mode.CLEAR ); - Bitmap mBitmap = BitmapFactory.decodeResource( getResources(), mFrames[mCurrentPos % mFrames.length] ); + canvas.drawColor( Color.TRANSPARENT, PorterDuff.Mode.CLEAR ); + + int factPosition = mCurrentPos % mFrames.length; + + if ( mContainerBitmapStatus ) { + if ( mContainerBitmap == null ) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inMutable = true; + mContainerBitmap = BitmapFactory.decodeResource( getResources(), mFrames[factPosition], options ); + } else { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inMutable = true; + options.inBitmap = mContainerBitmap; + try { + BitmapFactory.decodeResource( getResources(), mFrames[factPosition], options ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + mContainerBitmapStatus = false; + mContainerBitmap = null; + } + } + } + if ( !mContainerBitmapStatus ) { + WeakReference< Bitmap > ref = mBitmapRefMap.get( factPosition ); + if ( ref != null && ref.get() != null && !ref.get().isRecycled() ) { + mContainerBitmap = ref.get(); + } else { + mContainerBitmap = BitmapFactory.decodeResource( getResources(), mFrames[factPosition] ); + mBitmapRefMap.put( factPosition, new WeakReference<>( mContainerBitmap ) ); + } + } + + if ( mContainerBitmap == null || mContainerBitmap.isRecycled() ) { + return; + } Paint paint = new Paint(); Rect mSrcRect = new Rect( 0, 0, - mBitmap.getWidth(), - mBitmap.getHeight() ); // 图片绘制 + mContainerBitmap.getWidth(), + mContainerBitmap.getHeight() ); // 图片绘制 Rect mDestRect = new Rect( 0, 0, getWidth(), getHeight() );// 图片绘制位置 - mCanvas.drawBitmap( mBitmap, mSrcRect, mDestRect, paint ); + canvas.drawBitmap( mContainerBitmap, mSrcRect, mDestRect, paint ); //解锁画布,并展示bitmap到surface - mHolder.unlockCanvasAndPost( mCanvas ); - mBitmap.recycle(); + mHolder.unlockCanvasAndPost( canvas ); } @Override diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index deb4f5b845..0c29d8820b 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -1,7 +1,6 @@ package com.mogo.module.main; import android.os.Bundle; -import android.os.SystemClock; import android.view.View; import android.widget.FrameLayout; @@ -112,11 +111,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme } } - @Override - public void onPageScrolled( int position, float positionOffset, int positionOffsetPixels ) { - super.onPageScrolled( position, positionOffset, positionOffsetPixels ); - } - @Override public void onPageScrollStateChanged( int state ) { super.onPageScrollStateChanged( state ); @@ -143,6 +137,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme properties.put( "appname", provider.getAppName() ); properties.put( "packagename", provider.getAppPackage() ); properties.put( "activeTime", System.currentTimeMillis() - mCardStartShowTime ); + properties.put( "type", provider.getModuleName() ); mAnalytics.track( "Launcher_Card_Show", properties ); mCardStartShowTime = System.currentTimeMillis(); } @@ -157,6 +152,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme Map< String, Object > properties = new HashMap<>(); properties.put( "appname", provider.getAppName() ); properties.put( "packagename", provider.getAppPackage() ); + properties.put( "type", provider.getModuleName() ); mAnalytics.track( "Launcher_Card_Slide", properties ); } } ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index 28a9cf8288..3235099c5f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -32,6 +32,10 @@ import com.mogo.service.map.IMogoMapService; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.utils.logger.Logger; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + import java.util.HashMap; import java.util.List; import java.util.Map; @@ -263,6 +267,8 @@ public class MarkerServiceHandler { lastMarker = null; getMarkerManager().removeMarkers(); + JSONArray array = new JSONArray(); + // 解析不同的Marker类型,然后对应的进行绘制 if (response != null && response.getResult() != null) { MarkerCardResult markerCardResult = response.getResult(); @@ -301,7 +307,7 @@ public class MarkerServiceHandler { drawMapMarker(markerShowEntity); } - analyticData(3, onlineCarList.size()); + fillNumberTrackEventBody(array, 3, onlineCarList.size()); } if (exploreWayList != null) { @@ -318,7 +324,7 @@ public class MarkerServiceHandler { drawMapMarker(markerShowEntity); } } - analyticData(1, exploreWayList.size()); + fillNumberTrackEventBody(array, 1, exploreWayList.size()); } if (shareMusicList != null) { @@ -334,7 +340,7 @@ public class MarkerServiceHandler { drawMapMarker(markerShowEntity); } - analyticData(4, shareMusicList.size()); + fillNumberTrackEventBody(array, 4, shareMusicList.size()); } if (noveltyInfoList != null) { @@ -373,27 +379,42 @@ public class MarkerServiceHandler { break; } } - analyticData(2, num_gas_station); - analyticData(6, num_road_closed); - analyticData(5, num_traffic_check); - analyticData(7, num_shop_discount); - analyticData(8, num_fours_shop); + fillNumberTrackEventBody(array,2, num_gas_station); + fillNumberTrackEventBody(array,6, num_road_closed); + fillNumberTrackEventBody(array,5, num_traffic_check); + fillNumberTrackEventBody(array,7, num_shop_discount); + fillNumberTrackEventBody(array,8, num_fours_shop); } + analyticData(array); + } + } + + + private static void fillNumberTrackEventBody(JSONArray arr, int type, int size){ + JSONObject object = new JSONObject( ); + try { + object.put( "type", type ); + object.put( "num", size); + if ( arr != null ) { + arr.put( object ); + } + } catch ( JSONException e ) { + e.printStackTrace(); } - getMapUIController().changeZoom(12); } /** * 统计地图内数据获取 * - * @param type 类型 - * @param num marker数量 + * @param array 埋点数据 */ - private static void analyticData(int type, int num) { + private static void analyticData(JSONArray array) { try { + if ( array == null || array.length() == 0 ) { + return; + } final Map properties = new HashMap<>(); - properties.put("type", type); - properties.put("num", num); + properties.put("data", array.toString()); getMogoAnalytics().track("Launcher_Data_Get", properties); } catch (Exception e) { e.printStackTrace(); @@ -411,14 +432,14 @@ public class MarkerServiceHandler { MogoMarkerOptions options = new MogoMarkerOptions() .owner(markerShowEntity.getMarkerType()) + .alpha( 0.7f ) + .object( markerShowEntity ) .latitude(markerShowEntity.getMarkerLocation().getLat()) .longitude(markerShowEntity.getMarkerLocation().getLon()); options.icon(markerView); IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); marker.setOnMarkerClickListener(mogoMarkerClickListener); - marker.setObject(markerShowEntity); - marker.setAlpha(0.7f); return marker; } else { Logger.e(TAG, "Location 必须进行初始化!!!!!"); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 89feb55cb7..6ba131ff28 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -116,7 +116,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, case ServiceConst.MSG_TYPE_REFRESH_DECREASE: mRefreshRemainingTime -= ServiceConst.DECREASE_INTERVAL; if ( mRefreshRemainingTime == 0 ) { - notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback ); + notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } else { mHandler.sendEmptyMessageDelayed( msg.what, ServiceConst.DECREASE_INTERVAL ); } @@ -435,11 +435,11 @@ public class MogoServiceProvider implements IMogoModuleProvider, // 自动刷新触发 if ( mLastAutoRefreshLocation == null ) { mLastAutoRefreshLocation = new MogoLatLng( location.getLatitude(), location.getLongitude() ); - notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback ); + notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } else { float distance = Utils.calculateLineDistance( mLastAutoRefreshLocation, new MogoLatLng( location.getLatitude(), location.getLongitude() ) ); if ( distance > mAutoRefreshStrategy.getDistance() ) { - notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback ); + notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java index f6a67463f8..b4e7702f9d 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java @@ -30,7 +30,7 @@ public class MogoReceiver extends BroadcastReceiver { /** * ADAS */ - public static final String ADAS_ACTION = "com.mogo.launcher.adas"; + public static final String ADAS_ACTION = "com.zhidao.autopilot.adas"; // ADAS 状态 0 - 关闭 1 - 打开 public static final String PARAM_ADAS_STATUS = "adas_drawer_status"; diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java index 18612539a7..8b9f951a83 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java @@ -64,6 +64,8 @@ public class MogoImageView extends GenericDraweeView { mIsBlur = arrays.getBoolean( R.styleable.MogoImageView_miv_isBlur, false ); mBlurRadius = arrays.getInt( R.styleable.MogoImageView_miv_blurRadius, 25 ); arrays.recycle(); + + setImageResource( mPlaceHolder ); } public void setRadius( float radius ) { From 385539b699972ce457eac8941e50dca075c914b5 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Jan 2020 19:32:58 +0800 Subject: [PATCH 02/14] add push broadcastreciver and opt ui --- .../src/main/AndroidManifest.xml | 7 ++ .../module/tanlu/constant/TanluConstants.java | 4 + .../tanlu/fragment/TanluCardViewFragment.java | 75 ++++++++++++------- .../tanlu/model/event/PushTypeInfo.java | 17 +++++ .../module/tanlu/receiver/PushReceiver.kt | 22 ++++++ .../tanlu/video/SimpleCoverVideoPlayer.kt | 11 ++- .../src/main/res/drawable/shape_bg_222533.xml | 6 +- .../res/drawable/tanlu_gradual_change_bg.xml | 9 +++ .../layout/tanlu_item_main_media_recycler.xml | 57 +++++++------- .../src/main/res/values/colors.xml | 4 +- .../src/main/res/values/strings.xml | 2 +- 11 files changed, 148 insertions(+), 66 deletions(-) create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt create mode 100644 modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml diff --git a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml index a238192807..e5e74d1ffe 100644 --- a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml +++ b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml @@ -14,6 +14,13 @@ + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java index c40193a41a..4f286620ef 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java @@ -15,4 +15,8 @@ public class TanluConstants { public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition"; + public static final String SPECIFIEDROAD_SEARCH = "com.zhidao.pathfinder.specifiedroad.search"; + public static final String NEARBYROAD_SEARCH = "com.zhidao.pathfinder.nearbyroad.search"; + + } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index f62392ca7d..1abbd6bf46 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -63,6 +63,7 @@ import com.mogo.module.tanlu.model.PathLineResult; import com.mogo.module.tanlu.model.TanluModelData; import com.mogo.module.tanlu.model.VoiceSearchResult; import com.mogo.module.tanlu.model.event.MarkerInfo; +import com.mogo.module.tanlu.model.event.PushTypeInfo; import com.mogo.module.tanlu.util.Utils; import com.mogo.module.tanlu.video.FullMediaActivity; import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer; @@ -130,8 +131,8 @@ public class TanluCardViewFragment extends MvpFragment> //media private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder(); - private String mVideoUrl = "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8"; - private String mImageUrl = "https://oimagec4.ydstatic.com/image?id=-5397300958976572132&product=adpublish&w=520&h=347"; + private String mVideoUrl = ""; + private String mImageUrl = ""; private String mTitle = ""; private long mGenerateTime = 0; private IMogoImageloader mogoImageloader; @@ -180,9 +181,7 @@ public class TanluCardViewFragment extends MvpFragment> simpleCoverVideoPlayer.setVisibility(View.VISIBLE); autoZoomInImageView.setVisibility(View.GONE); - //视频配置 TODO 需要去掉 -// gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG) -// .build(simpleCoverVideoPlayer); + //视频点击 simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -293,6 +292,7 @@ public class TanluCardViewFragment extends MvpFragment> public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getViewLifecycleOwner().getLifecycle().addObserver(mPresenter); + Logger.d(TAG, "onActivityCreated -------> "); EventBus.getDefault().register(this); initInterface(); initModelData(); @@ -300,8 +300,7 @@ public class TanluCardViewFragment extends MvpFragment> initMap(); initStrings(); initListener(); - - //TODO切换探路卡片 + //TODO 切换探路卡片 // iMogoCardManager.switch2(TanluConstants.MODEL_NAME); } @@ -358,6 +357,9 @@ public class TanluCardViewFragment extends MvpFragment> @Override public boolean onMarkerClicked(IMogoMarker marker) { //点击marker以后,确认他的位置?然后点击下一个操作 TODO + mEmptyLayout.setVisibility(View.GONE); + mRootLayout.setVisibility(View.VISIBLE); + MarkerExploreWay exploreWay = extractFromMarker(marker); if (exploreWay == null) { return false; @@ -404,13 +406,16 @@ public class TanluCardViewFragment extends MvpFragment> * 注册listener监听 */ private void initListener() { + Logger.d(TAG, " initListener ------> "); //某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO //唤醒 - mogoIntentManager.registerIntentListener(MogoReceiver.ADAS_ACTION, mogoIntentListener); + mogoIntentManager.registerIntentListener(TanluConstants.SPECIFIEDROAD_SEARCH, mogoIntentListener); + mogoIntentManager.registerIntentListener(TanluConstants.NEARBYROAD_SEARCH, mogoIntentListener); //免唤醒 - AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener); +// AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener); } + /** * 唤醒语音 */ @@ -422,7 +427,20 @@ public class TanluCardViewFragment extends MvpFragment> JsonObject jsonObject = new JsonObject(); mKeywords = jsonObject.get("location").toString(); + Logger.d(TAG, "mogoIntentListener mKeywords = " + mKeywords); handleActionFoo(mKeywords); + + if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 + + } else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附件 + +// } else if (intentStr.equals()) { //上报路况 +// sendShareReceiver("1"); +// +// } else if (intentStr.equals()) { // + + } + } }; @@ -435,8 +453,7 @@ public class TanluCardViewFragment extends MvpFragment> public void onCmdSelected(String cmd) { Logger.e(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd); if (cmd.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { - // - Logger.d(TAG, ""); + sendShareReceiver("1"); } } @@ -480,20 +497,6 @@ public class TanluCardViewFragment extends MvpFragment> * 处理路线数据信息,msgType */ private void handleRoadLineMessage() { -// mMogoSocketManager = (IMogoSocketManager) ARouter.getInstance().build(MogoServicePaths.PATH_SOCKET_MANAGER).navigation(); -// mMogoSocketManager.registerOnMessageListener(401005, new IMogoOnMessageListener() { -// @Override -// public Class target() { -// return MarkerResponse.class; -// } -// -// @Override -// public void onMsgReceived(MarkerResponse obj) { -// Logger.e(TAG, "handleRoadLineMessage onMsgReceived obj= " + obj); -// } -// }); - - //TODO 广播类型判断 // getNavigationLineData(); // getRoadLineData(); @@ -612,6 +615,7 @@ public class TanluCardViewFragment extends MvpFragment> simpleCoverVideoPlayer.setVisibility(View.VISIBLE); //视频配置 mVideoUrl = videoUrl; + simpleCoverVideoPlayer.loadCoverImage(mImageUrl, getContext()); gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) .build(simpleCoverVideoPlayer); if (mImageUrl == null) { @@ -788,6 +792,7 @@ public class TanluCardViewFragment extends MvpFragment> getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter); TanluServiceHandler.getLocationClient().removeLocationListener(this); mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME); + mogoIntentManager.unregisterIntentListener(MogoReceiver.ADAS_ACTION); } /** @@ -822,8 +827,8 @@ public class TanluCardViewFragment extends MvpFragment> .longitude(event.lon); IMogoMarker marker = mMarkerManager.addMarker("share_tag", options); - //TODO 请求分享接口 + } @Override @@ -833,6 +838,22 @@ public class TanluCardViewFragment extends MvpFragment> }); } + /** + * push 类型,1为导航数据,2为通勤族 + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onPushInfo(final PushTypeInfo event) { + Logger.d(TAG, "onPushInfo ----event.type =" + event.type); + if (event.type.equals("1")) { + getNaviRoadLineInfo(); + } else if (event.type.equals("2")) { + getRoadLineData(); + } + } + + /** * 导航路线数据事件 */ @@ -900,7 +921,7 @@ public class TanluCardViewFragment extends MvpFragment> } /** - * 绘制线路 + * 绘制线路 TODO */ private void drawMapLine(List
pointList) { int intervalNum = Utils.getIntervalValue(pointList.size()); diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java new file mode 100644 index 0000000000..52c23ebdda --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java @@ -0,0 +1,17 @@ +package com.mogo.module.tanlu.model.event; + +import java.io.Serializable; + +/** + * @author lixiaopeng + * @description push区分类别 + * @since 2020-01-08 + */ +public class PushTypeInfo implements Serializable { + public String type; + + public PushTypeInfo(String type) { + this.type = type; + } + +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt new file mode 100644 index 0000000000..731f251884 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt @@ -0,0 +1,22 @@ +package com.mogo.module.tanlu.receiver + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.util.Log +import com.mogo.module.tanlu.model.event.PushTypeInfo +import com.mogo.module.tanlu.model.event.VoiceRoadInfo +import org.greenrobot.eventbus.EventBus + +/** + * 导航和通勤族 push的action + */ +class PushReceiver : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (intent.action == "com.zhidao.roadcondition.split"){ + var type = intent.getStringExtra("type") + Log.d("PushReceiver", "type = $type") + EventBus.getDefault().post(PushTypeInfo(type)) + } + } +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt index 8643ae7cfd..a27b37a2e1 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt @@ -56,12 +56,11 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer { } } -// fun loadCoverImage(url: String, mContext: Context) { -// Glide.with(mContext.applicationContext) -// .load(url) -// .error(R.color.color_303447) -// .into(coverImage) -// } + fun loadCoverImage(url: String, mContext: Context) { + Glide.with(mContext.applicationContext) + .load(url) + .into(coverImage) + } override fun updateStartImage() { when (mCurrentState) { diff --git a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml index 12b869a5ff..1776be8082 100644 --- a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml +++ b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml @@ -1,5 +1,7 @@ - - + + + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml b/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml new file mode 100644 index 0000000000..6f95f6d2e9 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml index 913bfc2e39..58760e81e0 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="@dimen/dp_660" android:layout_height="@dimen/dp_660" - android:background="@drawable/shape_bg_222533_10px"> + android:background="@drawable/tanlu_gradual_change_bg"> @@ -52,9 +52,9 @@ android:layout_below="@+id/tv_information_media_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" - android:layout_marginRight="@dimen/dp_32" + android:layout_marginRight="@dimen/dp_24" android:text="2019-10-10" - android:textColor="@color/color_999999" + android:textColor="@color/color_99FFFFFF" android:textSize="@dimen/dp_26" /> @@ -64,8 +64,8 @@ android:layout_width="@dimen/dp_596" android:layout_height="@dimen/dp_355" android:layout_below="@+id/layout_top_view" - android:layout_marginLeft="@dimen/dp_32" - android:layout_marginRight="@dimen/dp_32" + android:layout_marginLeft="@dimen/dp_24" + android:layout_marginRight="@dimen/dp_24" android:background="@drawable/shape_bg_222533_9px"> + android:layout_marginTop="@dimen/dp_30" + android:layout_marginLeft="@dimen/dp_24" + android:layout_marginRight="@dimen/dp_24"> + android:textColor="@color/white" + android:textSize="@dimen/dp_28" /> + android:textColor="@color/white" + android:textSize="@dimen/dp_28" /> @@ -126,17 +125,17 @@ + android:visibility="visible"> + android:textSize="@dimen/dp_34" /> \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/values/colors.xml b/modules/mogo-module-tanlu/src/main/res/values/colors.xml index 6c0dd2590f..78aa080e47 100644 --- a/modules/mogo-module-tanlu/src/main/res/values/colors.xml +++ b/modules/mogo-module-tanlu/src/main/res/values/colors.xml @@ -34,7 +34,9 @@ #DADAE2 #545362 #99191C25 - #666666 + #99666666 #999999 + #99FFFFFF + #59FFFFFF diff --git a/modules/mogo-module-tanlu/src/main/res/values/strings.xml b/modules/mogo-module-tanlu/src/main/res/values/strings.xml index b6fc8a1bd9..4640762de5 100644 --- a/modules/mogo-module-tanlu/src/main/res/values/strings.xml +++ b/modules/mogo-module-tanlu/src/main/res/values/strings.xml @@ -6,7 +6,7 @@ 已同意 探路共享计划 >> 探路APP用户服务协议 - 未找到其他用户分享的路况,
您可以试试上报路况]]>
+ 未找到其他用户分享的路况,
您可以试试上报路况]]>
未知区域 上报路况 正在更新情报数据 From 87c60788aab340ff646025cc9b70bdbd1a3dbdb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 15 Jan 2020 19:45:05 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=9C=A8=E7=BA=BF=E7=94=A8=E6=88=B7=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/network/RefreshBody.java | 13 ++- .../module/service/network/RefreshModel.java | 91 ++++++++++++++----- 2 files changed, 77 insertions(+), 27 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java index 2200ed394a..281ecdef93 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java @@ -11,17 +11,20 @@ import java.util.List; */ public class RefreshBody { - public List< String > dataType = new ArrayList<>(); - public int limit = 50;// 请求数量 - public int radius = 2_000; // 地理围栏半径(米) - public LatLon location; + public List dataType = new ArrayList<>(); // 要查询的类型 + public int limit = 50; // 请求数量 + public int radius = 2_000; // 地理围栏半径(米) + public LatLon location; // 坐标 + + public boolean onlyFocus; // 是否仅查询已关注的好友 + public boolean onlySameCity; // 是否仅查询注册城市相同的同城用户 public static class LatLon { private double lat; private double lon; - public LatLon( double lat, double lon ) { + public LatLon(double lat, double lon) { this.lat = lat; this.lon = lon; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index a30ca0e83b..5a366f4567 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -7,14 +7,13 @@ import com.mogo.commons.data.BaseData; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.ParamsProvider; import com.mogo.commons.network.SubscribeImpl; -import com.mogo.commons.network.Utils; import com.mogo.map.MogoLatLng; +import com.mogo.module.service.ServiceConst; import com.mogo.service.MogoServicePaths; import com.mogo.service.network.IMogoNetwork; import com.mogo.utils.network.RequestOptions; import com.mogo.utils.network.utils.GsonUtil; -import java.util.HashMap; import java.util.Map; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -36,14 +35,14 @@ public class RefreshModel { private final Context mContext; private RefreshApiService mRefreshApiService; - public RefreshModel( Context context ) { + public RefreshModel(Context context) { this.mContext = context; - IMogoNetwork network = ( IMogoNetwork ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_NETWORK ).navigation( context ); - this.mRefreshApiService = network.create( RefreshApiService.class, getNetHost() ); + IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context); + this.mRefreshApiService = network.create(RefreshApiService.class, getNetHost()); } private String getNetHost() { - switch ( DebugConfig.getNetMode() ) { + switch (DebugConfig.getNetMode()) { case DebugConfig.NET_MODE_DEV: return HOST_DEV; case DebugConfig.NET_MODE_QA: @@ -53,34 +52,82 @@ public class RefreshModel { } } - public void refreshData( MogoLatLng latLng, int radius, final RefreshCallback callback ) { - if ( mRefreshApiService != null ) { - final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build(); + public void refreshData(MogoLatLng latLng, int radius, final RefreshCallback callback) { + if (mRefreshApiService != null) { + final Map query = new ParamsProvider.Builder(mContext).build(); final RefreshBody refreshBody = new RefreshBody(); refreshBody.limit = 5; - refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng ); + refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng); refreshBody.radius = radius; - query.put( "data", GsonUtil.jsonFromObject( refreshBody ) ); - mRefreshApiService.refreshData( query ) - .subscribeOn( Schedulers.io() ) - .observeOn( AndroidSchedulers.mainThread() ) - .subscribe( new SubscribeImpl< BaseData >( RequestOptions.create( mContext ) ) { + query.put("data", GsonUtil.jsonFromObject(refreshBody)); + mRefreshApiService.refreshData(query) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { @Override - public void onSuccess( BaseData o ) { - super.onSuccess( o ); - if ( callback != null ) { + public void onSuccess(BaseData o) { + super.onSuccess(o); + if (callback != null) { callback.onSuccess(); } } @Override - public void onError( String message, int code ) { - super.onError( message, code ); - if ( callback != null ) { + public void onError(String message, int code) { + super.onError(message, code); + if (callback != null) { callback.onFail(); } } - } ); + }); + } + } + + /** + * 查询在线车辆 + * + * @param latLng 经纬度 + * @param radius 半径 + * @param onlyFocus 是否仅查询已关注的好友 + * @param onlySameCity 是否仅查询注册城市相同的同城用户 + * @param callback + */ + public void queryOnLineCar(MogoLatLng latLng, + int radius, + boolean onlyFocus, + boolean onlySameCity, + final RefreshCallback callback) { + if (mRefreshApiService != null) { + final Map query = new ParamsProvider.Builder(mContext).build(); + final RefreshBody refreshBody = new RefreshBody(); + refreshBody.limit = 5; + refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng); + refreshBody.radius = radius; + refreshBody.onlyFocus = onlyFocus; + refreshBody.onlySameCity = onlySameCity; + refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA); + + query.put("data", GsonUtil.jsonFromObject(refreshBody)); + mRefreshApiService.refreshData(query) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { + @Override + public void onSuccess(BaseData o) { + super.onSuccess(o); + if (callback != null) { + callback.onSuccess(); + } + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + if (callback != null) { + callback.onFail(); + } + } + }); } } } From 8b61c0df9b898844a9fe40506b4c6e2980d769b0 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Jan 2020 21:36:55 +0800 Subject: [PATCH 04/14] voice and search info --- .../module/tanlu/constant/TanluConstants.java | 2 +- .../tanlu/fragment/TanluCardViewFragment.java | 79 ++++++++++--------- .../java/com/mogo/module/tanlu/model/Sns.kt | 6 +- .../module/tanlu/model/VoiceSearchResult.java | 54 ++++++++----- 4 files changed, 81 insertions(+), 60 deletions(-) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java index 4f286620ef..bbd8ccef16 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java @@ -13,7 +13,7 @@ public class TanluConstants { public static final String MODEL_NAME = "CARD_TYPE_ROAD_CONDITION"; - public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition"; + public static final String UPLOAD_ROAD_CONDITION = "command_upload_roadcondition"; public static final String SPECIFIEDROAD_SEARCH = "com.zhidao.pathfinder.specifiedroad.search"; public static final String NEARBYROAD_SEARCH = "com.zhidao.pathfinder.nearbyroad.search"; diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index 1abbd6bf46..cadebf4b91 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -86,6 +86,7 @@ import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import org.json.JSONObject; import java.util.ArrayList; import java.util.List; @@ -153,6 +154,7 @@ public class TanluCardViewFragment extends MvpFragment> private List passedByPoints; private IMogoRegisterCenter mMogoRegisterCenter; private String mKeywords; + private boolean isCurrentPage; @Override @@ -296,12 +298,9 @@ public class TanluCardViewFragment extends MvpFragment> EventBus.getDefault().register(this); initInterface(); initModelData(); - handleRoadLineMessage(); initMap(); initStrings(); initListener(); - //TODO 切换探路卡片 -// iMogoCardManager.switch2(TanluConstants.MODEL_NAME); } private void initModelData() { @@ -360,11 +359,13 @@ public class TanluCardViewFragment extends MvpFragment> mEmptyLayout.setVisibility(View.GONE); mRootLayout.setVisibility(View.VISIBLE); + Logger.d(TAG, "onMarkerClicked registerMogoMarkerClickListener = "); MarkerExploreWay exploreWay = extractFromMarker(marker); if (exploreWay == null) { return false; } + //TODO 自己打的点,需要重新 if (exploreWay.getFileType() == 0) { //图片 refreshPhotoData(exploreWay); } else if (exploreWay.getFileType() == 1) { //视频 @@ -409,6 +410,7 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, " initListener ------> "); //某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO //唤醒 + mogoIntentManager.registerIntentListener(TanluConstants.UPLOAD_ROAD_CONDITION, mogoIntentListener); mogoIntentManager.registerIntentListener(TanluConstants.SPECIFIEDROAD_SEARCH, mogoIntentListener); mogoIntentManager.registerIntentListener(TanluConstants.NEARBYROAD_SEARCH, mogoIntentListener); //免唤醒 @@ -424,19 +426,37 @@ public class TanluCardViewFragment extends MvpFragment> public void onIntentReceived(String intentStr, Intent intent) { String data = intent.getStringExtra("data"); Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data); - - JsonObject jsonObject = new JsonObject(); - mKeywords = jsonObject.get("location").toString(); - Logger.d(TAG, "mogoIntentListener mKeywords = " + mKeywords); - handleActionFoo(mKeywords); - if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 + if (!isCurrentPage) { + //切换探路卡片 + iMogoCardManager.switch2(TanluConstants.MODEL_NAME); + } - } else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附件 + try { + JSONObject jsonObject = new JSONObject(data); + mKeywords = jsonObject.get("location").toString(); + Logger.d(TAG, "mogoIntentListener specified mKeywords = " + mKeywords); + handleActionFoo(mKeywords); + } catch (Exception e) { + e.printStackTrace(); + } + } else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附近 + if (!isCurrentPage) { + //切换探路卡片 + iMogoCardManager.switch2(TanluConstants.MODEL_NAME); + } + + try { + JSONObject jsonObject = new JSONObject(data); + mKeywords = jsonObject.get("location").toString(); + Logger.d(TAG, "mogoIntentListener nearby mKeywords = " + mKeywords); + handleActionFoo(mKeywords); + } catch (Exception e) { + e.printStackTrace(); + } + } else if (intentStr.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { //上报路况 + sendShareReceiver("1"); -// } else if (intentStr.equals()) { //上报路况 -// sendShareReceiver("1"); -// // } else if (intentStr.equals()) { // } @@ -493,16 +513,6 @@ public class TanluCardViewFragment extends MvpFragment> } - /** - * 处理路线数据信息,msgType - */ - private void handleRoadLineMessage() { - //TODO 广播类型判断 -// getNavigationLineData(); -// getRoadLineData(); - - } - /** * @param view */ @@ -674,6 +684,7 @@ public class TanluCardViewFragment extends MvpFragment> */ @Override public void onPerform() { + isCurrentPage = true; Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->"); mMarkerManager = mMogoMapService.getMarkerManager(getActivity()); List markers = mMarkerManager.getMarkers(TanluConstants.MODEL_NAME); @@ -719,6 +730,7 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onDisable() { Logger.d(TAG, "tanlu卡片 无效 ----->"); + isCurrentPage = false; } @Override @@ -758,11 +770,6 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onLocationChanged(MogoLocation location) { -// if (location.getErrCode() == 0) { -// Logger.d(TAG, "onLocationChanged 当前位置 -->" + location.getAddress()); -// } else { -// Logger.d(TAG, "onLocationChanged 定位失败 -->" + location.getErrInfo()); -// } } @Override @@ -950,12 +957,12 @@ public class TanluCardViewFragment extends MvpFragment> mTanluModelData.getVoiceControlRoadData(keywords, cityCode, lon, lat, adCode, new VoiceSearchCallback() { @Override public void onSuccess(VoiceSearchResult o) { - String discription = o.getDescription(); - Logger.d(TAG, "getVoiceControlRoadData discription = " + discription); - if (o.getInformations() != null && o.getInformations().size() > 0) { - speakSuccessVoice(o.getInformations(), discription == null ? "" : discription); + String discription = o.getResult().getDescription(); + Logger.d(TAG, "getVoiceControlRoadData discription = " + discription); + if (o.getResult().getInformations() != null && o.getResult().getInformations().size() > 0) { + speakSuccessVoice(o.getResult().getInformations(), discription == null ? "" : discription); - List informationList = o.getInformations(); + List informationList = o.getResult().getInformations(); //移动 MogoLatLng latLng = new MogoLatLng(lat, lon); mMApUIController.moveToCenter(latLng); @@ -973,7 +980,6 @@ public class TanluCardViewFragment extends MvpFragment> } else if (informationList.get(i).type == 1) { //视频 } - MogoMarkerOptions options = new MogoMarkerOptions() .icon(multiMarkerIcon) .latitude(informationList.get(i).lat) @@ -982,11 +988,9 @@ public class TanluCardViewFragment extends MvpFragment> optionList.add(options); } - + Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size()); mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true); //直接使用当前数据list,作为切换的数据源 - - } else { if (!TextUtils.isEmpty(discription)) { AIAssist.getInstance(getContext()).speakTTSVoice(discription, null); @@ -994,7 +998,6 @@ public class TanluCardViewFragment extends MvpFragment> AIAssist.getInstance(getContext()).speakTTSVoice("未找到其他车主分享的路况信息", null); } } - } @Override diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt index f075745c2b..2ea9c8ebe7 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt @@ -5,9 +5,13 @@ class Sns { var sns: List var localUserId: String + var localNickName: String + var localHeadImgUrl: String - constructor(sns: List, localUserId: String) { + constructor(sns: List, localUserId: String, localNickName: String, localHeadImgUrl: String) { this.sns = sns this.localUserId = localUserId + this.localNickName = localNickName + this.localHeadImgUrl = localHeadImgUrl } } \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java index a4ed3c5f26..086957fc6b 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java @@ -9,31 +9,45 @@ import java.util.List; * @since 2020-01-08 */ public class VoiceSearchResult extends BaseData { - private List informations; - private String description; - private Sns snResult; - public List getInformations() { - return informations; + private Result result; + + public Result getResult() { + return result; } - public void setInformations(List informations) { - this.informations = informations; + public void setResult(Result result) { + this.result = result; } - public String getDescription() { - return description; + public static class Result { + private List informations; + private String description; + private Sns snResult; + + public List getInformations() { + return informations; + } + + public void setInformations(List informations) { + this.informations = informations; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Sns getSnResult() { + return snResult; + } + + public void setSnResult(Sns snResult) { + this.snResult = snResult; + } } - public void setDescription(String description) { - this.description = description; - } - - public Sns getSnResult() { - return snResult; - } - - public void setSnResult(Sns snResult) { - this.snResult = snResult; - } } From 24aeb160ba79c89a48264455f5564026e4fbeac5 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 15 Jan 2020 22:48:50 +0800 Subject: [PATCH 05/14] opt --- .../map/impl/amap/AMapNaviViewWrapper.java | 3 + .../amap/navi/AMapNaviListenerAdapter.java | 11 +- .../impl/amap/navi/NaviListenerAdapter.java | 8 +- .../mogo/map/impl/amap/utils/ObjectUtils.java | 1 + .../java/com/mogo/map/navi/MogoNaviInfo.java | 17 +- .../module/main/cards/MogoModulesManager.java | 186 ++++++++++++++++-- .../module/service/MogoServiceProvider.java | 24 ++- 7 files changed, 223 insertions(+), 27 deletions(-) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index ad33524ffe..f80491fafd 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -129,6 +129,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, options.setNaviArrowVisible( false ); // 通过路线是否自动置灰,仅支持驾车导航 options.setAfterRouteAutoGray( true ); + options.setZoom( 16 ); options.setPointToCenter( 0.5D, 0.5D ); // 2D模式 options.setTilt( 0 ); @@ -456,6 +457,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, public void onNaviStarted() { if ( checkAMapView() ) { mMapView.setCarOverlayVisible( true ); + showMyLocation( false ); } } @@ -463,6 +465,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, public void onNaviStopped() { if ( checkAMapView() ) { mMapView.setCarOverlayVisible( false ); + showMyLocation( true ); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java index dfe0daa985..03d7ccb4d3 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java @@ -15,6 +15,7 @@ import com.amap.api.navi.model.AimLessModeCongestionInfo; import com.amap.api.navi.model.AimLessModeStat; import com.amap.api.navi.model.NaviInfo; import com.autonavi.tbt.TrafficFacilityInfo; +import com.mogo.utils.logger.Logger; /** * @author congtaowang @@ -24,6 +25,8 @@ import com.autonavi.tbt.TrafficFacilityInfo; */ public abstract class AMapNaviListenerAdapter implements AMapNaviListener { + private static final String TAG = "AMapNaviListenerAdapter"; + @Override public void onInitNaviFailure() { @@ -106,7 +109,13 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener { @Override public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) { - + if ( aMapNaviCameraInfos != null ) { + for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) { + if ( aMapNaviCameraInfo != null ) { + Logger.i( TAG, "current camera speed: %d", aMapNaviCameraInfo.getCameraSpeed() ); + } + } + } } @Override diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java index b48d9ac07f..7330664e18 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java @@ -148,10 +148,10 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { if ( mNaviOverlayHelper != null ) { mNaviOverlayHelper.handleClickedPolyline( polyline, isNaviing() ); mAMapNavi.selectRouteId( mNaviOverlayHelper.getSelectedPathId() ); - if ( isNaviing() ) { - mAMapNavi.stopNavi(); - mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR ); - } +// if ( isNaviing() ) { +// mAMapNavi.stopNavi(); +// mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR ); +// } } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java index b035a4fdf3..fec2a14a02 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java @@ -636,6 +636,7 @@ public class ObjectUtils { mogoNaviInfo.setNextRoadName( naviInfo.getNextRoadName() ); mogoNaviInfo.setPathRetainDistance( naviInfo.getPathRetainDistance() ); mogoNaviInfo.setPathRetainTime( naviInfo.getPathRetainTime() ); + mogoNaviInfo.setCurrentSpeed( naviInfo.getLimitSpeed() ); return mogoNaviInfo; } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java index 1da3f6d630..ee394bfef8 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java @@ -54,6 +54,11 @@ public class MogoNaviInfo implements Parcelable { */ private int pathRetainDistance; + /** + * 当前限速 + */ + private float currentLimitSpeed; + public String getCurrentRoadName() { return currentRoadName; } @@ -118,6 +123,14 @@ public class MogoNaviInfo implements Parcelable { this.pathRetainDistance = pathRetainDistance; } + public float getCurrentLimitSpeed() { + return currentLimitSpeed; + } + + public void setCurrentLimitSpeed( float currentLimitSpeed ) { + this.currentLimitSpeed = currentLimitSpeed; + } + @Override public int describeContents() { return 0; @@ -133,6 +146,7 @@ public class MogoNaviInfo implements Parcelable { dest.writeString( this.nextRoadName ); dest.writeInt( this.pathRetainTime ); dest.writeInt( this.pathRetainDistance ); + dest.writeFloat( this.currentLimitSpeed ); } public MogoNaviInfo() { @@ -147,9 +161,10 @@ public class MogoNaviInfo implements Parcelable { this.nextRoadName = in.readString(); this.pathRetainTime = in.readInt(); this.pathRetainDistance = in.readInt(); + this.currentLimitSpeed = in.readFloat(); } - public static final Parcelable.Creator< MogoNaviInfo > CREATOR = new Parcelable.Creator< MogoNaviInfo >() { + public static final Creator< MogoNaviInfo > CREATOR = new Creator< MogoNaviInfo >() { @Override public MogoNaviInfo createFromParcel( Parcel source ) { return new MogoNaviInfo( source ); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index dec3600f87..5e2f28c330 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -212,96 +212,216 @@ public class MogoModulesManager implements MogoModulesHandler, mMapLoadedCallback = null; } Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onMapLoaded(); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onMapLoaded(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onTouch( MotionEvent motionEvent ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onTouch( motionEvent ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onTouch( motionEvent ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onPOIClick( MogoPoi poi ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onPOIClick( poi ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onPOIClick( poi ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onMapClick( MogoLatLng latLng ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onMapClick( latLng ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onMapClick( latLng ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onLockMap( boolean isLock ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onLockMap( isLock ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onLockMap( isLock ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onMapModeChanged( EnumMapUI ui ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onMapModeChanged( ui ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onMapModeChanged( ui ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onMapChanged( MogoLatLng location, float zoom, float tilt, float bearing ) { Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onMapChanged( location, zoom, tilt, bearing ); + IMogoMapListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onMapChanged( location, zoom, tilt, bearing ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onInitNaviFailure() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onInitNaviFailure(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onInitNaviFailure(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onInitNaviSuccess() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onInitNaviSuccess(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onInitNaviSuccess(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onNaviInfoUpdate( naviinfo ); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onNaviInfoUpdate( naviinfo ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onStartNavi() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onStartNavi(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onStartNavi(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onStopNavi() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onStopNavi(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onStopNavi(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @@ -309,24 +429,54 @@ public class MogoModulesManager implements MogoModulesHandler, @Override public void onCalculateSuccess() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onCalculateSuccess(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onCalculateSuccess(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onoCalculateFailed() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onoCalculateFailed(); + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onoCalculateFailed(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @Override public void onLocationChanged( MogoLocation location ) { Iterator< IMogoLocationListener > iterator = MogoRegisterCenterHandler.getInstance().getLocationListeners(); + if ( iterator == null ) { + return; + } while ( iterator.hasNext() ) { - iterator.next().onLocationChanged( location ); + IMogoLocationListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onLocationChanged( location ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } } @@ -375,7 +525,11 @@ public class MogoModulesManager implements MogoModulesHandler, public void onMarkerReceive( IMogoMarker marker ) { IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() ); if ( listener != null ) { - listener.onMarkerClicked( marker ); + try { + listener.onMarkerClicked( marker ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 6ba131ff28..2edca2b1d1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -297,7 +297,11 @@ public class MogoServiceProvider implements IMogoModuleProvider, * @return */ private float getMapCameraFactWidth() { - return Utils.calculateLineDistance( mCameraNorthEastPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); + try { + return Utils.calculateLineDistance( mCameraNorthEastPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); + } catch ( Exception e ) { + return 1000f; + } } /** @@ -306,7 +310,11 @@ public class MogoServiceProvider implements IMogoModuleProvider, * @return */ private float getMapCameraFactHeight() { - return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); + try { + return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) ); + } catch ( Exception e ) { + return 1000f; + } } /** @@ -385,14 +393,15 @@ public class MogoServiceProvider implements IMogoModuleProvider, notifyRefreshData( latLng, getQueryRadius(), mCustomRefreshCallback ); mLastCustomRefreshCenterLocation = latLng; mLastZoomLevel = zoom; + } else if ( mLastZoomLevel - zoom < 0 ) { + mLastZoomLevel = zoom; + } else if ( mLastZoomLevel == zoom ) { // 手动平移 if ( invokeRefreshWhenTranslationByUser( latLng ) ) { notifyRefreshData( latLng, getQueryRadius(), mCustomRefreshCallback ); mLastCustomRefreshCenterLocation = latLng; } - } else { - mLastZoomLevel = zoom; } } @@ -452,6 +461,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, return; } Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" ); + Logger.i( TAG, "刷新半径 = %d, 点 = %s", radius, latLng ); mRefreshModel.refreshData( latLng, radius, callback ); } @@ -467,7 +477,11 @@ public class MogoServiceProvider implements IMogoModuleProvider, @Override public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) { - + // 发送当前限速到 adas + Intent intent = new Intent( "com.mogo.launcher.adas" ); + intent.putExtra( "adas_speed_limit", naviinfo.getCurrentLimitSpeed() ); + Logger.i( TAG, "send limit data to adas: limitspeed = %f", naviinfo.getCurrentLimitSpeed() ); + mContext.sendBroadcast( intent ); } @Override From ad6be2aa69314673176439c4038c415326e8bc34 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 16 Jan 2020 15:12:55 +0800 Subject: [PATCH 06/14] opt --- .../amap/navi/AMapNaviListenerAdapter.java | 28 ++- .../amap/navi/AimlessModeListenerAdapter.java | 204 ++++++++++++++++++ .../mogo/map/impl/amap/navi/NaviClient.java | 21 +- .../impl/amap/navi/NaviListenerAdapter.java | 89 +++++++- .../java/com/mogo/map/navi/IMogoNavi.java | 3 +- .../com/mogo/map/navi/IMogoNaviListener.java | 5 + .../map/navi/MogoNaviListenerHandler.java | 7 + .../java/com/mogo/map/navi/MogoTraffic.java | 76 +++++++ .../extensions/entrance/EntranceFragment.java | 37 +++- .../module_ext_dw_speed_limit_bkg.xml | 9 + .../res/layout/module_ext_layout_entrance.xml | 31 +++ .../layout/module_ext_layout_extensions.xml | 4 +- .../src/main/AndroidManifest.xml | 2 +- .../com/mogo/module/main/MainActivity.java | 8 +- .../module/main/cards/MogoModulesManager.java | 19 ++ .../module/main/receiver/MogoReceiver.java | 40 ---- .../res/layout/module_main_activity_main.xml | 2 +- .../navi/ui/search/ChoosePathFragment.kt | 6 +- .../module/service/MogoServiceProvider.java | 42 ++-- .../module/service/receiver/MogoReceiver.java | 8 +- .../tanlu/fragment/TanluCardViewFragment.java | 9 +- .../service/intent/IMogoIntentManager.java | 2 +- 22 files changed, 559 insertions(+), 93 deletions(-) create mode 100644 libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java create mode 100644 libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml delete mode 100644 modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java index 03d7ccb4d3..f870148573 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java @@ -109,20 +109,20 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener { @Override public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) { - if ( aMapNaviCameraInfos != null ) { - for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) { - if ( aMapNaviCameraInfo != null ) { - Logger.i( TAG, "current camera speed: %d", aMapNaviCameraInfo.getCameraSpeed() ); - } - } - } + } @Override public void updateIntervalCameraInfo( AMapNaviCameraInfo aMapNaviCameraInfo, AMapNaviCameraInfo aMapNaviCameraInfo1, int i ) { - + if ( aMapNaviCameraInfo != null ) { + Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo.getCameraSpeed(), i ); + } + if ( aMapNaviCameraInfo1 != null ) { + Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo1.getCameraSpeed(), i ); + } } + @Override public void onServiceAreaUpdate( AMapServiceAreaInfo[] aMapServiceAreaInfos ) { @@ -188,11 +188,23 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener { } + /** + * 巡航回调 + * 连续5个点速度大于15km/h后触发 updateAimlessModeStatistics 回调,通过 AimLessModeStat 对象可获取巡航的连续行驶距离和连续启用时间 + * + * @param aimLessModeStat + */ @Override public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) { } + /** + * 巡航回调 + * 出现拥堵长度大于500米且拥堵时间大于5分钟时,会进到 updateAimlessModeCongestionInfo 回调中,通过 AimLessModeCongestionInfo 对象,可获取到道路拥堵信息(如:导致拥堵的事件类型、拥堵的状态等) + * + * @param aimLessModeCongestionInfo + */ @Override public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) { diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java new file mode 100644 index 0000000000..9b9f45e1ef --- /dev/null +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java @@ -0,0 +1,204 @@ +package com.mogo.map.impl.amap.navi; + +import com.amap.api.navi.AimlessModeListener; +import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo; +import com.amap.api.navi.model.AimLessModeCongestionInfo; +import com.amap.api.navi.model.AimLessModeStat; +import com.mogo.map.navi.MogoNaviListenerHandler; +import com.mogo.map.navi.MogoTraffic; + +/** + * @author congtaowang + * @since 2020-01-16 + *

+ * 巡航监听 + */ +public class AimlessModeListenerAdapter implements AimlessModeListener { + + @Override + public void onUpdateTrafficFacility( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) { + if ( aMapNaviTrafficFacilityInfos == null || aMapNaviTrafficFacilityInfos.length == 0 ) { + return; + } + int speedLimit = 0; + for ( AMapNaviTrafficFacilityInfo aMapNaviTrafficFacilityInfo : aMapNaviTrafficFacilityInfos ) { + if ( aMapNaviTrafficFacilityInfo == null ) { + continue; + } + speedLimit = aMapNaviTrafficFacilityInfo.getLimitSpeed(); + if ( aMapNaviTrafficFacilityInfo.getBroadcastType() == 4 && aMapNaviTrafficFacilityInfo.getLimitSpeed() > 0 ) { + MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM ); + traffic.setDistance( aMapNaviTrafficFacilityInfo.getDistance() ); + traffic.setSpeedLimit( aMapNaviTrafficFacilityInfo.getLimitSpeed() ); + traffic.setDesc( "测速摄像头、测速雷达" ); + MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic ); + } + } + if ( speedLimit <= 0 ) { + MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM ); + traffic.setDistance( 0 ); + traffic.setSpeedLimit( 0 ); + traffic.setDesc( "测速摄像头、测速雷达" ); + MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic ); + } +// MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM ); +// traffic.setDistance( aMapNaviTrafficFacilityInfos[0].getDistance() ); +// traffic.setSpeedLimit( aMapNaviTrafficFacilityInfos[0].getLimitSpeed() ); +// switch ( aMapNaviTrafficFacilityInfos[0].getBroadcastType() ) { +// case 0: +// traffic.setDesc( "未知道路设施" ); +// break; +// case 4: +// traffic.setDesc( "测速摄像头、测速雷达" ); +// break; +// case 5: +// traffic.setDesc( "违章摄像头" ); +// break; +// case 10: +// traffic.setDesc( "请谨慎驾驶" ); +// break; +// case 11: +// traffic.setDesc( "有连续拍照" ); +// break; +// case 12: +// traffic.setDesc( "铁路道口" ); +// break; +// case 13: +// traffic.setDesc( "注意落石(左侧)" ); +// break; +// case 14: +// traffic.setDesc( "事故易发地段" ); +// break; +// case 15: +// traffic.setDesc( "易滑" ); +// break; +// case 16: +// traffic.setDesc( "村庄" ); +// break; +// case 18: +// traffic.setDesc( "前方学校" ); +// break; +// case 19: +// traffic.setDesc( "有人看管的铁路道口" ); +// break; +// case 20: +// traffic.setDesc( "无人看管的铁路道口" ); +// break; +// case 21: +// traffic.setDesc( "两侧变窄" ); +// break; +// case 22: +// traffic.setDesc( "向左急弯路" ); +// break; +// case 23: +// traffic.setDesc( "向右急弯路" ); +// break; +// case 24: +// traffic.setDesc( "反向弯路" ); +// break; +// case 25: +// traffic.setDesc( "连续弯路" ); +// break; +// case 26: +// traffic.setDesc( "左侧合流标识牌" ); +// break; +// case 27: +// traffic.setDesc( "右侧合流标识牌" ); +// break; +// case 28: +// traffic.setDesc( "监控摄像头" ); +// break; +// case 29: +// traffic.setDesc( "专用道摄像头" ); +// break; +// case 31: +// traffic.setDesc( "禁止超车" ); +// break; +// case 36: +// traffic.setDesc( "右侧变窄" ); +// break; +// case 37: +// traffic.setDesc( "左侧变窄" ); +// break; +// case 38: +// traffic.setDesc( "窄桥" ); +// break; +// case 39: +// traffic.setDesc( "左右绕行" ); +// break; +// case 40: +// traffic.setDesc( "左侧绕行" ); +// break; +// case 41: +// traffic.setDesc( "右侧绕行" ); +// break; +// case 42: +// traffic.setDesc( "注意落石(右侧)" ); +// break; +// case 43: +// traffic.setDesc( "傍山险路(左侧)" ); +// break; +// case 44: +// traffic.setDesc( "傍山险路(右侧)" ); +// break; +// case 47: +// traffic.setDesc( "上陡坡" ); +// break; +// case 48: +// traffic.setDesc( "下陡坡" ); +// break; +// case 49: +// traffic.setDesc( "过水路面" ); +// break; +// case 50: +// traffic.setDesc( "路面不平" ); +// break; +// case 52: +// traffic.setDesc( "慢行" ); +// break; +// case 53: +// traffic.setDesc( "注意危险" ); +// break; +// case 58: +// traffic.setDesc( "隧道" ); +// break; +// case 59: +// traffic.setDesc( "渡口" ); +// break; +// case 92: +// traffic.setDesc( "闯红灯" ); +// break; +// case 93: +// traffic.setDesc( "应急车道" ); +// break; +// case 94: +// traffic.setDesc( "非机动车道" ); +// break; +// case 100: +// traffic.setDesc( "不绑定电子眼高发地" ); +// break; +// case 101: +// traffic.setDesc( "车道违章" ); +// break; +// case 102: +// traffic.setDesc( "超速违章" ); +// break; +// } + + } + + @Override + public void onUpdateAimlessModeElecCameraInfo( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) { + + } + + @Override + public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) { + + } + + @Override + public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) { + + } +} diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 1675ec9d3f..5af6826e99 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -5,6 +5,7 @@ import android.graphics.Rect; import com.amap.api.maps.model.Polyline; import com.amap.api.navi.AMapNavi; +import com.amap.api.navi.enums.AimLessMode; import com.amap.api.navi.enums.NaviType; import com.amap.api.navi.model.NaviLatLng; import com.mogo.map.MogoLatLng; @@ -32,6 +33,9 @@ public class NaviClient implements IMogoNavi { private AMapNavi mAMapNavi; private final NaviListenerAdapter mAMapNaviListener; + + private final AimlessModeListenerAdapter mAimlessModeListener; + /** * 导航策略配置 */ @@ -45,7 +49,10 @@ public class NaviClient implements IMogoNavi { mAMapNavi.setEmulatorNaviSpeed( 120 ); mAMapNavi.setUseInnerVoice( true ); mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this ); + mAimlessModeListener = new AimlessModeListenerAdapter() { + }; mAMapNavi.addAMapNaviListener( mAMapNaviListener ); + mAMapNavi.addAimlessModeListener( mAimlessModeListener ); } public static NaviClient getInstance( Context context ) { @@ -123,6 +130,8 @@ public class NaviClient implements IMogoNavi { if ( mAMapNaviListener != null ) { mAMapNaviListener.stopNavi(); } + // 开启巡航 巡航时返回电子眼和特殊道路设施信息 + mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); } @@ -131,6 +140,8 @@ public class NaviClient implements IMogoNavi { if ( mAMapNaviListener.isStopped() ) { return; } + // 关闭巡航 + mAMapNavi.stopAimlessMode(); mIsRealNavi = isRealNavi; mAMapNavi.startNavi( isRealNavi ? NaviType.GPS : NaviType.EMULATOR ); } @@ -176,16 +187,18 @@ public class NaviClient implements IMogoNavi { @Override public void setCalculatePathDisplayBounds( Rect bounds ) { if ( mAMapNaviListener != null ) { - mAMapNaviListener.setCalculatePathDisplayBounds(bounds); + mAMapNaviListener.setCalculatePathDisplayBounds( bounds ); } } - @Override public MogoNaviConfig getNaviConfig() { + @Override + public MogoNaviConfig getNaviConfig() { return mMogoNaviConfig; } - @Override public boolean setBroadcastMode(int mode) { - return mAMapNavi.setBroadcastMode(mode); + @Override + public boolean setBroadcastMode( int mode ) { + return mAMapNavi.setBroadcastMode( mode ); } // -- end diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java index 7330664e18..572380b7d1 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java @@ -5,8 +5,13 @@ import android.graphics.Rect; import com.amap.api.maps.model.Polyline; import com.amap.api.navi.AMapNavi; +import com.amap.api.navi.AimlessModeListener; +import com.amap.api.navi.enums.AimLessMode; +import com.amap.api.navi.enums.CameraType; +import com.amap.api.navi.enums.CarEnterCameraStatus; import com.amap.api.navi.enums.NaviType; import com.amap.api.navi.model.AMapCalcRouteResult; +import com.amap.api.navi.model.AMapNaviCameraInfo; import com.amap.api.navi.model.AMapNaviInfo; import com.amap.api.navi.model.AMapNaviLocation; import com.amap.api.navi.model.NaviInfo; @@ -15,6 +20,7 @@ import com.mogo.map.impl.amap.message.AMapMessageManager; import com.mogo.map.impl.amap.utils.ObjectUtils; import com.mogo.map.navi.MogoCalculatePath; import com.mogo.map.navi.MogoNaviListenerHandler; +import com.mogo.map.navi.MogoTraffic; import com.mogo.map.navi.OnCalculatePathItemClickInteraction; import com.mogo.utils.logger.Logger; @@ -86,14 +92,77 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { } @Override - public void onStartNavi( int i ) { - setStopped( false ); - setNaviing( true ); - if ( mAMapNavi != null ) { - mAMapNavi.startSpeak(); + public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) { + super.updateCameraInfo( aMapNaviCameraInfos ); + if ( aMapNaviCameraInfos == null || aMapNaviCameraInfos.length == 0 ) { + return; + } + int limitSpeed = 0; + for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) { + if ( aMapNaviCameraInfo == null ) { + continue; + } + limitSpeed = aMapNaviCameraInfo.getCameraSpeed(); + if ( limitSpeed > 0 && aMapNaviCameraInfo.getCameraType() == CameraType.SPEED ) { + MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI ); + traffic.setDistance( aMapNaviCameraInfo.getCameraDistance() ); + traffic.setSpeedLimit( aMapNaviCameraInfo.getCameraSpeed() ); + traffic.setDesc( "测速摄像" ); + MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic ); + } + +// switch ( aMapNaviCameraInfo.getCameraType() ) { +// case CameraType.SPEED: +// +// break; +// case CameraType.SURVEILLANCE: +// traffic.setDesc( "监控摄像" ); +// break; +// case CameraType.TRAFFICLIGHT: +// traffic.setDesc( "闯红灯拍照" ); +// break; +// case CameraType.BREAKRULE: +// traffic.setDesc( "违章拍照" ); +// break; +// case CameraType.BUSWAY: +// traffic.setDesc( "公交专用道摄像头" ); +// break; +// case CameraType.EMERGENCY: +// traffic.setDesc( "应急车道拍照" ); +// break; +// case CameraType.BICYCLE: +// traffic.setDesc( "非机动车道" ); +// break; +// case CameraType.INTERVALVELOCITYSTART: +// traffic.setDesc( "区间测速起始" ); +// break; +// case CameraType.INTERVALVELOCITYEND: +// traffic.setDesc( "区间测速解除" ); +// break; +// } + } + if ( limitSpeed <= 0 ) { + MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI ); + traffic.setDistance( 0 ); + traffic.setSpeedLimit( 0 ); + traffic.setDesc( "测速摄像" ); + MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic ); + } + } + + @Override + public void onStartNavi( int type ) { + + // 巡航 + if ( type != NaviType.CRUISE ) { + setStopped( false ); + setNaviing( true ); + if ( mAMapNavi != null ) { + mAMapNavi.startSpeak(); + } + MogoNaviListenerHandler.getInstance().onStartNavi(); + AMapMessageManager.getInstance().postNaviStarted(); } - MogoNaviListenerHandler.getInstance().onStartNavi(); - AMapMessageManager.getInstance().postNaviStarted(); } @Override @@ -175,15 +244,15 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { } } - public void clearCalculatePaths(){ + public void clearCalculatePaths() { if ( mNaviOverlayHelper != null ) { mNaviOverlayHelper.clearCalculatedOverlay(); } } - public void setCalculatePathDisplayBounds( Rect bounds ){ + public void setCalculatePathDisplayBounds( Rect bounds ) { if ( mNaviOverlayHelper != null ) { - mNaviOverlayHelper.setCalculatePathDisplayBounds(bounds); + mNaviOverlayHelper.setCalculatePathDisplayBounds( bounds ); } } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 73fcb2d307..74f7579b07 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -63,7 +63,8 @@ public interface IMogoNavi { * * @param isRealNavi true - 实时导航 false - 模拟导航 */ - void startNavi( boolean isRealNavi ); + void + startNavi( boolean isRealNavi ); /** * 是否正在导航 diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java index 762e5d4f91..3047900c0e 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java @@ -44,4 +44,9 @@ public interface IMogoNaviListener { * 路径规划失败 */ void onoCalculateFailed(); + + /** + * 巡航信息发生改变 + */ + void onUpdateTraffic(MogoTraffic traffic); } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java index f3a29328f9..f627910fe6 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java @@ -91,4 +91,11 @@ public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviList mDelegateListener.onoCalculateFailed(); } } + + @Override + public void onUpdateTraffic( MogoTraffic traffic ) { + if ( mDelegateListener != null ) { + mDelegateListener.onUpdateTraffic( traffic ); + } + } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java new file mode 100644 index 0000000000..a331207c91 --- /dev/null +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java @@ -0,0 +1,76 @@ +package com.mogo.map.navi; + +/** + * @author congtaowang + * @since 2020-01-16 + *

+ * 巡航信息、导航信息 + */ +public class MogoTraffic { + + /** + * 导航 + */ + public static final int TYPE_NAVI = 1; + + /** + * 巡航 + */ + public static final int TYPE_AIM = 2; + + /** + * 导航 or 巡航 + */ + private int mFromType; + + /** + * 距离 + */ + private int mDistance; + + /** + * 限速 + */ + private int mSpeedLimit; + + /** + * 描述 + */ + private String mDesc; + + public MogoTraffic( int fromType ) { + mFromType = fromType; + } + + public int getFromType() { + return mFromType; + } + + public void setFromType( int fromType ) { + this.mFromType = fromType; + } + + public int getDistance() { + return mDistance; + } + + public void setDistance( int distance ) { + this.mDistance = distance; + } + + public int getSpeedLimit() { + return mSpeedLimit; + } + + public void setSpeedLimit( int speedLimit ) { + this.mSpeedLimit = speedLimit; + } + + public String getDesc() { + return mDesc; + } + + public void setDesc( String desc ) { + this.mDesc = desc; + } +} diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index f02dad8dff..e9bbd2e69f 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -23,6 +23,7 @@ import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.MogoNaviInfo; +import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoModulePaths; @@ -41,6 +42,7 @@ import com.mogo.service.module.IMogoModuleProvider; import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.windowview.IMogoWindowManager; import com.mogo.utils.TipToast; + import java.util.HashMap; /** @@ -67,6 +69,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private NaviInfoView mNaviInfo; private TextView mExitNavi; + private View mSpeedLimit; + private TextView mSpeedLimitValue; + private View mSpeedLimitUnit; + private IMogoMapService mService; private IMogoMapUIController mMApUIController; private IMogoLocationClient mMogoLocationClient; @@ -91,7 +97,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent @Override protected void initViews() { mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation(); - mMogoAddressManager = (IMogoAddressManager) ARouter.getInstance().build( MogoServicePaths.PATH_ADDRESS_MANAGER ).navigation(); + mMogoAddressManager = ( IMogoAddressManager ) ARouter.getInstance().build( MogoServicePaths.PATH_ADDRESS_MANAGER ).navigation(); mCommonAddress = findViewById( R.id.module_entrance_id_common_address ); mSearch = findViewById( R.id.module_entrance_id_search ); @@ -135,7 +141,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mExitNavi.setOnClickListener( view -> { if ( mMogoNavi != null ) { if ( mIsLock ) { - NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog(getContext()); + NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog( getContext() ); naviNoticeDialog.show(); } else { mMApUIController.recoverLockMode(); @@ -143,6 +149,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent } } ); + mSpeedLimit = findViewById( R.id.module_entrance_id_speed_limit_container ); + mSpeedLimitValue = findViewById( R.id.module_entrance_id_speed_limit_value ); + mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit ); + } @NonNull @@ -188,9 +198,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mCommonAddress.setVisibility( View.GONE ); mNaviInfo.setVisibility( View.VISIBLE ); mExitNavi.setVisibility( View.VISIBLE ); - AnalyticsUtils.track("Navigation_guide_type", new HashMap<>()); + AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() ); - mMApUIController.setPointToCenter(0.675926, 0.77552); + mMApUIController.setPointToCenter( 0.675926, 0.77552 ); } @Override @@ -198,9 +208,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mCommonAddress.setVisibility( View.VISIBLE ); mNaviInfo.setVisibility( View.GONE ); mExitNavi.setVisibility( View.GONE ); - AnalyticsUtils.track("Navigation_guide_type", new HashMap<>()); + mSpeedLimit.setVisibility( View.GONE ); + AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() ); - mMApUIController.setPointToCenter(0.66145, 0.590688); + mMApUIController.setPointToCenter( 0.66145, 0.590688 ); } @@ -212,6 +223,20 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent public void onoCalculateFailed() { } + @Override + public void onUpdateTraffic( MogoTraffic traffic ) { + if ( traffic == null ) { + return; + } + if ( traffic.getSpeedLimit() <= 0 ) { + mSpeedLimit.setVisibility( View.INVISIBLE ); + mSpeedLimitValue.setText( "--" ); + } else { + mSpeedLimit.setVisibility( View.VISIBLE ); + mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) ); + } + } + @Override public void onMapLoaded() { diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml new file mode 100644 index 0000000000..290a36041c --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml @@ -0,0 +1,9 @@ + + + + + + /> + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index d21d892790..ac2d2f671c 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -1,6 +1,7 @@ @@ -71,6 +72,36 @@ + + + + + + + + android:paddingLeft="@dimen/dp_60" + android:paddingRight="@dimen/dp_60"> impleme @Override public void onPageSelected( int position ) { try { + IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition ); + trackLastCardShowEvent( provider ); + mCurrentPosition = position; - final IMogoModuleProvider provider = mCardModulesAdapter.getProvider( position ); + provider = mCardModulesAdapter.getProvider( mCurrentPosition ); mMogoModuleHandler.setEnable( provider.getModuleName() ); if ( !isClickMarker ) { mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() ); } - trackCardSelectedEvent( provider ); } catch ( Exception e ) { e.printStackTrace(); } @@ -129,7 +131,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme * 卡片展示时长埋点 * @param provider */ - private void trackCardSelectedEvent( IMogoModuleProvider provider ) { + private void trackLastCardShowEvent( IMogoModuleProvider provider ) { if ( provider == null ) { return; } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 5e2f28c330..6cc2f7d8ee 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -19,6 +19,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.MogoNaviInfo; +import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; @@ -462,6 +463,24 @@ public class MogoModulesManager implements MogoModulesHandler, } } + @Override + public void onUpdateTraffic( MogoTraffic traffic ) { + Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); + if ( iterator == null ) { + return; + } + while ( iterator.hasNext() ) { + IMogoNaviListener listener = iterator.next(); + if ( listener != null ) { + try { + listener.onUpdateTraffic(traffic); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } + } + } + @Override public void onLocationChanged( MogoLocation location ) { Iterator< IMogoLocationListener > iterator = MogoRegisterCenterHandler.getInstance().getLocationListeners(); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java deleted file mode 100644 index 129523cbbb..0000000000 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.mogo.module.main.receiver; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.text.TextUtils; - -/** - * @author congtaowang - * @since 2020-01-02 - *

- * 广播接收者 - *

- * {@link Intent#ACTION_POWER_CONNECTED} - * {@link Intent#ACTION_POWER_DISCONNECTED} - */ -public class MogoReceiver extends BroadcastReceiver { - - public static void register( Context context ) { - if ( context == null ) { - return; - } - IntentFilter inputFilter = new IntentFilter(); - inputFilter.addAction( Intent.ACTION_POWER_CONNECTED ); - inputFilter.addAction( Intent.ACTION_POWER_DISCONNECTED ); - context.getApplicationContext().registerReceiver( new MogoReceiver(), inputFilter ); - } - - @Override - public void onReceive( Context context, Intent intent ) { - final String action = intent.getAction(); - if ( TextUtils.equals( action, Intent.ACTION_POWER_CONNECTED ) ) { - - } - if ( TextUtils.equals( action, Intent.ACTION_POWER_DISCONNECTED ) ) { - - } - } -} diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index 299315a101..f9e8a40907 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -41,7 +41,7 @@ + android:layout_marginLeft="@dimen/dp_60"> > public void onoCalculateFailed() { } + + @Override + public void onUpdateTraffic( MogoTraffic traffic ) { + + } }); //监听marker点击 @@ -799,7 +804,7 @@ public class TanluCardViewFragment extends MvpFragment> getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter); TanluServiceHandler.getLocationClient().removeLocationListener(this); mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME); - mogoIntentManager.unregisterIntentListener(MogoReceiver.ADAS_ACTION); + mogoIntentManager.unregisterIntentListener(MogoReceiver.ACTIION_ADAS ); } /** diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java index 1a978d1b25..cb3538048f 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java @@ -8,7 +8,7 @@ import com.alibaba.android.arouter.facade.template.IProvider; * @author congtaowang * @since 2020-01-09 *

- * 免唤醒语音控制 + * 唤醒语音控制 */ public interface IMogoIntentManager extends IProvider { From 857757ed82a14bc0a745f30b47e7ed3bae8830ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 16 Jan 2020 15:22:39 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=9A=84Marker=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../common/entity/MarkerActivitiesScope.java | 5 ++ .../common/entity/MarkerHobbyDatum.java | 71 +++++++++++++------ .../module/common/entity/MarkerOnlineCar.java | 6 +- .../module/common/entity/MarkerOnlineTag.java | 42 +++++++++++ .../module/service/network/RefreshModel.java | 2 +- 6 files changed, 102 insertions(+), 26 deletions(-) create mode 100644 modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java index 208a79934f..a72f2b5245 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java @@ -2,6 +2,8 @@ package com.mogo.module.common.entity; +import android.text.TextUtils; + import java.io.Serializable; @SuppressWarnings("unused") @@ -11,6 +13,9 @@ public class MarkerActivitiesScope implements Serializable { private int isCheck; public String getContent() { + if (TextUtils.isEmpty(content)) { + return "未知"; + } return content; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java index 5d69c78ec0..a190f2f759 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java @@ -1,42 +1,71 @@ - package com.mogo.module.common.entity; - -import android.text.TextUtils; - import java.io.Serializable; +import java.util.List; -@SuppressWarnings("unused") +/** + * author : donghongyu + * e-mail : 1358506549@qq.com + * date : 2020-01-1615:12 + * desc : 爱好 + * version: 1.0 + */ public class MarkerHobbyDatum implements Serializable { + private List singerTop2; // 最喜欢的两位歌手 + private List songTypeTop2; // 最喜欢的两种音乐类型 + private List newsType; // 最喜欢的资讯类型 + private List listenBookTop2; // 最喜欢听的两本书 + private List ifSociety; // 是否喜爱社交 - private String content; - - private int isCheck; - public String getContent() { - if (TextUtils.isEmpty(content)) { - return "未知"; - } - return content; + public List getSingerTop2() { + return singerTop2; } - public void setContent(String content) { - this.content = content; + public void setSingerTop2(List singerTop2) { + this.singerTop2 = singerTop2; } - public int getIsCheck() { - return isCheck; + public List getSongTypeTop2() { + return songTypeTop2; } - public void setIsCheck(int isCheck) { - this.isCheck = isCheck; + public void setSongTypeTop2(List songTypeTop2) { + this.songTypeTop2 = songTypeTop2; + } + + public List getNewsType() { + return newsType; + } + + public void setNewsType(List newsType) { + this.newsType = newsType; + } + + public List getListenBookTop2() { + return listenBookTop2; + } + + public void setListenBookTop2(List listenBookTop2) { + this.listenBookTop2 = listenBookTop2; + } + + public List getIfSociety() { + return ifSociety; + } + + public void setIfSociety(List ifSociety) { + this.ifSociety = ifSociety; } @Override public String toString() { return "MarkerHobbyDatum{" + - "content='" + content + '\'' + - ", isCheck=" + isCheck + + "singerTop2=" + singerTop2 + + ", songTypeTop2=" + songTypeTop2 + + ", newsType=" + newsType + + ", listenBookTop2=" + listenBookTop2 + + ", ifSociety=" + ifSociety + '}'; } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java index 1bc7ea165b..a9f25f16b4 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java @@ -13,7 +13,7 @@ public class MarkerOnlineCar implements Serializable { private MarkerUserInfo userInfo;//用户数据 private MarkerCarInfo carInfo;//车辆数据 private MarkerDynamicData dynamicData;//动态数据 - private List hobbyData;//爱好数据集合 + private MarkerHobbyDatum hobbyData;//爱好数据集合 private List activitiesScope;//活动范围数据集合 private double compatibility; @@ -49,11 +49,11 @@ public class MarkerOnlineCar implements Serializable { this.dynamicData = dynamicData; } - public List getHobbyData() { + public MarkerHobbyDatum getHobbyData() { return hobbyData; } - public void setHobbyData(List hobbyData) { + public void setHobbyData(MarkerHobbyDatum hobbyData) { this.hobbyData = hobbyData; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java new file mode 100644 index 0000000000..42f4d9026e --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java @@ -0,0 +1,42 @@ + +package com.mogo.module.common.entity; + + +import android.text.TextUtils; + +import java.io.Serializable; + +@SuppressWarnings("unused") +public class MarkerOnlineTag implements Serializable { + + private String content; + + private int isCheck; + + public String getContent() { + if (TextUtils.isEmpty(content)) { + return "未知"; + } + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getIsCheck() { + return isCheck; + } + + public void setIsCheck(int isCheck) { + this.isCheck = isCheck; + } + + @Override + public String toString() { + return "MarkerHobbyDatum{" + + "content='" + content + '\'' + + ", isCheck=" + isCheck + + '}'; + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index 5a366f4567..605ba68188 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -100,7 +100,7 @@ public class RefreshModel { if (mRefreshApiService != null) { final Map query = new ParamsProvider.Builder(mContext).build(); final RefreshBody refreshBody = new RefreshBody(); - refreshBody.limit = 5; + refreshBody.limit = 100; refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng); refreshBody.radius = radius; refreshBody.onlyFocus = onlyFocus; From f6d68ae6b035b3af457596cc5043ba36b704e48f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 16 Jan 2020 16:14:38 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=9A=84Marker=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/common/entity/MarkerActivitiesScope.java | 6 +++--- .../com/mogo/module/common/entity/MarkerOnlineTag.java | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java index a72f2b5245..ad7bc0e6dc 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java @@ -10,7 +10,7 @@ import java.io.Serializable; public class MarkerActivitiesScope implements Serializable { private String content; - private int isCheck; + private boolean isCheck; public String getContent() { if (TextUtils.isEmpty(content)) { @@ -23,11 +23,11 @@ public class MarkerActivitiesScope implements Serializable { this.content = content; } - public int getIsCheck() { + public boolean getIsCheck() { return isCheck; } - public void setIsCheck(int isCheck) { + public void setIsCheck(boolean isCheck) { this.isCheck = isCheck; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java index 42f4d9026e..4266fd9d34 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java @@ -10,8 +10,7 @@ import java.io.Serializable; public class MarkerOnlineTag implements Serializable { private String content; - - private int isCheck; + private boolean isCheck; public String getContent() { if (TextUtils.isEmpty(content)) { @@ -24,11 +23,11 @@ public class MarkerOnlineTag implements Serializable { this.content = content; } - public int getIsCheck() { + public boolean getIsCheck() { return isCheck; } - public void setIsCheck(int isCheck) { + public void setIsCheck(boolean isCheck) { this.isCheck = isCheck; } From 070d810b8f7e37b1842fcc314e8522f1c0787308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 16 Jan 2020 16:40:21 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=9A=84Marker=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/entity/MarkerDynamicData.java | 148 +++++++++++++++--- 1 file changed, 126 insertions(+), 22 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java index 0d94fae475..667324d15d 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java @@ -2,50 +2,154 @@ package com.mogo.module.common.entity; -import android.text.TextUtils; - import java.io.Serializable; @SuppressWarnings("unused") public class MarkerDynamicData implements Serializable { + //QQ音乐,懒人听书,乐听头条 2 为书籍听书,3 为新闻,1 为qq音乐 + private int type; + private String mediaId;//qq音乐id,书的bookId + //qq音乐url 懒人听书为“” + private String mediaUrl; + //歌曲名 ,当前播放书名,新闻标题内容 + private String mediaName; + //演唱歌手,当前章节,新闻来源 + private String mediaSinger; + //歌曲封面,书籍封面,新闻预览图 + private String mediaImg; + //音乐类别,类似经典 ,流行只有qq特有 + private String mediaType; + private int maxTime;//音频总时长 + private String bookInfo;//懒人听书json串 + //当前播放时长,可以不加,播放进度单独独立出来 + private int curTime; + //是否是本地音频,只有qq音乐 + private boolean isLocalMedia;//本地 + //播放模式,顺序,单曲循环,随机 + private int mediaPlayMode; + //1 播放 2 缓冲 0 暂停/停止 -1 播放错误 + private int playState; - private double id; - private String name; - private double type; - - public double getId() { - return id; + public String getMediaId() { + return mediaId; } - public void setId(double id) { - this.id = id; + public void setMediaId(String mediaId) { + this.mediaId = mediaId; } - public String getName() { - if (TextUtils.isEmpty(name)) { - return "未知"; - } - return name; + public String getMediaUrl() { + return mediaUrl; } - public void setName(String name) { - this.name = name; + public void setMediaUrl(String mediaUrl) { + this.mediaUrl = mediaUrl; } - public double getType() { + public int getType() { return type; } - public void setType(double type) { + public void setType(int type) { this.type = type; } + public int getPlayState() { + return playState; + } + + public void setPlayState(int playState) { + this.playState = playState; + } + + public String getMediaName() { + return mediaName; + } + + public void setMediaName(String mediaName) { + this.mediaName = mediaName; + } + + public String getMediaSinger() { + return mediaSinger; + } + + public void setMediaSinger(String mediaSinger) { + this.mediaSinger = mediaSinger; + } + + public String getMediaImg() { + return mediaImg; + } + + public void setMediaImg(String mediaImg) { + this.mediaImg = mediaImg; + } + + public long getMaxTime() { + return maxTime; + } + + public void setMaxTime(int maxTime) { + this.maxTime = maxTime; + } + + public long getCurTime() { + return curTime; + } + + public void setCurTime(int curTime) { + this.curTime = curTime; + } + + public String getMediaType() { + return mediaType; + } + + public void setMediaType(String mediaType) { + this.mediaType = mediaType; + } + + public boolean isLocalMedia() { + return isLocalMedia; + } + + public void setLocalMedia(boolean localMedia) { + isLocalMedia = localMedia; + } + + public int getMediaPlayMode() { + return mediaPlayMode; + } + + public void setMediaPlayMode(int mediaPlayMode) { + this.mediaPlayMode = mediaPlayMode; + } + + public String getBookInfo() { + return bookInfo; + } + + public void setBookInfo(String bookInfo) { + this.bookInfo = bookInfo; + } + @Override public String toString() { return "MarkerDynamicData{" + - "id=" + id + - ", name='" + name + '\'' + - ", type=" + type + + "type=" + type + + ", mediaId='" + mediaId + '\'' + + ", mediaUrl='" + mediaUrl + '\'' + + ", mediaName='" + mediaName + '\'' + + ", mediaSinger='" + mediaSinger + '\'' + + ", mediaImg='" + mediaImg + '\'' + + ", mediaType='" + mediaType + '\'' + + ", maxTime=" + maxTime + + ", bookInfo='" + bookInfo + '\'' + + ", curTime=" + curTime + + ", isLocalMedia=" + isLocalMedia + + ", mediaPlayMode=" + mediaPlayMode + + ", playState=" + playState + '}'; } } From 644bb3ca953d2b9001e27baaa90801ab643a62c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 16 Jan 2020 16:57:34 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E7=9A=84Marker=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/common/entity/MarkerDynamicData.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java index 667324d15d..34ec679b67 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java @@ -2,6 +2,8 @@ package com.mogo.module.common.entity; +import android.text.TextUtils; + import java.io.Serializable; @SuppressWarnings("unused") @@ -63,6 +65,9 @@ public class MarkerDynamicData implements Serializable { } public String getMediaName() { + if (TextUtils.isEmpty(mediaName)) { + return "未知"; + } return mediaName; } @@ -71,6 +76,9 @@ public class MarkerDynamicData implements Serializable { } public String getMediaSinger() { + if (TextUtils.isEmpty(mediaSinger)) { + return ""; + } return mediaSinger; } @@ -103,6 +111,9 @@ public class MarkerDynamicData implements Serializable { } public String getMediaType() { + if (TextUtils.isEmpty(mediaType)) { + return ""; + } return mediaType; } From 3025230d6b0b8d8470253e39735b3a974f9cbf25 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 16 Jan 2020 18:29:08 +0800 Subject: [PATCH 11/14] merge --- .../share/dialog/LaucherShareDialog.java | 7 +- modules/mogo-module-tanlu/build.gradle | 2 + .../tanlu/callback/UploadShareCallback.java | 14 ++ .../module/tanlu/constant/TanluConstants.java | 14 +- .../tanlu/fragment/TanluCardViewFragment.java | 238 ++++++++++-------- .../mogo/module/tanlu/model/Information.java | 3 + .../module/tanlu/model/TanluModelData.java | 74 +++++- .../tanlu/model/UploadShareRoadInfo.java | 26 ++ .../module/tanlu/net/TanluApiService.java | 9 +- .../drawable-xhdpi/tanlu_marker_block_up.png | Bin 0 -> 8673 bytes .../tanlu_marker_road_closure.png | Bin 0 -> 8290 bytes .../tanlu_marker_traffic_check.png | Bin 0 -> 9688 bytes .../layout/tanlu_item_main_media_recycler.xml | 2 +- .../src/main/res/values/strings.xml | 3 +- 14 files changed, 267 insertions(+), 125 deletions(-) create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java create mode 100644 modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png create mode 100644 modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_road_closure.png create mode 100644 modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java index 2f208f5efd..ea81073522 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java @@ -3,6 +3,7 @@ package com.mogo.module.share.dialog; import android.app.Dialog; import android.content.Context; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.RelativeLayout; @@ -69,7 +70,9 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener { if (id == R.id.btn_block_layout) { //拥堵 sendShareReceiver("1"); } else if (id == R.id.oil_price_layout) { - //TODO + Intent intent = new Intent(); + intent.setData(Uri.parse("reshthing://com.zhidao.fresh.things/shareOilPrice")); + mContext.startActivity(intent); } else if (id == R.id.traffic_check_layout) { //交通检查 sendShareReceiver("2"); } else if (id == R.id.road_closure_layout) { //封路 @@ -80,7 +83,7 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener { } /** - * 发送广播 + * 发送广播 1拥堵,2交通检查,3封路 */ private void sendShareReceiver(String type) { Logger.d("liyz", "LaucherShareDialog sendShareReceiver ---->"); diff --git a/modules/mogo-module-tanlu/build.gradle b/modules/mogo-module-tanlu/build.gradle index a182478571..58b56336b0 100644 --- a/modules/mogo-module-tanlu/build.gradle +++ b/modules/mogo-module-tanlu/build.gradle @@ -53,6 +53,7 @@ dependencies { implementation rootProject.ext.dependencies.mogoserviceapi implementation rootProject.ext.dependencies.modulecommon implementation rootProject.ext.dependencies.moduleservice + implementation rootProject.ext.dependencies.moduleshare } else { implementation project(":libraries:mogo-map") implementation project(":foudations:mogo-utils") @@ -60,6 +61,7 @@ dependencies { implementation project(':services:mogo-service-api') implementation project(':modules:mogo-module-common') implementation project(':modules:mogo-module-service') + implementation project(':modules:mogo-module-share') } implementation 'com.shuyu:gsyVideoPlayer-armv7a:7.1.1' diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java new file mode 100644 index 0000000000..c0ae07ea7a --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java @@ -0,0 +1,14 @@ +package com.mogo.module.tanlu.callback; + +import com.mogo.commons.data.BaseData; + + +/** + * @author lixiaopeng + * @description 上报分享 + * @since 2020-01-09 + */ +public interface UploadShareCallback { + void onSuccess(BaseData data); + void onFail(String message, int code); +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java index bbd8ccef16..5472fb444e 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java @@ -12,11 +12,19 @@ public class TanluConstants { public static final String NAVI_INFO = "navi_info"; public static final String MODEL_NAME = "CARD_TYPE_ROAD_CONDITION"; + public static final String[] CMD_PLAY_ROAD_CONDITION = {"播放路况"}; + //上报路况 public static final String UPLOAD_ROAD_CONDITION = "command_upload_roadcondition"; - + //xx堵不堵 public static final String SPECIFIEDROAD_SEARCH = "com.zhidao.pathfinder.specifiedroad.search"; - public static final String NEARBYROAD_SEARCH = "com.zhidao.pathfinder.nearbyroad.search"; - + //播放 + public static final String PLAY_VIDEO = "com.zhidao.tanlu.play"; + //分享封路 + public static final String SHARE_ROAD_CLOSURE = "com.zhidao.share.road.closure"; + //分享交通检查 + public static final String SHARE_TRAFFIC_CHECK = "com.zhidao.share.traffic.check"; + //我要分享 + public static final String GO_TO_SHARE = "com.zhidao.share"; } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index da89b98fa6..e92c76d446 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -25,6 +25,7 @@ import com.amap.api.services.geocoder.GeocodeSearch; import com.amap.api.services.geocoder.RegeocodeResult; import com.amap.api.services.poisearch.PoiResult; import com.amap.api.services.poisearch.PoiSearch; +import com.mogo.commons.data.BaseData; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; @@ -51,9 +52,11 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.receiver.MogoReceiver; +import com.mogo.module.share.ShareControl; import com.mogo.module.tanlu.R; import com.mogo.module.tanlu.callback.AlongTheWayCallback; import com.mogo.module.tanlu.callback.RoadLineCallback; +import com.mogo.module.tanlu.callback.UploadShareCallback; import com.mogo.module.tanlu.callback.VoiceSearchCallback; import com.mogo.module.tanlu.constant.TanluConstants; import com.mogo.module.tanlu.model.Center; @@ -110,7 +113,7 @@ public class TanluCardViewFragment extends MvpFragment> IMogoLocationListener, View.OnClickListener { - private static final String TAG = "liyz"; + private static final String TAG = "TanluCardViewFragment"; SimpleCoverVideoPlayer simpleCoverVideoPlayer; AutoZoomInImageView autoZoomInImageView; //map @@ -203,10 +206,9 @@ public class TanluCardViewFragment extends MvpFragment> //切换卡片操作 iMogoCardManager = (IMogoCardManager) ARouter.getInstance().build(MogoServicePaths.PATH_CARD_MANAGER).navigation(getActivity()); - mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(getContext()); mMogoRegisterCenter.registerMogoModuleLifecycle(TanluConstants.MODEL_NAME, this); - //语音操作 + //唤醒 mogoIntentManager = (IMogoIntentManager) ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation(getContext()); @@ -234,14 +236,15 @@ public class TanluCardViewFragment extends MvpFragment> Double longit; //经度 Double lat; //维度 if (mKeywords.equals("附近")) { + Logger.d(TAG, "附近 ----1---"); longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude(); lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); } else { + Logger.d(TAG, "其他 ---1----"); longit = latLon.getLongitude(); lat = latLon.getLatitude(); } - Log.d(TAG, "geoSearch keywords = $keywords --cityCode = $cityCode " + - "--longitude= longit --latitude = $lat"); + Log.d(TAG, "geoSearch keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat); getVoiceControlRoadData(mKeywords, lat, longit); } else { String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode(); @@ -250,7 +253,7 @@ public class TanluCardViewFragment extends MvpFragment> poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() { @Override public void onPoiSearched(PoiResult p0, int p1) { - Logger.d(TAG, "setOnPoiSearchListener ------mKeywords =" + mKeywords + ">>p1 =" + p1); + Logger.d(TAG, "setOnPoiSearchListener--mKeywords =" + mKeywords + ">>p1 =" + p1); if (p1 == 1000) { if (p0.getPois() != null && p0.getPois().size() != 0) { PoiItem poi = p0.getPois().get(0); @@ -259,15 +262,16 @@ public class TanluCardViewFragment extends MvpFragment> Double longit; //经度 Double lat; //维度 if (mKeywords.equals("附近")) { + Logger.d(TAG, "附近 ----2---"); longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude(); lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); } else { + Logger.d(TAG, "其他 --2----"); longit = latLon.getLongitude(); lat = latLon.getLatitude(); } getVoiceControlRoadData(mKeywords, lat, longit); - Logger.d(TAG, "poi search keywords = $keywords --cityCode = $cityCode " + - "--longitude= $long --latitude = $lat"); + Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat); } else { Logger.e(TAG, "poi == null"); } @@ -316,12 +320,10 @@ public class TanluCardViewFragment extends MvpFragment> mMogoRegisterCenter.registerMogoNaviListener(TanluConstants.MODEL_NAME, new IMogoNaviListener() { @Override public void onInitNaviFailure() { - } @Override public void onInitNaviSuccess() { - } @Override @@ -330,9 +332,9 @@ public class TanluCardViewFragment extends MvpFragment> } @Override - public void onStartNavi() { //开始导航 - initModelData(); - getNavigationLineData(); + public void onStartNavi() { //开始导航,这期先不做 +// initModelData(); +// getNavigationLineData(); } @Override @@ -360,7 +362,7 @@ public class TanluCardViewFragment extends MvpFragment> mMogoRegisterCenter.registerMogoMarkerClickListener(TanluConstants.MODEL_NAME, new IMogoMarkerClickListener() { @Override public boolean onMarkerClicked(IMogoMarker marker) { - //点击marker以后,确认他的位置?然后点击下一个操作 TODO + //点击marker以后,确认他的位置?然后点击下一个操作 mEmptyLayout.setVisibility(View.GONE); mRootLayout.setVisibility(View.VISIBLE); @@ -370,7 +372,7 @@ public class TanluCardViewFragment extends MvpFragment> return false; } - //TODO 自己打的点,需要重新 + //TODO 自己打的点,需要重新组装新数据,清理老的 if (exploreWay.getFileType() == 0) { //图片 refreshPhotoData(exploreWay); } else if (exploreWay.getFileType() == 1) { //视频 @@ -412,14 +414,13 @@ public class TanluCardViewFragment extends MvpFragment> * 注册listener监听 */ private void initListener() { - Logger.d(TAG, " initListener ------> "); - //某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO //唤醒 mogoIntentManager.registerIntentListener(TanluConstants.UPLOAD_ROAD_CONDITION, mogoIntentListener); mogoIntentManager.registerIntentListener(TanluConstants.SPECIFIEDROAD_SEARCH, mogoIntentListener); - mogoIntentManager.registerIntentListener(TanluConstants.NEARBYROAD_SEARCH, mogoIntentListener); - //免唤醒 -// AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener); + mogoIntentManager.registerIntentListener(TanluConstants.PLAY_VIDEO, mogoIntentListener); + mogoIntentManager.registerIntentListener(TanluConstants.SHARE_ROAD_CLOSURE, mogoIntentListener); + mogoIntentManager.registerIntentListener(TanluConstants.SHARE_TRAFFIC_CHECK, mogoIntentListener); + mogoIntentManager.registerIntentListener(TanluConstants.GO_TO_SHARE, mogoIntentListener); } @@ -431,12 +432,7 @@ public class TanluCardViewFragment extends MvpFragment> public void onIntentReceived(String intentStr, Intent intent) { String data = intent.getStringExtra("data"); Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data); - if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 - if (!isCurrentPage) { - //切换探路卡片 - iMogoCardManager.switch2(TanluConstants.MODEL_NAME); - } - + if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 ok try { JSONObject jsonObject = new JSONObject(data); mKeywords = jsonObject.get("location").toString(); @@ -445,27 +441,24 @@ public class TanluCardViewFragment extends MvpFragment> } catch (Exception e) { e.printStackTrace(); } - } else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附近 - if (!isCurrentPage) { - //切换探路卡片 - iMogoCardManager.switch2(TanluConstants.MODEL_NAME); - } - - try { - JSONObject jsonObject = new JSONObject(data); - mKeywords = jsonObject.get("location").toString(); - Logger.d(TAG, "mogoIntentListener nearby mKeywords = " + mKeywords); - handleActionFoo(mKeywords); - } catch (Exception e) { - e.printStackTrace(); - } - } else if (intentStr.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { //上报路况 + } else if (intentStr.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 ok sendShareReceiver("1"); + Logger.d(TAG, "mogoIntentListener 上报路况 ----> "); + } else if (intentStr.equals(TanluConstants.PLAY_VIDEO)) { //播放视频 免唤醒 + Logger.d(TAG, "mogoIntentListener 播放视频 ----> "); + //TODO -// } else if (intentStr.equals()) { // - + } else if (intentStr.equals(TanluConstants.SHARE_ROAD_CLOSURE)) { //分享封路 + sendShareReceiver("3"); + Logger.d(TAG, "mogoIntentListener 分享封路 ----> "); + } else if (intentStr.equals(TanluConstants.SHARE_TRAFFIC_CHECK)) { //分享交通检查 + sendShareReceiver("2"); + Logger.d(TAG, "mogoIntentListener 分享交通检查 ----> "); + } else if (intentStr.equals(TanluConstants.GO_TO_SHARE)) { //我要分享 + ShareControl shareControl = new ShareControl(); + shareControl.showDialog(getActivity()); + Logger.d(TAG, "mogoIntentListener 我要分享 ----> "); } - } }; @@ -477,32 +470,44 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onCmdSelected(String cmd) { Logger.e(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd); - if (cmd.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { - sendShareReceiver("1"); + if (cmd.equals(TanluConstants.PLAY_VIDEO)) { + //TODO + } } @Override public void onCmdAction(String speakText) { - + Logger.d(TAG, "免唤醒 onCmdAction speakText =" + speakText); } @Override public void onCmdCancel(String speakText) { - + Logger.d(TAG, "免唤醒 onCmdCancel speakText =" + speakText); } @Override public void onSpeakEnd(String speakText) { - + Logger.e(TAG, "免唤醒 onSpeakEnd speakText =" + speakText); } @Override public void onSpeakSelectTimeOut(String speakText) { - + Logger.e(TAG, "免唤醒 onSpeakSelectTimeOut speakText =" + speakText); } }; + /** + * 发送广播 1拥堵,2交通检查,3封路 + */ + private void sendShareReceiver(String type) { + Logger.d(TAG, "TanluCardViewFragment sendShareReceiver ---->"); + Intent intent = new Intent(); + intent.setAction("com.zhidao.roadcondition.share"); + intent.putExtra("type", type); + getContext().sendBroadcast(intent); + } + private MarkerExploreWay extractFromMarker(IMogoMarker marker) { if (marker == null) { @@ -548,23 +553,12 @@ public class TanluCardViewFragment extends MvpFragment> handleData(markerExploreWayList.get(currentPosition)); } - } else if (id == R.id.tv_main_empty) { //TODO上报路况,逻辑 + } else if (id == R.id.tv_main_empty) { //上报路况 Logger.d(TAG, "tv_main_empty click -----> "); sendShareReceiver("1"); } } - /** - * 发送广播 - */ - private void sendShareReceiver(String type) { - Logger.d("liyz", "LaucherShareDialog sendShareReceiver ---->"); - Intent intent = new Intent(); - intent.setAction("com.zhidao.roadcondition.share"); - intent.putExtra("type", type); - getContext().sendBroadcast(intent); - } - /** * 执行图片动画 */ @@ -689,6 +683,9 @@ public class TanluCardViewFragment extends MvpFragment> */ @Override public void onPerform() { + //免唤醒 + AIAssist.getInstance(getActivity()).registerUnWakeupCommand(TanluConstants.PLAY_VIDEO, TanluConstants.CMD_PLAY_ROAD_CONDITION, mogoVoiceListener); + isCurrentPage = true; Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->"); mMarkerManager = mMogoMapService.getMarkerManager(getActivity()); @@ -736,6 +733,7 @@ public class TanluCardViewFragment extends MvpFragment> public void onDisable() { Logger.d(TAG, "tanlu卡片 无效 ----->"); isCurrentPage = false; + AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand(TanluConstants.PLAY_VIDEO); } @Override @@ -814,50 +812,67 @@ public class TanluCardViewFragment extends MvpFragment> */ @Subscribe(threadMode = ThreadMode.MAIN) public void onMarkerInfo(final MarkerInfo event) { - Logger.d(TAG, "onMarkerInfo ------>"); + Logger.d(TAG, "onMarkerInfo ------------>"); if (event.type.equals("1")) { //上报路况 - mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_block_up); + mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); } else if (event.type.equals("2")) { //交通检查 - mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_traffic_check); + mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check); } else if (event.type.equals("3")) { //封路 - mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_road_closure); + mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_road_closure); + } else { + mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); } - mogoImageloader.downloadImage(getActivity(), event.imageUrl, new IMogoImageLoaderListener() { - @Override - public void onStart() { - Logger.d(TAG, "onMarkerInfo onStart ------>"); - } + Logger.d(TAG, "onMarkerInfo onCompleted ------>"); + MogoMarkerOptions options = new MogoMarkerOptions() + .icon(mMarkerIcon) + .latitude(event.lat) + .owner(TanluConstants.MODEL_NAME) + .longitude(event.lon); + IMogoMarker marker = mMarkerManager.addMarker("share_tag", options); //随便传tag,不可点击 + //TODO 请求分享接口 + MarkerExploreWay markerExploreWay = markerExploreWayList.get(0); + if (markerExploreWay.getUserInfo() != null) { - @Override - public void onCompleted(Bitmap bitmap) { - Logger.d(TAG, "onMarkerInfo onCompleted ------>"); - MogoMarkerOptions options = new MogoMarkerOptions() - .icon(mMarkerIcon) - .latitude(event.lat) - .owner(TanluConstants.MODEL_NAME) - .longitude(event.lon); - - IMogoMarker marker = mMarkerManager.addMarker("share_tag", options); - //TODO 请求分享接口 - - } - - @Override - public void onFailure(Exception e) { - Logger.e(TAG, "onMarkerInfo onFailure -----e =" + e); - } - }); + } + uploadShareInfo(markerExploreWay.getType(), "", markerExploreWay.getUserInfo().getUserName(), + markerExploreWay.getUserInfo().getUserHead()); } + /** - * push 类型,1为导航数据,2为通勤族 + * 上报分享信息 + */ + private void uploadShareInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl) { + double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); + double lon = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude(); + String addressStr = TanluServiceHandler.getLocationClient().getLastKnowLocation().getAddress(); + + mTanluModelData.addTrafficCheckInfo(poiType, poiImgUrl, nickname, headImgUrl, lat, lon, addressStr, + new UploadShareCallback() { + @Override + public void onSuccess(BaseData data) { + Logger.d(TAG, "uploadShareInfo onSuccess ----->"); + AIAssist.getInstance(getContext()).speakTTSVoice(getString(R.string.tanlu_share_success), null); + } + + @Override + public void onFail(String message, int code) { + Logger.d(TAG, "uploadShareInfo onFail ----->"); + AIAssist.getInstance(getContext()).speakTTSVoice(getString(R.string.tanlu_share_failed), null); + } + }); + } + + + /** + * push 类型,1为导航数据,2为通勤族 TODO * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onPushInfo(final PushTypeInfo event) { - Logger.d(TAG, "onPushInfo ----event.type =" + event.type); + Logger.d(TAG, " onPushInfo event.type =" + event.type); if (event.type.equals("1")) { getNaviRoadLineInfo(); } else if (event.type.equals("2")) { @@ -939,6 +954,7 @@ public class TanluCardViewFragment extends MvpFragment> int intervalNum = Utils.getIntervalValue(pointList.size()); Logger.d(TAG, "drawMapLine intervalNum = $intervalNum -- pointList.size = ${pointList.size}"); int listSize = pointList.size(); + passedByPoints = new ArrayList<>(); //沿途最多15个点 for (int i = 0; i < listSize; i += intervalNum) { @@ -958,33 +974,46 @@ public class TanluCardViewFragment extends MvpFragment> public void getVoiceControlRoadData(String keywords, final double lat, final double lon) { String adCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getAdCode(); String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode(); - Logger.d(TAG, "getVoiceControlRoadData lat =" + lat + ">>>lon =" + lon + ">>>cityCode=" + cityCode + ">>>adCode =" + adCode); + + //移动到具体位置 + MogoLatLng latLng = new MogoLatLng(lat, lon); + mMApUIController.moveToCenter(latLng); + + Logger.d(TAG, "getVoiceControlRoadData lat =" + lat + ">>>lon =" + lon + ">>>cityCode= " + cityCode + " >>>adCode = " + adCode); mTanluModelData.getVoiceControlRoadData(keywords, cityCode, lon, lat, adCode, new VoiceSearchCallback() { @Override public void onSuccess(VoiceSearchResult o) { String discription = o.getResult().getDescription(); Logger.d(TAG, "getVoiceControlRoadData discription = " + discription); if (o.getResult().getInformations() != null && o.getResult().getInformations().size() > 0) { + //切换到探路卡片 + if (!isCurrentPage) { + //切换探路卡片 + iMogoCardManager.switch2(TanluConstants.MODEL_NAME); + } + speakSuccessVoice(o.getResult().getInformations(), discription == null ? "" : discription); List informationList = o.getResult().getInformations(); - //移动 - MogoLatLng latLng = new MogoLatLng(lat, lon); - mMApUIController.moveToCenter(latLng); - //清除探路之前的数据 mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME); mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false); - //打点 TODO + //打点 ArrayList optionList = new ArrayList<>(); for (int i = 0; i < informationList.size(); i++) { //根据type确定添加的图片 - if (informationList.get(i).type == 0) { //图片 - multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_poi_location); - } else if (informationList.get(i).type == 1) { //视频 - + String trafficType = informationList.get(i).trafficInfoType; + if (trafficType.equals("traffic_jam")) { //拥堵 + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); + } else if (trafficType.equals("car_checking")) { //查车 + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check); + } else if (trafficType.equals("0")) { + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check); + } else if (trafficType.equals("traffic_control")) { + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_road_closure); } + MogoMarkerOptions options = new MogoMarkerOptions() .icon(multiMarkerIcon) .latitude(informationList.get(i).lat) @@ -993,7 +1022,7 @@ public class TanluCardViewFragment extends MvpFragment> optionList.add(options); } - Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size()); + Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size()); mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true); //直接使用当前数据list,作为切换的数据源 } else { @@ -1055,7 +1084,6 @@ public class TanluCardViewFragment extends MvpFragment> } } - private void initStrings() { voiceGetInfoMationTts = getContext().getResources().getString(R.string.voice_get_informations_tts); @@ -1081,5 +1109,3 @@ public class TanluCardViewFragment extends MvpFragment> } - - diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java index 3ddfc14bc3..fe996b025f 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java @@ -23,6 +23,7 @@ public class Information extends BaseData implements Parcelable { public int distance; public String nickName; public String headImgUrl; + public String trafficInfoType; @Override @@ -42,6 +43,7 @@ public class Information extends BaseData implements Parcelable { dest.writeInt(this.distance); dest.writeString(this.nickName); dest.writeString(this.headImgUrl); + dest.writeString(this.trafficInfoType); } public Information() { @@ -58,6 +60,7 @@ public class Information extends BaseData implements Parcelable { this.distance = in.readInt(); this.nickName = in.readString(); this.headImgUrl = in.readString(); + this.trafficInfoType = in.readString(); } public static final Creator CREATOR = new Creator() { diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java index 8239fb2cb3..065d48976a 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java @@ -5,12 +5,14 @@ import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; import com.google.gson.Gson; +import com.mogo.commons.data.BaseData; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.ParamsProvider; import com.mogo.commons.network.SubscribeImpl; import com.mogo.commons.network.Utils; import com.mogo.module.tanlu.callback.AlongTheWayCallback; import com.mogo.module.tanlu.callback.RoadLineCallback; +import com.mogo.module.tanlu.callback.UploadShareCallback; import com.mogo.module.tanlu.callback.VoiceSearchCallback; import com.mogo.module.tanlu.constant.HttpConst; import com.mogo.module.tanlu.constant.TanluConstants; @@ -66,7 +68,7 @@ public class TanluModelData { Logger.d(TAG, "getVoiceControlRoadData -------> " + getSn()); final Map params = new ParamsProvider.Builder(mContext) - .append("sn", "ZD821C1933L00974") //getSn + .append("sn", Utils.getSn()) .append("data", searchInformationStr) .append("getSnData", locCarsWithRadiusStr) .build(); @@ -103,7 +105,7 @@ public class TanluModelData { public void getRoadLineData(final RoadLineCallback callback) { Logger.d(TAG, "getRoadLineData -------> =" + Utils.getSn()); final Map params = new ParamsProvider.Builder(mContext) - .append("sn", "ZD821C1933L00974") + .append("sn", Utils.getSn()) .build(); mTanluApiService.getRoadLineInfo(params) @@ -134,12 +136,12 @@ public class TanluModelData { } /** - * 导航路径,监听消息自己请求路线数据 + * 导航路径,监听消息自己请求路线数据 ZD821C1933L00974 */ public void getNaviRoadLineInfo(final RoadLineCallback callback) { Logger.d(TAG, "getNaviRoadLineInfo -------> =" + Utils.getSn()); final Map params = new ParamsProvider.Builder(mContext) - .append("sn", "ZD821C1933L00974") + .append("sn", Utils.getSn()) .build(); mTanluApiService.getNaviRoadLineInfo(params) @@ -177,6 +179,9 @@ public class TanluModelData { Gson gson = new Gson(); NaviLatLng coordinates = new NaviLatLng(getNaviInfo(lon, lat).fromStart(), getNaviInfo(lon, lat).toEnd()); Logger.d(TAG, "getNavigationLineData -------> " + getSn()); + if (coordinates == null) { + return; + } List list = new ArrayList<>(); list.add(lon); @@ -189,7 +194,7 @@ public class TanluModelData { .append("getSnData", locCarsWithRadiusStr) .build(); - mTanluApiService.requestInformationAlongTheWay(getSn(), params) + mTanluApiService.requestInformationAlongTheWay(Utils.getSn(), params) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { @@ -223,14 +228,61 @@ public class TanluModelData { Log.d(TAG, " getNaviInfo naviInfo =" + naviInfo); NaviLatLngInfo naviLatLngInfo = new Gson().fromJson(naviInfo, NaviLatLngInfo.class); Log.d(TAG, "getLocNaviInfo lat = $lat -----> lon = $lon"); - if (lon == 0.0 || lat == 0.0) { - return naviLatLngInfo; + if (naviLatLngInfo != null) { + if (lon == 0.0 || lat == 0.0) { + return naviLatLngInfo; + } else { + naviLatLngInfo.setFromPoiLatitude(lat + ""); + naviLatLngInfo.setFromPoiLongitude(lon + ""); + SharedPrefsMgr.getInstance(mContext).putString(TanluConstants.NAVI_INFO, new Gson().toJson(naviLatLngInfo)); + return naviLatLngInfo; + } } else { - naviLatLngInfo.setFromPoiLatitude(lat + ""); - naviLatLngInfo.setFromPoiLongitude(lon + ""); - SharedPrefsMgr.getInstance(mContext).putString(TanluConstants.NAVI_INFO, new Gson().toJson(naviLatLngInfo)); - return naviLatLngInfo; + return null; } } + + /** + * 上报交通检查和封路 TODO + */ + public void addTrafficCheckInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl, + double lat, double lon, String address, final UploadShareCallback callback) { + Gson gson = new Gson(); + UploadShareRoadInfo uploadShareRoadInfo = new UploadShareRoadInfo(poiType, poiImgUrl, nickname, headImgUrl, new Center(lat, lon), address); + String uploadShareStr = gson.toJson(uploadShareRoadInfo); + Logger.d(TAG, "addTrafficCheckInfo sn= " + getSn() + ">> uploadShareStr =" + uploadShareStr); + + final Map params = new ParamsProvider.Builder(mContext) + .append("sn", Utils.getSn()) + .append("data", uploadShareStr) + .build(); + mTanluApiService.searchOnLineInformation(params) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { + @Override + public void onSuccess(BaseData o) { + super.onSuccess(o); + callback.onSuccess(o); + Logger.d(TAG, "addTrafficCheckInfo onSuccess ------>"); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + callback.onFail(message, code); + Logger.e(TAG, "addTrafficCheckInfo onError message= " + message + ">>code =" + code); + } + + @Override + public void onError(Throwable e) { + super.onError(e); + Logger.d(TAG, "addTrafficCheckInfo onError ------> e= " + e.getMessage()); + } + }); + + } + + } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java new file mode 100644 index 0000000000..e8e69d6650 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java @@ -0,0 +1,26 @@ +package com.mogo.module.tanlu.model; + +/** + * @author lixiaopeng + * @description 分享上报信息参数 + * @since 2020-01-16 + */ +public class UploadShareRoadInfo { + + public String poiType; + public String poiImgUrl; + public String nickname; + public String headImgUrl; + private Center location; + private String address; + + public UploadShareRoadInfo(String poiType, String poiImgUrl, String nickname, + String headImgUrl, Center location, String address) { + this.poiType = poiType; + this.poiImgUrl = poiImgUrl; + this.nickname = nickname; + this.headImgUrl = headImgUrl; + this.location = location; + this.address = address; + } +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java index 5d085fe683..90760afe9c 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java @@ -1,5 +1,6 @@ package com.mogo.module.tanlu.net; +import com.mogo.commons.data.BaseData; import com.mogo.module.tanlu.model.InformationAndLiveCarResult; import com.mogo.module.tanlu.model.PathLineResult; import com.mogo.module.tanlu.model.VoiceSearchResult; @@ -20,7 +21,7 @@ import retrofit2.http.Query; public interface TanluApiService { /** - * 探路沿途数据 + * 探路沿途数据,只是为了通知server下发push */ @FormUrlEncoded @POST("deva/car/path/no/getOnTheWayDataAndSn/v1") @@ -47,5 +48,11 @@ public interface TanluApiService { @POST("deva/car/search/no/searchInforationByAddress/v1") Observable searchOnLineInformation(@FieldMap Map infoBody); + /** + * 上报交通检查,封路 + */ + @FormUrlEncoded + @POST("deva/car/poi/no/addNovelty/v1") + Observable uploadCheckTrafficInfor(@FieldMap Map infoBody); } diff --git a/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png new file mode 100644 index 0000000000000000000000000000000000000000..a934c7a994d38beff6f07e6d856beb703e8826fe GIT binary patch literal 8673 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png new file mode 100644 index 0000000000000000000000000000000000000000..b47d3866efee21343cbc331eb8bc42564da2e755 GIT binary patch literal 9688 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 ar2SujI%-;ToKFP+0000 + android:visibility="gone"> 共享计划 上一条 下一条 - + 分享成功 + 分享失败 正在为您搜索路况 From b59c1762e23e9aa70f08ef14938d8f3dfe8778fa Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 16 Jan 2020 19:58:16 +0800 Subject: [PATCH 12/14] opt --- .../com/mogo/launcher/MogoApplication.java | 2 +- .../drawable-ldpi/module_apps_ic_retract.png | Bin 1124 -> 469 bytes .../res/layout/module_apps_fragment_apps.xml | 10 +- .../module_apps_fragment_apps_navigator.xml | 24 ++--- .../main/res/layout/module_apps_item_app.xml | 8 +- .../res/layout/module_apps_item_app_pager.xml | 6 +- .../src/main/res/values-ldpi/dimens.xml | 16 +++ .../src/main/res/values-xhdpi/dimens.xml | 16 +++ .../src/main/res/values/dimens.xml | 16 +++ .../src/main/res/drawable-ldpi/ic_cloudy.png | Bin 0 -> 510 bytes .../main/res/drawable-ldpi/ic_dust_sand.png | Bin 0 -> 454 bytes .../main/res/drawable-ldpi/ic_duststorm.png | Bin 0 -> 479 bytes .../src/main/res/drawable-ldpi/ic_fog.png | Bin 0 -> 268 bytes .../src/main/res/drawable-ldpi/ic_haze.png | Bin 0 -> 408 bytes .../main/res/drawable-ldpi/ic_heavy_rain.png | Bin 0 -> 419 bytes .../main/res/drawable-ldpi/ic_light_rain.png | Bin 0 -> 373 bytes .../res/drawable-ldpi/ic_moderate_rain.png | Bin 0 -> 373 bytes .../main/res/drawable-ldpi/ic_overcast.png | Bin 0 -> 516 bytes .../res/drawable-ldpi/ic_severe_storm.png | Bin 0 -> 541 bytes .../src/main/res/drawable-ldpi/ic_shower.png | Bin 0 -> 525 bytes .../src/main/res/drawable-ldpi/ic_snow.png | Bin 0 -> 521 bytes .../src/main/res/drawable-ldpi/ic_sunny.png | Bin 0 -> 502 bytes .../src/main/res/drawable-ldpi/ic_thunder.png | Bin 0 -> 452 bytes .../res/drawable-ldpi/ic_thundershower.png | Bin 0 -> 534 bytes .../src/main/res/drawable-ldpi/ic_unknown.png | Bin 0 -> 464 bytes .../drawable-ldpi/module_map_ic_search.png | Bin 1038 -> 712 bytes .../ic_cloudy.png | Bin .../ic_dust_sand.png | Bin .../ic_duststorm.png | Bin .../ic_fog.png | Bin .../ic_haze.png | Bin .../ic_heavy_rain.png | Bin .../ic_light_rain.png | Bin .../ic_moderate_rain.png | Bin .../ic_overcast.png | Bin .../ic_severe_storm.png | Bin .../ic_shower.png | Bin .../ic_snow.png | Bin .../ic_sunny.png | Bin .../ic_thunder.png | Bin .../ic_thundershower.png | Bin .../ic_unknown.png | Bin .../res/layout/module_ext_layout_entrance.xml | 86 ++++++++-------- .../layout/module_ext_layout_extensions.xml | 42 ++++---- .../module_map_layout_navi_info_panel.xml | 28 +++--- .../src/main/res/values-ldpi/dimens.xml | 93 ++++++++++++++++++ .../src/main/res/values-xhdpi/dimens.xml | 91 +++++++++++++++++ .../src/main/res/values/dimens.xml | 91 +++++++++++++++++ .../res/layout/module_main_activity_main.xml | 12 +-- .../src/main/res/values-ldpi/dimens.xml | 10 ++ .../src/main/res/values-xhdpi/dimens.xml | 10 ++ .../src/main/res/values/dimens.xml | 10 ++ 52 files changed, 462 insertions(+), 109 deletions(-) create mode 100644 modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml create mode 100644 modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml create mode 100644 modules/mogo-module-apps/src/main/res/values/dimens.xml create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_duststorm.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_fog.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_heavy_rain.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_severe_storm.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_shower.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_sunny.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thunder.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png mode change 100644 => 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_map_ic_search.png rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_cloudy.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_dust_sand.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_duststorm.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_fog.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_haze.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_heavy_rain.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_light_rain.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_moderate_rain.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_overcast.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_severe_storm.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_shower.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_snow.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_sunny.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_thunder.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_thundershower.png (100%) rename modules/mogo-module-extensions/src/main/res/{drawable-nodpi => drawable-xhdpi}/ic_unknown.png (100%) create mode 100644 modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml create mode 100644 modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml create mode 100644 modules/mogo-module-extensions/src/main/res/values/dimens.xml create mode 100644 modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml create mode 100644 modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml create mode 100644 modules/mogo-module-main/src/main/res/values/dimens.xml diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 5cd280f032..85eed210cb 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -31,7 +31,7 @@ public class MogoApplication extends AbsMogoApplication { // MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) ); // MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) ); DebugConfig.setNetMode( DebugConfig.NET_MODE_QA ); - MogoModulePaths.addModule( new MogoModule( OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME ) ); +// MogoModulePaths.addModule( new MogoModule( OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME ) ); MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) ); MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png index 8c37a69e35b1b08db041762fe407bb64e809aedc..24d42281c4d4c70c2f1144e8251800720ca42096 100755 GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^S|H591|*LjJ{b+97>k44ofy`glX(eb_j|fHhD30_ zow8StB~hfU{7C%KIEIB&BJ3yb2`N+0!-q zcE`E5ooaVJD-<%#GI@8fz$sQS^9%cewi}We>z*x_pYZOpu?ojZ8XKQL8$oK^f>BA`{;+~aUrqK5B` zS(zVdiwcFi3Jo)NupMCgVSiip`_CO!p900#pZMF?UC6C*{6L`vqop=q;*smc^Bbct z?2gf6i!~nVg)(SMf_fUbODLg5B`2<(fnW?8+WFxL@wvInioU!T2 za{n@6?&vH0=?}HOi(W{YuJhyB{YVp(pfX@r;;Uh{<%(G<_xi;PU_3E+y85}Sb4q9e E05P@4eEV3G55aSW+o zd^^LpV``|(vFFp)Z4%kPEvjW%-=u8zo(y5Z$X80Ycy@fe-J4?YPG;qqEs<9iN#5n@ z&xl50| z)ws7oZQhoZrHg)K2tC_#$klw_x;6*X(pZM9B%W;d_|9vK!vkaF1YWqZ8{ECHMeb*F zUi!K#@3iFY7dZc@@QMvyDShAp)91@O!lLR$k^=uqzs)zO*Xz1|Cnc};zS)ASlFf6~ z{)raW6!w}q@4$~tkG zYs~}mpM;2rFa26~g}-6bmS>TFZ@hQ0n)PCa(Dc(RB_@)6)>2pH${P|D4+z-ER!(Wt zl=pI6`c*Qk@%rs+t#RSjT2`}a`uU3M&$>^}c++)u%EvDLE4zgaxFv!!@6I#)rupcW zE2~xLt2z@;-$|m`Rt}QPi)vc7Tx*-W{Lfk6-Ib5qKHa&qqB@ExAwou>^h#jVYjI!I zeEZAm|NpqNI4^5u%BIX?3@Z0)>qH%<1*7|p#>Q|OG??NpPo>5-#bH~ oBGua1P+Zu6kz|x%%XFThJ)K|7WPbTmV6nmA>FVdQ&MBb@0Ou9`pa1{> diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml index 1229ca7d01..20a38ba132 100644 --- a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml +++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml @@ -19,11 +19,11 @@ android:layout_height="match_parent"> @@ -38,7 +38,7 @@ android:id="@+id/module_apps_id_apps_pager" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginTop="@dimen/dp_210" + android:layout_marginTop="@dimen/module_apps_pager_marginTop" android:overScrollMode="never" /> + android:paddingBottom="@dimen/module_apps_navigation_icon_paddingBottom"> \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml index 499d8a5166..7fe69dfb38 100644 --- a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml +++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml @@ -8,16 +8,16 @@ + android:layout_width="@dimen/module_apps_navigation_icon_width" + android:layout_height="@dimen/module_apps_navigation_icon_height" /> + android:textSize="@dimen/module_apps_app_name_textSize" /> \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml index 1e159101ce..b7fce405bf 100644 --- a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml +++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml @@ -5,8 +5,8 @@ android:layout_height="match_parent" android:numColumns="6" android:orientation="vertical" - android:paddingLeft="@dimen/dp_220" - android:paddingRight="@dimen/dp_220" - android:verticalSpacing="@dimen/dp_154"> + android:paddingLeft="@dimen/module_apps_page_paddingLeft" + android:paddingRight="@dimen/module_apps_page_paddingRight" + android:verticalSpacing="@dimen/module_apps_page_item_verticalSpacing"> \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml new file mode 100644 index 0000000000..a5316a0ea2 --- /dev/null +++ b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml @@ -0,0 +1,16 @@ + + + 117px + 2.7px + 16px + 54.9px + 64px + 64px + 31.6px + 33px + 24px + 18px + 112px + 112px + 89px + \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..da464ff5de --- /dev/null +++ b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml @@ -0,0 +1,16 @@ + + + 260px + 5px + 30px + 103px + 120px + 120px + 61px + 60px + 32px + 32px + 220px + 220px + 154px + \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/values/dimens.xml b/modules/mogo-module-apps/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..da464ff5de --- /dev/null +++ b/modules/mogo-module-apps/src/main/res/values/dimens.xml @@ -0,0 +1,16 @@ + + + 260px + 5px + 30px + 103px + 120px + 120px + 61px + 60px + 32px + 32px + 220px + 220px + 154px + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png new file mode 100755 index 0000000000000000000000000000000000000000..8a9ef0036558df7ea8607d65c01e49e6495db859 GIT binary patch literal 510 zcmVPx$xJg7oR7ef&Q#nfmK@|RGqo8=;K|C5)FcPqfSXg)>h_)6MHX?|XSlcUhb}DLq zfSuS`cwhueK@bE@5U;|<0}&NBv*Wi(vpY##HHA%v{n&Z$eeb>5Z{7lhRZzgKfKp1R z^X^3zA87OXr;61@&zy=6SGxVq-q0Q2*+K{fAsS$R&U$!>^GVv{C@Hr*ei}k|_}S`i zpcas&c#{)M53|BOL|_BTco(gEXL^2-?(nrO8N{bNBCiHesRu~Tzz}SRj0RaHqSgj6 zO>7f!VwV^v1d?(nT^w#XieY0-B?jyC17=9XA|)j45M4T%_9iik>)s}q^*2bomI3dB zu;o1cj$DpxFT5ucq41Ir>sB_27D&!koNkN|D==ftd`A$%E#FaG^>@Ou_gTDxb{lNf zfxD+w?k&$3q$B_y8K@$DvlejKx5W$j5G{wN?nJ$T$>5cn@WZ_%FUT=|()s!&x9fx- z+5wq-j#2@RaE`^`7$J##)-jXyL#I13aF9=BSFT3|cejTeANN~##yzA8@B|U!*>#e? zY?t-Z=u^~4g7c?V>qH;hnW7U;QOt)|2>*iuUm}KL@OuJ<*#H0l07*qoM6N<$f*I1? Aod5s; literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png new file mode 100755 index 0000000000000000000000000000000000000000..e4b369fd5d3aef7c5ee63a4223911fd6e67523bc GIT binary patch literal 454 zcmV;%0XhDOP)Px$fJsC_R7ef&lD|p=K@i5j*@QzZ{MV$h5|ccDAQ&*>6Id9n(wM?t1m8h}=mUsW zHg-0Gf}jxsf{mgeiP%I1#WdO&NN${+3um|s7_{(H5GelcK$Alrc zJPD!^e~pE0Gw9RINXoG?XJQ^x4D1S1Rk=mVv>6SIrU1%Z>LD zF;~h_bAkqEC3ZM9sQUe~Jooedg2t%|8R`4N&ZbV%cc zB0r>4;@g~fa!-l#J=HdYX$2j-?wGvqni#h1uUWSJt1;|pkWqGN!ehy*;RSzBa}YKe zRFRwPfZVqqv9LDhLlfZ`Y@T8GPTA&$-NUz@uA5@WWLq3Fx1Im3a3bQMCSqn+|n7SvS4FH(j5E!tSweeEPx$nMp)JR7ef&R6R=rK@fd&IW++ltQ177lC)M@C4O`f^aqGR{Q;I1)^-sKe}Ny^ zSqLJEAS9%=Nud&B)FKkF^eduV#@S199CtCs15-!_Zg*z(?Yz5ry9c!G-*UC21(O$c5&?LyGOtU)CqN&e zaJmQNn*nhEY^*t}{hEN838Za6qd5vEGpZnkQb#ft#SN<1Zn`~CKIdXx&`W*JycOS1 z0v&W{V(%sfWcK6Jh)c@`MUPVpS9M$jptmV}l#iXjA7erunt#=at3$vA5VoAa2JySJ zCxbx$E)DIM8sPqBsqQf~g{<-s5!a||d3#Q+eV12jE&{$8kHM&EKqqnxr_CbS=z^5m zR=$Y2L!tDda``&4BKIMoe7Og43a0iFmWL9EGioTqT8?NiNeFcDb=? zxOJ)KH@y08U}W^q)jYf6gJBcL&FBLUg4jOYZI~e%DZ~HU&R~U^^6AYA#TzzkZAf|) zaioxwlRy{-3N|F+73(j2UJaWtB z*JIs)SYCq+IiaO;8I5uRletb6O7`ha(q|S8XEfBbi|9Dr6!=k4fQdnMVV@71?HWm- Pj~F~%{an^LB{Ts53jJT# literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png new file mode 100755 index 0000000000000000000000000000000000000000..5448cd94e6124c331dfda1733bb816902f872df0 GIT binary patch literal 408 zcmV;J0cZY+P)Px$Qb|NXR7ef&lRr)ZVGzZ44TbcEP*_+PO^gM$+<*!yZ=q+P@C1~efKzY17{es9^X7eT=KH%@cCdec0(sdEi=t@5_wY;n6@SX}{DZi) zCYr4{0t!d?J04B>&~@Nijcb!=g=)OS$M~&91bYoM1BP5H>B!g!^|wN-!e4I*8Z?qPx$T}ebiR7eeDU>F6%J_Hy^_2K{j|5<=~yn$E;h<^j|X&^qy$jJB&NK*!YhC2cA z6Cg$h_kjWqB%2P@!~(=pAdNuU1&IFuF)r{ADB(erB|wGJK)fD^zXLG{yaM8nU>1Jj zF;JQhuO&bQ;y?^CkX#UkYylH82g>dN(xOR`Xlov;d}mlpeSc000u+kEG?1@#O#j N002ovPDHLkV1jZ%t0({f literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png new file mode 100755 index 0000000000000000000000000000000000000000..19365b521a6b83326b460acdf9b3091ca9010a64 GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R7eeDU>F6%J_Hy^_2K{j|5<=~yn$E;h<^j|X&^qy$jJB&NK*!YhC2cA z6Cg$h_kjWqB%2P@!~(=pAdNuU1&IFuF)r{ADB(erB|wGJK)fD^zXLG{yaM8nU>1Jj zF;JQhuO&bQ;y?^CkX#UkYylH82g>dN(xOURhqBKAi5p4kzGgC9e|G&35IoM{9V!^0df*}9^U~YAm T7{R9h00000NkvXXu0mjf(gcz~ literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png new file mode 100755 index 0000000000000000000000000000000000000000..19365b521a6b83326b460acdf9b3091ca9010a64 GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R7eeDU>F6%J_Hy^_2K{j|5<=~yn$E;h<^j|X&^qy$jJB&NK*!YhC2cA z6Cg$h_kjWqB%2P@!~(=pAdNuU1&IFuF)r{ADB(erB|wGJK)fD^zXLG{yaM8nU>1Jj zF;JQhuO&bQ;y?^CkX#UkYylH82g>dN(xOURhqBKAi5p4kzGgC9e|G&35IoM{9V!^0df*}9^U~YAm T7{R9h00000NkvXXu0mjf(gcz~ literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png new file mode 100755 index 0000000000000000000000000000000000000000..4a90f7c87e4fff1cc43bfb40a1c0588f098449d8 GIT binary patch literal 516 zcmV+f0{i`mP)Px$zDYzuR7ef&R7)rXaTx!;Vb&w>6tzfs%W*%OkG7jccz$o!>} z;=0m?&h%I@lGevE!dT>b*9?eOfG7BGut!(!!B+>XUBrB+H$XWvB+_g6cvu85P=s7} zv>3x?AU6sW0J`4_>;>KZISPrsQsabK)TnO}K(aAfNW$i#cf3T+Sj8<4nCVFo-ikSo z8%zVKoJS0e)%tu{&fWF;c;r*5FxzJO?BwPZdF;g$V$D8d7Pzn%Q;09)&fuyIz_snl z$%MyfF18C;eidlY--s3<-`Px$*GWV{R7ef&R7)sCVH7@R?lgw-C?+wKg|c8H62d}?vT;X>oyXeF&H`nJot1@! zQi`JNEWBn+WPy#HQf8(YATevrJ<&B^Zo{vVT-PSHt&kDi>u+Fz;)6K)^HE!3obBlkk9dO^z`o zcrz$CCOdqa=h>j*8ea0(UC1$M*EA3ds=7`iY^>n*ROA3F&m(!{!5o7^)2l@-J68Me z$^ExSdFsXPlw1LS6%B!CXh`UIAyAD3M|-Zq5nTuqeP z(nPx$$4Nv%R7ef&R6R=rK@gq2OGJx^*a#M)XwV?|iHe0Lv9PcRA~u4Rv9qg zkkB^B8{8LST`K6dDWw751-mJmyF%mof>MYyxwQ^zKW##85%2+N;1W0xLcC)wi6R4z zPb`zvKS<*~Vi^Yekc5cA$W1~&p{`RuauL8~>GX)_Fiegud9oM;7D>o2V(o!i=Huj9 z8H1n)NC3tgZv%FbL17psH+FV7r6n%k_L&s(;*FdZB>@afRH{vTk z^E%ZvT|lv#=0;B)@EV(Zs0;@3#VXf(vrc7@G!q=|FK|3>Wi^;V8<283UGQIlL2L7p zAsYk`d$DW*BR~UCE>b8)fe7B-xX%BJrRS)}Ne9&oZ1uCr^XZq2+_NPp3Kbj7Jw-!8 z=8lMjan~yj>p#U-C?$tb)CKXaElE+R*g(^@P2yavp}uZc(WjQG{sg`Oh}r3dLLLLh P00000NkvXXu0mjfd4}HV literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png new file mode 100755 index 0000000000000000000000000000000000000000..67d43a2ee177fcbaa6c4b52db850f4df7ec49ae1 GIT binary patch literal 521 zcmV+k0`~ohP)Px$!%0LzR7ef&)k`QuQ5?tdxlED;rKCKQSelLPXtEWSY*<=(#1_SZtko3CLe^Fq z#DcJ~RmwY$6^p46Ngm_-o9`fuDL64X_YG56X!tLE1dTB^L$-@QPwsn8OR6 zaf^D5qF%&Gat4Ph1lM2zbx^`iJCP>YhbE0Bx36E*AAy!`*dgurWrCVT-u@B9%tW)|oSVA8n$gGeg0DZN&Ju2d-Cwc6!qYgs*d=~l+wxRQ=7HJQ= zR7>Px$ut`KgR7ef&l(9?0KorKmYtx}n2SG;_mFnc?AV^bN+ytFm1!osm2mc2bXTeEu za&T>FL~w9(YJ-Y8R&XhFXqxA}ODh+1Z4zj70|*^hI2Oy!lkB+- z(1qMv(pd<+0OC-rI1WAAYw&O;_X;RBHiQr~WWyDF?iHlbt2C^lkE4NkJz~ykm5}O+ zk*w0NmOZo)s$jTJ&2kC3>^r<(&1gOZ`OTGBxhi`7d9m8K(?h%tS1^bw(DRG2=FD>? zk~Nug*qDF=5dOM)CwYuvM<+;PoPZgffHIE>^Z_!4H6~CW*~+-VQH)8WK61uY8Uq?i zK<(WrYT8$T@4)j;_?*imzCjmkshDIG>pQGv51kJsz|2iY8ZJuX8nQU&OC;A7VPx$en~_@R7ef&Qn4-sQ53yrW@)Gt8WbcG6#jt8qR|M&N>ma{L+ck5Tajpd1G;TA zVyzF5kZiHmMudh+%g*lcW@RVu?as`OWGmU%%suCxd(XUkpGg1w`w1Y)4asy$D%=az zrtCbXu3tiPicCc%4E~X;B8?M+^8s)tla133UL!0mjt;?{kYr70XMr0pBo|O!4Om_p zQ|gtVq7}f(VY+bNf>GbD1_EzeNZV)tDTyhFJV4SXqn4Njq?mswlRMGduKjM>1bzUN8)QBZfcBCA0000nn literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png new file mode 100755 index 0000000000000000000000000000000000000000..e5821e3fc3fd2445987c0899a9a1e47a1a76a66c GIT binary patch literal 534 zcmV+x0_pvUP)Px$&`Cr=R7ef&Q_U+xQ4~MtnO;7UWMN_9TS;UqjUsGB#)Q2EiIT{|LY5Z(1siK+ zVIegO8M8yO5oV*_BuPzSC}xh|oxJJJH80+NPW?JxzjN-r=iWAHf@Di0PHya1cfa`EyfxuoD}}Jc3UCr~Rb!%u8k@&6vx7hj9of zt)v7{kDx|5nw)F)Zxg3DFlOqy3nm*0^(S<>f}Guw+cN+ zA}Ok{2VnPVoD0}v%$(L@zsCWB`kfshg@86d?I@1;i`)k1NvH|_I@Lwqpr3&?K>d>l zI0Bs~YUckEiTC$X`sBPE2&dIV_>-wGxj62a;$;eJ1z^{tTttVSV7RJG6WLv}Bc$^GBoOXOtCdR^5 zZbMUhE?^OtW2RSBTXmy~L^i>dFqKwjn`avdmEkl=Ve80j?Ayl+YM1+wYTt#$g1;v4 Y4JR^H0)47zPXGV_07*qoM6N<$g2~wJPyhe` literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png new file mode 100755 index 0000000000000000000000000000000000000000..2e2a052a7423c6f5dd75ce8ccf9fe5035d61ab7d GIT binary patch literal 464 zcmV;>0WbcEP)Px$ib+I4R7ef&l|L^8K^Vq&H6j{~^9hK8o|cG4BCgacRazfId6iZtP9fp$14x`k zTqG3ALqtVm@Aur!JGq^Z9V?>XNuGWG%=>3%Ze}h?{!y|6Y00=B&a!L-W70W#X_~(K z!S5&(uEQpLg$C*JZB(vJat*d&8CnF?zSKww@D|2GvGGj^j+uGbydAX)vb5(_Q7>&m z?Q9=k`wgqkS+BHuE7f#pp%QiciGkO zu0jL6I_IM{%306Q_smAV!Dl!HFDW)J2@T4%yE5>F4J>dVDWKqkA!iF+E4-)qBXR|* zfhO`H!UjE}G)seKIA;d(5UxYpo(CGeVBbMOxvJq&XyC5@nIFxSEoW<%*KihgSltA2 z8Va^er>;isPx%f=NU{R9Fe^mQ6@hQ5c5jnm+|7^n zL4iVh7f}lr4iOaTqJ?3S3$cj6oePN+Y0<)kF+Hz-1I{@2o-;$k1l|vx`R1PQ=e%>~ z+sL%<=#vBFa7y ze1fozsHA)`FF^=7LGd{BS(C5$6lg`ZK&#dSU7(yg_zjN`wT%C_hM+N6fsde73N_;O z@EDZ82+7doVgfY0Y0a1L?LIxo3t+YO<=s(@K*Jm@Sqlt4`-yt3M%L!rp8 z6_L?I;wteL*o0X}ZdRDRv&X=58|=*rMqIcA-LTsCHbF$IyrCsVe?c=VrA_ZNm!L-L zpu4JI<463V=$jQ@@@e1_blRHi_%sX2$<&?+iDwPF1nF5Kt3Pl>ed?Jc%k(<93i)&i z+P1pOA@x4PdcDYWV>rzv=!{kW`ij)eJ3X}?z3X}?z3X}@$)C#ofOuXCe?gH-^+D4C}2ZPcKybroY+d)@bt=3Q4 zMx_>l5Zggy^@5KGEH>2|{j|sN?A2=;*&4-qOrL@=2n9Pq$=( z5R>mU^zxPn@3>w@pQCS3y_yoeu1C=0=n#4c^>Uw!yAbXAo4Ixp!9eZ~!B4paK48zI zOCXSJqNC^m*Woett-47%{Awl%j-e|~=dcH>d2jZT4=P`eHMZH~A6O(a zyd|Ltt~GiliG0z?EtvYQYmul|lq57-K0<9kd4@f~E0s0eizGO+=m}J!f#*E9*`sT0 z2DxO^L_$F_Yq@613%4QqVq59(!8}_Q|V}pR?DcF;B48%JwLSe`+=_ z_UPXGr&NO46*MIt+ZQz{UJSuC7eQN|ro?0Wm`U+s2zFeAAyygM^3*B;Q+q{|jv1+K z48c``=$JvG&8qfub&D`NzUd(VznLJgLMwv+lEcMf?kJY(x6idK}&|@^m^%-p^a*@s)e&Hp0%!&>ecI@ zfBokRI2v>&QIi)KbR00o>=Q*mQ3u>b%707*qo IM6N<$f*3345dZ)H diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_cloudy.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_cloudy.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_cloudy.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_cloudy.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_dust_sand.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_dust_sand.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_dust_sand.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_dust_sand.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_duststorm.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_duststorm.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_duststorm.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_duststorm.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_fog.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_fog.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_fog.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_fog.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_haze.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_haze.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_haze.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_haze.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_heavy_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_heavy_rain.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_heavy_rain.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_heavy_rain.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_light_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_light_rain.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_light_rain.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_light_rain.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_moderate_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_moderate_rain.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_moderate_rain.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_moderate_rain.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_overcast.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_overcast.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_overcast.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_overcast.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_severe_storm.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_severe_storm.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_severe_storm.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_severe_storm.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_shower.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_shower.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_shower.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_shower.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_snow.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_snow.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_snow.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_snow.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_sunny.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_sunny.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_sunny.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_sunny.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thunder.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thunder.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thunder.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thunder.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thundershower.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thundershower.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thundershower.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thundershower.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_unknown.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_unknown.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_unknown.png rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_unknown.png diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index ac2d2f671c..2ea2761fe9 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -8,18 +8,18 @@ @@ -27,9 +27,9 @@ @@ -58,8 +58,8 @@ @@ -74,10 +74,10 @@ + android:textSize="@dimen/module_ext_speed_limit_unit_textSize" /> @@ -138,11 +138,11 @@ android:src="@drawable/module_map_ic_move2_current_location" android:text="实景" android:textColor="#CCFFFFFF" - android:textSize="@dimen/dp_24" /> + android:textSize="@dimen/module_ext_operation_panel_vr_textSize" /> @@ -151,7 +151,7 @@ @@ -164,30 +164,30 @@ + app:layout_goneMarginBottom="@dimen/module_ext_operation_panel_share_goneMarginBottom" + app:layout_goneMarginRight="@dimen/module_ext_operation_panel_share_goneMarginRight" /> diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml index 1518c15d64..7aafa02548 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml @@ -3,16 +3,16 @@ 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/dp_120" + android:layout_height="@dimen/module_ext_height" android:background="@drawable/module_ext_dw_shadow_frame_bkg" android:orientation="vertical" - android:paddingLeft="@dimen/dp_60" - android:paddingRight="@dimen/dp_60"> + android:paddingLeft="@dimen/module_ext_paddingLeft" + android:paddingRight="@dimen/module_ext_paddingRight"> @@ -24,7 +24,7 @@ android:gravity="center_vertical" android:text="@string/module_ext_str_voice_msg" android:textColor="@color/module_ext_color_voice_text" - android:textSize="@dimen/dp_32" + android:textSize="@dimen/module_ext_voice_textSize" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toRightOf="@+id/module_ext_id_voice" app:layout_constraintTop_toTopOf="parent" /> @@ -35,7 +35,7 @@ android:layout_height="wrap_content" android:gravity="center_vertical" android:textColor="#FFFFFF" - android:textSize="@dimen/dp_48" + android:textSize="@dimen/module_ext_time_textSize" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -45,10 +45,10 @@ android:id="@+id/module_ext_id_date" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginRight="@dimen/dp_80" + android:layout_marginRight="@dimen/module_ext_date_marginRight" android:gravity="center_vertical" android:textColor="#FFFFFF" - android:textSize="@dimen/dp_28" + android:textSize="@dimen/module_ext_date_textSize" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toLeftOf="@+id/module_ext_id_time" app:layout_constraintTop_toTopOf="parent" @@ -58,8 +58,8 @@ android:id="@+id/module_ext_id_weather_container" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginRight="@dimen/dp_26" - android:gravity="center" + android:layout_marginRight="@dimen/module_ext_weather_marginRight" + android:gravity="bottom" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toLeftOf="@+id/module_ext_id_date" @@ -67,25 +67,25 @@ + android:layout_width="@dimen/module_ext_weather_icon_width" + android:layout_height="@dimen/module_ext_weather_icon_height" /> @@ -100,7 +100,7 @@ android:id="@+id/module_ext_id_msg" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginRight="@dimen/dp_28" + android:layout_marginRight="@dimen/module_ext_msg_marginRight" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toLeftOf="@+id/module_ext_id_weather_container" @@ -113,13 +113,13 @@ diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml index 53427653f7..d9de30169c 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml @@ -1,17 +1,17 @@ @@ -20,10 +20,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/module_map_id_navi_next_info_road_turn_icon" - android:layout_marginTop="@dimen/dp_10" + android:layout_marginTop="@dimen/module_ext_navi_info_panel_next_info_distance_marginTop" android:layout_toRightOf="@+id/module_map_id_navi_next_info_road_turn_icon" android:textColor="#282828" - android:textSize="@dimen/dp_60" + android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize" tools:text="53" /> \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml new file mode 100644 index 0000000000..9f9c7a937f --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml @@ -0,0 +1,93 @@ + + + + 58px + 18px + 8px + 11.2px + 10.8px + 17px + 20px + + 58px + 19px + 8px + 64.2px + 58px + 1px + 33.4px + 64.2px + 58px + + + 96px + 96px + 8px + 32px + 32px + 15px + + 20px + 8px + + 58px + 20px + 34.5px + 58px + 17px + 31.4px + 1.2px + 58px + 58px + 58px + 21px + 14px + 34.5px + 20px + + + 130px + 58px + 20px + 32px + 22px + + + 640px + 32px + 32px + 64px + 64px + 22px + 28px + 22px + 22px + 16px + 24px + 24px + 18px + 18.48px + 16px + 22px + 28px + 15px + 15px + 11.73px + + + 244px + 170px + 85px + 85px + 13px + 13px + 20px + 32px + 7px + 8px + 16px + 15px + 24px + + 15px + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..6280c4cf51 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -0,0 +1,91 @@ + + + + 90px + 32px + 2px + 16px + 26px + 26px + 32px + + 90px + 32px + 2px + 100px + 90px + 2px + 54px + 100px + 90px + + 180px + 180px + 2px + 60px + 60px + 28px + + 32px + 2px + + 90px + 32px + 60px + 92px + 24px + 48px + 2px + 90px + 90px + 90px + 40px + 24px + 32px + 32px + + 200px + 90px + 32px + 60px + 32px + + + 120px + 60px + 60px + 120px + 120px + 32px + 48px + 80px + 28px + 26px + 44px + 44px + 18px + 34px + 26px + 28px + 28px + 30px + 30px + 20px + + + 458px + 318px + 159px + 159px + 24px + 24px + 10px + 60px + 12px + 16px + 28px + 28px + 24px + 28px + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..bb5f4d1780 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -0,0 +1,91 @@ + + + + 90px + 32px + 2px + 16px + 26px + 26px + 32px + + 90px + 32px + 2px + 100px + 90px + 2px + 54px + 100px + 90px + + 180px + 180px + 2px + 60px + 60px + 28px + + 32px + 2px + + 90px + 32px + 60px + 92px + 24px + 48px + 2px + 90px + 90px + 90px + 40px + 24px + 32px + 32px + + 200px + 90px + 32px + 60px + 32px + + + 120px + 60px + 60px + 120px + 120px + 32px + 48px + 80px + 28px + 26px + 44px + 44px + 18px + 34px + 26px + 28px + 28px + 30px + 30px + 20px + + + 458px + 318px + 159px + 159px + 24px + 24px + 10px + 60px + 12px + 16px + 28px + 28px + 24px + 28px + + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index f9e8a40907..e761f21d4f 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -15,7 +15,7 @@ @@ -36,21 +36,21 @@ + android:layout_marginTop="@dimen/module_main_card_container_marginTop"> + android:layout_marginLeft="@dimen/module_main_card_container_marginLeft"> + android:paddingBottom="@dimen/module_main_card_container_paddingBottom" /> + + + 720px + 10px + 660px + 60px + 211px + 20px + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..a707ceedb5 --- /dev/null +++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml @@ -0,0 +1,10 @@ + + + + 720px + 10px + 660px + 60px + 211px + 20px + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..d69bd56a73 --- /dev/null +++ b/modules/mogo-module-main/src/main/res/values/dimens.xml @@ -0,0 +1,10 @@ + + + + 384px + 8px + 352px + 32px + 140.5px + 20px + \ No newline at end of file From 646d65d202a17bf0655d00dc07bd1e48f2796157 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 16 Jan 2020 20:28:01 +0800 Subject: [PATCH 13/14] rm build tool version --- .idea/misc.xml | 2 +- app/build.gradle | 4 +++- app/src/main/java/com/mogo/launcher/MogoApplication.java | 4 ++-- foudations/mogo-commons/build.gradle | 2 +- foudations/mogo-connection/build.gradle | 2 +- foudations/mogo-utils/build.gradle | 2 +- libraries/map-amap/build.gradle | 2 +- libraries/map-baidu/build.gradle | 2 +- libraries/mogo-map-api/build.gradle | 2 +- libraries/mogo-map/build.gradle | 2 +- modules/mogo-module-apps/build.gradle | 2 +- modules/mogo-module-common/build.gradle | 2 +- modules/mogo-module-extensions/build.gradle | 2 +- modules/mogo-module-main/build.gradle | 2 +- modules/mogo-module-map/build.gradle | 2 +- modules/mogo-module-search/build.gradle | 2 +- modules/mogo-module-service/build.gradle | 2 +- modules/mogo-module-share/build.gradle | 2 +- modules/mogo-module-tanlu/build.gradle | 2 +- services/mogo-service-api/build.gradle | 2 +- services/mogo-service/build.gradle | 2 +- 21 files changed, 24 insertions(+), 22 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 707ee6e613..2dc54c489f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index de2af7923d..65532a4c2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion @@ -39,11 +39,13 @@ android { debug { signingConfig signingConfigs.release debuggable = true + buildConfigField 'int', 'NET_ENV', '2' } release { minifyEnabled false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + buildConfigField 'int', 'NET_ENV', '3' } } compileOptions { diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 85eed210cb..8c3924cf8c 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -30,8 +30,8 @@ public class MogoApplication extends AbsMogoApplication { super.onCreate(); // MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) ); // MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) ); - DebugConfig.setNetMode( DebugConfig.NET_MODE_QA ); -// MogoModulePaths.addModule( new MogoModule( OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME ) ); + DebugConfig.setNetMode( BuildConfig.NET_ENV ); + MogoModulePaths.addModule( new MogoModule( OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME ) ); MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) ); MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle index 9064279c30..10c8490898 100644 --- a/foudations/mogo-commons/build.gradle +++ b/foudations/mogo-commons/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/foudations/mogo-connection/build.gradle b/foudations/mogo-connection/build.gradle index 2e029485b7..db342def5f 100644 --- a/foudations/mogo-connection/build.gradle +++ b/foudations/mogo-connection/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/foudations/mogo-utils/build.gradle b/foudations/mogo-utils/build.gradle index d4d19b5d03..2c08bfb9a3 100644 --- a/foudations/mogo-utils/build.gradle +++ b/foudations/mogo-utils/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/libraries/map-amap/build.gradle b/libraries/map-amap/build.gradle index b70d651de7..a2c484c213 100644 --- a/libraries/map-amap/build.gradle +++ b/libraries/map-amap/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/libraries/map-baidu/build.gradle b/libraries/map-baidu/build.gradle index 132d753ede..16897a579a 100644 --- a/libraries/map-baidu/build.gradle +++ b/libraries/map-baidu/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/libraries/mogo-map-api/build.gradle b/libraries/mogo-map-api/build.gradle index 5c38883e28..9fbe1f35f1 100644 --- a/libraries/mogo-map-api/build.gradle +++ b/libraries/mogo-map-api/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/libraries/mogo-map/build.gradle b/libraries/mogo-map/build.gradle index 3dfd2a8589..064d1d82b8 100644 --- a/libraries/mogo-map/build.gradle +++ b/libraries/mogo-map/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-apps/build.gradle b/modules/mogo-module-apps/build.gradle index 35003b7077..8b87ab74eb 100644 --- a/modules/mogo-module-apps/build.gradle +++ b/modules/mogo-module-apps/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-common/build.gradle b/modules/mogo-module-common/build.gradle index df6bc596ba..6268ca0629 100644 --- a/modules/mogo-module-common/build.gradle +++ b/modules/mogo-module-common/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-extensions/build.gradle b/modules/mogo-module-extensions/build.gradle index 5c2e75d70a..1434fe9a58 100644 --- a/modules/mogo-module-extensions/build.gradle +++ b/modules/mogo-module-extensions/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index b7f3d015bb..61422928c8 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-map/build.gradle b/modules/mogo-module-map/build.gradle index 4f753ca703..ebff9c6729 100644 --- a/modules/mogo-module-map/build.gradle +++ b/modules/mogo-module-map/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-search/build.gradle b/modules/mogo-module-search/build.gradle index 42f83bdf90..cc2624ce99 100644 --- a/modules/mogo-module-search/build.gradle +++ b/modules/mogo-module-search/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle index 4c8893f572..fa646b8779 100644 --- a/modules/mogo-module-service/build.gradle +++ b/modules/mogo-module-service/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-share/build.gradle b/modules/mogo-module-share/build.gradle index 5fee9fa316..b65f63c235 100644 --- a/modules/mogo-module-share/build.gradle +++ b/modules/mogo-module-share/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/modules/mogo-module-tanlu/build.gradle b/modules/mogo-module-tanlu/build.gradle index 58b56336b0..2e567d7c7f 100644 --- a/modules/mogo-module-tanlu/build.gradle +++ b/modules/mogo-module-tanlu/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/services/mogo-service-api/build.gradle b/services/mogo-service-api/build.gradle index a3c7bea1c2..8dc15e3ab2 100644 --- a/services/mogo-service-api/build.gradle +++ b/services/mogo-service-api/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion diff --git a/services/mogo-service/build.gradle b/services/mogo-service/build.gradle index 912ded01fc..66f2a244d6 100644 --- a/services/mogo-service/build.gradle +++ b/services/mogo-service/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion - buildToolsVersion rootProject.ext.android.buildToolsVersion + // buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion From 1f8b6ade2ade72fd6c87674966fb1344a1c26876 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 16 Jan 2020 20:29:22 +0800 Subject: [PATCH 14/14] change compileSdkVersion to 28 --- config.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.gradle b/config.gradle index c4c2ab4f8c..c7760b645a 100644 --- a/config.gradle +++ b/config.gradle @@ -1,7 +1,7 @@ ext { android = [ applicationId : "com.mogo.launcher", - compileSdkVersion: 29, + compileSdkVersion: 28, buildToolsVersion: "29.0.2", minSdkVersion : 19, targetSdkVersion : 22,