diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java index 51177489d3..82e014560a 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java @@ -23,6 +23,8 @@ public class BnHooker implements InvocationHandler { private static final String TAG = "BnHooker"; private Object host; + private Method getGLMapEngineMethod; + private GLMapEngine glMapEngineObject; public BnHooker( AMap map ) throws Exception { @@ -47,11 +49,17 @@ public class BnHooker implements InvocationHandler { } public void clearAllMessages() throws Exception { - Method method = host.getClass().getDeclaredMethod( "getGLMapEngine" ); - method.setAccessible( true ); - GLMapEngine glMapEngine = ( GLMapEngine ) method.invoke( host ); - clearMessageList( "mStateMessageList", glMapEngine ); - clearMessageList( "mAnimateStateMessageList", glMapEngine ); + if ( glMapEngineObject == null ) { + if ( getGLMapEngineMethod == null ) { + getGLMapEngineMethod = host.getClass().getDeclaredMethod( "getGLMapEngine" ); + getGLMapEngineMethod.setAccessible( true ); + } + glMapEngineObject = ( GLMapEngine ) getGLMapEngineMethod.invoke( host ); + } + if ( glMapEngineObject != null ) { + clearMessageList( "mStateMessageList", glMapEngineObject ); + clearMessageList( "mAnimateStateMessageList", glMapEngineObject ); + } } private void clearMessageList( String filedName, Object obj ) throws Exception { diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt index 8891def0ee..041b55efa7 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt @@ -58,7 +58,7 @@ class StrategyServiceModel : BaseRepository() { // } // } - suspend fun uploadInformation(informationBody: InformationBody): BaseResponse { + suspend fun uploadInformation(informationBody: InformationBody): BaseResponse { return apiCall { var informationBodyStr = Gson().toJson(informationBody) Log.d("MainServiceController", "uploadInformation informationBody = " + informationBodyStr) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/UploadResult.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/UploadResult.kt new file mode 100644 index 0000000000..ad4644d0e0 --- /dev/null +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/UploadResult.kt @@ -0,0 +1,8 @@ +package com.zhidao.roadcondition.model + +/** + * 上报成功返回 + */ +class UploadResult(var id: Long) { + +} \ No newline at end of file diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/HttpApi.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/HttpApi.kt index 8fb8788c32..bc79a453c2 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/HttpApi.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/HttpApi.kt @@ -3,6 +3,7 @@ package com.zhidao.roadcondition.net import com.zhidao.roadcondition.model.BaseResponse import com.zhidao.roadcondition.model.CommonConfig import com.zhidao.roadcondition.model.Results +import com.zhidao.roadcondition.model.UploadResult import okhttp3.MultipartBody import okhttp3.ResponseBody import retrofit2.http.* @@ -19,7 +20,7 @@ interface HttpApi { //上报情报数据 @FormUrlEncoded @POST("/deva/car/path/no/addInfomation/v2") - suspend fun uploadInformation(@FieldMap information: Map): BaseResponse + suspend fun uploadInformation(@FieldMap information: Map): BaseResponse //获取所有配置 @GET("dataService/car/customConfig/no/getAll/v1") diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt index 62b9193271..a0a1be0287 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt @@ -203,6 +203,7 @@ class CosStatusController : CosStatusCallback { //开始上传 entity?.isCustom?.let { mainServiceHttpModel.sendInformationMessage( + fromType = mFromType, type = type, url = map, isCustom = it, @@ -227,15 +228,14 @@ class CosStatusController : CosStatusCallback { } } } else { -// if (type == INFO_TYPE_VIDEO) { -// TipToast.shortTip("分享失败,请检查网络") -// } + } } } } + override fun onProgress(localPath: String?, progress: Float) { } diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt index 19e07a22be..2631ca3bae 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt @@ -1,11 +1,9 @@ package com.zhidao.roadcondition.service +import android.content.Intent import android.util.Log import com.mogo.commons.AbsMogoApplication -import com.zhidao.roadcondition.event.GetImageSuccessEvent -import com.zhidao.roadcondition.event.LatLngStickyEventBus import com.zhidao.roadcondition.model.* -import com.zhidao.roadcondition.model.proxy.INFO_TYPE_VIDEO import com.zhidao.roadcondition.net.request import com.zhidao.roadcondition.util.* import com.zhidao.roadcondition.util.StrategyPreferenceUtil.Companion.setStrategyFrequency @@ -25,6 +23,8 @@ class MainServiceController { //逆地理编码是否重试 private var geoRetryed = false + private var mFromType: String = "" + private var mPoiType: String = "" private val strategyeModel by lazy { StrategyServiceModel() } @@ -224,6 +224,7 @@ class MainServiceController { //上传情报数据 fun sendInformationMessage( type: Int, + fromType: String, url: Map, isCustom: Boolean = false, trafficInfoType:String = "", @@ -234,7 +235,10 @@ class MainServiceController { latitude: Double, customSend: ((Boolean) -> Unit)? = null ) { - Log.d(TAG, " sendInformationMessage poiType = $poiType") + Log.d(TAG, " sendInformationMessage poiType = $poiType -- fromType = $fromType") + mFromType = fromType + mPoiType = poiType + //删除测试数据 var locationInfo = LocationUtil.getInstance().getLocationInfo() if (locationInfo.address.isNullOrEmpty()) { @@ -297,12 +301,16 @@ class MainServiceController { customSend: ((Boolean) -> Unit)? = null ) { trackUploadServer(3) - request> { + request> { loader { strategyeModel.uploadInformation(informationBody) } onSuccess { - Log.i(TAG, "upload message success ") + if (it.result != null) { + Log.i(TAG, "upload message success id" + it.result.id) + sendUgcStatusReceiver(it.result.id, mPoiType, mFromType) + } + trackUploadServer(1) // CosStatusController().videoAndThumbMap.clear() customSend?.invoke(true) @@ -310,12 +318,23 @@ class MainServiceController { onError { Log.i(TAG, "$it upload message ${it.message}") trackUploadServer(2) + sendUgcStatusReceiver(0, mPoiType, mFromType) // CosStatusController().videoAndThumbMap.clear() customSend?.invoke(false) } } } + private fun sendUgcStatusReceiver(id: Long, type: String?, fromType: String?) { + Log.e(TAG, "sendUgcStatusReceiver ----> id = $id ---type = $type --fromType = $fromType ") + var intent = Intent() + intent.action = "com.v2x.ugc.upload.status" + intent.putExtra("id", id) + intent.putExtra("type", type) + intent.putExtra("fromType", fromType) + AbsMogoApplication.getApp().applicationContext.sendBroadcast(intent) + } + //上传服务器 private fun trackUploadServer(type: Int) { trackNormalEvent( diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java index f896e216c6..544f1346cc 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java @@ -157,7 +157,8 @@ public class CustomRatingBar extends LinearLayout { context.getResources().getDimension(R.dimen.heart_ratingbar_width)); elementHeight = mTypedArray.getDimension(R.styleable.CustomRatingBar_elenmentHeight, context.getResources().getDimension(R.dimen.heart_ratingbar_height)); - elementPadding = mTypedArray.getDimension(R.styleable.CustomRatingBar_elenmentPadding, 10); + elementPadding = mTypedArray.getDimension(R.styleable.CustomRatingBar_elenmentPadding, + context.getResources().getDimension(R.dimen.ratingbar_padding)); elementStep = mTypedArray.getFloat(R.styleable.CustomRatingBar_elenmentStep, 1.0f); stepSize = StepSize.fromStep(mTypedArray.getInt(R.styleable.CustomRatingBar_stepSize, 1)); diff --git a/modules/mogo-module-common/src/main/res/values/dimens.xml b/modules/mogo-module-common/src/main/res/values/dimens.xml index bd36dac4cb..f6bd0495be 100644 --- a/modules/mogo-module-common/src/main/res/values/dimens.xml +++ b/modules/mogo-module-common/src/main/res/values/dimens.xml @@ -1052,5 +1052,6 @@ 48px 17.5000px 15.3125px + 6px diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java index a297d23717..2cd94ed6b8 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java @@ -559,7 +559,7 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL @Override public void onQueryRoadInfoSuccess(@NotNull List roadInfoList) { if (roadInfoList == null || (roadInfoList != null && roadInfoList.size() <= 0)) { - speakFailVoice("未找到其他车主分享的路况信息"); + speakFailVoice("未发现" + mKeywords + "附近的特殊路况"); moveToMarcker(currentLat, currentLon); return; } 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 ac9866e506..5a7a630ad3 100644 --- a/modules/mogo-module-tanlu/src/main/res/values/strings.xml +++ b/modules/mogo-module-tanlu/src/main/res/values/strings.xml @@ -33,9 +33,8 @@ 小智这就去查,您稍等一下 - 找不到相关地址 - 找不到地址,是小智不好 - 未找到其他车主分享的路况信息 + 找不到相关地址,试试换个说法 + 找不到地址,换个地址试试 diff --git a/modules/mogo-module-v2x/src/main/AndroidManifest.xml b/modules/mogo-module-v2x/src/main/AndroidManifest.xml index 341e0485ae..10181ad5df 100644 --- a/modules/mogo-module-v2x/src/main/AndroidManifest.xml +++ b/modules/mogo-module-v2x/src/main/AndroidManifest.xml @@ -16,6 +16,14 @@ + + + + + + + + diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt new file mode 100644 index 0000000000..9463b6cdc0 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt @@ -0,0 +1,20 @@ +package com.mogo.module.v2x.receiver + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.util.Log + +/** + * ugc上报反馈 + */ +class UgcUploadStatusReceiver : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (intent.action == "com.v2x.ugc.upload.status"){ + var id = intent.getLongExtra("id", 0) + var type = intent.getStringExtra("type") + var fromType = intent.getStringExtra("fromType") + + } + } +} diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoTanluProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoTanluProvider.java index 994e811744..0bdca2ecf1 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoTanluProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoTanluProvider.java @@ -71,6 +71,12 @@ public interface IMogoTanluProvider extends IProvider { */ String UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO = "5"; + /** + * 数据策略:UGC上报 + */ + String UPLOAD_FROM_STRATEGY_UGC = "6"; + + /** * 策略上报集合 */