diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index f89feb66b1..144e16a2f4 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -47,6 +47,7 @@ public class MogoApplication extends AbsMogoApplication { crashSystem.setDebug(BuildConfig.DEBUG); Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); + MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_AGREEMENT_FRAGMENT, PATH_GUIDE_AGREEMENT_MODULE_NAME)); //运营位卡片,需要默认显示,放在第一个加载 MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); @@ -58,7 +59,6 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); MogoModulePaths.addModule(new MogoModule(BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME)); - MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_AGREEMENT_FRAGMENT, PATH_GUIDE_AGREEMENT_MODULE_NAME)); Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); } diff --git a/config.gradle b/config.gradle index ddf2cc8b7d..58336a0e3e 100644 --- a/config.gradle +++ b/config.gradle @@ -51,10 +51,9 @@ ext { // 公司服务 - 埋点 analytics : "com.elegant.analytics:analytics:1.1.19", - // retrofit - retrofit : "com.squareup.retrofit2:retrofit:2.3.0", - retrofitadapter : "com.squareup.retrofit2:adapter-rxjava2:2.3.0", - retrofitconvertergson : "com.squareup.retrofit2:converter-gson:2.3.0", + retrofit : "com.squareup.retrofit2:retrofit:2.6.0", + retrofitadapter : "com.squareup.retrofit2:adapter-rxjava2:2.6.0", + retrofitconvertergson : "com.squareup.retrofit2:converter-gson:2.6.0", retrofitconverterscalars : "com.squareup.retrofit2:converter-scalars:2.1.0", diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RetrofitFactory.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RetrofitFactory.java index 4d079a013b..f451d23d56 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RetrofitFactory.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RetrofitFactory.java @@ -11,22 +11,36 @@ import retrofit2.converter.gson.GsonConverterFactory; public final class RetrofitFactory { - private static final Map< String, Retrofit> sRpcServiceMap = new ArrayMap< String,Retrofit>(); + private static final Map sRpcServiceMap = new ArrayMap(); + private static final Map sRpcNoAdapterServiceMap = new ArrayMap(); - private RetrofitFactory(){} + private RetrofitFactory() { + } - public static synchronized Retrofit getInstance( String baseUrl) { + public static synchronized Retrofit getInstance(String baseUrl) { Retrofit target = sRpcServiceMap.get(baseUrl); - if(target == null){ + if (target == null) { target = new Retrofit.Builder(). client(OkHttpFactory.getInstance()). baseUrl(baseUrl). - addCallAdapterFactory( RxJava2CallAdapterFactory.create()). + addCallAdapterFactory(RxJava2CallAdapterFactory.create()). addConverterFactory(GsonConverterFactory.create()). build(); - sRpcServiceMap.put(baseUrl,target); + sRpcServiceMap.put(baseUrl, target); } return target; } + public static synchronized Retrofit getInstanceNoCallAdapter(String baseUrl) { + Retrofit target = sRpcNoAdapterServiceMap.get(baseUrl); + if (target == null) { + target = new Retrofit.Builder(). + client(OkHttpFactory.getInstance()). + baseUrl(baseUrl). + addConverterFactory(GsonConverterFactory.create()). + build(); + sRpcNoAdapterServiceMap.put(baseUrl, target); + } + return target; + } } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt index 4a08709d56..4e8142a38d 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/IMogoAuthorizeController.kt @@ -23,30 +23,34 @@ open class IMogoAuthorizeController { Logger.d(TAG, "invokeAuthorizeContent ---checkAgreementType can not find tag :$tag") }) } - request> { - loader { - authorizeModel.invokeAuthorizeContent(agreementType) - } - onSuccess { - Logger.d(TAG, "invokeAuthorizeContent onSuccess data: ${it.result}") - getAuthorizeContentListener(tag, { listener -> - if (it.result != null) { - listener.requestContentSuccess(it.result) - } else { - listener.requestContentFailed("request authorize content success ,but result data is :${it.result}") - } - }, { - Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") - }) - } - onError { - getAuthorizeContentListener(tag, { listener -> - listener.requestContentFailed(it.message - ?: "request authorize content failed,please check network") - }, { - Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") - }) + try { + request> { + loader { + authorizeModel.invokeAuthorizeContent(1) + } + onSuccess { + Logger.d(TAG, "invokeAuthorizeContent onSuccess data: ${it.result}") + getAuthorizeContentListener(tag, { listener -> + if (it.result != null) { + listener.requestContentSuccess(it.result) + } else { + listener.requestContentFailed("request authorize content success ,but result data is :${it.result}") + } + }, { + Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") + }) + } + onError { + getAuthorizeContentListener(tag, { listener -> + listener.requestContentFailed(it.message + ?: "request authorize content failed,please check network") + }, { + Logger.d(TAG, "invokeAuthorizeContent --- can not find listener by this tag :$tag") + }) + } } + }catch (e:Exception){ + e.printStackTrace() } } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt index 997c4aac5d..4e4a08930b 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/biz/MogoAuthorizeManagerImpl.kt @@ -17,7 +17,9 @@ open abstract class MogoAuthorizeManagerImpl : IMogoAuthorizeInvoke { override fun invokeAuthorizeContent(tag: String) { //todo 后面动态代理统一处理校验问题 + Logger.d("invokeAuthorizeContent","tag:$tag") val agreementType = AuthorizeProxy.getAuthorizeType(tag) + Logger.d("invokeAuthorizeContent","agreementType:$agreementType") baseController.invokeAuthorizeContent(tag, agreementType) } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainModel.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainModel.kt index b843f1696c..fa8f32cb59 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainModel.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoAuthorizeMainModel.kt @@ -5,7 +5,6 @@ import com.mogo.commons.network.Utils.getSn import com.mogo.module.authorize.model.BaseResponse import com.mogo.module.authorize.model.IMogoAuthorizeModel import com.mogo.module.authorize.model.bean.UpdateAuthorize -import com.mogo.module.authorize.util.ServiceUtil.getNetWorkApi class MogoAuthorizeMainModel : IMogoAuthorizeModel() { @@ -14,4 +13,5 @@ class MogoAuthorizeMainModel : IMogoAuthorizeModel() { val map = mapOf("sn" to getSn(), "data" to updateAuthorize) return apiCall { getNetWorkApi().updateAuthorize(map) } } + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt index ec4e4f82e3..33fdb9e8dc 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/authprovider/launcher/MogoMainAuthorize.kt @@ -4,8 +4,8 @@ import android.os.Looper import com.alibaba.android.arouter.launcher.ARouter import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeManagerImpl import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler +import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN import com.mogo.module.authorize.fragment.AuthorizeFragment -import com.mogo.module.authorize.util.ServiceUtil.getFragmentManagerApi import com.mogo.module.authorize.util.SharedPreferenceUtil.hasAuth import com.mogo.service.IMogoServiceApis import com.mogo.service.MogoServicePaths @@ -39,7 +39,7 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog Logger.d(TAG, "User is operation authorization, do not repeat invoke") return } - pushFragmentToMainView { + pushFragmentToMainView(AUTHORIZE_TYPE_LAUNCHER_MAIN) { showAuthorizeView = true } } @@ -65,7 +65,7 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog Logger.d(TAG, "ready to forbidden voice") forbiddenVoice.invoke() Logger.d(TAG, "ready to push fragment") - pushFragmentToMainView { + pushFragmentToMainView(tag) { showAuthorizeView = true } } @@ -76,9 +76,9 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog } } - private inline fun pushFragmentToMainView(push: (() -> Unit)) { - val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment()).build() - Logger.d(TAG,"pushFragmentToMainView") + private inline fun pushFragmentToMainView(tag: String, push: (() -> Unit)) { + val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment(tag)).build() + Logger.d(TAG, "pushFragmentToMainView") val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() if (mogoService is IMogoServiceApis) { mogoService.fragmentManagerApi.push(builderWrapper) @@ -87,8 +87,27 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog } private inline fun popFragmentFromMainView(pop: (() -> Unit)) { - getFragmentManagerApi().pop() + val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() + if (mogoService is IMogoServiceApis) { + mogoService.fragmentManagerApi.pop() + } pop.invoke() } + fun authorizeSuccess(tag: String) { + val listener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag) + if (listener == null) { + Logger.d(TAG, "authorizeSuccess,but listener is null ") + } + listener!!.authorizeSuccess() + } + + fun authorizeFailed(tag: String, errorMsg: String) { + val listener = MogoAuthorizeRegisterHandler.getAuthorizeListener(tag) + if (listener == null) { + Logger.d(TAG, "authorizeFailed,but listener is null ") + } + listener!!.authorizeFailed(errorMsg) + } + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/ApiException.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/ApiException.kt index 550657005e..1fbac4455c 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/ApiException.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/ApiException.kt @@ -5,7 +5,6 @@ class ApiException : CommonException { companion object { val NULL_REQUEST_DATA_API_EXCEPTION = ApiException(2, "request data is null") - val ENTER_ROOM_API_EXCEPTION = ApiException(3, "roomId is null or already enter room") } constructor(code: Int, msg: String) : super(code, msg) diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/CommonException.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/CommonException.kt index 53c430493c..927f4819e2 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/CommonException.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/exception/CommonException.kt @@ -4,6 +4,7 @@ open class CommonException : Exception { companion object { val NETWORK_EXCEPTION = CommonException(1, "network is error") + val NULL_EXCEPTION = CommonException(1, "error msg is null") } protected var code: Int = 0 diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeContract.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeContract.kt index f63ac5886e..193f7e9146 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeContract.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeContract.kt @@ -5,10 +5,18 @@ import com.mogo.commons.mvp.IView class AuthorizeContract { interface View : IView { + fun showAuthorizationAgreementContent(agreementId: Long, agreementContent: String, agreementTitle: String, agreementBottom: String, agreementLast: String) + fun readyToAuthorize() + + fun showAuthorizationError() } interface Biz { + fun invokeAuthorize(invokeTag: String) + fun agreeAuthorize(tag: String, agreementId: Long) + + fun disAgreeAuthorize(tag: String, agreementId: Long) } } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt index 5bc6fcde59..4be93d917b 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizeFragment.kt @@ -1,28 +1,74 @@ package com.mogo.module.authorize.fragment +import android.text.Html import android.view.View import com.mogo.commons.mvp.MvpFragment import com.mogo.module.authorize.R +import com.mogo.utils.logger.Logger +import kotlinx.android.synthetic.main.module_authorize_fragment.* -class AuthorizeFragment : MvpFragment(), AuthorizeContract.View,View.OnClickListener { +class AuthorizeFragment(private val invokeTag: String) : MvpFragment(), AuthorizeContract.View, View.OnClickListener { companion object { const val TAG = "AuthorizeFragment" } + private var agreementId: Long = 0L + override fun getLayoutId(): Int { return R.layout.module_authorize_fragment } override fun initViews() { - + btnAuthorizeAgree.setOnClickListener(this) + btnAuthorizeDisAgree.setOnClickListener(this) + btnAuthorizeLoadingError.setOnClickListener(this) + clLoadingErrorContainer.setOnClickListener(this) + Logger.d(TAG, "invokeTag :$invokeTag") } override fun createPresenter(): AuthorizePresenter { - return AuthorizePresenter(this) + return AuthorizePresenter(invokeTag, this) + } + + override fun readyToAuthorize() { + clLoadingErrorContainer.visibility = View.GONE + clLoadingContainer.visibility = View.VISIBLE + } + + override fun showAuthorizationAgreementContent( + agreementId: Long, + agreementContent: String, + agreementTitle: String, + agreementBottom: String, + agreementLast: String) { + clLoadingContainer.visibility = View.GONE + clAuthorizeContainer.visibility = View.VISIBLE + this.agreementId = agreementId + tvAuthorizeTitle.text = Html.fromHtml(agreementTitle) + tvAuthorizeContent.text = Html.fromHtml(agreementContent) + tvAuthorizeButtonContent.text = Html.fromHtml(agreementBottom) + tvAuthorizeLastContent.text = Html.fromHtml(agreementContent) + } + + override fun showAuthorizationError() { + clLoadingContainer.visibility = View.GONE + clLoadingErrorContainer.visibility = View.VISIBLE } override fun onClick(v: View) { - + when (v.id) { + R.id.btnAuthorizeAgree -> { + mPresenter.agreeAuthorize(invokeTag, agreementId) + } + R.id.btnAuthorizeDisAgree -> { + mPresenter.disAgreeAuthorize(invokeTag, agreementId) + } + R.id.clLoadingErrorContainer, R.id.btnAuthorizeLoadingError -> { + mPresenter.invokeAuthorize(invokeTag) + } + } } + + } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt index 98a3d3f79f..96d96c6f08 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/fragment/AuthorizePresenter.kt @@ -2,14 +2,85 @@ package com.mogo.module.authorize.fragment import androidx.lifecycle.LifecycleOwner import com.mogo.commons.mvp.Presenter +import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener +import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow +import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener +import com.mogo.module.authorize.model.bean.UserAgreement +import com.mogo.module.authorize.model.proxy.AuthorizeProxy +import com.mogo.utils.logger.Logger -class AuthorizePresenter : Presenter, AuthorizeContract.Biz { +class AuthorizePresenter : Presenter, AuthorizeContract.Biz, IMogoAuthorizeContentListener, IMogoAcquireAuthorizeListener { - constructor(view: AuthorizeContract.View?) : super(view) + companion object { + const val TAG = "AuthorizePresenter" + } + + private var invokeTag: String? = null + + constructor(invokeTag: String, view: AuthorizeContract.View?) : super(view) { + this.invokeTag = invokeTag + } override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) + Logger.d(TAG, "onCreate invokeTag:$invokeTag") + invokeAuthorize(invokeTag!!) } + override fun invokeAuthorize(invokeTag: String) { + mView.readyToAuthorize() + this.invokeTag = invokeTag + mogoAuthShow.registerInvokeAuthorizeContentListener(invokeTag, this) + mogoAuthShow.registerAuthorizeListener(invokeTag, this) + mogoAuthShow.invokeAuthorizeContent(invokeTag) + } + override fun requestContentSuccess(userAgreement: UserAgreement) { + val id = userAgreement.agreementEntity.id + val content = userAgreement.agreementContent[0] + val title = userAgreement.agreementEntity.title + val bottomContent = userAgreement.agreementEntity.agreementButtonFirst + val lastContent = userAgreement.agreementEntity.agreementButtonSecond + mView.showAuthorizationAgreementContent(id, content, title, bottomContent, lastContent) + } + + override fun requestContentFailed(errorMsg: String) { + Logger.d(TAG, "requestContentFailed errorMsg:$errorMsg") + mView.showAuthorizationError() + } + + override fun agreeAuthorize(tag: String, agreementId: Long) { + mogoAuthShow.agreeAuthorize(tag, agreementId) + } + + override fun disAgreeAuthorize(tag: String, agreementId: Long) { + mogoAuthShow.disAgreeAuthorize(tag, agreementId) + } + + override fun authorizeSuccess() { + mogoAuthShow.authorizeSuccess(invokeTag!!) + closeAuthorizeView() + } + + override fun authorizeFailed(errorMsg: String) { + mogoAuthShow.authorizeFailed(invokeTag!!, errorMsg) + closeAuthorizeView() + } + + override fun forbiddenVoiceWhenAuthorize(cmd: String) { + //do nothing + } + + private fun closeAuthorizeView() { + mogoAuthShow.hideAuthorizeView() + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + Logger.d(TAG, "onDestroy invokeTag : $invokeTag") + invokeTag?.let { + mogoAuthShow.unregisterInvokeAuthorizeContentListener(it) + mogoAuthShow.unregisterAuthorizeListener(it) + } + } } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/BaseRepository.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/BaseRepository.kt index 004a7bbf05..2e82101711 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/BaseRepository.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/BaseRepository.kt @@ -1,8 +1,23 @@ package com.mogo.module.authorize.model +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.module.authorize.constant.HttpConstant +import com.mogo.module.authorize.net.AuthorizeApi +import com.mogo.service.IMogoServiceApis +import com.mogo.service.MogoServicePaths + open class BaseRepository { suspend fun apiCall(call: suspend () -> BaseResponse): BaseResponse { return call.invoke() } + + fun getNetWorkApi(): AuthorizeApi { + var serviceApi: IMogoServiceApis? = null + val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() + if (mogoService is IMogoServiceApis) { + serviceApi = mogoService + } + return serviceApi!!.networkApi.createNoCallAdapter(AuthorizeApi::class.java, HttpConstant.getNetHost()) + } } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/IMogoAuthorizeModel.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/IMogoAuthorizeModel.kt index 915f9123fd..92b5fe261d 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/IMogoAuthorizeModel.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/IMogoAuthorizeModel.kt @@ -4,7 +4,6 @@ import com.google.gson.Gson import com.mogo.commons.network.Utils.getSn import com.mogo.module.authorize.model.bean.RequestUserAgreement import com.mogo.module.authorize.model.bean.UserAgreement -import com.mogo.module.authorize.util.ServiceUtil.getNetWorkApi open class IMogoAuthorizeModel : BaseRepository() { diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/bean/UserAgreement.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/bean/UserAgreement.kt index 38b70c86e3..9e11630fc2 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/bean/UserAgreement.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/bean/UserAgreement.kt @@ -8,7 +8,7 @@ class RequestUserAgreement(val agreementType:Int) data class UserAgreement(var agreementEntity: TUserAgreementEntity, var agreementContent: List) data class TUserAgreementEntity( - val id: Int, //协议ID + val id: Long, //协议ID val title: String, //标题 val subhead: String, //副标题 val agreementButtonFirst: String, //底部标题1 diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt index 68682a87b3..65ad9ea34d 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/model/proxy/AuthorizeProxy.kt @@ -7,25 +7,26 @@ import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Co import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_NOVELTY import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_TAN_LU -import java.util.* class AuthorizeProxy { companion object { - var allAuthorizeTypes = HashMap() + + const val TAG = "AuthorizeProxy" fun getAuthorizeType(authorizeName: String): Int { if (authorizeName.isNullOrBlank()) { return -1 } - return allAuthorizeTypes[authorizeName]!!.getAcquireId() - } - } - - init { - for ((index, type) in AuthorizeEnum.values().withIndex()) { - type.getOperationName()?.let { - allAuthorizeTypes[it] = type + return when (authorizeName) { + AUTHORIZE_TYPE_LAUNCHER_MAIN, + AUTHORIZE_TYPE_LAUNCHER_SHARE_NOVELTY, + AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC -> 0 + AUTHORIZE_TYPE_TAN_LU -> 1 + AUTHORIZE_TYPE_CALL_CHAT -> 2 + AUTHORIZE_TYPE_NOVELTY -> 3 + AUTHORIZE_TYPE_AUXILIARY_DRIVING -> 4 + else -> -1 } } } diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/AuthorizeApi.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/AuthorizeApi.kt index 4e8a443d0f..c2b25d961a 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/AuthorizeApi.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/AuthorizeApi.kt @@ -8,14 +8,14 @@ import retrofit2.http.POST interface AuthorizeApi { - //获取授权内容 + //获取授权内容· @FormUrlEncoded - @POST("yycp-channelManager/agreement/findUserAgreement") + @POST("yycp-channelManager/user/agreement/findUserAgreement") suspend fun getAuthorizeContent(@FieldMap authorizeContent: Map): BaseResponse //更新授权状态 @FormUrlEncoded - @POST("yycp-channelManager/agreement/updateStatus") + @POST("yycp-channelManager/user/agreement/updateStatus") suspend fun updateAuthorize(@FieldMap updateStatus: Map): BaseResponse } \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/CoroutineDSL.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/CoroutineDSL.kt index 8d66537415..c415974178 100644 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/CoroutineDSL.kt +++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/net/CoroutineDSL.kt @@ -3,7 +3,9 @@ package com.mogo.module.authorize.net import com.mogo.module.authorize.exception.ApiException import com.mogo.module.authorize.exception.ApiException.Companion.NULL_REQUEST_DATA_API_EXCEPTION import com.mogo.module.authorize.exception.CommonException.Companion.NETWORK_EXCEPTION +import com.mogo.module.authorize.exception.CommonException.Companion.NULL_EXCEPTION import com.mogo.module.authorize.model.BaseResponse +import com.mogo.utils.logger.Logger import kotlinx.coroutines.* import java.net.SocketTimeoutException import java.net.UnknownHostException @@ -61,11 +63,15 @@ class Request { } } catch (e: Exception) { e.printStackTrace() + if(e == null){ + onError?.invoke(NULL_EXCEPTION) + return@launch + } when (e) { is UnknownHostException -> onError?.invoke(NETWORK_EXCEPTION) is TimeoutException -> onError?.invoke(NETWORK_EXCEPTION) is SocketTimeoutException -> onError?.invoke(NETWORK_EXCEPTION) - else -> onError?.invoke(java.lang.Exception(e.message)) + else -> onError?.invoke(java.lang.Exception(e.message?:"")) } } finally { onComplete?.invoke() diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt deleted file mode 100644 index 5d5c87d7a9..0000000000 --- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/ServiceUtil.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.mogo.module.authorize.util - -import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.commons.AbsMogoApplication -import com.mogo.module.authorize.constant.HttpConstant.Companion.getNetHost -import com.mogo.module.authorize.net.AuthorizeApi -import com.mogo.service.IMogoServiceApis -import com.mogo.service.MogoServicePaths -import com.mogo.service.fragmentmanager.IMogoFragmentManager - -object ServiceUtil { - - private lateinit var serviceApi: IMogoServiceApis - - init { - initMogoService() - } - - private fun initMogoService() { - if (serviceApi == null) { - val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation() - if (mogoService is IMogoServiceApis) { - this.serviceApi = mogoService - } - } - } - - fun getNetWorkApi(): AuthorizeApi { - checkInit() - return serviceApi.networkApi.create(AuthorizeApi::class.java, getNetHost()) - } - - fun getFragmentManagerApi(): IMogoFragmentManager { - checkInit() - return serviceApi.fragmentManagerApi - } - - private fun checkInit() { - if (serviceApi == null) { - initMogoService() - } - } - -} \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_scrollbar.png b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_scrollbar.png new file mode 100644 index 0000000000..1bb3d4882d Binary files /dev/null and b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_scrollbar.png differ diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_corner.xml new file mode 100644 index 0000000000..c2d1fec152 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_corner.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_left_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_left_corner.xml new file mode 100644 index 0000000000..6399ca294a --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_blue_left_corner.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_corner.xml new file mode 100644 index 0000000000..1b8bbd3159 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_corner.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_right_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_right_corner.xml new file mode 100644 index 0000000000..d866721b3b --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_selector_dark_right_corner.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_shape_drak_top_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_shape_drak_top_corner.xml new file mode 100644 index 0000000000..0f2dab89cb --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-ldpi/module_authorize_shape_drak_top_corner.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml b/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml index e313c14595..7e09e1a855 100644 --- a/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml +++ b/modules/mogo-module-authorize/src/main/res/layout/module_authorize_fragment.xml @@ -1,9 +1,183 @@ - + android:background="#000000"> + + + + + + + + + + + + +