diff --git a/OCH/mogo-och-bus/build.gradle b/OCH/mogo-och-bus/build.gradle index 7717cce9f4..5c75234649 100644 --- a/OCH/mogo-och-bus/build.gradle +++ b/OCH/mogo-och-bus/build.gradle @@ -50,13 +50,6 @@ android { dimension "vehicle" buildConfigField 'int', 'NEW_TEST', '0' } - - // 小巴车 接驳车 这个维度应该放入的最外层 但是和小巴的代码耦合的太严重放到了这个地方 - // 乘客端删除了这个flavors 是因为乘客端这个地方比较简单 - shuttle { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } } } diff --git a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml index 658b15ffa0..931badb5ae 100644 --- a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml @@ -300,10 +300,14 @@ + android:layout_width="@dimen/dp_172" + android:layout_height="@dimen/dp_172" + app:layout_constraintBottom_toBottomOf="@id/module_mogo_och_badcase_rl" + app:layout_constraintLeft_toRightOf="@id/module_mogo_och_badcase_rl" + app:layout_constraintTop_toTopOf="@id/module_mogo_och_badcase_rl" + app:roma_open_bg="@drawable/bus_operation_status_select_bg" + app:roma_close_bg="@drawable/bus_operation_status_bg" + /> 100) { - ToastUtils.showLong("缺少轨迹数据") - if (mRoutePoints.size == 0) return + if (mRoutePoints.size == 0){ + ToastUtils.showLong("缺少轨迹数据") + return + } // 计算距离 lastSumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength( @@ -1055,9 +1057,15 @@ object CharterPassengerModel { } private fun invokeStationDistanceListener(meters:Long , timeInSecond:Long){ + var tempMeters = meters + var tempTimeInSecond = timeInSecond + if (orderInfo?.arriveStatus == OrderInfoResponse.ARRIVED) { + tempMeters = -1 + tempTimeInSecond = -1 + } UiThreadHandler.post({ for (value in stationDistanceListener.values) { - value.setDistancecAndTime(meters,timeInSecond) + value.setDistancecAndTime(tempMeters,tempTimeInSecond) } }, UiThreadHandler.MODE.QUEUE) diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt index 7139fa8cd8..aafd120e7c 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt @@ -76,7 +76,7 @@ internal interface PassengerServiceApi { ): Observable /** - * 06结束订单 03 + * 06到达目的地 03 */ @POST("/och-rental-cabin/api/flow/v1/driver/arriveDest") fun arriveDest( diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt index 74e9af28f7..1f4eb3cbe2 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt @@ -23,6 +23,7 @@ import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.utils.SoundPoolHelper import com.mogo.och.common.module.voice.VoiceNotice +import com.mogo.tts.base.IMogoTTSCallback object DriverMessage: IReceivedMsgListener { override fun onReceivedMsg(type: Int, byteArray: ByteArray) { @@ -55,7 +56,7 @@ object DriverMessage: IReceivedMsgListener { VoiceNotice.showNotice(msg.msg, AIAssist.LEVEL1) if(msg.msg.contains("核销成功")){ val string = AbsMogoApplication.getApp().getString(R.string.m1_welcome_tts) - VoiceNotice.showNotice(string, AIAssist.LEVEL1,15_000) + VoiceNotice.showNotice(string, AIAssist.LEVEL1,4_000) } } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt index 4e7089579c..405168a0b7 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt @@ -57,8 +57,10 @@ class OrderLineItemAdapter( val lineInfo = dataList[holder.bindingAdapterPosition] if(lineInfo.isCheck){ holder.lineNameTextView.setBackgroundResource(R.drawable.m1_order_line_checked_shape) + holder.lineNameTextView.setTextColor(context.getColor(R.color.bus_p_m1_1466FB)) }else{ holder.lineNameTextView.setBackgroundResource(android.R.color.transparent) + holder.lineNameTextView.setTextColor(context.getColor(R.color.bus_p_m1_292c39)) } holder.lineNameTextView.text = lineInfo.name holder.lineNameTextView.setOnClickListener { diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt index c891e5b98c..a93b1a9814 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.AppStateManager import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.utilcode.util.ClickUtils +import com.mogo.eagle.core.utilcode.util.KeyboardUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.DebugWatchDogPresenter @@ -48,6 +49,9 @@ class DebugViewWatchDogFragment : }else{ if(text.toString() == "123987"){ dismissAllowingStateLoss() + dialog?.window?.let { + KeyboardUtils.hideSoftInput(it) + } ToggleDebugView.toggleDebugView.toggle(requireContext()) }else{ ToastUtils.showShort("请输入正确密码") @@ -55,6 +59,9 @@ class DebugViewWatchDogFragment : } } actv_cancle.setOnClickListener { + dialog?.window?.let { + KeyboardUtils.hideSoftInput(it) + } dismissAllowingStateLoss() } } diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_distance_info_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_distance_info_bg.png new file mode 100644 index 0000000000..a2716219ab Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_distance_info_bg.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png index d920288fb8..8cdac88f73 100644 Binary files a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_guidace_3.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_guidace_3.png index a1b3eb1041..51429b9b48 100644 Binary files a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_guidace_3.png and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_guidace_3.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_power_size_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_power_size_seekbar_style.xml deleted file mode 100644 index 8710c3ad41..0000000000 --- a/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_power_size_seekbar_style.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml deleted file mode 100644 index 4a771923d6..0000000000 --- a/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_distance_info_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_distance_info_bg.xml deleted file mode 100644 index 8e2c136cba..0000000000 --- a/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_distance_info_bg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml index 1cc7325f05..803c55d451 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml index 20b5c06d78..3f0c57be06 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"> - + @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + diff --git a/OCH/mogo-och-charter-passenger/src/main/res/font/din.ttf b/OCH/mogo-och-charter-passenger/src/main/res/font/din.ttf new file mode 100644 index 0000000000..db558e4dbc Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/font/din.ttf differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml index dc897cb176..43f853b50c 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml @@ -20,7 +20,7 @@ app:layout_constraintStart_toStartOf="@+id/aciv_center_image" app:layout_constraintEnd_toEndOf="@+id/aciv_center_image" app:layout_constraintBottom_toBottomOf="parent" - android:layout_marginBottom="@dimen/dp_9_5" + android:layout_marginBottom="@dimen/dp_4_5" android:textSize="@dimen/dp_20" android:text="靠边停车" android:textColor="@color/bus_p_m1_090f28" diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml index 5a24d42f0e..800c3fda50 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml @@ -31,8 +31,8 @@ android:id="@+id/actv_order_times" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - android:layout_marginTop="@dimen/dp_31" - app:layout_constraintTop_toBottomOf="@+id/actv_order_phone" + app:layout_constraintBottom_toTopOf="@+id/actv_order_times_title" + android:layout_marginBottom="8dp" android:text="--:-----:--" android:textSize="@dimen/dp_36" android:textColor="@color/bus_p_m1_0050E1" @@ -43,8 +43,8 @@ android:id="@+id/actv_order_times_title" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - android:layout_marginTop="@dimen/dp_8" - app:layout_constraintTop_toBottomOf="@+id/actv_order_times" + app:layout_constraintBottom_toTopOf="@+id/actv_end_order" + android:layout_marginBottom="@dimen/dp_25" android:text="用车时间" android:textSize="@dimen/dp_18" android:textColor="@color/bus_p_m1_112b57" @@ -56,8 +56,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintTop_toBottomOf="@+id/actv_order_times_title" - android:layout_marginTop="@dimen/dp_25" android:layout_marginBottom="@dimen/dp_27" android:background="@drawable/charter_p_shape_end_order" android:gravity="center" @@ -124,7 +122,8 @@ android:text="结束用车" android:textSize="@dimen/dp_24" android:textColor="@android:color/white" - app:layout_constraintTop_toBottomOf="@+id/actv_end_order_content" + android:layout_marginBottom="@dimen/dp_27" + app:layout_constraintBottom_toBottomOf="parent" android:background="@drawable/charter_p_shape_end_order_left" app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="@dimen/dp_30" @@ -142,7 +141,8 @@ android:textSize="@dimen/dp_24" android:textColor="@android:color/white" android:background="@drawable/charter_p_shape_end_order" - app:layout_constraintTop_toBottomOf="@+id/actv_end_order_content" + android:layout_marginBottom="@dimen/dp_27" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="@dimen/dp_30" android:layout_marginTop="@dimen/dp_17" diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml index c1cfd127c5..eebd97bc98 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml @@ -98,7 +98,7 @@ app:layout_constraintStart_toStartOf="@+id/ll_car_speed" app:layout_constraintEnd_toEndOf="@+id/ll_car_speed" android:background="@drawable/bus_p_distance_info_bg" - android:layout_width="@dimen/dp_112" + android:layout_width="@dimen/dp_115" android:layout_height="@dimen/dp_346"> + android:progressDrawable="@drawable/taxi_power_size_seekbar_style" /> #A3BDF2 #56C59C #56EFA0 + #6EDBDC #4A5375 #0F1E57 #225EFF diff --git a/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt index fcf86ff71d..fdb12a594f 100644 --- a/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt +++ b/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -6,18 +6,15 @@ import android.net.Uri import android.util.AttributeSet import android.widget.ImageView import android.widget.RelativeLayout -import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean -import com.mogo.eagle.core.utilcode.breakpoint.callback.IDownload -import com.mogo.eagle.core.utilcode.breakpoint.utils.DownloadUtils +import com.mogo.eagle.core.utilcode.download.* +import com.mogo.eagle.core.utilcode.download.callback.* import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.FileUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider import com.mogo.och.bus.passenger.R import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack -import me.jessyan.autosize.utils.AutoSizeUtils import java.io.File /** @@ -159,9 +156,13 @@ class AdvanceVideoView @JvmOverloads constructor( //下载视频, 下载成功后再播放 Logger.d(ImageAndVideoRotation.TAG, "startDownLoadVideo") FileUtils.createFileDir(mVideoDirPath) - DownloadUtils.downLoad( - context, fileNetPath, mVideoDirPath, downloadVideoName, 5, downListener - ) + val downloadUrl = fileNetPath + val downloadDir = mVideoDirPath + if (downloadUrl != null && downloadDir != null) { + DownloadUtils.downLoad( + context, downloadUrl, downloadDir, downloadVideoName, downListener + ) + } } fun startPlay(localVideoPath: String?) { @@ -202,40 +203,40 @@ class AdvanceVideoView @JvmOverloads constructor( } } - private val downListener = object : IDownload { - override fun onStart(url: String?) { + private val downListener = object : IDownloadListener { + override fun onStart(url: String) { setCacheImageViewVisible() Logger.d(ImageAndVideoRotation.TAG, "download-onStart") } - override fun onPause(url: String?, threadBean: ThreadBean?) { - Logger.d(ImageAndVideoRotation.TAG, "download-onPause") -// UiThreadHandler.postDelayed(Runnable { -// startDownLoadVideo() -// },DOWNLOAD_DELAY) - // todo 测试下网络断掉是否会走onpause,且网络回复也不会继续下载 +// override fun onPause(url: String, threadBean: ThreadBean?) { +// Logger.d(ImageAndVideoRotation.TAG, "download-onPause") +//// UiThreadHandler.postDelayed(Runnable { +//// startDownLoadVideo() +//// },DOWNLOAD_DELAY) +// // todo 测试下网络断掉是否会走onpause,且网络回复也不会继续下载 +// } + + override fun onProgress(url: String, downloaded: Long, total: Long) { + Logger.d(ImageAndVideoRotation.TAG, "download-onProgress== ${ (downloaded * 1.0f * 100/total).toInt() }") } - override fun onProgress(url: String?, length: Int) { - Logger.d(ImageAndVideoRotation.TAG, "download-onProgress== $length") - } - - override fun onFinished(url: String?, threadBean: ThreadBean?, localPath: String?) { + override fun onFinished(url: String, path: String) { Logger.d(ImageAndVideoRotation.TAG, "download-onFinished = $url") if (url.equals(fileNetPath)) { //发现下载工具在断网又连网后,已完成的任务又都下载,跳转播放出现问题 //下载完成 ThreadUtils.runOnUiThread { - startPlay(Uri.fromFile(File(mVideoDirPath + downloadVideoName)).toString()) + startPlay(Uri.fromFile(File(path)).toString()) } } else {//如果当前文件不存在再次去下载当前的 Logger.d( ImageAndVideoRotation.TAG, "download-onFinished = not current" + ",currentUrl = $fileNetPath " ) - if (FileUtils.isFileExists(mVideoDirPath + downloadVideoName)) { + if (FileUtils.isFileExists(path)) { Logger.d(ImageAndVideoRotation.TAG, "have download startPlay") ThreadUtils.runOnUiThread { - startPlay(Uri.fromFile(File(mVideoDirPath + downloadVideoName)).toString()) + startPlay(Uri.fromFile(File(path)).toString()) } return } else { @@ -244,14 +245,10 @@ class AdvanceVideoView @JvmOverloads constructor( } } - override fun onError(url: String?, errorMsg: String?) { - Logger.d(ImageAndVideoRotation.TAG, "download-onError-$errorMsg") + override fun onError(url: String, error: String?) { + Logger.d(ImageAndVideoRotation.TAG, "download-onError-$error") //出错再次下载 - if (errorMsg != null) { - if (errorMsg.startsWith("initFailed")) { - startDownLoadVideo() - } - } + startDownLoadVideo() } } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml index ca833243e2..63f5aa6883 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml @@ -321,10 +321,15 @@ + android:layout_width="@dimen/module_mogo_och_operation_status_bg_height" + android:layout_height="@dimen/module_mogo_och_operation_status_bg_height" + app:layout_constraintBottom_toBottomOf="@id/module_och_taxi_badcase_ll" + app:layout_constraintLeft_toRightOf="@id/module_och_taxi_badcase_ll" + app:layout_constraintTop_toTopOf="@id/module_och_taxi_badcase_ll" + app:roma_open_bg="@drawable/taxi_operation_status_select_bg" + app:roma_close_bg="@drawable/taxi_operation_status_bg" + android:layout_marginStart="40dp" + /> diff --git a/app/build.gradle b/app/build.gradle index beaa66ba42..70bad84dd7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,6 +92,7 @@ android { } lintOptions { + checkReleaseBuilds false abortOnError false } diff --git a/app/script/flavorfilter/flavorsFilterConfig.gradle b/app/script/flavorfilter/flavorsFilterConfig.gradle index 87c0a86212..25c24d1d72 100644 --- a/app/script/flavorfilter/flavorsFilterConfig.gradle +++ b/app/script/flavorfilter/flavorsFilterConfig.gradle @@ -25,7 +25,7 @@ project.android.variantFilter { variant -> def vehicleContain = true roleValue.each{vehicleValue-> if (names.contains(vehicleValue)) { - println "need $names" + //println "need $names" vehicleContain = false } } diff --git a/app/script/functions/och.gradle b/app/script/functions/och.gradle index 29d99eae0f..b4ec11b06e 100644 --- a/app/script/functions/och.gradle +++ b/app/script/functions/och.gradle @@ -1,3 +1,4 @@ +apply from: "./script/utils.gradle" // 网约车服务:仅小巴车、出租车渠道用 project.dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { @@ -14,7 +15,44 @@ project.dependencies { // fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) } else { - fPadLenovoImplementation (project(':OCH:mogo-och-noop')) + + if (isCurrentDriver("noop")) { + fPadLenovoImplementation(project(':OCH:mogo-och-noop')) + } + + if (isCurrentDriver("bus")) { + implementation project.project(':OCH:mogo-och-bus') + } else if (isCurrentPassenger("bus")) { + implementation project.project(':OCH:mogo-och-bus-passenger') + } else { + } + + if (isCurrentDriver("charter")) { + implementation project.project(':OCH:mogo-och-charter') + } else if (isCurrentPassenger("charter")) { + implementation project.project(':OCH:mogo-och-charter-passenger') + } else { + + } + + if (isCurrentDriver("shuttle")) { + implementation project(':OCH:mogo-och-shuttle') + } else if (isCurrentPassenger("shuttle")) { + implementation project.project(':OCH:mogo-och-shuttle-passenger') + } else { + } + + if (isCurrentFlavors("sweeper")) { + implementation project.project(':OCH:mogo-och-sweeper') + } + + if (isCurrentDriver("taxi")) { + implementation project.project(':OCH:mogo-och-taxi') + } else if (isCurrentPassenger("taxi")) { + implementation project.project(':OCH:mogo-och-taxi-passenger') + } else { + + } // 多屏幕-Bus司机端 // fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus')) diff --git a/app/script/productFlavors/bus.gradle b/app/script/productFlavors/bus.gradle index 0dcfad1caf..271d9e36e6 100644 --- a/app/script/productFlavors/bus.gradle +++ b/app/script/productFlavors/bus.gradle @@ -24,13 +24,6 @@ project.android.productFlavors { // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - if(isCurrentDriver("bus")){ - project.dependencies.add('implementation', project.project(':OCH:mogo-och-bus')) - } - if(isCurrentPassenger("bus")){ - project.dependencies.add('implementation', project.project(':OCH:mogo-och-bus-passenger')) - } } } diff --git a/app/script/productFlavors/charter.gradle b/app/script/productFlavors/charter.gradle index 5c4d34e613..b657f22013 100644 --- a/app/script/productFlavors/charter.gradle +++ b/app/script/productFlavors/charter.gradle @@ -1,4 +1,4 @@ -apply from: "./script/utils.gradle" + project.android.productFlavors { // 包车业务 @@ -24,12 +24,11 @@ project.android.productFlavors { if(isCurrentDriver("charter")){ // ③是否需要重写状态栏 buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - project.dependencies.add('implementation', project.project(':OCH:mogo-och-charter')) - } - if(isCurrentPassenger("charter")){ + }else if(isCurrentPassenger("charter")){ // ③是否需要重写状态栏 buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - project.dependencies.add('implementation', project.project(':OCH:mogo-och-charter-passenger')) + }else { + buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' } } } \ No newline at end of file diff --git a/app/script/productFlavors/noop.gradle b/app/script/productFlavors/noop.gradle index 12de255384..4c0e0dd5b6 100644 --- a/app/script/productFlavors/noop.gradle +++ b/app/script/productFlavors/noop.gradle @@ -23,10 +23,5 @@ project.android.productFlavors { // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - if(isCurrentDriver("noop")){ - project.dependencies.add('implementation', project.project(':OCH:mogo-och-noop')) - } - } } \ No newline at end of file diff --git a/app/script/productFlavors/shuttle.gradle b/app/script/productFlavors/shuttle.gradle index dc5ecd99a1..0ea25aec59 100644 --- a/app/script/productFlavors/shuttle.gradle +++ b/app/script/productFlavors/shuttle.gradle @@ -23,26 +23,28 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - project.dependencies.add('implementation', project.project(':OCH:mogo-och-shuttle')) manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") - } - if (isCurrentPassenger("shuttle")) { - if(isM2()){ + } else if (isCurrentPassenger("shuttle")) { + if (isM2()) { // ③是否需要重写状态栏 buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' manifestPlaceholders.put("SCREEN_ORIENTATION", "portrait") } - if(isJL()){ + if (isJL()) { // ③是否需要重写状态栏 buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true' manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") } - - project.dependencies.add('implementation', project.project(':OCH:mogo-och-shuttle-passenger')) + } else { + // ③是否需要重写状态栏 + buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' + // ④构建 是否支持多屏异显异交互 + buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true' + manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") } } } \ No newline at end of file diff --git a/app/script/productFlavors/sweeper.gradle b/app/script/productFlavors/sweeper.gradle index 48a93a6e1e..9021152caf 100644 --- a/app/script/productFlavors/sweeper.gradle +++ b/app/script/productFlavors/sweeper.gradle @@ -23,10 +23,5 @@ project.android.productFlavors { // ④构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - - if(isCurrentFlavors("sweeper")){ - project.dependencies.add('implementation', project.project(':OCH:mogo-och-sweeper')) - } } } \ No newline at end of file diff --git a/app/script/productFlavors/taxi.gradle b/app/script/productFlavors/taxi.gradle index 963222eb2c..82c4323f0d 100644 --- a/app/script/productFlavors/taxi.gradle +++ b/app/script/productFlavors/taxi.gradle @@ -21,14 +21,13 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' if (isCurrentDriver("taxi")) { - project.dependencies.add('implementation', project.project(':OCH:mogo-och-taxi')) // 在启动的时候把Task给清空 manifestPlaceholders.put("ACTIVITY_ROOT", true) - } - if (isCurrentPassenger("taxi")) { - project.dependencies.add('implementation', project.project(':OCH:mogo-och-taxi-passenger')) + }else if (isCurrentPassenger("taxi")) { // 在启动的时候把Task给清空 manifestPlaceholders.put("ACTIVITY_ROOT", false) + }else { + manifestPlaceholders.put("ACTIVITY_ROOT", false) } } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/ochJL.gradle b/app/script/vehicleFlavors/ochJL.gradle index 831bdd7ecd..e397aa4ce3 100644 --- a/app/script/vehicleFlavors/ochJL.gradle +++ b/app/script/vehicleFlavors/ochJL.gradle @@ -2,7 +2,9 @@ project.android.productFlavors { // 衡阳-联想Pad-网约车-小巴车 ochJL { dimension "vehicle" - matchingFallbacks = ['jinlvvan'] + //matchingFallbacks = ['jinlvvan'] + + missingDimensionStrategy "vehicle", "jinlvvan", "m2", "jinlvvan" // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ diff --git a/app/script/vehicleFlavors/ochM1.gradle b/app/script/vehicleFlavors/ochM1.gradle index 27dd69aeee..cef5f106cc 100644 --- a/app/script/vehicleFlavors/ochM1.gradle +++ b/app/script/vehicleFlavors/ochM1.gradle @@ -5,6 +5,8 @@ project.android.productFlavors { ochM1 { dimension "vehicle" + missingDimensionStrategy "vehicle", "driverm1","m2", "jinlvvan" + // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ // BUGLY_APP_CHANNEL diff --git a/app/script/vehicleFlavors/ochM2.gradle b/app/script/vehicleFlavors/ochM2.gradle index 2f016eb3fa..1d84fbd321 100644 --- a/app/script/vehicleFlavors/ochM2.gradle +++ b/app/script/vehicleFlavors/ochM2.gradle @@ -3,9 +3,9 @@ project.android.productFlavors { ochM2 { dimension "vehicle" // 和 och/mogo-och-bus-passenger 的flavors的m2对应 - matchingFallbacks = ['m2'] - + //matchingFallbacks = ['m2'] + missingDimensionStrategy "vehicle", "m2", "jinlvvan", 'driverm1' //高德地图鉴权信息 manifestPlaceholders = [ CHANNEL_VALUE_TAIL: "M2", diff --git a/config.gradle b/config.gradle index e610b3e01f..f0867bb959 100644 --- a/config.gradle +++ b/config.gradle @@ -28,7 +28,7 @@ ext { amapsearch : "com.amap.api:search:9.5.0", amaplocation : "com.amap.api:location:6.2.0", - downloader : "com.mogo.core.net:downloader:1.0.5_stable", + downloader : "com.mogo.core.net:downloader:1.0.6.1", // json 转换 gson : "com.google.code.gson:gson:2.8.4", diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt index e1ca186a4f..810deabf03 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaView.kt @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.hmi.ui.widget import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import androidx.appcompat.content.res.AppCompatResources import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.function.api.map.roma.IMoGoRomaListener import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager.romaTrigger @@ -26,8 +27,30 @@ class RomaView @JvmOverloads constructor( @Volatile private var click = true + private val normalRes: Int + private val openRes: Int + init { LayoutInflater.from(context).inflate(R.layout.view_roma_bg, this, true) + val a = context.obtainStyledAttributes( + attrs, + R.styleable.RomaView, + defStyleAttr, + 0 + ) + normalRes = a.getResourceId( + R.styleable.RomaView_roma_close_bg, + R.drawable.romabg_normal_select + ) + openRes = a.getResourceId( + R.styleable.RomaView_roma_open_bg, + R.drawable.romabg_press_select_bg + ) + a.recycle() + if(normalRes!=0){ + ll_roma_bg.background = AppCompatResources.getDrawable(context, normalRes) + } + setOnClickListener { if(!click){ return@setOnClickListener @@ -44,11 +67,19 @@ class RomaView @JvmOverloads constructor( click = true if (status) { romaMode = true - ll_roma_bg.setBackgroundResource(R.drawable.romabg_press_select_bg) + if(openRes!=0){ + ll_roma_bg.setBackgroundResource(openRes) + }else{ + ll_roma_bg.setBackgroundResource(R.drawable.romabg_press_select_bg) + } ivRomaView.setBackgroundResource(R.drawable.roma_press_select_bg) } else { romaMode = false - ll_roma_bg.setBackgroundResource(R.drawable.roma_bg_selector) + if(normalRes!=0){ + ll_roma_bg.setBackgroundResource(normalRes) + }else{ + ll_roma_bg.setBackgroundResource(R.drawable.roma_bg_selector) + } ivRomaView.setBackgroundResource(R.drawable.romafront_select_bg) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_acceleration_drag.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_acceleration_drag.png new file mode 100644 index 0000000000..305f239505 Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_acceleration_drag.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_acceleration_float.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_acceleration_float.xml index 8629837b9f..06a839f6fc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_acceleration_float.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_acceleration_float.xml @@ -8,7 +8,7 @@ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml index 30bd940a0f..8b095d99df 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_bg.xml @@ -1,28 +1,23 @@ + android:layout_height="match_parent" + android:background="@drawable/roma_bg_selector" + android:elevation="@dimen/dp_10" + > - + app:layout_constraintRight_toRightOf="parent" + /> - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml index 9426bad2a8..71ab960a6e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml @@ -88,4 +88,10 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index d07c857bf1..2bf5c39367 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -67,13 +67,13 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { val distance = distanceOfCarToStopLine.get() + 5 if (hasCrossRoad && distance > 0) { val prev = triggerLocation.get() - if (prev != null && loc != null) { + if (prev != null) { travelled.set(MapTools.distance(loc.longitude, loc.latitude, prev.longitude, prev.latitude) + travelled.get()) triggerLocation.set(loc) } val oldRoadId = triggerRoadId.get() Log.d(TAG, "-- onRoadIdInfo --: travelled --: ${travelled.get()}") - if ((travelled.get() > distance) && oldRoadId != null && oldRoadId != roadId) { + if ((travelled.get() > distance) && oldRoadId != roadId) { distanceOfCarToStopLine.set(0.0) hasCrossRoad = false triggerRoadId.set(null) @@ -152,10 +152,6 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { } override fun changeAngle(scene: Scene) { - val appIdentityMode = FunctionBuildConfig.appIdentityMode - if (AppIdentityModeUtils.isBus(appIdentityMode) && AppIdentityModeUtils.isPassenger(appIdentityMode)) { - return - } if(mLevel){ return } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt index 4752d743b3..992849ae5e 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt @@ -114,18 +114,9 @@ class AiCloudIdentifyDataManager : IMogoMapListener, } fun requestRangeOfIdentify(dataReceive: Boolean) { -// if (dataReceive) { //todo test -// // 请求地图开始漫游 -// MogoMapUIController.getInstance().setRomaMode(FunctionBuildConfig.romaModeStyle) -// CallerMapRomaListener.invokeMapRoma(true) -// sendMsgToServer(TelematicConstant.OPEN_ROMA_STATUS, "3".toByteArray()) -// } else { -// CallerMapRomaListener.invokeMapRoma(false) -// sendMsgToServer(TelematicConstant.OPEN_ROMA_STATUS, "4".toByteArray()) -// } val status = MogoStatusManager.getInstance().isSocketOnLine val gnss = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().gnssInfo - MapBizTrace.log(TAG,"开启请求,data:$dataReceive , socketStatus:$status , lon:${gnss.longitude} , lat:${gnss.latitude}") + MapBizTrace.log(TAG,"开启请求,data:$dataReceive , socketStatus:$status , lon:${gnss.longitude} , lat:${gnss.latitude} , heading:${gnss.heading}") aiCloudIdentifyNetWorkModel.requestIdentifyRange(dataReceive, gnss.longitude,gnss.latitude,{ MapBizTrace.log( TAG, diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java index 55ef457a88..bd2fd9eecb 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java @@ -1,13 +1,19 @@ package com.mogo.eagle.core.function.business.identify; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_ADAS; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED; import static com.mogo.eagle.core.function.business.identify.TrackManager.LIMIT_SPEED; import android.annotation.SuppressLint; import com.mogo.eagle.core.data.enums.TrafficTypeEnum; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.utilcode.geometry.S2CellId; import com.mogo.eagle.core.utilcode.geometry.S2LatLng; import com.mogo.eagle.core.utilcode.util.CoordinateUtils; +import com.mogo.eagle.core.utilcode.util.ParseVersionUtils; +import com.zhjt.service.chain.ChainLog; import java.util.Arrays; import java.util.Comparator; @@ -45,9 +51,30 @@ public class TrackObj { private void correct() { calAverageSpeedAndType(); + String dockerVersion = CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getDockVersion(); + if (dockerVersion != null && !dockerVersion.isEmpty()) { + try { + int version = ParseVersionUtils.parseVersion(true, dockerVersion); + if (version >= 310) { + return; + } + } catch (Exception e) { + logErrorOfVersion(dockerVersion); + } + } calLoc(); } + @ChainLog(linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED, + linkCode = CHAIN_LINK_ADAS, + endpoint = 4, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA, + paramIndexes = {0}, + clientPkFileName = "sn") + private void logErrorOfVersion(String version) { + + } + @SuppressLint("NewApi") private void calAverageSpeedAndType() { if (circleQueue.size() >= 3) { @@ -68,7 +95,7 @@ public class TrackObj { } speedAverage = cal / objQueueList.size(); } - if(typeArray.length > 0){ + if (typeArray.length > 0) { typeArray = Arrays.stream(typeArray).sorted().toArray(); typeWeight = typeArray[typeArray.length / 2] == 0 ? cacheData.getType() : typeArray[typeArray.length / 2]; } @@ -166,7 +193,7 @@ public class TrackObj { return d; } - public void clear(){ + public void clear() { circleQueue.clear(); s2CellId = null; s2LatLng = null; diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/PermissionUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/PermissionUtils.java index 5998a82b72..903e1240bb 100755 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/PermissionUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/PermissionUtils.java @@ -1,5 +1,7 @@ package com.mogo.eagle.core.utilcode.util; +import static android.Manifest.permission.ACCESS_FINE_LOCATION; + import android.Manifest; import android.annotation.TargetApi; import android.app.Activity; @@ -25,6 +27,7 @@ import java.util.Set; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import com.mogo.eagle.core.utilcode.constant.PermissionConstants; @@ -156,7 +159,7 @@ public final class PermissionUtils { public static void requestAccessFineLocation(final SimpleCallback callback) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (isGranted(Manifest.permission.ACCESS_FINE_LOCATION)) { + if (isGranted(ACCESS_FINE_LOCATION)) { if (callback != null) { callback.onGranted(); } @@ -499,7 +502,10 @@ public final class PermissionUtils { } else if (type == TYPE_DRAW_OVERLAYS) { currentRequestCode = TYPE_DRAW_OVERLAYS; startOverlayPermissionActivity(activity, TYPE_DRAW_OVERLAYS); - } else { + } else if (type == TYPE_ACCESS_FINE_LOCATION) { + currentRequestCode = TYPE_ACCESS_FINE_LOCATION; + ActivityCompat.requestPermissions(activity, new String[] { ACCESS_FINE_LOCATION }, currentRequestCode); + } else { activity.finish(); Log.e("PermissionUtils", "type is wrong."); } @@ -523,8 +529,23 @@ public final class PermissionUtils { @NonNull String[] permissions, @NonNull int[] grantResults) { activity.finish(); - if (sInstance != null && sInstance.mPermissionsRequest != null) { - sInstance.onRequestPermissionsResult(activity); + if (requestCode == TYPE_ACCESS_FINE_LOCATION) { + for (int result : grantResults) { + if (result == PackageManager.PERMISSION_GRANTED) { + if (sSimpleCallback4AccessFineLocation != null) { + sSimpleCallback4AccessFineLocation.onGranted(); + } + } + if (result == PackageManager.PERMISSION_DENIED) { + if (sSimpleCallback4AccessFineLocation != null) { + sSimpleCallback4AccessFineLocation.onDenied(); + } + } + } + } else { + if (sInstance != null && sInstance.mPermissionsRequest != null) { + sInstance.onRequestPermissionsResult(activity); + } } } @@ -570,7 +591,7 @@ public final class PermissionUtils { if (sSimpleCallback4AccessFineLocation == null) { return; } - if (isGranted(Manifest.permission.ACCESS_FINE_LOCATION)) { + if (isGranted(ACCESS_FINE_LOCATION)) { sSimpleCallback4AccessFineLocation.onGranted(); } else { sSimpleCallback4AccessFineLocation.onDenied(); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index 2a20de5691..5126c87f36 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -41,15 +41,14 @@ public abstract class AbsMogoApplication extends Application { @Override public void onCreate() { super.onCreate(); + AutoSize.checkAndInit(this); + ScreenHelper.setScreenConfig(this); if (!shouldInit()) { return; } AppStateManager.INSTANCE.init(this); initRxJavaErrorHandler(); FinalizeCrashFixer.fix(); - AutoSize.checkAndInit(this); - - ScreenHelper.setScreenConfig(this); Utils.init(this); MogoServices.getInstance().init(this); }