diff --git a/app/build.gradle b/app/build.gradle
index 374e60534d..72fb85954d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -355,8 +355,6 @@ dependencies {
implementation rootProject.ext.dependencies.modulesearch
implementation rootProject.ext.dependencies.mogomoduleguide
implementation rootProject.ext.dependencies.mogomoduleauth
- implementation rootProject.ext.dependencies.modulemedia
- implementation rootProject.ext.dependencies.moduleservice
implementation rootProject.ext.dependencies.modulesplash
implementation rootProject.ext.dependencies.mogoservice
implementation rootProject.ext.dependencies.moduleV2x
@@ -371,7 +369,6 @@ dependencies {
implementation project(':modules:mogo-module-common')
implementation project(':modules:mogo-module-search')
implementation project(':modules:mogo-module-authorize')
- implementation project(':modules:mogo-module-media')
implementation project(':modules:mogo-module-service')
implementation project(':modules:mogo-module-splash')
implementation project(':modules:mogo-module-service')
@@ -394,6 +391,7 @@ dependencies {
apply from: "./functions/widgets.gradle"
apply from: "./functions/tts.gradle"
apply from: "./functions/backwidget.gradle"
+ apply from: "./functions/mediaui.gradle"
// implementation group: "com.tencent.matrix", name: "matrix-android-lib", version: '0.6.6', changing: true
// implementation group: "com.tencent.matrix", name: "matrix-android-commons", version: '0.6.6', changing: true
diff --git a/app/functions/backwidget.gradle b/app/functions/backwidget.gradle
index 7329178c45..6763cd6271 100644
--- a/app/functions/backwidget.gradle
+++ b/app/functions/backwidget.gradle
@@ -1,4 +1,4 @@
-// 辅助驾驶占位模块,目前部分车机不上辅助驾驶功能,使用该模块能力代替
+// 返回桌面悬浮按钮
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
diff --git a/app/functions/mediaui.gradle b/app/functions/mediaui.gradle
new file mode 100644
index 0000000000..fab92e7f71
--- /dev/null
+++ b/app/functions/mediaui.gradle
@@ -0,0 +1,9 @@
+// 音乐播放模块
+
+project.dependencies {
+ if (Boolean.valueOf(RELEASE)) {
+ launcherImplementation rootProject.ext.dependencies.modulemedia
+ } else {
+ launcherImplementation project(':modules:mogo-module-media')
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 4f479ae1cb..b355c40d13 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -18,7 +18,6 @@ import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.main.service.MogoMainService;
-import com.mogo.module.media.MediaConstants;
import com.mogo.module.push.base.PushUIConstants;
import com.mogo.module.service.ServiceConst;
import com.mogo.module.share.constant.ShareConstants;
@@ -68,7 +67,7 @@ public class MogoApplication extends AbsMogoApplication {
if ( DebugConfig.isLauncher() ) {
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_BACK, MogoServicePaths.PATH_BACK ) );
- MogoModulePaths.addModule( new MogoModule( MediaConstants.TAG, MediaConstants.MODULE_TYPE ) );
+ MogoModulePaths.addModule( new MogoModule( MogoModulePaths.PATH_MEDIA, MogoModulePaths.PATH_MEDIA ) );
}
MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_TTS_CONFIG, ServiceConst.PATH_TTS_CONFIG ) );
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java
index a3135b59d6..8023a7a6d1 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java
@@ -1,11 +1,13 @@
package com.mogo.map.impl.amap;
import android.content.Context;
+import android.view.ViewGroup;
import com.amap.api.maps.MapView;
import com.amap.api.navi.AMapNaviView;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.IMogoMapView;
+import com.mogo.utils.logger.Logger;
public
/**
@@ -16,6 +18,8 @@ public
*/
class AMapViewHandler {
+ private static final String TAG = "AMapViewHandler";
+
private static IMogoMapView sMapView;
public static void createMapView( Context context ) {
@@ -24,6 +28,7 @@ class AMapViewHandler {
} else {
sMapView = new AMapNaviViewWrapper( new AMapNaviView( context ) );
}
+ Logger.d( TAG, "初始化地图实例" );
}
public static IMogoMapView getMapView() {
diff --git a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
index d02c248b56..c210412915 100644
--- a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
+++ b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java
@@ -11,6 +11,7 @@ import androidx.annotation.Nullable;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.module.main.MainActivity;
import com.mogo.utils.TipToast;
+import com.mogo.utils.UiThreadHandler;
/**
* 针对独立应用形式,做单独定制
@@ -83,4 +84,16 @@ public class MainIndependentActivity extends MainActivity {
}
return false;
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ forceStop();
+ }
+
+ private void forceStop(){
+ UiThreadHandler.postDelayed( ()->{
+ System.exit( 0 );
+ }, 1_000L );
+ }
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
index 9faa90e816..de44e7c25e 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
@@ -36,6 +36,11 @@ public class MogoModulePaths {
*/
public static final String PATH_ENTRANCE = "/extension/entrance";
+ /**
+ * 音乐播放入口
+ */
+ public static final String PATH_MEDIA = "/media/ui";
+
/**
* 添加卡片模块
*
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index eb3be1a916..82dac79cf9 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -3,11 +3,13 @@ package com.mogo.module.main;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
+import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.view.LayoutInflaterCompat;
import com.mogo.commons.context.ContextHolderUtil;
import com.mogo.commons.debug.DebugConfig;
@@ -30,6 +32,7 @@ import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.skin.support.SkinMode;
+import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import com.zhidao.adasconfig.api.AdasConfigApiController;
import com.zhidao.adasconfig.common.log.LoggerController;
diff --git a/skin/mogo-skin-light/src/main/module-media-res/values-xhdpi/dimens.xml b/skin/mogo-skin-light/src/main/module-media-res/values-xhdpi/dimens.xml
new file mode 100644
index 0000000000..0a24dc4ad3
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-media-res/values-xhdpi/dimens.xml
@@ -0,0 +1,122 @@
+
+
+ 872px
+ 1067px
+
+
+ 660px
+ 660px
+ 20px
+ 23px
+ 67.5px
+ 67.5px
+ 67.5px
+ 10px
+ 23px
+ 116px
+ 30px
+ 145px
+ 20px
+ 30px
+ 90px
+ 90px
+ 21px
+ 24px
+ 23px
+ 26px
+ 30px
+ 16px
+ 68px
+ 68px
+ 23px
+ 35px
+ 56px
+ 56px
+ 126px
+ 3px
+ 116px
+ 116px
+ 22px
+ 37.5px
+ 28px
+
+
+
+ 790px
+ 525px
+ 55px
+ 61px
+ 20px
+ 136px
+ 20px
+ 136px
+ 34px
+ 40px
+ 30px
+ 34px
+ 40px
+ 60px
+ 96px
+ 130px
+ 4px
+ 6px
+
+ 600px
+ 140px
+ 112px
+ 30px
+ 80px
+ 230px
+ 14px
+ 35px
+ 24px
+ 56px
+ 40px
+ 8px
+ 16px
+ 16px
+ 500px
+ 350px
+ 20px
+ 120px
+ 36px
+ 20px
+
+ 660px
+ 660px
+ 20px
+ 22px
+ 22px
+ 348px
+ 348px
+ 226px
+ 226px
+ 36px
+ 28px
+ 4px
+ 2px
+ 11px
+ 22px
+ 21px
+ 4px
+ 6px
+ 2px
+
+ 15px
+ 78px
+ 107px
+ 53px
+ 2px
+ 64px
+ 6px
+ 12px
+ 6px
+ 8px
+ 180px
+
+ 60px
+ 750px
+ 120px
+ 270px
+ 30px
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-media-res/values/dimens.xml b/skin/mogo-skin-light/src/main/module-media-res/values/dimens.xml
new file mode 100644
index 0000000000..9d4c23c8d3
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-media-res/values/dimens.xml
@@ -0,0 +1,122 @@
+
+
+ 467px
+ 573px
+
+
+ 352px
+ 352px
+ 10.67px
+ 12px
+ 36px
+ 36px
+ 36px
+ 5px
+ 12px
+ 62px
+ 16px
+ 78px
+ 10.6px
+ 16px
+ 48px
+ 48px
+ 11px
+ 12px
+ 12px
+ 14px
+ 16px
+ 8px
+ 36px
+ 36px
+ 12px
+ 18px
+ 30px
+ 30px
+ 67.2px
+ 3px
+ 62px
+ 62px
+ 12px
+ 20px
+ 15px
+
+
+
+ 421px
+ 280px
+ 28px
+ 32.5px
+ 11.5px
+ 72.5px
+ 10.7px
+ 72.5px
+ 10px
+ 22px
+ 16px
+ 18px
+ 22px
+ 32px
+ 51px
+ 68px
+ 2px
+ 3.2px
+
+ 338px
+ 82px
+ 60px
+ 18px
+ 44px
+ 123px
+ 10px
+ 18px
+ 14px
+ 30px
+ 21px
+ 4px
+ 8px
+ 7px
+
+ 267px
+ 187px
+ 10px
+ 64px
+ 18px
+ 11px
+
+ 352px
+ 352px
+ 10.5px
+ 11px
+ 11.5px
+ 175px
+ 175px
+ 114px
+ 114px
+ 20px
+ 15px
+ 4px
+ 2px
+ 6px
+ 12px
+ 11px
+ 4px
+ 1px
+
+ 8px
+ 44px
+ 62px
+ 28px
+ 1px
+ 35px
+ 3.2px
+ 6.4px
+ 3px
+ 4px
+ 96px
+
+ 32px
+ 400px
+ 80px
+ 150px
+ 16px
+
\ No newline at end of file
diff --git a/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java b/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java
index a9b4e2a514..73b7836a5b 100644
--- a/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java
+++ b/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java
@@ -11,6 +11,7 @@ import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.app.SkinAppCompatDelegateImpl;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.commons.AbsMogoApplication;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
import com.mogo.skin.support.SkinMode;
import com.mogo.skin.support.SkinSupportInstallerConstants;
@@ -75,4 +76,9 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
public void init( Context context ) {
}
+
+ @Override
+ public void onDestroy() {
+ SkinActivityLifecycle.init( AbsMogoApplication.getApp() ).restoreOldFactory2( AbsMogoApplication.getApp() );
+ }
}
diff --git a/skin/mogo-skin-support-noop/src/main/java/com/mogo/skin/support/noop/SkinSupportInstaller.java b/skin/mogo-skin-support-noop/src/main/java/com/mogo/skin/support/noop/SkinSupportInstaller.java
index 94ab26fbcf..85ddce06fa 100644
--- a/skin/mogo-skin-support-noop/src/main/java/com/mogo/skin/support/noop/SkinSupportInstaller.java
+++ b/skin/mogo-skin-support-noop/src/main/java/com/mogo/skin/support/noop/SkinSupportInstaller.java
@@ -51,4 +51,9 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
public void init( Context context ) {
}
+
+ @Override
+ public void onDestroy() {
+
+ }
}
diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java
index 0cb5fd30a4..d31d4bfd6c 100644
--- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java
+++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java
@@ -26,4 +26,6 @@ interface IMogoSkinSupportInstaller extends IProvider {
AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatDelegate superDelegate, AppCompatCallback callback );
void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState );
+
+ void onDestroy();
}
diff --git a/skin/skin-support/src/main/java/skin/support/app/SkinActivityLifecycle.java b/skin/skin-support/src/main/java/skin/support/app/SkinActivityLifecycle.java
index 1eb25ffa39..2c863713ae 100755
--- a/skin/skin-support/src/main/java/skin/support/app/SkinActivityLifecycle.java
+++ b/skin/skin-support/src/main/java/skin/support/app/SkinActivityLifecycle.java
@@ -17,6 +17,7 @@ import skin.support.observe.SkinObservable;
import skin.support.observe.SkinObserver;
import skin.support.utils.Slog;
import skin.support.view.LayoutInflaterCompat;
+import skin.support.view.LayoutInflaterFactory;
import skin.support.widget.SkinCompatSupportable;
import skin.support.content.res.SkinCompatThemeUtils;
@@ -33,6 +34,9 @@ public class SkinActivityLifecycle implements Application.ActivityLifecycleCallb
*/
private WeakReference< Activity > mCurActivityRef;
+ private LayoutInflater.Factory2 mOldFactory2 = null;
+ private LayoutInflater.Factory mOldFactory = null;
+
public static SkinActivityLifecycle init( Application application ) {
if ( sInstance == null ) {
synchronized ( SkinActivityLifecycle.class ) {
@@ -109,6 +113,8 @@ public class SkinActivityLifecycle implements Application.ActivityLifecycleCallb
private void installLayoutFactory( Context context ) {
try {
LayoutInflater layoutInflater = LayoutInflater.from( context );
+ mOldFactory2 = layoutInflater.getFactory2();
+ mOldFactory = layoutInflater.getFactory();
LayoutInflaterCompat.setFactory2( layoutInflater, getSkinDelegate( context ) );
} catch ( Throwable e ) {
Slog.i( "SkinActivity", "A factory has already been set on this LayoutInflater" );
@@ -201,4 +207,15 @@ public class SkinActivityLifecycle implements Application.ActivityLifecycleCallb
mMarkNeedUpdate = false;
}
}
+
+
+ public void restoreOldFactory2(Context context){
+ try {
+ LayoutInflater layoutInflater = LayoutInflater.from( context );
+ layoutInflater.setFactory2( mOldFactory2 );
+ layoutInflater.setFactory( mOldFactory );
+ } catch ( Throwable e ) {
+
+ }
+ }
}
\ No newline at end of file