diff --git a/build.gradle b/build.gradle
index 3ded6f7f50..bcde7f1aed 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,10 +3,7 @@ apply from: "config.gradle"
apply from: "javadoc.gradle"
buildscript {
- ext.kotlin_version = '1.3.41'
-
ext.kotlin_version = '1.3.61'
- ext.kotlin_version = '1.3.61+'
repositories {
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java
index fc2e14f921..3561592a54 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java
@@ -10,41 +10,43 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
+import com.mogo.utils.logger.Logger;
+
/**
* @author congtaowang
* @since 2019-12-23
*
* mvp fragment
*/
-public abstract class MvpFragment< V extends IView, P extends Presenter< V > > extends Fragment implements IView {
+public abstract class MvpFragment> extends Fragment implements IView {
private Context mContext;
protected P mPresenter;
protected View mRootView;
@Override
- public void onAttach( Context context ) {
- super.onAttach( context );
+ public void onAttach(Context context) {
+ super.onAttach(context);
mContext = context;
}
@Nullable
@Override
- public View onCreateView( @NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState ) {
-// if ( mRootView == null ) {
-// mRootView = inflater.inflate( getLayoutId(), container, false );
-// } else {
-// ViewGroup viewGroup = ( ViewGroup ) mRootView.getParent();
-// if ( viewGroup != null )
-// viewGroup.removeView( mRootView );
-// }
- mRootView = inflater.inflate( getLayoutId(), container, false );
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ if ( mRootView == null ) {
+ mRootView = inflater.inflate( getLayoutId(), container, false );
+ } else {
+ ViewGroup viewGroup = ( ViewGroup ) mRootView.getParent();
+ if ( viewGroup != null )
+ viewGroup.removeView( mRootView );
+ }
+ mRootView = inflater.inflate(getLayoutId(), container, false);
return mRootView;
}
@Override
- public void onViewCreated( @NonNull View view, @Nullable Bundle savedInstanceState ) {
- super.onViewCreated( view, savedInstanceState );
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
initViews(savedInstanceState);
}
@@ -56,11 +58,11 @@ public abstract class MvpFragment< V extends IView, P extends Presenter< V > > e
protected abstract int getLayoutId();
@Override
- public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
- super.onActivityCreated( savedInstanceState );
+ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
initViews();
mPresenter = createPresenter();
- getViewLifecycleOwner().getLifecycle().addObserver( mPresenter );
+ getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
}
/**
@@ -68,7 +70,9 @@ public abstract class MvpFragment< V extends IView, P extends Presenter< V > > e
* presenter 生命周期错乱
*/
protected abstract void initViews();
- protected void initViews(Bundle savedInstanceState){}
+
+ protected void initViews(Bundle savedInstanceState) {
+ }
/**
* 创建 presenter 实例
@@ -79,9 +83,12 @@ public abstract class MvpFragment< V extends IView, P extends Presenter< V > > e
protected abstract P createPresenter();
@Nullable
- protected < T extends View > T findViewById( int id ) {
- if ( mRootView != null ) {
- return ( T ) mRootView.findViewById( id );
+ protected T findViewById(int id) {
+ if (mRootView == null) {
+ mRootView = getView().findViewById(id);
+ }
+ if (mRootView != null) {
+ return (T) mRootView.findViewById(id);
}
return null;
}
@@ -89,7 +96,7 @@ public abstract class MvpFragment< V extends IView, P extends Presenter< V > > e
@Nullable
@Override
public Context getContext() {
- if ( mContext == null ) {
+ if (mContext == null) {
mContext = super.getContext();
}
return mContext;
@@ -98,8 +105,8 @@ public abstract class MvpFragment< V extends IView, P extends Presenter< V > > e
@Override
public void onDestroyView() {
super.onDestroyView();
- if ( mPresenter != null ) {
- getViewLifecycleOwner().getLifecycle().removeObserver( mPresenter );
+ if (mPresenter != null) {
+ getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
}
mPresenter = null;
mRootView = null;
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
index 72d382f0c8..f3f83666ce 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
@@ -78,7 +78,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
mHasFlush = isVoiceServiceReady( context );
}
- @VoiceTrack
@Override
public void onCmdSelected( String cmd ) {
if ( !mCmdMap.containsKey( cmd ) ) {
@@ -95,7 +94,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
}
- @VoiceTrack
@Override
public void onCmdAction( String speakText ) {
if ( !TextUtils.isEmpty( mLastQAndASpeakText ) ) {
@@ -106,7 +104,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
}
- @VoiceTrack
@Override
public void onCmdCancel( String speakText ) {
if ( !TextUtils.isEmpty( mLastQAndASpeakText ) ) {
@@ -117,7 +114,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
}
- @VoiceTrack
@Override
public void onSpeakEnd( String speakText ) {
if ( mQAndAMap.containsKey( speakText ) ) {
@@ -134,7 +130,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
}
- @VoiceTrack
@Override
public void onSpeakSelectTimeOut( String speakText ) {
if ( mQAndAMap.containsKey( speakText ) ) {
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/GuideShowLauncher.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/GuideShowLauncher.java
index 9900106230..27dcfff469 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/GuideShowLauncher.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/GuideShowLauncher.java
@@ -21,6 +21,10 @@ public class GuideShowLauncher extends BaseAppLauncher {
Logger.d(TAG, s);
return Unit.INSTANCE;
});
+ }else{
+ if ( getNext() != null ) {
+ getNext().launch( context, appInfo );
+ }
}
}
diff --git a/modules/mogo-module-authorize/build.gradle b/modules/mogo-module-authorize/build.gradle
index 07b85f6d3b..5b1bf4cfbb 100644
--- a/modules/mogo-module-authorize/build.gradle
+++ b/modules/mogo-module-authorize/build.gradle
@@ -1,8 +1,8 @@
apply plugin: 'com.android.library'
+apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.alibaba.arouter'
-apply plugin: 'kotlin-kapt'
apply plugin: 'android-aspectjx'
android {
diff --git a/modules/mogo-module-authorize/gradle.properties b/modules/mogo-module-authorize/gradle.properties
index e06646d2db..aff034b53f 100644
--- a/modules/mogo-module-authorize/gradle.properties
+++ b/modules/mogo-module-authorize/gradle.properties
@@ -1,3 +1,3 @@
GROUP=com.mogo.module
POM_ARTIFACT_ID=module-authorize
-VERSION_CODE=1
+VERSION_CODE=1
\ No newline at end of file
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 8a5f7fccc4..7914bcf599 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
@@ -3,6 +3,7 @@ package com.mogo.module.authorize.authprovider.biz
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener
import com.mogo.module.authorize.model.BaseResponse
import com.mogo.module.authorize.model.IMogoAuthorizeModel
+import com.mogo.module.authorize.model.bean.Agreement
import com.mogo.module.authorize.model.bean.AgreementData
import com.mogo.module.authorize.net.request
import com.mogo.module.authorize.util.DateUtil.parseDateToTime
@@ -19,6 +20,20 @@ open class IMogoAuthorizeController {
private val authorizeModel: IMogoAuthorizeModel by lazy { IMogoAuthorizeModel() }
+ fun getAuthorizeContent(onStart: () -> Unit, onSuccess: (Agreement) -> Unit, onError: (String) -> Unit) {
+ realInvokeAuthorizeContent(0, {
+ onStart.invoke()
+ }, {
+ if (it.result != null && it.result.agreement.agreementContent != null) {
+ onSuccess.invoke(it.result.agreement)
+ } else {
+ onError.invoke("data is null")
+ }
+ }, { msg: String ->
+ onError.invoke(msg)
+ })
+ }
+
fun invokeAuthorizeContent(tag: String, agreementType: Int) {
realInvokeAuthorizeContent(agreementType, {
if (agreementType == -1) {
@@ -88,8 +103,8 @@ open class IMogoAuthorizeController {
if (hasNewVersion(currentTime)) {
updateAuthorizeVersion(currentTime)
setAuthorizeStatus(agreementType, false)
- }else{
- Logger.d(TAG,"no new version")
+ } else {
+ Logger.d(TAG, "no new version")
}
}
}, { s: String ->
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 51913d5448..528135f4f8 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
@@ -92,8 +92,8 @@ class MogoMainAuthorize private constructor() : MogoAuthorizeManagerImpl(), IMog
}
private inline fun pushFragmentToMainView(tag: String, push: (() -> Unit)) {
- val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment(tag))
- .tag(PATH_AGREEMENT_MODULE_NAME).build()
+ val builderWrapper = FragmentDescriptor.Builder().fragment(AuthorizeFragment.newInstance(tag))
+ .tag(PATH_AGREEMENT_MODULE_NAME).notifyMainModule(false).build()
Logger.d(TAG, "pushFragmentToMainView")
val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
if (mogoService is IMogoServiceApis) {
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 d70985523a..792494b6d8 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,5 +1,6 @@
package com.mogo.module.authorize.fragment
+import android.os.Bundle
import android.text.Html
import android.view.View
import android.widget.Button
@@ -15,52 +16,77 @@ import com.mogo.module.authorize.voice.IVoiceIntentListener
import com.mogo.module.authorize.voice.VoiceUtil
import com.mogo.utils.logger.Logger
-class AuthorizeFragment(private val invokeTag: String) : MvpFragment(), AuthorizeContract.View, View.OnClickListener, IVoiceCommandListener, IVoiceIntentListener {
+class AuthorizeFragment : MvpFragment(), AuthorizeContract.View, View.OnClickListener, IVoiceCommandListener, IVoiceIntentListener {
companion object {
const val TAG = "AuthorizeFragment"
+ private const val INVOKE = "INVOKE"
+
+ fun newInstance(invokeTag: String): AuthorizeFragment {
+ val fragment = AuthorizeFragment()
+ val args = Bundle()
+ args.putString(INVOKE, invokeTag)
+ fragment.arguments = args
+ return fragment
+ }
}
private var agreementId: Long = 0L
+ private var invokeTag:String? = null
- private var clErrorContainer:ConstraintLayout? = null
- private var clLoadAuthorizeContainer:ConstraintLayout? = null
- private var clContainer:ConstraintLayout? = null
- private var btnAgree:Button? = null
- private var btnDisAgree:Button? = null
- private var btnLoadingError:Button? = null
- private var tvTitle:TextView? = null
- private var tvContent:TextView? = null
- private var tvButtonContent:TextView? = null
- private var tvLastContent:TextView? = null
+ private var clErrorContainer: ConstraintLayout? = null
+ private var clLoadAuthorizeContainer: ConstraintLayout? = null
+ private var clContainer: ConstraintLayout? = null
+ private var btnAgree: Button? = null
+ private var btnDisAgree: Button? = null
+ private var btnLoadingError: Button? = null
+ private var tvTitle: TextView? = null
+ private var tvContent: TextView? = null
+ private var tvButtonContent: TextView? = null
+ private var tvLastContent: TextView? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ invokeTag = it.getString(INVOKE)
+ }
+ }
override fun getLayoutId(): Int {
return R.layout.module_authorize_fragment
}
override fun initViews() {
- Logger.d(TAG,"initView : ${this.hashCode()}")
+ Logger.d(TAG, "initView : ${this.javaClass.hashCode()}")
AnalyticsUtil.track(INVOKE_TRACK_AUTHORIZE_SHOW)
- clErrorContainer = this.findViewById(R.id.clLoadingErrorContainer)
- clLoadAuthorizeContainer = this.findViewById(R.id.clLoadingAuthorizeContainer)
- clContainer = this.findViewById(R.id.clAuthorizeContainer)
- btnAgree = this.findViewById(R.id.btnAuthorizeAgree)
- btnDisAgree = this.findViewById(R.id.btnAuthorizeDisAgree)
- btnLoadingError = this.findViewById(R.id.btnAuthorizeLoadingError)
- tvTitle = this.findViewById(R.id.tvAuthorizeTitle)
- tvContent = this.findViewById(R.id.tvAuthorizeContent)
- tvButtonContent = this.findViewById(R.id.tvAuthorizeButtonContent)
- tvLastContent = this.findViewById(R.id.tvAuthorizeLastContent)
- btnAgree?.setOnClickListener(this)
- btnDisAgree?.setOnClickListener(this)
- btnLoadingError?.setOnClickListener(this)
- clErrorContainer?.setOnClickListener(this)
+ init()
Logger.d(TAG, "invokeTag :$invokeTag")
VoiceUtil.registerAll(context!!, this, this)
}
+ private fun init(){
+ if(mRootView == null){
+ Logger.d(TAG,"joker ?")
+ mRootView = view
+ }
+ clErrorContainer = mRootView.findViewById(R.id.clLoadingErrorContainer)
+ clLoadAuthorizeContainer = mRootView.findViewById(R.id.clLoadingAuthorizeContainer)
+ clContainer = mRootView.findViewById(R.id.clAuthorizeContainer)
+ btnAgree = mRootView.findViewById(R.id.btnAuthorizeAgree)
+ btnDisAgree = mRootView.findViewById(R.id.btnAuthorizeDisAgree)
+ btnLoadingError = mRootView.findViewById(R.id.btnAuthorizeLoadingError)
+ tvTitle = mRootView.findViewById(R.id.tvAuthorizeTitle)
+ tvContent = mRootView.findViewById(R.id.tvAuthorizeContent)
+ tvButtonContent = mRootView.findViewById(R.id.tvAuthorizeButtonContent)
+ tvLastContent = mRootView.findViewById(R.id.tvAuthorizeLastContent)
+ btnAgree?.setOnClickListener(this)
+ btnDisAgree?.setOnClickListener(this)
+ btnLoadingError?.setOnClickListener(this)
+ clErrorContainer?.setOnClickListener(this)
+ }
+
override fun createPresenter(): AuthorizePresenter {
- return AuthorizePresenter(invokeTag, this)
+ return AuthorizePresenter(invokeTag!!, this)
}
override fun readyToAuthorize() {
@@ -75,9 +101,10 @@ class AuthorizeFragment(private val invokeTag: String) : MvpFragment {
AnalyticsUtil.track(INVOKE_TRACK_AUTHORIZE_CLICK, hashMapOf("operation_type" to 1, "operation_result" to 1))
- mPresenter.agreeAuthorize(invokeTag, agreementId)
+ mPresenter.agreeAuthorize(invokeTag!!, agreementId)
}
R.id.btnAuthorizeDisAgree -> {
AnalyticsUtil.track(INVOKE_TRACK_AUTHORIZE_CLICK, hashMapOf("operation_type" to 1, "operation_result" to 2))
- mPresenter.disAgreeAuthorize(invokeTag, agreementId)
+ mPresenter.disAgreeAuthorize(invokeTag!!, agreementId)
}
R.id.clLoadingErrorContainer, R.id.btnAuthorizeLoadingError -> {
- mPresenter.invokeAuthorizationContent(invokeTag)
+ mPresenter.invokeAuthorizationContent(invokeTag!!)
}
}
}
override fun onVoiceCmdAgree() {
AnalyticsUtil.track(INVOKE_TRACK_AUTHORIZE_CLICK, hashMapOf("operation_type" to 2, "operation_result" to 1))
- mPresenter.agreeAuthorize(invokeTag, agreementId)
+ mPresenter.agreeAuthorize(invokeTag!!, agreementId)
}
override fun onVoiceCmdDisAgree() {
AnalyticsUtil.track(INVOKE_TRACK_AUTHORIZE_CLICK, hashMapOf("operation_type" to 2, "operation_result" to 2))
- mPresenter.disAgreeAuthorize(invokeTag, agreementId)
+ mPresenter.disAgreeAuthorize(invokeTag!!, agreementId)
}
override fun onDestroy() {
super.onDestroy()
- Logger.d(TAG,"onDestroy")
+ Logger.d(TAG, "onDestroy")
VoiceUtil.unregisterAll(context!!, this)
}
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 2a9d8e8705..91fb367b28 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
@@ -3,14 +3,14 @@ package com.mogo.module.authorize.fragment
import androidx.lifecycle.LifecycleOwner
import com.mogo.commons.mvp.Presenter
import com.mogo.module.authorize.authprovider.biz.MogoAuthorizeRegisterHandler
-import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener
+import com.mogo.module.authorize.authprovider.launcher.MogoAuthorizeMainController
import com.mogo.module.authorize.authprovider.launcher.MogoMainAuthorize.Companion.mogoAuthShow
import com.mogo.module.authorize.model.bean.Agreement
import com.mogo.module.authorize.util.DateUtil.parseDateToTime
import com.mogo.module.authorize.util.SharedPreferenceUtil.updateAuthorizeVersion
import com.mogo.utils.logger.Logger
-class AuthorizePresenter : Presenter, AuthorizeContract.Biz, IMogoAuthorizeContentListener {
+class AuthorizePresenter : Presenter, AuthorizeContract.Biz {
companion object {
const val TAG = "AuthorizePresenter"
@@ -32,13 +32,16 @@ class AuthorizePresenter : Presenter, AuthorizeContract.
override fun invokeAuthorizationContent(invokeTag: String) {
mView.readyToAuthorize()
this.invokeTag = invokeTag
- if (!mogoAuthShow.hasRegister(invokeTag)) {
- mogoAuthShow.registerInvokeAuthorizeContentListener(invokeTag, this)
- }
- mogoAuthShow.invokeAuthorizeContent(invokeTag)
+ MogoAuthorizeMainController.getAuthorizeContent({
+ Logger.d(TAG, "ready to get Authorize Content")
+ }, {
+ getContentSuccess(it)
+ }, { msg: String ->
+ getContentFailed(msg)
+ })
}
- override fun requestContentSuccess(userAgreement: Agreement) {
+ private fun getContentSuccess(userAgreement: Agreement) {
Logger.d(TAG, "requestContentSuccess userAgreement:$userAgreement")
if (userAgreement?.agreementContent != null && userAgreement?.agreementContent.isNotEmpty()) {
val id = userAgreement.tUserAgreementEntity.id
@@ -55,7 +58,7 @@ class AuthorizePresenter : Presenter, AuthorizeContract.
}
}
- override fun requestContentFailed(errorMsg: String) {
+ private fun getContentFailed(errorMsg: String) {
Logger.d(TAG, "requestContentFailed errorMsg:$errorMsg")
mView.showAuthorizationError()
}
diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt
index 3981de04a1..d585622cde 100644
--- a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt
+++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/util/SharedPreferenceUtil.kt
@@ -10,8 +10,7 @@ object SharedPreferenceUtil {
private const val AUTHORIZE_UPDATE_TIME = "AUTHORIZE_UPDATE_TIME"
fun needAuthorization(type: Int): Boolean {
-// return !hasAuth(type) //todo test
- return false
+ return !hasAuth(type)
}
fun hasAuth(type: Int): Boolean {
diff --git a/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/view/AutoSplitTextView.kt b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/view/AutoSplitTextView.kt
new file mode 100644
index 0000000000..e3983a4a7e
--- /dev/null
+++ b/modules/mogo-module-authorize/src/main/java/com/mogo/module/authorize/view/AutoSplitTextView.kt
@@ -0,0 +1,53 @@
+package com.mogo.module.authorize.view
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Paint
+import android.util.AttributeSet
+import android.widget.TextView
+
+class AutoSplitTextView : TextView {
+
+ private var textShowWidth: Float = 0f
+ private var paint: Paint? = null
+
+ constructor(context: Context?) : super(context, null)
+ constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) {
+ init()
+ }
+
+ constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
+ init()
+ }
+
+ private fun init() {
+ paint = Paint()
+ }
+
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ textShowWidth = (this.measuredWidth - paddingLeft - paddingRight).toFloat()
+ var lineCount = 0
+ if (text.toString().isNullOrBlank()) return
+ val textCharArray = text.toString().toCharArray()
+ var drawWidth = 0f
+ var charWidth: Float
+ for (i in 0..textCharArray.size) {
+ charWidth = paint!!.measureText(textCharArray, i, 1)
+ if (textCharArray[i] == '\n') {
+ lineCount++
+ drawWidth = 0f
+ continue
+ }
+ if (textShowWidth - drawWidth < charWidth) {
+ lineCount++
+ drawWidth = 0f
+ }
+ canvas.drawText(textCharArray, i, 1, paddingLeft + drawWidth, (lineCount + 1) * textSize, paint)
+ drawWidth += charWidth
+ }
+ height = (lineCount + 1) * textSize as Int
+ }
+
+}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/aspectj/VoiceForbiddenWhenGuide.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/aspectj/VoiceForbiddenWhenGuide.kt
index f1ed41e2b9..ff55db0864 100644
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/aspectj/VoiceForbiddenWhenGuide.kt
+++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/aspectj/VoiceForbiddenWhenGuide.kt
@@ -28,13 +28,13 @@ class VoiceForbiddenWhenGuide {
@Before("authorizeTrackPoint()")
fun trackVoiceWhenAuthorize(joinPoint: ProceedingJoinPoint) {
- Logger.d(TAG, "trackVoiceWhenAuthorize")
- val msg = joinPoint.args[0] as String
- if (SharedPreferenceUtil.hasGuide()) {
- Logger.d(TAG, "proceed,no interception")
- joinPoint.proceed()
- } else {
- return
- }
+// Logger.d(TAG, "trackVoiceWhenAuthorize")
+// val msg = joinPoint.args[0] as String
+// if (SharedPreferenceUtil.hasGuide()) {
+// Logger.d(TAG, "proceed,no interception")
+// joinPoint.proceed()
+// } else {
+// return
+// }
}
}
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
index 50160dc874..cdb891aed0 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
@@ -64,7 +64,6 @@ public class MogoReceiver extends BroadcastReceiver {
mMogoIntentManager = (IMogoIntentManager) ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation(context);
}
- @VoiceIntentTrack
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();