From afef19136eb92af125f23690a20a2487e55c270a Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 15 Jul 2020 13:12:29 +0800 Subject: [PATCH 01/13] bugfix: E85XJD-65 - 2 --- .../java/com/mogo/module/service/MogoServices.java | 3 +-- .../module/service/marker/MapMarkerManager.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 26572251a6..b3028b2830 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -714,13 +714,12 @@ public class MogoServices implements IMogoMapListener, case ACC_STATUS: if ( isTrue ) { mADASController.showADAS(); - refreshStrategy(); - } else { try { MarkerServiceHandler.getApis().getMapServiceApi().getMarkerManager( mContext ).removeMarkers(); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } + refreshStrategy(); } break; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 7e0c094b6f..43613ad77f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -293,6 +293,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, MogoLatLng centerPoint ) { // 将数据同步给在线车辆,避免每次 perform 的时候去拉取,造成消耗 if ( onlineCarList == null || onlineCarList.isEmpty() ) { + MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); return; } @@ -324,9 +325,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, String sn = getPrimaryKeyFromEntity( markerOnlineCar ); IMogoMarker mogoMarker = existCarMap.get( sn ); - if ( mogoMarker == null ) { + if ( mogoMarker == null || mogoMarker.isDestroyed() ) { mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_LOW ); } + if ( mogoMarker != null ) { + mogoMarker.setVisible( true ); + } startSmooth( mogoMarker, markerOnlineCar, markerLocation ); } @@ -362,9 +366,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, String sn = getPrimaryKeyFromEntity( markerExploreWay ); IMogoMarker mogoMarker = existCarMap.get( sn ); - if ( mogoMarker == null ) { + if ( mogoMarker == null || mogoMarker.isDestroyed() ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); - drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + } + if ( mogoMarker != null ) { + mogoMarker.setVisible( true ); } } } From 1e7ccd0250aa8920086cbd28f6a076741077e2d9 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 15 Jul 2020 14:16:28 +0800 Subject: [PATCH 02/13] bugfix: E85XJD-65 - 3 --- .../src/main/java/com/mogo/module/service/MogoServices.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index b3028b2830..2f7d47750a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -55,6 +55,7 @@ import com.mogo.service.module.MogoAction; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; +import com.mogo.utils.TipToast; import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; @@ -286,6 +287,7 @@ public class MogoServices implements IMogoMapListener, mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ADAS_UI, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.MAIN_PAGE_RESUME, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEEK_HELPING, this ); + mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ACC_STATUS, this ); mStatusManager.setAIAssistReady( TAG, AIAssist.getInstance( mContext ).hasFlush() ); registerMogoReceiver( context ); From c4be396902ffb502152053d9af69dc18da709318 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Jul 2020 17:37:50 +0800 Subject: [PATCH 03/13] fixed cos --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8fb948eac3..7f08b3a6fb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -59,7 +59,7 @@ MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.9 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.2.1.11 +MOGO_MODULE_TANLU_VERSION=1.2.1.13 # 车聊聊 CARCHATTING_VERSION=1.2.0 # 车聊聊接口 @@ -79,7 +79,7 @@ MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.5 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.2.1.11 +TANLULIB_VERSION=1.2.1.13 # Boost分包 BOOST_MULTIDEX_VERSION=1.0.0 From cac8bd045a0ebf28b23189895e530a8bd317be08 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 16 Jul 2020 14:32:28 +0800 Subject: [PATCH 04/13] changed the anthorize and update proguard --- app/build.gradle | 2 + app/proguard-rules.pro | 130 +++++++++++ ...le_authorize_selector_blue_left_corner.xml | 15 ++ .../module_authorize_selector_dark_corner.xml | 7 + ...e_authorize_selector_dark_right_corner.xml | 15 ++ ...module_authorize_shape_drak_top_corner.xml | 7 + .../module_authorize_fragment.xml | 210 ++++++++++++++++++ 7 files changed, 386 insertions(+) create mode 100644 modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_blue_left_corner.xml create mode 100644 modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_dark_corner.xml create mode 100644 modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_dark_right_corner.xml create mode 100644 modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_shape_drak_top_corner.xml create mode 100644 modules/mogo-module-authorize/src/main/res/layout-xhdpi-1920x1000/module_authorize_fragment.xml diff --git a/app/build.gradle b/app/build.gradle index 2ecd91c7ae..c9f82eac83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,6 +44,8 @@ android { } release { minifyEnabled false + zipAlignEnabled false + shrinkResources false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index f1b424510d..2d147e84da 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -19,3 +19,133 @@ # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile + + +# +#-------------------------------------------基本不用动区域---------------------------------------------- +# +# +# -----------------------------基本 ----------------------------- + +# 指定代码的压缩级别 0 - 7(指定代码进行迭代优化的次数,在Android里面默认是5,这条指令也只有在可以优化时起作用。) +-optimizationpasses 5 +# 混淆时不会产生形形色色的类名(混淆时不使用大小写混合类名) +-dontusemixedcaseclassnames +# 指定不去忽略非公共的库类(不跳过library中的非public的类) +-dontskipnonpubliclibraryclasses +# 指定不去忽略包可见的库类的成员 +-dontskipnonpubliclibraryclassmembers +#不进行优化,建议使用此选项, +-dontoptimize + # 不进行预校验,Android不需要,可加快混淆速度。 +-dontpreverify + +# 屏蔽警告,暂不开启。用于抛出异常 +#-ignorewarnings +# 指定混淆是采用的算法,后面的参数是一个过滤器 +# 这个过滤器是谷歌推荐的算法,一般不做更改 +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* +# 保护代码中的Annotation不被混淆 +-keepattributes *Annotation*,InnerClasses,Signature,EnclosingMethod +# 避免混淆泛型, 这在JSON实体映射时非常重要 +-keepattributes Signature +# 抛出异常时保留代码行号 +-keepattributes SourceFile,LineNumberTable + #优化时允许访问并修改有修饰符的类和类的成员,这可以提高优化步骤的结果。 +# 比如,当内联一个公共的getter方法时,这也可能需要外地公共访问。 +# 虽然java二进制规范不需要这个,要不然有的虚拟机处理这些代码会有问题。当有优化和使用-repackageclasses时才适用。 +#指示语:不能用这个指令处理库中的代码,因为有的类和类成员没有设计成public ,而在api中可能变成public +-allowaccessmodification + # 混淆时记录日志(打印混淆的详细信息) + # 这句话能够使我们的项目混淆后产生映射文件 + # 包含有类名->混淆后类名的映射关系 +-verbose + + +# +# ----------------------------- 默认保留 ----------------------------- +# +#---------------------------------------------------- +# 保持哪些类不被混淆 +#继承activity,application,service,broadcastReceiver,contentprovider....不进行混淆 + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Fragment +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class * extends android.view.View + +-dontwarn android.support.design.** +-keep public class android.support.design.R$* { *; } + +-keepclasseswithmembernames class * { + native ; +} + +#这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆 +#表示不混淆Activity中参数是View的方法 +-keepclassmembers class * extends android.app.Activity{ + public void *(android.view.View); +} +#表示不混淆枚举中的values()和valueOf()方法 +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +#表示不混淆任何一个View中的setXxx()和getXxx()方法, +#因为属性动画需要有相应的setter和getter的方法实现,混淆了就无法工作了。 +-keep public class * extends android.view.View{ + *** get*(); + void set*(***); + public (android.content.Context); + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); +} +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); +} + +#表示不混淆Parcelable +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable *; +} + +# 这指定了继承Serizalizable的类的如下成员不被移除混淆 +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# 保留R下面的资源 +-keep class **.R$* { + *; +} + +#不混淆资源类下static的 +-keepclassmembers class **.R$* { + public static ; +} + +# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆 +-keepclassmembers class * { + void *(**On*Event); + void *(**On*Listener); +} + +#(可选)避免Log打印输出 +-assumenosideeffects class android.util.Log { + public static *** v(...); + public static *** d(...); + public static *** i(...); + public static *** w(...); +} diff --git a/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_blue_left_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_blue_left_corner.xml new file mode 100644 index 0000000000..8c950afee3 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/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-xhdpi-1920x1000/module_authorize_selector_dark_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_dark_corner.xml new file mode 100644 index 0000000000..86e673bca6 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/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-xhdpi-1920x1000/module_authorize_selector_dark_right_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_selector_dark_right_corner.xml new file mode 100644 index 0000000000..086f0e93fa --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/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-xhdpi-1920x1000/module_authorize_shape_drak_top_corner.xml b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/module_authorize_shape_drak_top_corner.xml new file mode 100644 index 0000000000..38ff34eb71 --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/drawable-xhdpi-1920x1000/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-xhdpi-1920x1000/module_authorize_fragment.xml b/modules/mogo-module-authorize/src/main/res/layout-xhdpi-1920x1000/module_authorize_fragment.xml new file mode 100644 index 0000000000..49613daded --- /dev/null +++ b/modules/mogo-module-authorize/src/main/res/layout-xhdpi-1920x1000/module_authorize_fragment.xml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + +