diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 1563bc1..8116b81 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -26,6 +26,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 42fab5f..10608e0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 481bb43..1628ed6 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -18,4 +18,191 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
+#-renamesourcefileattribute SourceFile
+
+
+# 指定代码的压缩级别 0 - 7(指定代码进行迭代优化的次数,在Android里面默认是5,这条指令也只有在可以优化时起作用。)
+-optimizationpasses 5
+# 混淆时不会产生形形色色的类名(混淆时不使用大小写混合类名)
+-dontusemixedcaseclassnames
+# 指定不去忽略非公共的库类(不跳过library中的非public的类)
+-dontskipnonpubliclibraryclasses
+# 指定不去忽略包可见的库类的成员
+-dontskipnonpubliclibraryclassmembers
+#不对 class 进行优化,默认是开启优化的。由于优化会进行类合并、内联等,使用热修复的应用,建议关闭优化
+#-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
+# 保持测试相关的代码
+-dontnote junit.framework.**
+-dontnote junit.runner.**
+-dontwarn android.test.**
+-dontwarn android.support.test.**
+-dontwarn org.junit.**
+
+#
+# ----------------------------- 默认保留 -----------------------------
+#
+#----------------------------------------------------
+# 保持哪些类不被混淆
+#继承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
+
+-keep public class androidx.**{*;}
+-keep public class * extends androidx.**{*;}
+-keep interface androidx.**{*;}
+-keep class androidx.appcompat.app.*{*;}
+-keep class androidx.appcompat.app.AppCompatActivity{*;}
+-keep class androidx.appcompat.app.AppCompatCallback{*;}
+-keep class androidx.appcompat.app.AppCompatDelegate{*;}
+
+-dontwarn androidx.**
+
+-keep public class android.support.design.R$* { *; }
+-keep class com.google.android.material.**{*;}
+-dontwarn android.support.design.**
+-dontwarn com.google.android.material.**
+
+-keepclasseswithmembernames,allowshrinking 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(...);
+}
+
+#kotlin
+-keep class kotlin.* { *; }
+-keepclassmembernames class kotlinx.*{
+ volatile ;
+}
+-keep class kotlin.Metadata { *; }
+-dontwarn kotlin.*
+-dontwarn kotlin.**
+-keepclassmembers class **$WhenMappings {
+ ;
+}
+-keepclassmembers class kotlin.Metadata {
+ public ;
+}
+-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
+ static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
+}
+-keepclassmembers class kotlin.Metadata { *; }
+-keep @kotlin.Metadata class *
+-keepclasseswithmembers @kotlin.Metadata class * { *; }
+
+-keep class kotlinx.coroutines.android.** {*;}
+# ServiceLoader support
+-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
+-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
+-keepnames class kotlinx.coroutines.android.AndroidExceptionPreHandler {}
+-keepnames class kotlinx.coroutines.android.AndroidDispatcherFactory {}
+
+-keep class android.telephony.TelephonyManager{*;}
+-keep class android.telephony.TelephonyManager$CellInfoCallback{*;}
+-dontwarn android.telephony.TelephonyManager
+
+-dontwarn org.apache.*.**
+-dontwarn org.dom4j.*.**
+-dontwarn com.pdager.*.**
+-dontwarn com.*.**
+-dontwarn javax.*.**
+-dontwarn android.support.**
+
+
+-keep class com.zhidao.libyuv.*{*;}
+-keep class com.mogo.cloud.network.*{*;}
+-keep class com.mogo.cloud.util.*{*;}
+-keep class com.mogo.cloud.wifi.*{*;}
+-keep class com.mogo.cloud.wifi.*{*;}
diff --git a/app/src/main/java/com/mogo/cloud/MoGoApplication.java b/app/src/main/java/com/mogo/cloud/MoGoApplication.java
index f5542c0..bbe89cd 100644
--- a/app/src/main/java/com/mogo/cloud/MoGoApplication.java
+++ b/app/src/main/java/com/mogo/cloud/MoGoApplication.java
@@ -45,7 +45,7 @@ public class MoGoApplication extends MultiDexApplication {
clientConfig.setNetMode(MogoHttpDnsConfig.HTTP_DNS_ENV_QA);
// 设置是否是第三APP登录,false:自有车机 true:外部三方车机
- clientConfig.setThirdLogin(false);
+ clientConfig.setThirdLogin(true);
// 设置是否输出日志
clientConfig.setShowDebugLog(true);
// 设置从蘑菇AI开放平台获取的APPKey
@@ -54,7 +54,7 @@ public class MoGoApplication extends MultiDexApplication {
// 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备)
clientConfig.setThirdPartyDeviceId(Devices.getSn());
// 设置应用服务AppId 长链、鉴权 //todo 需要卸载智慧驾驶、行车记录仪
- clientConfig.setServiceAppId("com.mogo.launcher");
+ clientConfig.setServiceAppId("com.mogo.test");
// 设置循环检测间隔时间
clientConfig.setLoopCheckDelay(15 * 1000);
// 设置是否属于高精定位设备
diff --git a/foudations/mogo-passport/consumer-rules.pro b/foudations/mogo-passport/consumer-rules.pro
index 41e25d2..c193aa6 100644
--- a/foudations/mogo-passport/consumer-rules.pro
+++ b/foudations/mogo-passport/consumer-rules.pro
@@ -8,6 +8,7 @@
-keep class net.surina.soundtouch.*{*;}
-keep class com.tencent.**{*;}
-keep class org.apache.commons.codec.*{*;}
+-keep class com.zhidao.account.sdk.*{*;}
#-----Netty-----
-keepattributes Signature,InnerClasses