From bf3b679f5d89c00c8685fa44975b10c4ffeed64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 17 Jan 2020 11:42:59 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=96=B0?= =?UTF-8?q?=E9=B2=9C=E4=BA=8B=E5=84=BF=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/MarkerNoveltyInfo.java | 56 +++++++++++++++---- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java index 1b013807f9..a09010b15f 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java @@ -7,14 +7,12 @@ package com.mogo.module.common.entity; public class MarkerNoveltyInfo { private String type; private MarkerLocation location; - private MarkerUserInfo userInfo; /** * @see MarkerPoiTypeEnum */ private String poiType; private ContentData contentData; - public ContentData getContentData() { return contentData; } @@ -47,21 +45,16 @@ public class MarkerNoveltyInfo { this.type = type; } - public MarkerUserInfo getUserInfo() { - return userInfo; - } - - public void setUserInfo(MarkerUserInfo userInfo) { - this.userInfo = userInfo; - } public class ContentData { private String content; private String iconUrl; private String imgUrl; private String infoId; - private Long likeNum; + private long likeNum; private String title; + private boolean displayNavigation; + private String styleType; public String getContent() { return content; @@ -95,11 +88,11 @@ public class MarkerNoveltyInfo { this.infoId = infoId; } - public Long getLikeNum() { + public long getLikeNum() { return likeNum; } - public void setLikeNum(Long likeNum) { + public void setLikeNum(long likeNum) { this.likeNum = likeNum; } @@ -111,5 +104,44 @@ public class MarkerNoveltyInfo { this.title = title; } + public boolean isDisplayNavigation() { + return displayNavigation; + } + + public void setDisplayNavigation(boolean displayNavigation) { + this.displayNavigation = displayNavigation; + } + + public String getStyleType() { + return styleType; + } + + public void setStyleType(String styleType) { + this.styleType = styleType; + } + + @Override + public String toString() { + return "ContentData{" + + "content='" + content + '\'' + + ", iconUrl='" + iconUrl + '\'' + + ", imgUrl='" + imgUrl + '\'' + + ", infoId='" + infoId + '\'' + + ", likeNum=" + likeNum + + ", title='" + title + '\'' + + ", displayNavigation=" + displayNavigation + + ", styleType='" + styleType + '\'' + + '}'; + } + } + + @Override + public String toString() { + return "MarkerNoveltyInfo{" + + "type='" + type + '\'' + + ", location=" + location + + ", poiType='" + poiType + '\'' + + ", contentData=" + contentData + + '}'; } } From 4b2b1b4cd0b7015b468de48911dcc914022a17fb Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 17 Jan 2020 12:22:17 +0800 Subject: [PATCH 02/10] opt --- .idea/misc.xml | 2 +- .../tanlu/fragment/TanluCardViewFragment.java | 94 +++++++++++++++++-- .../module/tanlu/video/FullMediaActivity.kt | 2 +- .../tanlu/video/MediaCoverVideoPlayer.kt | 5 + .../src/main/res/values-xhdpi/dimens.xml | 2 +- 5 files changed, 93 insertions(+), 12 deletions(-) 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-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 e89b78471c..6ed33de2b5 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 @@ -50,7 +50,10 @@ import com.mogo.map.search.poisearch.MogoPoiResult; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.entity.MarkerExploreWay; +import com.mogo.module.common.entity.MarkerExploreWayItem; +import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerShowEntity; +import com.mogo.module.common.entity.MarkerUserInfo; import com.mogo.module.service.receiver.MogoReceiver; import com.mogo.module.share.ShareControl; import com.mogo.module.tanlu.R; @@ -62,6 +65,7 @@ import com.mogo.module.tanlu.constant.TanluConstants; import com.mogo.module.tanlu.model.Center; import com.mogo.module.tanlu.model.Information; import com.mogo.module.tanlu.model.InformationAndLiveCarResult; +import com.mogo.module.tanlu.model.Items; import com.mogo.module.tanlu.model.PathLineResult; import com.mogo.module.tanlu.model.TanluModelData; import com.mogo.module.tanlu.model.VoiceSearchResult; @@ -294,7 +298,6 @@ 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(); @@ -357,9 +360,10 @@ public class TanluCardViewFragment extends MvpFragment> mEmptyLayout.setVisibility(View.GONE); mRootLayout.setVisibility(View.VISIBLE); - Logger.d(TAG, "onMarkerClicked registerMogoMarkerClickListener = "); + Log.d(TAG, "onMarkerClicked registerMogoMarkerClickListener --1---- "); MarkerExploreWay exploreWay = extractFromMarker(marker); if (exploreWay == null) { + Log.e(TAG, "onMarkerClicked registerMogoMarkerClickListener --2---- "); return false; } @@ -370,6 +374,8 @@ public class TanluCardViewFragment extends MvpFragment> handleData(exploreWay); } + Log.d(TAG, "onMarkerClicked registerMogoMarkerClickListener --3----size() = " + markerExploreWayList.size()); + //更新位置currentPosition for (int i = 0; i < markerExploreWayList.size(); i++) { if (markerExploreWayList.get(i) == exploreWay) { @@ -413,7 +419,6 @@ public class TanluCardViewFragment extends MvpFragment> mogoIntentManager.registerIntentListener(TanluConstants.GO_TO_SHARE, mogoIntentListener); } - /** * 唤醒语音 */ @@ -459,7 +464,7 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd); if (cmd.equals(TanluConstants.PLAY_VIDEO)) { //播放路况 --ok //TODO - + FullMediaActivity.Companion.launch(getActivity(), mVideoUrl, mImageUrl, mTitle, mGenerateTime); } } @@ -537,7 +542,6 @@ public class TanluCardViewFragment extends MvpFragment> } } else if (id == R.id.tv_main_empty) { //上报路况 - Logger.d(TAG, "tv_main_empty click -----> "); sendShareReceiver("1"); } } @@ -661,6 +665,7 @@ public class TanluCardViewFragment extends MvpFragment> } /** + * TODO * C位事件,如何获取数据,需要有默认数据 * 如果只有一个数据,不显示上下切换按钮,没有数据显示空页面 */ @@ -673,6 +678,7 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->"); mMarkerManager = mMogoMapService.getMarkerManager(getActivity()); List markers = mMarkerManager.getMarkers(TanluConstants.MODEL_NAME); + if (markers != null && markers.size() > 0) { mEmptyLayout.setVisibility(View.GONE); mRootLayout.setVisibility(View.VISIBLE); @@ -685,6 +691,7 @@ public class TanluCardViewFragment extends MvpFragment> markerExploreWayList.add(exploreWay); } + Log.e("TAG", "tanlu卡片 onPerform 有效 markerExploreWayList.size() =" + markerExploreWayList.size()); if (markers.size() == 1) { mPreviousTv.setVisibility(View.GONE); mNextTv.setVisibility(View.GONE); @@ -702,11 +709,17 @@ public class TanluCardViewFragment extends MvpFragment> refreshVideoData(markerExploreWay); } } + + } else { mEmptyLayout.setVisibility(View.VISIBLE); mRootLayout.setVisibility(View.GONE); mEmptyTv.setText(Html.fromHtml(getContext().getString(R.string.main_empty_content))); } + + //TODO liyz + getRoadLineData(); + } /** @@ -830,7 +843,7 @@ public class TanluCardViewFragment extends MvpFragment> /** - * 上报分享信息 + * 上报分享信息 TODO */ private void uploadShareInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl) { double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); @@ -976,12 +989,15 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, "getVoiceControlRoadData discription = " + discription); if (o.getResult().getInformations() != null && o.getResult().getInformations().size() > 0) { if (markerExploreWayList != null && markerExploreWayList.size() > 0) { - markerExploreWayList.clear(); // + markerExploreWayList.clear(); //刷新之前先删除之前的,然后再添加成请求的 + currentPosition = 0; } + //转换数据结构 + convertData(o.getResult().getInformations()); + //切换到探路卡片 if (!isCurrentPage) { - //切换探路卡片 iMogoCardManager.switch2(TanluConstants.MODEL_NAME); } @@ -990,13 +1006,14 @@ public class TanluCardViewFragment extends MvpFragment> List informationList = o.getResult().getInformations(); //清除探路之前的数据 mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME); - mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false); + mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, true); //打点 ArrayList optionList = new ArrayList<>(); for (int i = 0; i < informationList.size(); i++) { //根据type确定添加的图片 String trafficType = informationList.get(i).trafficInfoType; + Log.e(TAG, "trafficType =" + trafficType); if (trafficType.equals("traffic_jam")) { //拥堵 multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); } else if (trafficType.equals("car_checking")) { //查车 @@ -1014,6 +1031,7 @@ public class TanluCardViewFragment extends MvpFragment> .longitude(informationList.get(i).lon); optionList.add(options); + Log.e(TAG, "lat =" + informationList.get(i).lat + ">>>lon =" + informationList.get(i).lon); } Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size()); mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true); @@ -1035,6 +1053,64 @@ public class TanluCardViewFragment extends MvpFragment> }); } + /** + * 将探路的数据结构转换成 MarkerExploreWay的列表 + */ + private void convertData(List informations) { + for (int i = 0 ; i < informations.size(); i++) { + MarkerExploreWay markerExploreWay = new MarkerExploreWay(); + markerExploreWay.setAddr(informations.get(i).addr); + markerExploreWay.setCityName(informations.get(i).cityName); + markerExploreWay.setDistance(informations.get(i).distance); + markerExploreWay.setFileType(informations.get(i).type); + markerExploreWay.setItems(convertMediaData(informations.get(i).items)); + markerExploreWay.setLocation(convertLocation(informations.get(i))); + markerExploreWay.setUserInfo(convertUserInfo(informations.get(i))); + + markerExploreWayList.add(markerExploreWay); + } + Log.e(TAG, "convertData markerExploreWayList.size() =" + markerExploreWayList.size()); + } + + /** + * 转换媒体数据 + * @param items + * @return + */ + private List convertMediaData(ArrayList items) { + List exploreWayItems = new ArrayList<>(); + MarkerExploreWayItem item = new MarkerExploreWayItem(); + if (items != null && items.size() > 0) { + item.setThumbnail(items.get(0).getThumbnail()); + item.setUrl(items.get(0).getUrl()); + + exploreWayItems.add(item); + } + + return exploreWayItems; + } + + + private MarkerLocation convertLocation(Information information) { + MarkerLocation location = new MarkerLocation(); + location.setAddress(information.addr); + location.setAngle(0); + location.setLat(information.lat); + location.setLon(information.lon); + + return location; + } + + + private MarkerUserInfo convertUserInfo(Information information) { + MarkerUserInfo userInfo = new MarkerUserInfo(); + userInfo.setUserHead(information.headImgUrl); + userInfo.setUserName(information.nickName); + + return userInfo; + } + + Random random = new Random(); private void speakSuccessVoice(List informations, String diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt index 1bcdab20b4..fa888063a3 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt @@ -49,7 +49,6 @@ class FullMediaActivity : AppCompatActivity(), View.OnClickListener { } } - private var control = HideControl() private var gsyVideoOptionBuilder = GSYVideoOptionBuilder() private var videoUrl: String? = null @@ -109,6 +108,7 @@ class FullMediaActivity : AppCompatActivity(), View.OnClickListener { } }) + video_view video_view.loadCoverImage(thumbUrl!!) //设置url,点击播放 gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(true) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt index 048b2cec82..4a49c8a091 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt @@ -5,6 +5,7 @@ import android.util.AttributeSet import android.util.Log import android.view.View import android.widget.ImageView +import android.widget.SeekBar import com.bumptech.glide.Glide import com.mogo.module.tanlu.R import com.shuyu.gsyvideoplayer.GSYVideoManager @@ -110,6 +111,7 @@ class MediaCoverVideoPlayer : StandardGSYVideoPlayer { override fun onAutoCompletion() { super.onAutoCompletion() mProgressBar.progress = 0 + Log.d("liyz", "MediaCoverVideoPlayer onAutoCompletion ------->") } override fun showWifiDialog() { @@ -147,6 +149,9 @@ class MediaCoverVideoPlayer : StandardGSYVideoPlayer { } + override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { + super.onProgressChanged(seekBar, progress, fromUser) + } override fun onDetachedFromWindow() { super.onDetachedFromWindow() diff --git a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml index 80da6c1b1b..8f6ae1133d 100644 --- a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml @@ -1,7 +1,7 @@ - 4px + px 666px From 5cd97f821127fa8e693a3fddc03f5c9b34b34d7f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 12:51:59 +0800 Subject: [PATCH 03/10] opt --- .../java/com/mogo/module/service/MogoServiceProvider.java | 5 ++++- .../mogo/module/tanlu/fragment/TanluCardViewFragment.java | 2 +- .../mogo/service/impl/statusmanager/MogoStatusManager.java | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) 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 b813426215..3e298773b4 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 @@ -143,7 +143,6 @@ public class MogoServiceProvider implements IMogoModuleProvider, public void onSuccess() { // 用户手动操作地图刷新成功后,设置状态为 true,引发延时策略 mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true ); - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); } @Override @@ -464,6 +463,9 @@ public class MogoServiceProvider implements IMogoModuleProvider, if ( mStatusManager.isSearchUIShow() ) { return; } + if ( mStatusManager.isUserInteracted() ) { + return; + } Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" ); Logger.i( TAG, "刷新半径 = %d, 点 = %s", radius, latLng ); mRefreshModel.refreshData( latLng, radius, mLastZoomLevel >= 10 ? 5 : 10, callback ); @@ -498,6 +500,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, if ( isTrue ) { mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval(); Logger.i( TAG, "用户状态改变,自动刷新时间延时,%s ms后自动刷新", mRefreshRemainingTime ); + mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); } break; case SEARCH_UI: 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 e89b78471c..b838c6a60e 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 @@ -965,6 +965,7 @@ public class TanluCardViewFragment extends MvpFragment> String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode(); //移动到具体位置 + mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, true); MogoLatLng latLng = new MogoLatLng(lat, lon); mMApUIController.moveToCenter(latLng); @@ -990,7 +991,6 @@ public class TanluCardViewFragment extends MvpFragment> List informationList = o.getResult().getInformations(); //清除探路之前的数据 mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME); - mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false); //打点 ArrayList optionList = new ArrayList<>(); diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index 46e80203e0..6ad9ce6645 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -121,6 +121,8 @@ public class MogoStatusManager implements IMogoStatusManager { invokeStatusChangedListener( StatusDescriptor.USER_INTERACTED, interrupt ); } recordStatusModifier( tag, StatusDescriptor.USER_INTERACTED ); + // 用户交互是瞬时性的 + mStatus.put( StatusDescriptor.USER_INTERACTED, false ); } @Override From b138580563d338bdca7383c979a21d5a58c39af8 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 17 Jan 2020 13:09:40 +0800 Subject: [PATCH 04/10] add dimen --- .../module/tanlu/video/FullMediaActivity.kt | 3 +- .../tanlu/video/MediaCoverVideoPlayer.kt | 14 ++--- .../res/layout/tanlu_activity_media_full.xml | 20 +++---- .../layout/tanlu_item_main_media_recycler.xml | 58 +++++++++---------- .../res/layout/tanlu_item_video_cover.xml | 15 ++--- .../layout/tanlu_item_video_cover_media.xml | 12 ++-- .../src/main/res/values-ldpi/dimens.xml | 41 +++++++++++++ .../src/main/res/values-xhdpi/dimens.xml | 47 ++++++++++++++- 8 files changed, 145 insertions(+), 65 deletions(-) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt index fa888063a3..be294ba8e2 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt @@ -102,8 +102,7 @@ class FullMediaActivity : AppCompatActivity(), View.OnClickListener { video_view.onCompletionListener(object : MediaCoverVideoPlayer.CompletionListener { override fun onCompletion() { - Log.d("liyz", "FullMediaActivity ---- onCompletion "); - GSYVideoManager.releaseAllVideos() + Log.d("liyz", "FullMediaActivity ----> onAutoCompletion ") finish() } }) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt index 4a49c8a091..298b0054db 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt @@ -111,6 +111,11 @@ class MediaCoverVideoPlayer : StandardGSYVideoPlayer { override fun onAutoCompletion() { super.onAutoCompletion() mProgressBar.progress = 0 + + completionListener.let { + it.onCompletion() + } + Log.d("liyz", "MediaCoverVideoPlayer onAutoCompletion ------->") } @@ -138,14 +143,10 @@ class MediaCoverVideoPlayer : StandardGSYVideoPlayer { } /** - * 多次回调 TODO + * 多次回调 */ override fun onCompletion() { super.onCompletion() - Log.d("liyz", "MediaCoverVideoPlayer onCompletion --------->") - completionListener.let { - it.onCompletion() - } } @@ -161,9 +162,6 @@ class MediaCoverVideoPlayer : StandardGSYVideoPlayer { } } mFullPauseBitmap = null - Log.d("liyz", "recycle.") } - - } \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml index 2996e27a33..335d6bf9de 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml @@ -19,17 +19,17 @@ @@ -54,11 +54,11 @@ android:id="@+id/tv_media_title_time" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/dp_42" - android:layout_marginRight="@dimen/dp_100" + android:layout_marginTop="@dimen/tanlu_module_full_margin_top" + android:layout_marginRight="@dimen/tanlu_module_full_margin_right" android:gravity="center" android:textColor="@color/white" - android:textSize="@dimen/dp_26" + android:textSize="@dimen/tanlu_module_full_title_time" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> 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 aab6356f38..00e7d6e523 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 @@ -1,8 +1,8 @@ @@ -21,15 +21,15 @@ android:id="@+id/tv_information_media_content" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="@dimen/dp_24" - android:layout_marginTop="@dimen/dp_58" - android:layout_marginRight="@dimen/dp_24" + android:layout_marginLeft="@dimen/tanlu_module_card_margin_left" + android:layout_marginTop="@dimen/tanlu_module_card_address_margin_top" + android:layout_marginRight="@dimen/tanlu_module_card_margin_left" android:ellipsize="end" android:gravity="center_vertical" android:maxLines="1" android:text="@string/main_empty_location" android:textColor="@color/white" - android:textSize="@dimen/dp_34" + android:textSize="@dimen/tanlu_module_card_address_size" android:textStyle="bold" /> + android:textSize="@dimen/tanlu_module_card_distance_size" /> + android:layout_marginTop="@dimen/tanlu_module_card_video_marginbottom" + android:layout_marginLeft="@dimen/tanlu_module_card_margin_left" + android:layout_marginRight="@dimen/tanlu_module_card_margin_left"> + android:textSize="@dimen/tanlu_module_card_next_size" /> + android:textSize="@dimen/tanlu_module_card_next_size" /> @@ -125,7 +125,7 @@ + android:textSize="@dimen/tanlu_module_card_address_size" /> \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_video_cover.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_video_cover.xml index 418a5969c2..a9fa5332df 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_video_cover.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_video_cover.xml @@ -33,11 +33,11 @@ @@ -60,21 +60,22 @@ android:id="@+id/fullscreen" android:layout_width="@dimen/dp_60" android:layout_height="@dimen/dp_60" + android:visibility="gone" android:scaleType="centerInside" /> @@ -67,16 +67,16 @@ + + 60px + 60px + 48px + 48px + 72px + 5px + 120px + 120px + 96px + 96px + 144px + 760px + 10px + + 135px + 60px + 60px + 30px + 92px + 40px + + 660px + 24px + 58px + 8px + 2px + 613px + 355px + 20px + 300px + 90px + 122px + 70px + + + 38px + 26px + 34px + 26px + 28px \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml index 8f6ae1133d..8be5a97307 100644 --- a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml @@ -1,9 +1,50 @@ - px + + 60px + 60px + 48px + 48px + 72px + 5px - 666px + 120px + 120px + 96px + 96px + 144px + 760px + 10px + + 135px + 60px + 60px + 30px + 92px + 40px + + 660px + 24px + 58px + 8px + 2px + 613px + 355px + 20px + 300px + 90px + 122px + 70px + + + 38px + 26px + 34px + 26px + 28px + + + - \ No newline at end of file From 30a9f65f9023f289c7ee3b52187c641cc0eb1810 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 13:19:58 +0800 Subject: [PATCH 05/10] opt --- .idea/misc.xml | 2 +- config.gradle | 7 ++----- .../java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java | 2 +- 3 files changed, 4 insertions(+), 7 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/config.gradle b/config.gradle index d18358877d..63e0402989 100644 --- a/config.gradle +++ b/config.gradle @@ -101,8 +101,8 @@ ext { // 在线车辆 moduleonlinecar : "com.mogo.module:module-onlinecar:${MOGO_MODULE_ONLINECAR_VERSION}", modulemedia : "com.mogo.module:module-media:${MOGO_MODULE_MEDIA_VERSION}", - modulesearch : "com.mogo.module:module-search:${MOGO_MODULE_SEARCH_VERSION}", - + modulesearch : "com.mogo.module:module-search:${MOGO_MODULE_SEARCH_VERSION}", + modulepush : "com.mogo.module:module-push:${MOGO_MODULE_PUSH_VERSION}", // 长链 socketsdk : 'com.zhidao.socketsdk:socketsdk:2.1.0', socketsdkconnsvrprotoco : 'com.zhidao.ptech:connsvr-protoco:0.1.23', @@ -113,8 +113,5 @@ ext { // 统一登录 accountsdk : "com.zhidao.accountservice:account-sdk:1.0.4", - - modulepush : "com.mogo.module:module-push:${MOGO_MODULE_PUSH_VERSION}", - ] } \ No newline at end of file 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 a94702a4fa..a21558e292 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 @@ -405,7 +405,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, Logger.e( TAG, "latlng = null or is illegal" ); return; } - mMapView.getMap().animateCamera( CameraUpdateFactory.newLatLng( new LatLng( latLng.lat, latLng.lng ) ) ); + mMapView.getMap().moveCamera( CameraUpdateFactory.newLatLng( new LatLng( latLng.lat, latLng.lng ) ) ); } @Override From c126e9047d0afed00c9a6f72c66ee491faeb3ff0 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 13:57:22 +0800 Subject: [PATCH 06/10] opt --- .../com/mogo/module/service/MogoServiceProvider.java | 3 ++- .../service/impl/statusmanager/MogoStatusManager.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) 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 3e298773b4..cface3b007 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 @@ -467,8 +467,9 @@ public class MogoServiceProvider implements IMogoModuleProvider, return; } Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" ); - Logger.i( TAG, "刷新半径 = %d, 点 = %s", radius, latLng ); + int amount = mLastZoomLevel >= 10 ? 5 : 10; mRefreshModel.refreshData( latLng, radius, mLastZoomLevel >= 10 ? 5 : 10, callback ); + Logger.i( TAG, "刷新半径 = %d, 点 = %s, amount = %d", radius, latLng, amount ); } @Override diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index 6ad9ce6645..c64afed7cb 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -66,7 +66,14 @@ public class MogoStatusManager implements IMogoStatusManager { @Override public boolean isUserInteracted() { - return get_bool_val( StatusDescriptor.USER_INTERACTED ); + try { + return get_bool_val( StatusDescriptor.USER_INTERACTED ); + } catch ( Exception e ) { + return false; + } finally { + // 恢复消费过的状态 + mStatus.put( StatusDescriptor.USER_INTERACTED, false ); + } } @Override @@ -121,8 +128,6 @@ public class MogoStatusManager implements IMogoStatusManager { invokeStatusChangedListener( StatusDescriptor.USER_INTERACTED, interrupt ); } recordStatusModifier( tag, StatusDescriptor.USER_INTERACTED ); - // 用户交互是瞬时性的 - mStatus.put( StatusDescriptor.USER_INTERACTED, false ); } @Override From 9ffa907ee241d699094f0dc51239831906dd1e91 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 13:59:00 +0800 Subject: [PATCH 07/10] opt --- .../main/java/com/mogo/module/service/MogoServiceProvider.java | 1 - 1 file changed, 1 deletion(-) 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 cface3b007..45a18cad09 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 @@ -501,7 +501,6 @@ public class MogoServiceProvider implements IMogoModuleProvider, if ( isTrue ) { mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval(); Logger.i( TAG, "用户状态改变,自动刷新时间延时,%s ms后自动刷新", mRefreshRemainingTime ); - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); } break; case SEARCH_UI: From 3abcb82e68424b14732abae6935209f86c017685 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 17 Jan 2020 14:01:48 +0800 Subject: [PATCH 08/10] add dimen and opt ui --- .../res/layout/tanlu_activity_media_full.xml | 4 +- .../layout/tanlu_item_main_media_recycler.xml | 3 + .../src/main/res/values-ldpi/dimens.xml | 56 ++++++++++--------- .../src/main/res/values-xhdpi/dimens.xml | 18 +++--- 4 files changed, 44 insertions(+), 37 deletions(-) diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml index 335d6bf9de..83821faa8a 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml @@ -37,12 +37,12 @@ @@ -143,6 +145,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/iv_main_empty" + android:layout_centerHorizontal="true" android:layout_marginTop="@dimen/tanlu_module_card_empty_tv_magintop" android:text="@string/main_empty_content" android:textColor="@color/white" diff --git a/modules/mogo-module-tanlu/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values-ldpi/dimens.xml index 0724cb09d4..6ff8d00ba7 100644 --- a/modules/mogo-module-tanlu/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-tanlu/src/main/res/values-ldpi/dimens.xml @@ -1,45 +1,47 @@ - 60px - 60px + 56px + 56px 48px 48px 72px 5px - 120px - 120px + 56px + 56px 96px 96px 144px 760px 10px - 135px - 60px - 60px - 30px - 92px - 40px + 72px + 25px + 25px + 16px + 48px + 22px + 700px - 660px - 24px - 58px - 8px - 2px - 613px - 355px - 20px - 300px - 90px - 122px - 70px + 352px + 12px + 32px + 4px + 1px + 327px + 189px + 10px + 160px + 48px + 65px + 109px + 28px - 38px - 26px - 34px - 26px - 28px + 20px + 14px + 18px + 14px + 15px \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml index 8be5a97307..bc6de92c91 100644 --- a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml @@ -2,15 +2,15 @@ - 60px - 60px + 106px + 106px 48px 48px 72px 5px - 120px - 120px + 106px + 106px 96px 96px 144px @@ -18,11 +18,12 @@ 10px 135px - 60px - 60px + 50px + 50px 30px 92px 40px + 800px 660px 24px @@ -34,8 +35,9 @@ 20px 300px 90px - 122px - 70px + 75px + 205px + 25px 38px From 8f60a876dc711e5aa81307c90c179bf8c2be701d Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 14:13:10 +0800 Subject: [PATCH 09/10] fix --- .../java/com/mogo/module/service/MogoServiceProvider.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 45a18cad09..a35fc5fa4a 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 @@ -56,6 +56,11 @@ import java.util.List; * @since 2020-01-03 *

* 数据刷新策略 + *

+ * 1. 位置移动触发刷新 + * 2. 用户手势交互导致地图视图移动跨过当前视图 + * 3. 用户手势缩小比例尺级别达2级 + * 4. 用户交互语音导致地图视图移动,缩放,不触发刷新 */ @Route( path = ServiceConst.PATH_REFRESH_STRATEGY ) public class MogoServiceProvider implements IMogoModuleProvider, @@ -451,6 +456,8 @@ public class MogoServiceProvider implements IMogoModuleProvider, } else { float distance = Utils.calculateLineDistance( mLastAutoRefreshLocation, new MogoLatLng( location.getLatitude(), location.getLongitude() ) ); if ( distance > mAutoRefreshStrategy.getDistance() ) { + // 触发自动刷新之前,将未消费的用户状态清除 + mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } } From 70d2e92560dffc31e591bcadd96ea7e0cbc9305e Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 17 Jan 2020 14:47:31 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Glide=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=97=B6=E4=BD=BF=E5=9B=BE=E7=89=87=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E9=AB=98=E6=96=AF=E6=A8=A1=E7=B3=8A=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/glide/GlideBlurTransformation.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java new file mode 100644 index 0000000000..41f1db3614 --- /dev/null +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java @@ -0,0 +1,57 @@ +package com.mogo.utils.glide; + +import android.content.Context; +import android.graphics.Bitmap; +import android.renderscript.Allocation; +import android.renderscript.Element; +import android.renderscript.RenderScript; +import android.renderscript.ScriptIntrinsicBlur; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; + +/** + * 使用Glide加载图片时,使该图片进行高斯模糊 + * 基本用法:Glide.with(this).load(userInfo.headImgurl).apply(RequestOptions.bitmapTransform(GlideBlurTransformation(this))).into(ivCardBg) + * + * @author tongchenfei + */ +public class GlideBlurTransformation extends CenterCrop { + private static final float DEFAULT_BLUR_RADIUS = 25F; + + private Context context; + private float blurRadius; + public GlideBlurTransformation(Context context) { + this(context, DEFAULT_BLUR_RADIUS); + } + + public GlideBlurTransformation(Context context, float blurRadius) { + this.context = context; + this.blurRadius = blurRadius; + } + + @Override + protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, + int outWidth, int outHeight) { + Bitmap bitmap = super.transform(pool, toTransform, outWidth, outHeight); + return blurBitmap(bitmap, blurRadius, (int) (outWidth * 0.5), (int) (outHeight * 0.5)); + } + + private Bitmap blurBitmap(Bitmap bitmap, float blurRadius, int outWidth, int outHeight) { + Bitmap inputBitmap = Bitmap.createScaledBitmap(bitmap, outWidth, outHeight, false); + Bitmap outBitmap = Bitmap.createBitmap(inputBitmap); + + RenderScript renderScript = RenderScript.create(context); + ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(renderScript, + Element.U8_4(renderScript)); + Allocation tmpIn = Allocation.createFromBitmap(renderScript, inputBitmap); + Allocation tmpOut = Allocation.createFromBitmap(renderScript, outBitmap); + blurScript.setRadius(blurRadius); + blurScript.setInput(tmpIn); + blurScript.forEach(tmpOut); + tmpOut.copyTo(outBitmap); + return outBitmap; + } +}