修复首次启动小智语音崩溃问题

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-09-17 10:54:22 +08:00
parent b2f30750b3
commit b58b1f2af5
21 changed files with 281 additions and 22 deletions

1
.idea/gradle.xml generated
View File

@@ -22,6 +22,7 @@
<option value="$PROJECT_DIR$/core/mogo-core-data" />
<option value="$PROJECT_DIR$/core/mogo-core-function-api" />
<option value="$PROJECT_DIR$/core/mogo-core-function-call" />
<option value="$PROJECT_DIR$/core/mogo-core-res" />
<option value="$PROJECT_DIR$/core/mogo-core-utils" />
<option value="$PROJECT_DIR$/foudations" />
<option value="$PROJECT_DIR$/foudations/mogo-aicloud-services-sdk" />

View File

@@ -2,9 +2,9 @@
本模块用来编写鹰眼核型功能
mogo-core-data定义基础业务所需要的数据结构
mogo-core-function-res这里只存放公共资源图片布局动画等
mogo-core-function-api定义基础业务功能的接口
mogo-core-function-impl定义基础业务功能的接口的功能具体实现
mogo-core-function-call-api:定义基础业务暴露给外部调用的接口
mogo-core-function-call-impl定义基础业务暴露给外部调用的接口调用实现
mogo-core-function-call定义基础业务暴露给外部调用的接口

View File

@@ -44,6 +44,12 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
if (Boolean.valueOf(RELEASE)) {
} else {
implementation project(':core:mogo-core-res')
}
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

1
core/mogo-core-res/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,64 @@
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
id 'com.alibaba.arouter'
}
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
// buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode Integer.valueOf(VERSION_CODE)
versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
//ARouter apt 参数
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
res.srcDirs = [
'src/main/function-common-res',
'src/main/function-adas-res',
'src/main/function-chat-res',
'src/main/function-check-res',
'src/main/function-dispatch-res',
'src/main/function-map-res',
'src/main/function-notice-res',
'src/main/function-obu-res',
'src/main/function-tts-res',
'src/main/function-v2x-res',
]
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

View File

@@ -0,0 +1,3 @@
GROUP=com.mogo.eagle.core
POM_ARTIFACT_ID=function-call-api
VERSION_CODE=1

21
core/mogo-core-res/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.eagle.core.function.call.api">
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 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="#E6EEEEEE" />
<corners android:radius="16dp" />
</shape>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<view xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
class="com.blankj.utilcode.util.ToastUtils$UtilsMaxWidthRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/utils_toast_bg"
android:paddingLeft="16dp"
android:paddingTop="12dp"
android:paddingRight="16dp"
android:paddingBottom="12dp">
<View
android:id="@+id/utvLeftIconView"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:visibility="gone"
tools:background="#00ff00"
tools:visibility="gone" />
<View
android:id="@+id/utvTopIconView"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="4dp"
android:visibility="gone"
tools:background="#00ff00"
tools:visibility="gone" />
<View
android:id="@+id/utvRightIconView"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:visibility="gone"
tools:background="#00ff00"
tools:visibility="gone" />
<View
android:id="@+id/utvBottomIconView"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:visibility="gone"
tools:background="#00ff00"
tools:visibility="gone" />
<TextView
android:id="@android:id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/utvBottomIconView"
android:layout_below="@id/utvTopIconView"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/utvRightIconView"
android:layout_toRightOf="@id/utvLeftIconView"
android:fontFamily="sans-serif"
android:gravity="center"
android:lineSpacingExtra="2dp"
android:textColor="#DE000000"
android:textSize="14sp"
tools:text="This is long text." />
</view>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActivityTranslucent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDisablePreview">true</item>
</style>
</resources>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActivityTranslucent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDisablePreview">true</item>
</style>
</resources>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path
name="files_path"
path="." />
<cache-path
name="cache_path"
path="." />
<external-path
name="external_path"
path="." />
<external-files-path
name="external_files_path"
path="." />
<external-cache-path
name="external_cache_path"
path="." />
<external-media-path
name="external_media_path"
path="." />
</paths>

View File

@@ -43,9 +43,9 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
compileOnly rootProject.ext.dependencies.kotlinstdlibjdk7
compileOnly rootProject.ext.dependencies.androidxannotation
compileOnly rootProject.ext.dependencies.material
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
implementation rootProject.ext.dependencies.androidxannotation
implementation rootProject.ext.dependencies.material
implementation rootProject.ext.dependencies.gson

View File

@@ -69,14 +69,19 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
*/
public void startVoicePad() {
try {
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_LENOVO) {
Logger.d(TAG, "启动小智语音");
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.zhidao.speech",
"com.zhidao.speech.MainActivity"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
getWindow().getDecorView().postDelayed(new Runnable() {
@Override
public void run() {
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_LENOVO) {
Logger.d(TAG, "启动小智语音");
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.zhidao.speech",
"com.zhidao.speech.MainActivity"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
}, 3000);
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -59,6 +59,12 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang
MogoServicePaths.PATH_SMALL_MAP,
StatusDescriptor.MAIN_PAGE_RESUME,
this);
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
showPanel();
} else {
hidePanel();
}
}
@Override

View File

@@ -4,6 +4,22 @@ include ':app'
// 应用主入口
include ':main-extensions:mogo-module-main-launcher'
// 核心模块
// 公用数据实体
include ':core:mogo-core-data'
// 公用资源
include ':core:mogo-core-res'
// 公用工具类
include ':core:mogo-core-utils'
// 功能定义接口
include ':core:mogo-core-function-api'
// 模块对外暴露等调用接口
include ':core:mogo-core-function-call'
// 业务实现
include ':core:function-impl:mogo-core-function-hmi'
// 服务
include ':services:mogo-service-api'
include ':services:mogo-service'
@@ -19,15 +35,6 @@ include ':libraries:mogo-map-api'
include ':libraries:map-autonavi'
include ':libraries:mogo-map'
// 核心模块
include ':core:mogo-core-data'
include ':core:mogo-core-utils'
include ':core:mogo-core-function-api'
include ':core:mogo-core-function-call'
include ':core:function-impl:mogo-core-function-hmi'
// OLD业务模块
include ':modules:tanlulib'
include ':modules:mogo-module-obu-mogo'