diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt index 1e67d33689..127c0fcfe3 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt @@ -75,10 +75,12 @@ class GuideFragment : MvpFragment(), GuideC fun visibleRight() { module_guide_page_right.visibility = View.VISIBLE + module_guide_tv_next_step.text = context!!.resources.getString(R.string.module_guide_item_next_step) } fun invisibleRight() { module_guide_page_right.visibility = View.GONE + module_guide_tv_next_step.text = context!!.resources.getString(R.string.module_guide_finish) } fun moveToNext() { diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png index 557649bc77..fcd22618a3 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png index 004af0e8eb..d6fc96f989 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png index 55e8a563c1..2690abb302 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png index 1e9484f335..b849869d20 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png index 9b9fc95fe5..dc2840a228 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png and b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png index 6d997bb1fd..e027bb55bb 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png index b985bd68a1..e7be0d312e 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png index 68fa96ea17..14cd567ad0 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png index 0974829ddb..94fdf82256 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png index d20271f8c3..8b8861a012 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png index a537e7443a..61a3e015dc 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png index c1b4136c1c..7153f0b341 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png index 56fa123526..46a01e4a7a 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png index fc75a9732e..9e27ccecaa 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png index a9f74d11ab..6a29d13093 100644 Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png and b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png differ diff --git a/modules/mogo-module-guide/src/main/res/values/strings.xml b/modules/mogo-module-guide/src/main/res/values/strings.xml index de95ff4900..7d264032fe 100644 --- a/modules/mogo-module-guide/src/main/res/values/strings.xml +++ b/modules/mogo-module-guide/src/main/res/values/strings.xml @@ -3,7 +3,7 @@ 左滑了解更多 进入首页 下一步 - 跳过 + 结束 欢迎使用蘑菇出行,您下次可以直接对我说,打开蘑菇出行来直接进入应用,点击左下方按钮进行摄像头设置 左边是道路事件的播报,点击右边地图上的事件标示可以查看事件详情,或者直接唤醒小智说,中关村附近堵不堵,来查询目的地周围路况 diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt index 6bb1360d4f..1688aa94e5 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt @@ -3,24 +3,14 @@ package com.mogo.module.share.strategyreceiver import android.content.Context import android.os.Handler import android.os.SystemClock -import android.util.ArrayMap -import com.mogo.commons.network.SubscribeImpl -import com.mogo.commons.network.Utils import com.mogo.map.MogoLatLng -import com.mogo.module.share.bean.AverateSpeedResponse -import com.mogo.module.share.constant.HttpConstant import com.mogo.module.share.manager.ServiceApisManager -import com.mogo.module.share.net.ShareApiService import com.mogo.service.IMogoServiceApis import com.mogo.service.share.IMogoTanluProvider import com.mogo.service.share.TanluUploadParams import com.mogo.utils.logger.Logger -import com.mogo.utils.network.RequestOptions -import com.mogo.utils.network.utils.GsonUtil import com.mogo.utils.storage.SharedPrefsMgr -import io.reactivex.schedulers.Schedulers -import okhttp3.MediaType -import okhttp3.RequestBody +import java.text.SimpleDateFormat import java.util.* import kotlin.collections.ArrayList @@ -35,7 +25,7 @@ private const val SPEED_RECORD_TIME_INTERVAL = 2 * 60 * 1000L */ private const val STOP_FLAG_THRESHOLD = 30 private const val TAG = "BlockUploadStrategy" - +private const val TIME_FAULT_TOLERANT = 60 * 60 * 1000L private const val DISTANCE_RECORD_TIME = 3 * 60 * 1000L private const val MORNING_PEAK_START_MINUTE = 7 * 60 + 30 @@ -48,6 +38,8 @@ private const val DISTANCE_MORNING_PEAK_COUNT = "DISTANCE_MORNING_PEAK_COUNT" private const val DISTANCE_NIGHT_PEAK_COUNT = "DISTANCE_NIGHT_PEAK_COUNT" private const val DISTANCE_NORMAL_COUNT = "DISTANCE_NORMAL_COUNT" +private const val START_BLOCK_COUNT_DATE = "START_BLOCK_COUNT_DATE" + private const val SPEED_MORNING_PEAK_COUNT = "SPEED_MORNING_PEAK_COUNT" private const val SPEED_NIGHT_PEAK_COUNT = "SPEED_NIGHT_PEAK_COUNT" @@ -118,8 +110,20 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService lastLon = lon lastLat = lat } - - if (current - startRecordTime >= DISTANCE_RECORD_TIME) { + val diff = current - startRecordTime + if (diff in DISTANCE_RECORD_TIME until TIME_FAULT_TOLERANT) { + // 重置count data + val countDate = SharedPrefsMgr.getInstance(context).getLong(START_BLOCK_COUNT_DATE, 0) + if (countDate == 0L || isDifferentDay(countDate, System.currentTimeMillis())) { + // 不是同一天,重置各种计数,重新开始计数 + SharedPrefsMgr.getInstance(context).putLong(START_BLOCK_COUNT_DATE, System.currentTimeMillis()) + SharedPrefsMgr.getInstance(context).putInt(DISTANCE_MORNING_PEAK_COUNT, 0) + SharedPrefsMgr.getInstance(context).putInt(DISTANCE_NIGHT_PEAK_COUNT, 0) + SharedPrefsMgr.getInstance(context).putInt(DISTANCE_NORMAL_COUNT, 0) + SharedPrefsMgr.getInstance(context).putInt(SPEED_NORMAL_COUNT, 0) + SharedPrefsMgr.getInstance(context).putInt(SPEED_NIGHT_PEAK_COUNT, 0) + SharedPrefsMgr.getInstance(context).putInt(SPEED_MORNING_PEAK_COUNT, 0) + } var blockFromSpeed = false var blockFromDistance = false @@ -128,7 +132,6 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService var latLonFromDistance: MogoLatLng? = null val p = TanluUploadParams(IMogoTanluProvider.TYPE_BLOCK, IMogoTanluProvider.UPLOAD_FROM_STRATEGY_BLOCK_AUTO) - // 到达时间限制,上报速度,数据清空 if (stopFlag < STOP_FLAG_THRESHOLD) { // 停车标志位小于阈值,判定不是停车,计算平均值,进行上报 @@ -138,7 +141,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService } val ave = sum / speedCacheList.size Logger.d(TAG, "平均速度为: $ave") - blockFromSpeed = true + blockFromSpeed = ave <= 10 // 上报平均速度 val location = ServiceApisManager.serviceApis.mapServiceApi.getSingletonLocationClient(context).lastKnowLocation latLonFromSpeed = MogoLatLng(location.latitude, location.longitude) @@ -299,4 +302,11 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService val minute = Calendar.getInstance().get(Calendar.MINUTE) + hour * 60 return minute in NIGHT_PEAK_START_MINUTE..NIGHT_PEAK_STOP_MINUTE } + + private fun isDifferentDay(a: Long, b: Long): Boolean { + val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) + val aDate = dateFormat.format(a) + val bDate = dateFormat.format(b) + return aDate != bDate + } } \ No newline at end of file