Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
wangcongtao
2020-09-04 17:02:31 +08:00
92 changed files with 954 additions and 1098 deletions

1
.idea/gradle.xml generated
View File

@@ -35,6 +35,7 @@
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator" />
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator-debug" />
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator-noop" />
<option value="$PROJECT_DIR$/modules/mogo-module-guide" />
<option value="$PROJECT_DIR$/modules/mogo-module-left-panel" />
<option value="$PROJECT_DIR$/modules/mogo-module-left-panel-noop" />
<option value="$PROJECT_DIR$/modules/mogo-module-main" />

2
.idea/misc.xml generated
View File

@@ -4,7 +4,7 @@
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -302,6 +302,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogomonitor
implementation rootProject.ext.dependencies.mogomodulewidgets
implementation rootProject.ext.dependencies.mogomoduleback
implementation rootProject.ext.dependencies.guideshow
} else {
implementation project(':foudations:mogo-commons')
implementation project(':modules:mogo-module-common')
@@ -318,6 +319,7 @@ dependencies {
implementation project(':modules:mogo-module-monitor')
implementation project(':modules:mogo-module-widgets')
implementation project(':modules:mogo-module-back')
implementation project(':modules:mogo-module-guide')
}
apply from: "./functions/perform.gradle"

View File

@@ -9,6 +9,7 @@ import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
import com.auto.zhidao.logsdk.CrashSystem;
import com.bytedance.boost_multidex.BoostMultiDex;
import com.elegant.utils.WindowUtil;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.Utils;
@@ -17,6 +18,7 @@ import com.mogo.module.back.BackToLauncherConst;
import com.mogo.module.carchatting.card.CallChatConstant;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.guide.GuideConstant;
import com.mogo.module.main.service.MogoMainService;
import com.mogo.module.media.MediaConstants;
import com.mogo.module.push.base.PushUIConstants;
@@ -34,6 +36,9 @@ import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
import com.zhidao.mogo.tanlu.api.TanluApiConst;
import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_FRAGMENT;
import static com.mogo.module.guide.GuideConstant.PATH_GUIDE_MODULE_NAME;
/**
* @author congtaowang
* @since 2019-12-18
@@ -56,7 +61,7 @@ public class MogoApplication extends AbsMogoApplication {
crashSystem.setDebug( BuildConfig.DEBUG );
Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF );
// MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME));
MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME));
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) );
if ( DebugConfig.isLauncher() ) {
@@ -68,6 +73,7 @@ public class MogoApplication extends AbsMogoApplication {
if ( DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD ) {
MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) );
}
MogoModulePaths.addModule( new MogoModule( TanluApiConst.MODULE_PATH, TanluApiConst.MODULE_NAME ) );
MogoModulePaths.addBaseModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) );
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );

View File

@@ -108,7 +108,7 @@ targetSdkVersion : 22,
moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}",
carcall : "com.mogo.module.carchatting:module-carchatting:${CARCHATTING_VERSION}",
carcallprovider : "com.mogo.module.carchatting:module-carchatting-provider:${CARCHATTINGPROVIDER_VERSION}",
// guideshow : "com.mogo.module.guideshow:module-guideshow:${MOGO_MODULE_GUIDESHOW_VERSION}",
guideshow : "com.mogo.module.guideshow:module-guideshow:${MOGO_MODULE_GUIDESHOW_VERSION}",
// guideshowprovider : "com.mogo.module.guideshow:module-guideshow-provider:${MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION}",
// 在线车辆
moduleonlinecar : "com.mogo.module:module-onlinecar:${MOGO_MODULE_ONLINECAR_VERSION}",

View File

@@ -12,6 +12,7 @@ import com.mogo.map.navi.IMogoNaviListener
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant.Companion.PATH_AGREEMENT_MODULE_NAME
import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN
import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow
import com.mogo.module.authorize.util.SharedPreferenceUtil.hasGuide
import com.mogo.service.MogoServicePaths
import com.mogo.service.auth.IMogoAuthManager
import com.mogo.service.module.IMogoModuleLifecycle
@@ -24,7 +25,7 @@ class MogoAuthorizeProvider : IMogoAuthManager {
const val TAG = "MogoAuthorizeProvider"
}
private var mContext:Context? = null
private var mContext: Context? = null
override fun createFragment(context: Context?, data: Bundle?): Fragment? {
return null
@@ -62,10 +63,11 @@ class MogoAuthorizeProvider : IMogoAuthManager {
return null
}
override fun showAuth(context: Context?) {
override fun showAuth(context: Context) {
mContext = context
if (mogoAuthShow.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) {
mogoAuthShow.invokeAuthorizeForShow(mContext!!)
mogoAuthShow.initContext(context)
if (hasGuide() && mogoAuthShow.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) {
mogoAuthShow.invokeAuthorizeForShow()
} else {
//首次进入Launcher同步一下授权状态防止由于用户清除数据造成首次加载还会出现授权状态不同步问题
mogoAuthShow.updateAuthorizeStatus(AUTHORIZE_TYPE_LAUNCHER_MAIN)
@@ -78,9 +80,7 @@ class MogoAuthorizeProvider : IMogoAuthManager {
}
override fun init(context: Context) {
//todo 引导判断暂时去掉 后续引导流程更改完再放开
// todo if (isDeviceOfD() && hasGuide() && mogoAuthShow.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) {
// todo F系列暂时没有授权功能 1.1需求中添加 全量上
}
override fun getAppPackage(): String? {

View File

@@ -39,8 +39,11 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog
MogoAuthorizeMainController.disAgreeAuthorize(tag, agrId, onSuccess, onError)
}
fun invokeAuthorizeForShow(context: Context) {
mContext = context
fun initContext(mContext: Context) {
this.mContext = mContext
}
fun invokeAuthorizeForShow() {
pushLayoutToMainWindow(AUTHORIZE_TYPE_LAUNCHER_MAIN)
}
@@ -74,7 +77,7 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog
}
private fun pushLayoutToMainWindow(tag: String) {
if(mContext == null){
if (mContext == null) {
Logger.d(TAG, "Because of mContext has no init, the application has in background now")
return
}

View File

@@ -1,9 +1,12 @@
package com.mogo.module.authorize.authprovider.module
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.AbsMogoApplication
import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeManagerImpl
import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler
import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow
import com.mogo.module.authorize.util.SharedPreferenceUtil
import com.mogo.service.module.IMogoModuleProvider
class MogoModuleAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMogoAuthorizeModuleProvider {
@@ -14,13 +17,21 @@ class MogoModuleAuthorize private constructor() : MogoAuthorizeManagerImpl(), IM
}
override fun invokeAuthorizeForShow() {
mogoAuthShow.invokeAuthorizeForShow(AbsMogoApplication.getApp().applicationContext)
mogoAuthShow.invokeAuthorizeForShow()
}
override fun invokeAuthorization(tag: String) {
if(!SharedPreferenceUtil.hasGuide()){
val guideService = ARouter.getInstance().build("/guide/showFragment").navigation()
if(guideService is IMogoModuleProvider){
guideService.init(AbsMogoApplication.getApp().applicationContext)
}
val listener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag)
listener?.authorizeFailed("需要先执行用户引导")
return
}
mogoAuthShow.showAuthorizeView(tag, {
//todo SP存储状态
}, { errorMsg ->
val listener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag)
listener?.authorizeFailed(errorMsg)

View File

@@ -29,8 +29,9 @@ object GuideBizManager {
private fun initService() {
val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
if (mogoService is IMogoServiceApis) {
if (mogoService is IMogoServiceApis && serviceApi == null) {
serviceApi = mogoService
serviceApi?.adasControllerApi?.closeADAS()
}
}
@@ -50,6 +51,7 @@ object GuideBizManager {
serviceApi?.let {
it.fragmentManagerApi.pop()
}
serviceApi?.adasControllerApi?.showADAS()
}
fun invokeAuthorize() {

View File

@@ -12,7 +12,6 @@ import com.mogo.map.navi.IMogoNaviListener
import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_FRAGMENT
import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_MODULE_NAME
import com.mogo.module.guide.util.isDeviceOfD
import com.mogo.service.module.IMogoModuleLifecycle
import com.mogo.service.module.IMogoModuleProvider
import com.mogo.service.module.ModuleType
import com.mogo.utils.UiThreadHandler
@@ -36,10 +35,6 @@ class MogoGuideProvider : IMogoModuleProvider {
return PATH_GUIDE_MODULE_NAME
}
override fun getCardLifecycle(): IMogoModuleLifecycle? {
return null
}
override fun getMapListener(): IMogoMapListener? {
return null
}
@@ -62,9 +57,7 @@ class MogoGuideProvider : IMogoModuleProvider {
override fun init(context: Context?) {
if (isDeviceOfD()) {
UiThreadHandler.postDelayed({
GuideBizManager.init()
}, 5000L)
GuideBizManager.init()
} else {
Logger.d("MogoGuideProvider", "device type is not D")
}

View File

@@ -17,23 +17,19 @@ class GuideAdapter(fragmentActivity: GuideFragment) : FragmentStateAdapter(fragm
private val guideList: MutableList<Fragment> = mutableListOf()
companion object {
const val GUIDE_PAGE_START = 0
const val GUIDE_PAGE_CARD = 1
const val GUIDE_PAGE_ONLINE_CAR = 2
const val GUIDE_PAGE_NAVIGATION = 3
const val GUIDE_PAGE_LOCATION = 4
const val GUIDE_PAGE_APP_LIST = 5
const val GUIDE_PAGE_ENTRY_MAIN = 6
const val GUIDE_PAGE_ONE = 0
const val GUIDE_PAGE_TWO = 1
const val GUIDE_PAGE_THREE = 2
const val GUIDE_PAGE_FOUR = 3
const val GUIDE_PAGE_FIVE = 4
}
init {
guideList.add(GUIDE_PAGE_START, GuideStartFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_CARD, GuideCardFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_ONLINE_CAR, GuideOnLineCarFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_NAVIGATION, GuideNavigationFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_LOCATION, GuideLocationFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_APP_LIST, GuideAppListFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_ENTRY_MAIN, GuideEntryMainFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_ONE, GuideStageOneFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_TWO, GuideStageTwoFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_THREE, GuideStageThreeFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_FOUR, GuideStageFourFragment(fragmentActivity))
guideList.add(GUIDE_PAGE_FIVE, GuideStageFiveFragment(fragmentActivity))
}
}

View File

@@ -1,8 +1,10 @@
package com.mogo.module.guide.fragment
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.GuideBizManager
import com.mogo.module.guide.R
import com.mogo.module.guide.util.speak
import com.mogo.utils.logger.Logger
import kotlinx.android.synthetic.main.module_guide_fragment.*
@@ -35,8 +37,12 @@ class GuideFragment : MvpFragment<GuideConstract.View, GuidePresenter>(), GuideC
}
}
fun moveToLast() {
moduleGuideViewPager.setCurrentItem(adapter!!.itemCount, false)
fun moveToBack() {
val count = adapter?.itemCount
val backCount = moduleGuideViewPager.currentItem - 1
if (moduleGuideViewPager.currentItem != count && backCount != 0) {
moduleGuideViewPager.currentItem = backCount
}
}
fun closeGuideFragment() {
@@ -45,6 +51,11 @@ class GuideFragment : MvpFragment<GuideConstract.View, GuidePresenter>(), GuideC
}
private fun destroy() {
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_end),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
}
})
GuideBizManager.removeGuideFragmentToStack()
}

View File

@@ -1,52 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_app_list.*
class GuideAppListFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_app_list
}
override fun createPresenter(): Presenter<IView> {
return GuideAppListPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 6))
moduleGuideAppListNext.setOnClickListener(this)
moduleGuideAppListSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideAppListNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 6, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideAppListSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 6, "button_type" to 2))
containerFragment?.moveToLast()
}
}
}
class GuideAppListPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,54 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_CLICK
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_SHOW
import kotlinx.android.synthetic.main.module_guide_item_card.*
class GuideCardFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_card
}
override fun createPresenter(): Presenter<IView> {
return GuideCardPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 2))
moduleGuideCardNext.setOnClickListener(this)
moduleGuideCardSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideCardNext -> {
AnalyticsUtil.track(INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 2, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideCardSkip -> {
AnalyticsUtil.track(INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 2, "button_type" to 2))
containerFragment?.moveToLast()
}
}
}
class GuideCardPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,47 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_entry_main.*
class GuideEntryMainFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_entry_main
}
override fun createPresenter(): Presenter<IView> {
return GuideEntryPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 7))
moduleGuideEntryMain.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideEntryMain -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 7, "button_type" to 3))
containerFragment?.closeGuideFragment()
}
}
}
class GuideEntryPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,52 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_location.*
class GuideLocationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_location
}
override fun createPresenter(): Presenter<IView> {
return GuideLocationPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 5))
moduleGuideLocationNext.setOnClickListener(this)
moduleGuideLocationSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideLocationNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 5, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideLocationSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 5, "button_type" to 2))
containerFragment?.moveToLast()
}
}
}
class GuideLocationPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,52 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_navigation.*
class GuideNavigationFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_navigation
}
override fun createPresenter(): Presenter<IView> {
return GuideNavigationPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 4))
moduleGuideNavigationNext.setOnClickListener(this)
moduleGuideNavigationSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideNavigationNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 4, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideNavigationSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 4, "button_type" to 2))
containerFragment?.moveToLast()
}
}
}
class GuideNavigationPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,52 +0,0 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import kotlinx.android.synthetic.main.module_guide_item_online_car.*
class GuideOnLineCarFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_online_car
}
override fun createPresenter(): Presenter<IView> {
return GuideOnLineCarPresenter(this)
}
override fun initViews() {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 3))
moduleGuideOnLineCarNext.setOnClickListener(this)
moduleGuideOnLineCarSkip.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideOnLineCarNext -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 3, "button_type" to 1))
containerFragment?.moveToNext()
}
R.id.moduleGuideOnLineCarSkip -> {
AnalyticsUtil.track(AnalyticsUtil.INVOKE_TRACK_CLICK, hashMapOf("pages_num" to 3, "button_type" to 2))
containerFragment?.moveToLast()
}
}
}
class GuideOnLineCarPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -0,0 +1,55 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.speak
import kotlinx.android.synthetic.main.module_guide_item_stage_five.*
class GuideStageFiveFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_stage_five
}
override fun createPresenter(): Presenter<IView> {
return GuideLocationPresenter(this)
}
override fun initViews() {
module_guide_page_left.setOnClickListener(this)
module_guide_tv_jump.setOnClickListener(this)
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_five),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
containerFragment?.closeGuideFragment()
}
})
}
override fun onClick(v: View) {
when (v.id) {
R.id.module_guide_page_left -> {
containerFragment?.moveToBack()
}
R.id.module_guide_tv_jump -> {
containerFragment?.closeGuideFragment()
}
}
}
class GuideLocationPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -0,0 +1,59 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.speak
import kotlinx.android.synthetic.main.module_guide_item_include.*
class GuideStageFourFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_stage_four
}
override fun createPresenter(): Presenter<IView> {
return GuideNavigationPresenter(this)
}
override fun initViews() {
module_guide_page_left.setOnClickListener(this)
module_guide_page_right.setOnClickListener(this)
module_guide_tv_jump.setOnClickListener(this)
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_four),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
containerFragment?.moveToNext()
}
})
}
override fun onClick(v: View) {
when (v.id) {
R.id.module_guide_page_left -> {
containerFragment?.moveToBack()
}
R.id.module_guide_page_right -> {
containerFragment?.moveToNext()
}
R.id.module_guide_tv_jump -> {
containerFragment?.closeGuideFragment()
}
}
}
class GuideNavigationPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -1,20 +1,19 @@
package com.mogo.module.guide.guide
import android.graphics.Color
import android.graphics.LinearGradient
import android.graphics.Shader
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.AnalyticsUtil
import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_SHOW
import kotlinx.android.synthetic.main.module_guide_item_start.*
import com.mogo.module.guide.util.speak
import kotlinx.android.synthetic.main.module_guide_item_stage_one.*
class GuideStartFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
class GuideStageOneFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
@@ -23,7 +22,7 @@ class GuideStartFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickLis
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_start
return R.layout.module_guide_item_stage_one
}
override fun createPresenter(): Presenter<IView> {
@@ -32,18 +31,23 @@ class GuideStartFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickLis
override fun initViews() {
AnalyticsUtil.track(INVOKE_TRACK_SHOW, hashMapOf("pages_num" to 1))
val mLinearGradient = LinearGradient(0f, 0f, 0f, moduleGuideTvStart.paint.textSize,
Color.parseColor("#B3B3B3"), Color.parseColor("#EBEBEB"), Shader.TileMode.CLAMP)
moduleGuideTvStart.paint.shader = mLinearGradient
moduleGuideTvStart.setOnClickListener(this)
moduleGuideIvStart.setOnClickListener(this)
module_guide_page_right.setOnClickListener(this)
module_guide_tv_jump.setOnClickListener(this)
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_one),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
containerFragment?.moveToNext()
}
})
}
override fun onClick(v: View) {
when (v.id) {
R.id.moduleGuideTvStart, R.id.moduleGuideIvStart -> {
R.id.module_guide_page_right -> {
containerFragment?.moveToNext()
}
R.id.module_guide_tv_jump -> {
containerFragment?.closeGuideFragment()
}
}
}

View File

@@ -0,0 +1,59 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.speak
import kotlinx.android.synthetic.main.module_guide_item_include.*
class GuideStageThreeFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_stage_three
}
override fun createPresenter(): Presenter<IView> {
return GuideOnLineCarPresenter(this)
}
override fun initViews() {
module_guide_page_left.setOnClickListener(this)
module_guide_page_right.setOnClickListener(this)
module_guide_tv_jump.setOnClickListener(this)
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_three),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
containerFragment?.moveToNext()
}
})
}
override fun onClick(v: View) {
when (v.id) {
R.id.module_guide_page_left -> {
containerFragment?.moveToBack()
}
R.id.module_guide_page_right -> {
containerFragment?.moveToNext()
}
R.id.module_guide_tv_jump -> {
containerFragment?.closeGuideFragment()
}
}
}
class GuideOnLineCarPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -0,0 +1,59 @@
package com.mogo.module.guide.guide
import android.view.View
import com.mogo.commons.mvp.IView
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.mvp.Presenter
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.module.guide.R
import com.mogo.module.guide.fragment.GuideFragment
import com.mogo.module.guide.util.speak
import kotlinx.android.synthetic.main.module_guide_item_include.*
class GuideStageTwoFragment : MvpFragment<IView, Presenter<IView>>, View.OnClickListener {
private var containerFragment: GuideFragment? = null
constructor(containerFragment: GuideFragment) {
this.containerFragment = containerFragment
}
override fun getLayoutId(): Int {
return R.layout.module_guide_item_stage_two
}
override fun createPresenter(): Presenter<IView> {
return GuideCardPresenter(this)
}
override fun initViews() {
module_guide_page_left.setOnClickListener(this)
module_guide_page_right.setOnClickListener(this)
module_guide_tv_jump.setOnClickListener(this)
speak(context!!,context!!.resources.getString(R.string.module_guide_voice_page_two),object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
containerFragment?.moveToNext()
}
})
}
override fun onClick(v: View) {
when (v.id) {
R.id.module_guide_page_left -> {
containerFragment?.moveToBack()
}
R.id.module_guide_page_right -> {
containerFragment?.moveToNext()
}
R.id.module_guide_tv_jump -> {
containerFragment?.closeGuideFragment()
}
}
}
class GuideCardPresenter : Presenter<IView> {
constructor(view: IView?) : super(view)
}
}

View File

@@ -0,0 +1,10 @@
package com.mogo.module.guide.util
import android.content.Context
import com.mogo.commons.voice.AIAssist
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.commons.voice.VoicePreemptType
fun speak(context: Context, text: String, callBack: IMogoVoiceCmdCallBack?) {
AIAssist.getInstance(context).speakTTSVoice(text, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack)
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/dp_15"/>
<gradient android:angle="180" android:startColor="#42B2FD" android:endColor="#1F7BF9"/>
</shape>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<corners android:radius="@dimen/dp_53" />
<gradient android:endColor="#805CC1FF" android:startColor="#803E7FFC" />
</shape>
</item>
<item>
<shape>
<corners android:radius="@dimen/dp_53" />
<gradient android:endColor="#5CC1FF" android:startColor="#3E7FFC" />
</shape>
</item>
</selector>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_app_list">
<TextView
android:id="@+id/moduleGuideAppListNext"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginRight="@dimen/dp_521"
android:layout_marginBottom="@dimen/dp_132"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_next_step"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/moduleGuideAppListSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_77"
android:layout_marginRight="@dimen/dp_77"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="@color/module_guide_blue_3B91FF"
android:textSize="@dimen/dp_44"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_card">
<TextView
android:id="@+id/moduleGuideCardNext"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginRight="@dimen/dp_592"
android:layout_marginBottom="@dimen/dp_205"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_next_step"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/moduleGuideCardSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_77"
android:layout_marginRight="@dimen/dp_77"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="@color/module_guide_blue_3B91FF"
android:textSize="@dimen/dp_44"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_entry_main">
<TextView
android:id="@+id/moduleGuideEntryMain"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginBottom="@dimen/dp_132"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_entry_main"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/module_guide_page_right"
android:layout_width="@dimen/dp_52"
android:layout_height="@dimen/dp_87"
android:layout_marginRight="@dimen/dp_92"
android:src="@mipmap/module_guide_right_page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/module_guide_page_left"
android:layout_width="@dimen/dp_52"
android:layout_height="@dimen/dp_87"
android:layout_marginLeft="@dimen/dp_92"
android:src="@mipmap/module_guide_left_page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/module_guide_tv_jump"
android:layout_width="@dimen/dp_159"
android:layout_height="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_55"
android:background="@drawable/module_guide_blue_corner"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_37"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_location">
<TextView
android:id="@+id/moduleGuideLocationNext"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginLeft="@dimen/dp_787"
android:layout_marginBottom="@dimen/dp_125"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_next_step"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/moduleGuideLocationSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_77"
android:layout_marginRight="@dimen/dp_77"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="@color/module_guide_blue_3B91FF"
android:textSize="@dimen/dp_44"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_navigation">
<TextView
android:id="@+id/moduleGuideNavigationNext"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginLeft="@dimen/dp_787"
android:layout_marginBottom="@dimen/dp_125"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_next_step"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/moduleGuideNavigationSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_77"
android:layout_marginRight="@dimen/dp_77"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="@color/module_guide_blue_3B91FF"
android:textSize="@dimen/dp_44"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_online_car">
<TextView
android:id="@+id/moduleGuideOnLineCarNext"
android:layout_width="@dimen/dp_299"
android:layout_height="@dimen/dp_106"
android:layout_marginLeft="@dimen/dp_850"
android:layout_marginBottom="@dimen/dp_95"
android:background="@drawable/module_guide_selector_blue"
android:gravity="center"
android:text="@string/module_guide_item_next_step"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_44"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/moduleGuideOnLineCarSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_77"
android:layout_marginRight="@dimen/dp_77"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="@color/module_guide_blue_3B91FF"
android:textSize="@dimen/dp_44"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_stage_five">
<ImageView
android:id="@+id/module_guide_page_left"
android:layout_width="@dimen/dp_52"
android:layout_height="@dimen/dp_87"
android:layout_marginLeft="@dimen/dp_92"
android:src="@mipmap/module_guide_left_page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/module_guide_tv_jump"
android:layout_width="@dimen/dp_159"
android:layout_height="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_55"
android:background="@drawable/module_guide_blue_corner"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_37"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_stage_four">
<include
android:id="@+id/module_guide_include"
layout="@layout/module_guide_item_include" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_stage_one">
<ImageView
android:id="@+id/module_guide_page_right"
android:layout_width="@dimen/dp_52"
android:layout_height="@dimen/dp_87"
android:layout_marginRight="@dimen/dp_92"
android:src="@mipmap/module_guide_right_page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/module_guide_tv_jump"
android:layout_width="@dimen/dp_159"
android:layout_height="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_55"
android:background="@drawable/module_guide_blue_corner"
android:gravity="center"
android:text="@string/module_guide_skip"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_37"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_stage_three">
<include
android:id="@+id/module_guide_include"
layout="@layout/module_guide_item_include" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_stage_two">
<include
android:id="@+id/module_guide_include"
layout="@layout/module_guide_item_include" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/module_guide_item_start">
<ImageView
android:id="@+id/moduleGuideIvStart"
android:layout_width="@dimen/dp_77"
android:layout_height="@dimen/dp_77"
android:layout_marginBottom="@dimen/dp_75"
android:src="@mipmap/module_guide_item_start_scroll"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/moduleGuideTvStart"
app:layout_constraintTop_toTopOf="@+id/moduleGuideTvStart" />
<TextView
android:id="@+id/moduleGuideTvStart"
android:layout_width="@dimen/dp_307"
android:layout_height="@dimen/dp_73"
android:layout_marginRight="@dimen/dp_154"
android:layout_marginBottom="@dimen/dp_75"
android:gravity="center"
android:text="@string/module_guide_main"
android:textSize="@dimen/dp_51"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

View File

@@ -3,5 +3,12 @@
<string name="module_guide_main">左滑了解更多</string>
<string name="module_guide_item_entry_main">进入首页</string>
<string name="module_guide_item_next_step">下一步</string>
<string name="module_guide_skip">跳过教程</string>
<string name="module_guide_skip">跳过</string>
<string name="module_guide_voice_page_one">欢迎使用蘑菇出行,您下次可以直接对我说,打开蘑菇出行来直接进入应用,点击左下方按钮进行摄像头设置</string>
<string name="module_guide_voice_page_two"></string>
<string name="module_guide_voice_page_three">这里是道路信息显示,点击后可查看事件详情</string>
<string name="module_guide_voice_page_four">这里是事件汇总,您可以查看您参与的事件和您的分享记录</string>
<string name="module_guide_voice_page_five">点击这里可以把路况分享给其他车友,或者直接对我说,上报路况</string>
<string name="module_guide_voice_page_end">我们希望让您的出行更加安全高效,更多功能等着你去发现,快去体验体验吧</string>
</resources>

View File

@@ -90,7 +90,7 @@
android:gravity="center_vertical"
android:maxLines="1"
android:text="东城区北三环中路辅路小黄庄西路68号"
android:textColor="@color/white"
android:textColor="@color/tanlu_white"
android:textSize="@dimen/tanlu_module_full_title_content"
android:textStyle="bold" />

View File

@@ -39,5 +39,6 @@
<color name="color_999999">#999999</color>
<color name="color_99FFFFFF">#99FFFFFF</color>
<color name="color_59FFFFFF">#59FFFFFF</color>
<color name="tanlu_white">#FFFFFF</color>
</resources>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="12px"/>
<corners android:radius="@dimen/dp_11"/>
<gradient
android:startColor="#5E6079"
android:endColor="#3F4057"

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/share_event_item_bg_color"/>
<solid android:color="#1F2131"/>
<corners android:radius="12px"/>
</shape>

View File

@@ -3,7 +3,7 @@
<item >
<shape android:shape="rectangle">
<solid android:color="#ff3c3d51" />
<corners android:topLeftRadius="0dp" android:topRightRadius="0dp" android:bottomLeftRadius="@dimen/dp_10" android:bottomRightRadius="@dimen/dp_10" />
<corners android:topLeftRadius="0dp" android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="@dimen/dp_10" />
</shape>
</item>
</selector>

View File

@@ -2,9 +2,7 @@
<item>
<shape>
<corners android:radius="@dimen/module_v2x_panel_cor" />
<gradient android:angle="135"
android:endColor="#2E3141"
android:startColor="#3F435F" />
<gradient android:startColor="#FF2E3141" android:endColor="#FF3F435F" android:angle="0" />
</shape>
</item>
</selector>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="12px"/>
<gradient
android:angle="270"
android:startColor="@android:color/transparent"

View File

@@ -22,7 +22,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_75"
android:gravity="center"
android:textColor="#FFF"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_40"
app:layout_constraintEnd_toEndOf="@id/ivDialogBg"
app:layout_constraintStart_toStartOf="@id/ivDialogBg"
@@ -35,7 +35,7 @@
android:layout_height="@dimen/dp_130"
android:background="@drawable/v2x_dialog_left_bg"
android:gravity="center"
android:textColor="#FFF"
android:textColor="@color/v2x_FFF_2896FF"
android:textSize="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="@id/ivDialogBg"
app:layout_constraintEnd_toStartOf="@id/tvDialogRight"
@@ -48,7 +48,7 @@
android:layout_height="@dimen/dp_130"
android:background="@drawable/v2x_dialog_right_bg"
android:gravity="center"
android:textColor="#FFF"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="@id/ivDialogBg"
app:layout_constraintEnd_toEndOf="@id/ivDialogBg"

View File

@@ -3,118 +3,107 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground">
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@drawable/bg_v2x_event_list_item">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor="@color/share_event_item_bg_color"
app:cardCornerRadius="@dimen/dp_40"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tvImgTextContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/module_v2x_surrounding_item_bottom_image_height"
android:layout_marginTop="@dimen/dp_40"
android:layout_marginEnd="@dimen/dp_7"
android:background="@drawable/bg_v2x_event_type_orange"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_23"
android:paddingTop="@dimen/dp_5"
android:paddingEnd="@dimen/dp_23"
android:paddingBottom="@dimen/dp_5"
android:text="求助信息"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivFaultHelpHead"
android:layout_width="@dimen/dp_75"
android:layout_height="@dimen/dp_75"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/dp_21"
android:layout_marginEnd="@dimen/dp_31"
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
app:layout_constraintStart_toStartOf="@+id/tvImgTextContent"
app:layout_constraintTop_toBottomOf="@+id/tvImgTextContent"
app:miv_borderColor="#4cffffff"
app:miv_failureHolder="@drawable/icon_default_user_head"
app:miv_overlayImageId="@drawable/icon_default_user_head"
app:miv_placeHolder="@drawable/icon_default_user_head"
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<TextView
android:id="@+id/tvImgTextContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/module_v2x_surrounding_item_bottom_image_height"
android:layout_marginTop="@dimen/dp_40"
android:layout_marginEnd="@dimen/dp_7"
android:background="@drawable/bg_v2x_event_type_orange"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_23"
android:paddingTop="@dimen/dp_5"
android:paddingEnd="@dimen/dp_23"
android:paddingBottom="@dimen/dp_5"
android:text="求助信息"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/tvFaultHelpName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_28"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="@dimen/dp_22"
tools:text="车主昵称" />
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivFaultHelpHead"
android:layout_width="@dimen/dp_75"
android:layout_height="@dimen/dp_75"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/dp_21"
android:layout_marginEnd="@dimen/dp_31"
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
app:layout_constraintStart_toStartOf="@+id/tvImgTextContent"
app:layout_constraintTop_toBottomOf="@+id/tvImgTextContent"
app:miv_borderColor="#4cffffff"
app:miv_failureHolder="@drawable/icon_default_user_head"
app:miv_overlayImageId="@drawable/icon_default_user_head"
app:miv_placeHolder="@drawable/icon_default_user_head"
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<TextView
android:id="@+id/tvFaultHelpEventTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.59"
android:textColor="@color/v2x_FFF_999"
android:textSize="@dimen/dp_26"
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
tools:text="15:30发布求助信息" />
<TextView
android:id="@+id/tvFaultHelpName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_28"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="@dimen/dp_22"
tools:text="车主昵称" />
<TextView
android:id="@+id/tvFaultHelpDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:gravity="center_vertical"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_80"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall"
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpEventCall"
tools:text="300M" />
<TextView
android:id="@+id/tvFaultHelpEventTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.59"
android:textColor="@color/v2x_FFF_999"
android:textSize="@dimen/dp_26"
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
tools:text="15:30发布求助信息" />
<ImageView
android:id="@+id/ivFaultHelpEventCall"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginEnd="@dimen/dp_40"
android:src="@drawable/selector_talk_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<TextView
android:id="@+id/tvFaultHelpDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:gravity="center_vertical"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_80"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall"
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpEventCall"
tools:text="300M" />
<ImageView
android:id="@+id/ivFaultHelpEventNavi"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginRight="26px"
android:src="@drawable/selector_nav_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivFaultHelpEventCall"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginEnd="@dimen/dp_40"
android:src="@drawable/selector_talk_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivFaultHelpEventNavi"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginRight="26px"
android:src="@drawable/selector_nav_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.module.v2x.view.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlContent"
@@ -7,8 +7,7 @@
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">
android:paddingEnd="@dimen/dp_40">
<ImageView
android:id="@+id/ivIconP"
@@ -84,4 +83,4 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.mogo.module.v2x.view.RoundConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -7,117 +7,105 @@
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:layout_marginRight="10px"
android:layout_marginBottom="14px">
android:layout_marginBottom="14px"
android:background="@drawable/bg_v2x_event_list_item">
<androidx.cardview.widget.CardView
android:id="@+id/road_case_history_card_view"
android:layout_width="match_parent"
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/share_event_item_bg_color"
app:cardCornerRadius="12px"
app:layout_constraintTop_toTopOf="parent">
android:layout_marginStart="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="违章停车"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待评价"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType" />
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="违章停车"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivIconP"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/icon_illegal_parking"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tvAddress" />
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待评价"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType" />
<TextView
android:id="@+id/tvAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_30"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_34"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingLike"
app:layout_constraintStart_toEndOf="@+id/ivIconP"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
tools:text="小黄庄北街与北三环辅路交叉口小黄庄北街与北三环辅路交叉口" />
<ImageView
android:id="@+id/ivIconP"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/icon_illegal_parking"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tvAddress" />
<TextView
android:id="@+id/tvIllegalNum"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_24"
android:alpha="0.6"
android:gravity="center_vertical"
android:textColor="@color/v2x_FFF_666"
android:textSize="@dimen/dp_30"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tvAddress"
app:layout_constraintStart_toStartOf="@+id/tvAddress"
app:layout_constraintTop_toBottomOf="@+id/tvAddress"
tools:text="违章人数10人" />
<TextView
android:id="@+id/tvAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_30"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_34"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingLike"
app:layout_constraintStart_toEndOf="@+id/ivIconP"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
tools:text="小黄庄北街与北三环辅路交叉口小黄庄北街与北三环辅路交叉口" />
<com.mogo.module.v2x.view.HeartLikeView
android:id="@+id/llIllegalParkingLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingUnLike"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvIllegalNum"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_24"
android:alpha="0.6"
android:gravity="center_vertical"
android:textColor="@color/v2x_FFF_666"
android:textSize="@dimen/dp_30"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tvAddress"
app:layout_constraintStart_toStartOf="@+id/tvAddress"
app:layout_constraintTop_toBottomOf="@+id/tvAddress"
tools:text="违章人数10人" />
<com.mogo.module.v2x.view.HeartUnLikeView
android:id="@+id/llIllegalParkingUnLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="26px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.mogo.module.v2x.view.HeartLikeView
android:id="@+id/llIllegalParkingLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingUnLike"
app:layout_constraintTop_toTopOf="parent" />
<com.mogo.module.v2x.view.HeartUnLikeView
android:id="@+id/llIllegalParkingUnLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginRight="26px"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -6,142 +6,128 @@
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:layout_marginRight="10px"
android:layout_marginBottom="14px">
android:layout_marginBottom="14px"
android:background="@drawable/bg_v2x_event_list_item">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/share_event_item_bg_color"
app:cardCornerRadius="12px"
app:layout_constraintTop_toTopOf="parent">
android:layout_marginStart="@dimen/module_v2x_surrounding_item_bottom_image_height"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_orange"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="求助信息"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待援助"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType"
tools:visibility="visible" />
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_orange"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="求助信息"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivFaultHelpHead"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/dp_21"
android:layout_marginEnd="@dimen/dp_31"
app:layout_constraintBottom_toBottomOf="@+id/tvFaultHelpEventTime"
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:miv_borderColor="#4cffffff"
app:miv_failureHolder="@drawable/icon_default_user_head"
app:miv_overlayImageId="@drawable/icon_default_user_head"
app:miv_placeHolder="@drawable/icon_default_user_head"
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待援助"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType"
tools:visibility="visible" />
<TextView
android:id="@+id/tvFaultHelpName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_30"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_33"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tvFaultHelpDistance"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="@dimen/dp_22"
tools:text="车主昵称" />
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivFaultHelpHead"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/dp_21"
android:layout_marginEnd="@dimen/dp_31"
app:layout_constraintBottom_toBottomOf="@+id/tvFaultHelpEventTime"
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:miv_borderColor="#4cffffff"
app:miv_failureHolder="@drawable/icon_default_user_head"
app:miv_overlayImageId="@drawable/icon_default_user_head"
app:miv_placeHolder="@drawable/icon_default_user_head"
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<TextView
android:id="@+id/tvFaultHelpEventTime"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:alpha="0.59"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_29"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="@dimen/dp_24"
app:layout_constraintStart_toStartOf="@+id/tvFaultHelpName"
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
tools:text="15:30发布求助信息" />
<TextView
android:id="@+id/tvFaultHelpName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_30"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_33"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tvFaultHelpDistance"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="@dimen/dp_22"
tools:text="车主昵称" />
<TextView
android:id="@+id/tvFaultHelpDistance"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:gravity="center_vertical"
android:textColor="#FFF"
android:textSize="@dimen/dp_80"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall"
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpEventCall"
tools:text="300M" />
<TextView
android:id="@+id/tvFaultHelpEventTime"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_24"
android:alpha="0.59"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_29"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tvFaultHelpDistance"
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
tools:text="15:30发布求助信息" />
<ImageView
android:id="@+id/ivFaultHelpEventCall"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginEnd="@dimen/dp_40"
android:src="@drawable/selector_talk_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvFaultHelpDistance"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:gravity="center_vertical"
android:textColor="#FFF"
android:textSize="@dimen/dp_80"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/tvFaultHelpEventTime"
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
app:layout_constraintStart_toEndOf="@+id/tvFaultHelpEventTime"
tools:text="300M" />
<ImageView
android:id="@+id/ivFaultHelpEventNavi"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginRight="26px"
android:src="@drawable/selector_nav_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivFaultHelpEventCall"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginEnd="@dimen/dp_40"
android:src="@drawable/selector_talk_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivFaultHelpEventNavi"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:src="@drawable/selector_nav_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginRight="26px"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -3,9 +3,8 @@
xmlns:androud="http://schemas.android.com/apk/res-auto"
android:id="@+id/clPanelContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- android:background="@drawable/bg_v2x_event_surrounding_item"-->
android:layout_height="match_parent">
<!-- android:background="@drawable/bg_v2x_event_surrounding_item"-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -20,7 +19,7 @@
android:id="@+id/tv_brief"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/module_v2x_surrounding_margin_left"
android:text="周围5公里共15条交通信息"
android:textColor="@color/v2x_white"
@@ -53,9 +52,9 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/surrounding_recycleview"
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_tv_margin_top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_tv_margin_top"
android:visibility="visible" />
<!--空数据显示-->
@@ -101,34 +100,42 @@
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_main_share"
android:layout_width="@dimen/module_v2x_surrounding_empty_bt_width"
android:layout_height="@dimen/module_v2x_surrounding_empty_bt_height"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tv_main_empty_2"
android:layout_marginLeft="@dimen/module_v2x_surrounding_empty_bt_maigin_left"
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_bt_margin_top"
android:background="@drawable/bg_v2x_go_to_share"
android:gravity="center"
android:text="@string/v2x_surrounding_go_to_share"
android:textColor="@color/v2x_white"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_bt_margin_top">
<TextView
android:id="@+id/tv_main_refresh"
android:layout_width="@dimen/module_v2x_surrounding_empty_bt_width"
android:layout_height="@dimen/module_v2x_surrounding_empty_bt_height"
android:layout_below="@+id/tv_main_empty_2"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_bt_margin_top"
android:layout_marginRight="@dimen/module_v2x_surrounding_empty_bt_maigin_left"
android:background="@drawable/bg_v2x_refresh"
android:gravity="center"
android:text="@string/v2x_surrounding_refresh"
android:textColor="@color/v2x_white_refresh"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_main_share"
android:layout_width="@dimen/module_v2x_surrounding_empty_bt_width"
android:layout_height="@dimen/module_v2x_surrounding_empty_bt_height"
android:background="@drawable/bg_v2x_go_to_share"
android:layout_toLeftOf="@+id/center_empty"
android:text="@string/v2x_surrounding_go_to_share"
android:gravity="center"
android:textColor="@color/v2x_white"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
<View
android:id="@+id/center_empty"
android:layout_width="29px"
android:layout_height="29px"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/tv_main_refresh"
android:layout_width="@dimen/module_v2x_surrounding_empty_bt_width"
android:layout_height="@dimen/module_v2x_surrounding_empty_bt_height"
android:background="@drawable/bg_v2x_refresh"
android:layout_toRightOf="@+id/center_empty"
android:text="@string/v2x_surrounding_refresh"
android:gravity="center"
android:textColor="@color/v2x_white_refresh"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>

View File

@@ -84,16 +84,15 @@
android:layout_width="@dimen/dp_88"
android:layout_height="@dimen/dp_88"
android:layout_marginRight="28px"
android:background="@drawable/icon_window_close"
android:background="@drawable/v2x_panel_close"
app:layout_constraintBottom_toBottomOf="@+id/rgTabSelect"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/rgTabSelect" />
<View
android:layout_width="match_parent"
android:layout_height="58px"
android:background="@drawable/v2x_shadow_shape_view"
app:layout_constraintBottom_toBottomOf="parent" />
<!-- <View-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="58px"-->
<!-- android:background="@drawable/v2x_shadow_shape_view"-->
<!-- app:layout_constraintBottom_toBottomOf="parent" />-->
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,113 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/road_case_liset_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20px"
android:layout_marginRight="20px"
android:layout_marginBottom="14px">
android:layout_marginBottom="14px"
android:background="@drawable/bg_v2x_event_list_item">
<androidx.cardview.widget.CardView
android:id="@+id/road_case_card_view"
android:layout_width="match_parent"
<TextView
android:id="@+id/road_case_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/share_event_item_bg_color"
app:cardCornerRadius="12px"
app:layout_constraintTop_toTopOf="parent">
android:layout_marginLeft="20px"
android:layout_marginTop="12px"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="5px"
android:paddingTop="3px"
android:paddingRight="5px"
android:paddingBottom="3px"
android:text="道路类型"
android:textColor="#FFFFFF"
android:textSize="14px" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/road_case_useless_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:gravity="center"
android:paddingRight="20px"
android:text="100"
android:textColor="#FFFFFF"
android:textSize="18px" />
<TextView
android:id="@+id/road_case_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20px"
android:layout_marginTop="12px"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="5px"
android:paddingTop="3px"
android:paddingRight="5px"
android:paddingBottom="3px"
android:text="道路类型"
android:textColor="#FFFFFF"
android:textSize="14px" />
<com.mogo.module.v2x.view.HeartUnLikeView
android:id="@+id/road_case_useless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/road_case_useless_num"
android:clickable="false"
android:gravity="center"
android:paddingRight="5px" />
<TextView
android:id="@+id/road_case_useless_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:gravity="center"
android:paddingRight="20px"
android:text="100"
android:textColor="#FFFFFF"
android:textSize="18px" />
<TextView
android:id="@+id/road_case_useful_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/road_case_useless"
android:gravity="center"
android:paddingRight="26px"
android:text="100"
android:textColor="#FFFFFF"
android:textSize="18px" />
<com.mogo.module.v2x.view.HeartLikeView
android:id="@+id/road_case_uselful"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/road_case_useful_num"
android:clickable="false"
android:paddingRight="5px" />
<com.mogo.module.v2x.view.HeartUnLikeView
android:id="@+id/road_case_useless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:clickable="false"
android:layout_toLeftOf="@id/road_case_useless_num"
android:gravity="center"
android:paddingRight="5px" />
<TextView
android:id="@+id/road_case_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/road_case_style"
android:layout_alignLeft="@id/road_case_style"
android:layout_toLeftOf="@id/road_case_uselful"
android:ellipsize="end"
android:gravity="left"
android:lines="1"
android:paddingTop="2px"
android:text="东城区北三环附近维多欧美"
android:textColor="@color/share_event_address_color"
android:textSize="18px" />
<TextView
android:id="@+id/road_case_useful_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/road_case_useless"
android:gravity="center"
android:paddingRight="26px"
android:text="100"
android:textColor="#FFFFFF"
android:textSize="18px" />
<com.mogo.module.v2x.view.HeartLikeView
android:id="@+id/road_case_uselful"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:clickable="false"
android:layout_toLeftOf="@id/road_case_useful_num"
android:paddingRight="5px" />
<TextView
android:id="@+id/road_case_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/road_case_style"
android:layout_alignLeft="@id/road_case_style"
android:layout_toLeftOf="@id/road_case_uselful"
android:ellipsize="end"
android:gravity="left"
android:lines="1"
android:paddingTop="2px"
android:text="东城区北三环附近维多欧美"
android:textColor="@color/share_event_address_color"
android:textSize="18px" />
<TextView
android:id="@+id/road_case_share_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/road_case_address"
android:layout_marginLeft="20px"
android:layout_marginBottom="11px"
android:alpha="0.5"
android:gravity="left"
android:text="时间:"
android:paddingTop="2px"
android:textColor="@color/share_event_share_time_color"
android:textSize="16px" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/road_case_share_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/road_case_address"
android:layout_marginLeft="20px"
android:layout_marginBottom="11px"
android:alpha="0.5"
android:gravity="left"
android:paddingTop="2px"
android:text="时间:"
android:textColor="@color/share_event_share_time_color"
android:textSize="16px" />
</RelativeLayout>

View File

@@ -11,7 +11,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:overScrollMode="never"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"></androidx.recyclerview.widget.RecyclerView>
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
<com.mogo.module.v2x.view.V2XNetworkLoadingView
android:id="@+id/network_loading_imageview"

View File

@@ -4,8 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_event_window_height"
android:background="@drawable/v2x_alert_window_bg"
app:roundLayoutRadius="@dimen/dp_40">
android:background="@drawable/v2x_alert_window_bg">
<com.tencent.rtmp.ui.TXCloudVideoView
android:id="@+id/txcVideoView"

View File

@@ -95,7 +95,7 @@
<Button
android:id="@+id/btnTriggerFatigueDrivingEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="45px"
android:background="#DF4019"
android:padding="@dimen/dp_10"
android:text="触发疲劳驾驶"

View File

@@ -36,7 +36,6 @@
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_maigin_left">110px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
@@ -50,5 +49,5 @@
<dimen name="module_v2x_surrounding_top_textsize">18px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">20px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">16px</dimen>
<dimen name="module_v2x_panel_cor">30px</dimen>
</resources>

View File

@@ -37,7 +37,6 @@
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_maigin_left">110px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
@@ -53,7 +52,7 @@
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">16px</dimen>
<dimen name="module_v2x_des_index_width">16px</dimen>
<dimen name="module_v2x_des_index_height">4px</dimen>
<dimen name="module_v2x_panel_cor">30px</dimen>
<dimen name="module_v2x_panel_cor">16px</dimen>
<dimen name="module_v2x_panel_width">120px</dimen>
</resources>

View File

@@ -8,7 +8,6 @@
<color name="v2x_white_refresh">#FFFFFF</color>
<color name="transparent_white_30">#B3FFFFFF</color>
<color name="surrounding_item_bottom_color">#1F2131</color>
<color name="share_event_item_bg_color">#1F2131</color>
<color name="share_event_share_time_color">#FFFFFF</color>
<color name="share_event_address_color">#FFFFFF</color>
<color name="panel_shadow_shape_color">#10121E</color>
@@ -19,5 +18,7 @@
<color name="v2x_FFF_666">#FFFFFF</color>
<color name="v2x_555A_F5F5">#555A75</color>
<color name="v2x_000_FFF">#000000</color>
<color name="v2x_FFF_2896FF">#FFF</color>
</resources>

View File

@@ -31,7 +31,7 @@
<dimen name="module_v2x_map_top">200px</dimen>
<dimen name="module_v2x_map_right">200px</dimen>
<dimen name="module_v2x_map_bottom">100px</dimen>
<dimen name="module_v2x_surrounding_top_height">40px</dimen>
<dimen name="module_v2x_surrounding_top_height">50px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">90px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">36px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">40px</dimen>
@@ -39,7 +39,6 @@
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_maigin_left">90px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>

View File

@@ -49,6 +49,8 @@ include ':modules:mogo-module-push'
include ':modules:mogo-module-push-base'
include ':modules:mogo-module-push-noop'
include ':modules:mogo-module-guide'
include ':modules:mogo-module-tanlu'
include ':libraries:tanlulib'
include ':skin'

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#DDDDDD"/>
<corners android:radius="12px"/>
</shape>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<gradient android:angle="135" android:endColor="#FFFFFF" android:startColor="#F5F5F5" android:type="linear" android:useLevel="true" />
<corners android:radius="@dimen/dp_20" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:angle="90" android:endColor="#FFF" android:startColor="#FFF" android:type="linear" android:useLevel="true" />
<corners android:bottomLeftRadius="@dimen/dp_11" android:bottomRightRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="#E8E8E8" />
<corners android:topLeftRadius="0dp" android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="@dimen/dp_10" />
</shape>
</item>
</selector>

View File

@@ -2,9 +2,7 @@
<item>
<shape>
<corners android:radius="@dimen/dp_40" />
<gradient android:angle="135"
android:endColor="#FFFFFF"
android:startColor="#F5F5F5" />
<gradient android:startColor="#FFFFFFFF" android:endColor="#E5F5F5F5" android:angle="0" />
</shape>
</item>
</selector>

View File

@@ -15,4 +15,5 @@
<color name="v2x_FFF_666_light">#666666</color>
<color name="v2x_555A_F5F5_light">#F5F5F5</color>
<color name="v2x_000_FFF_light">#FFFFFF</color>
<color name="v2x_FFF_2896FF_light">#2896FF</color>
</resources>