拆分换肤逻辑

This commit is contained in:
wangcongtao
2020-08-31 14:55:02 +08:00
parent 722919edec
commit 97ce18650b
22 changed files with 363 additions and 88 deletions

View File

@@ -27,15 +27,9 @@ import com.mogo.module.widgets.MogoWidgetsProvider;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.passport.IMogoTicketCallback;
import com.mogo.skin.support.MogoSkinManager;
import com.mogo.skin.support.SkinMode;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.LogLevel;
import com.mogo.utils.logger.Logger;
import com.zhidao.adasconfig.api.AdasConfigApiController;
import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
import com.zhidao.adasconfig.listener.IAdasSettingUIListener;
import com.zhidao.adasconfig.listener.IAdasSkinStyleListener;
import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
import com.zhidao.mogo.tanlu.api.TanluApiConst;
@@ -92,7 +86,6 @@ public class MogoApplication extends AbsMogoApplication {
Intent intent = new Intent( this, MogoMainService.class );
startService( intent );
}
listenerADASConfigChanged( this );
Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
}
@@ -125,8 +118,8 @@ public class MogoApplication extends AbsMogoApplication {
* 基础服务passport、location、socket
*/
private void prepareBaseService( long delay ) {
final IMogoServiceApis apis = ARouter.getInstance().navigation( IMogoServiceApis.class );
UiThreadHandler.postDelayed( () -> {
final IMogoServiceApis apis = ARouter.getInstance().navigation( IMogoServiceApis.class );
// 第三方平台的sn是服务端生成的所以必须在返回后才能开启
if ( TextUtils.isEmpty( Utils.getSn() ) ) {
preparePassportEnvironment( apis, () -> {
@@ -137,6 +130,7 @@ public class MogoApplication extends AbsMogoApplication {
prepareSocketAndLocationServices( apis );
}
}, delay );
installSkinManager( this, apis );
}
private void preparePassportEnvironment( IMogoServiceApis apis, Runnable after ) {
@@ -168,35 +162,8 @@ public class MogoApplication extends AbsMogoApplication {
} );
}
private void listenerADASConfigChanged( Application application ) {
MogoSkinManager.getInstance().getInstaller().install( application );
AdasConfigApiController.getInstance().registerAdasSettingUiListener( new IAdasSettingUIListener() {
@Override
public void northModel() {
}
@Override
public void carHeadUp() {
}
@Override
public void switchCarChat( EnumCarChatIncognitoMode enumCarChatIncognitoMode ) {
}
} );
AdasConfigApiController.getInstance().registerAdasSettingSkinModelListener( new IAdasSkinStyleListener() {
@Override
public void whiteModel() {
MogoSkinManager.getInstance().getInstaller().loadSkin( SkinMode.Light );
}
@Override
public void blackModel() {
MogoSkinManager.getInstance().getInstaller().loadSkin( SkinMode.Night );
}
} );
AdasConfigApiController.getInstance().init( application );
private void installSkinManager( Application application, IMogoServiceApis apis ) {
apis.getSkinSupportInstallerApi().install( application );
}
@Override