diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 69b22338c6..bd09796588 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -3,4 +3,7 @@ #008577 #00574B #D81B60 + + + #1C1C1C diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 9c9e1a512e..2eead786b7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -14,7 +14,7 @@ @null @null @null - @android:color/transparent + @color/app_window_background false @style/Animation diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index a5f406a8ac..9ffd4fe117 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -20,13 +20,17 @@ import com.zhidao.account.sdk.AccountClientManager; import com.zhidao.account.sdk.callback.TicketInfoCallback; import com.zhidao.account.sdk.network.NetEnvironManager; +import java.io.IOException; import java.io.InputStream; import java.security.SecureRandom; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; +import okhttp3.Interceptor; import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; /** * @author congtaowang @@ -86,6 +90,17 @@ public class AbsMogoApplication extends Application { NetConfig.instance().setSignaturePrefix( Constants.SIGN_PREFIX ) .setPublicParams( ParamsUtil.getStaticParams() ) .setHostnameVerifier( new AllAllowedHostnameVerifier() ) + .addNetworkInterceptor( new Interceptor() { + @Override + public Response intercept( Chain chain ) throws IOException { + Request original = chain.request(); + Request request = original.newBuilder() + .header( "token", SpStorage.getTicket() ) + .method( original.method(), original.body() ) + .build(); + return chain.proceed( request ); + } + } ) .setLoggable( DebugConfig.isDebug() ); } @@ -103,11 +118,12 @@ public class AbsMogoApplication extends Application { } private static void initAccountSdk() { - AccountClientManager.init( sApp, NetEnvironManager.QA, NetEnvironManager.OS_2C, "os2.0-launcher" ); + AccountClientManager.init( sApp, DebugConfig.getNetMode(), NetEnvironManager.OS_2C, "os2.0-launcher" ); AccountClientManager.getTicket( new TicketInfoCallback() { @Override public void onSuccess( String ticket ) { SpStorage.setTicket( ticket ); + Logger.w( TAG, "request ticket success" ); } @Override diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index 8fcf202aa0..c9c93cc5b9 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -33,6 +33,13 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack { } public synchronized void release() { + if ( mCmdMap != null && !mCmdMap.isEmpty() && mVoiceClient != null ) { + for ( String cmd : mCmdMap.keySet() ) { + mVoiceClient.unRegisterCustomWakeupCmd( cmd ); + } + } + mVoiceMap.clear(); + mVoiceClient.release(); sInstance = null; } @@ -204,7 +211,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack { callBacks.remove( callBack ); } - public static void startAssistant(Context context) { + public static void startAssistant( Context context ) { final Intent intent = new Intent(); intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES ); intent.setAction( "pvetec.intent.action.txz.switch" ); diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml index 20a38ba132..6370c5abda 100644 --- a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml +++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml @@ -49,7 +49,7 @@ android:layout_marginBottom="@dimen/module_apps_indicator_marginBottom" app:lineWidth="@dimen/module_apps_indicator_width" app:selectedColor="#ffffffff" - app:strokeWidth="@dimen/module_apps_indicator_heigt" + app:strokeWidth="@dimen/module_apps_indicator_height" app:unselectedColor="#33ffffff" /> 117px - 2.7px + 2.7px 16px 54.9px 64px diff --git a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml index da464ff5de..0a30fed7cc 100644 --- a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml @@ -1,12 +1,12 @@ 260px - 5px + 5px 30px 103px 120px 120px - 61px + 60px 60px 32px 32px diff --git a/modules/mogo-module-apps/src/main/res/values/dimens.xml b/modules/mogo-module-apps/src/main/res/values/dimens.xml index da464ff5de..0a30fed7cc 100644 --- a/modules/mogo-module-apps/src/main/res/values/dimens.xml +++ b/modules/mogo-module-apps/src/main/res/values/dimens.xml @@ -1,12 +1,12 @@ 260px - 5px + 5px 30px 103px 120px 120px - 61px + 60px 60px 32px 32px diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java index 9d8995fa9c..5d39c13bfb 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java @@ -27,30 +27,36 @@ public interface ModuleType { /** * APP 列表模块 */ + @Deprecated int TYPE_APP_LIST = 4; /** * 小智语音形象 */ + @Deprecated int TYPE_VOICE = 5; /** * 地图模块 */ + @Deprecated int TYPE_MAP = 6; /** * 导航模块 */ + @Deprecated int TYPE_NAVI = 7; /** * 小智、天气、时间等 */ + @Deprecated int TYPE_EXTENSION = 8; /** * 操作快捷入口 */ + @Deprecated int TYPE_ENTRANCE = 9; } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index e9bbd2e69f..404bdcf42b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -13,6 +13,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.analytics.AnalyticsUtils; import com.mogo.commons.mvp.MvpFragment; +import com.mogo.commons.storage.SpStorage; import com.mogo.map.MogoLatLng; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationClient; @@ -53,6 +54,8 @@ import java.util.HashMap; */ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView, IMogoNaviListener, IMogoMapListener { + + private static final String TAG = "EntranceFragment"; private View mSearch; diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png old mode 100644 new mode 100755 index ec0f007df5..09af5d28bd Binary files a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png differ diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml index c621f1fdeb..d4824c6446 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="@dimen/module_ext_height" - android:background="@drawable/module_ext_dw_shadow_frame_bkg" android:orientation="vertical" android:paddingLeft="@dimen/module_ext_paddingLeft" android:paddingRight="@dimen/module_ext_paddingRight"> diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml index eca441b69d..3c219b149b 100644 --- a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml @@ -41,7 +41,7 @@ 58px 58px 21px - 14px + 20px 34.5px 20px 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 769c5d535b..ed6729816a 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 @@ -10,6 +10,7 @@ import androidx.viewpager.widget.ViewPager; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpActivity; +import com.mogo.commons.voice.AIAssist; import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.location.IMogoLocationListener; import com.mogo.map.location.MogoLocation; @@ -18,7 +19,6 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; -import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.main.cards.CardModulesAdapter; import com.mogo.module.main.cards.MogoModulesHandler; import com.mogo.module.main.cards.MogoModulesManager; @@ -31,7 +31,6 @@ import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.cardmanager.IMogoCardManager; import com.mogo.service.fragmentmanager.IMogoFragmentManager; -import com.mogo.service.impl.fragmentmanager.FragmentStack; import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoModuleProvider; import com.mogo.utils.logger.Logger; @@ -66,7 +65,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme private View mApps; private View mEntrance; private FrameLayout mFloatingLayout; - private View mShadowFrame; + private View mLeftShadowFrame; + private View mTopShadowFrame; /** * 主模块管控定位,可以向各个模块发送统一定位信息 @@ -104,7 +104,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mCurrentPosition = position; provider = mCardModulesAdapter.getProvider( mCurrentPosition ); - mMogoModuleHandler.setEnable( provider.getModuleName() ); + mMogoModuleHandler.setModuleEnable( provider.getModuleName() ); if ( !isClickMarker ) { mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() ); } @@ -163,9 +163,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment ); mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> { if ( size == 0 ) { - show(); + showLayout(); } else if ( size == 1 ) { - hide(); + hideLayout(); } } ); mHeader = findViewById( R.id.module_main_id_header_fragment_container ); @@ -173,38 +173,37 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mApps = findViewById( R.id.module_main_id_apps_fragment_container ); mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container ); mFloatingLayout = findViewById( R.id.module_main_id_floating_view ); - mShadowFrame = findViewById( R.id.module_main_id_map_shadow_frame ); + mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame ); + mTopShadowFrame = findViewById( R.id.module_main_id_map_top_shadow_frame ); WindowViewHandler.init( mFloatingLayout ); } - private void hide() { + // 隐藏布局 + private void hideLayout() { mHeader.setVisibility( View.GONE ); mCards.setVisibility( View.GONE ); mApps.setVisibility( View.GONE ); mEntrance.setVisibility( View.GONE ); mFloatingLayout.setVisibility( View.GONE ); - mShadowFrame.setVisibility( View.GONE ); + mLeftShadowFrame.setVisibility( View.GONE ); } - private void show() { + // 显示布局 + private void showLayout() { mHeader.setVisibility( View.VISIBLE ); mCards.setVisibility( View.VISIBLE ); mApps.setVisibility( View.VISIBLE ); mEntrance.setVisibility( View.VISIBLE ); mFloatingLayout.setVisibility( View.VISIBLE ); - mShadowFrame.setVisibility( View.VISIBLE ); + mLeftShadowFrame.setVisibility( View.VISIBLE ); } @Override protected void onCreate( @Nullable Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); - MogoModulePaths.addModule( new MogoModule( MogoModulePaths.PATH_MODULE_APPS, MogoModulePaths.PATH_MODULE_APPS ) ); - MogoModulePaths.addModule( new MogoModule( MogoModulePaths.PATH_MODULE_MAP, MogoModulePaths.PATH_MODULE_MAP ) ); MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); - MogoModulePaths.addModule( new MogoModule( ExtensionsModuleConst.PATH_EXTENSION, ExtensionsModuleConst.TYPE ) ); - MogoModulePaths.addModule( new MogoModule( ExtensionsModuleConst.PATH_ENTRANCE, ExtensionsModuleConst.TYPE_ENTRANCE ) ); mMogoModuleHandler = new MogoModulesManager( this ); mMogoMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation(); @@ -214,30 +213,43 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this ); } - mMogoMapUIController = mMogoMapService.getMapUIController(); - - mMogoModuleHandler.loadModules(); - mMogoModuleHandler.onMapLoadedCallback( () -> { + mMogoModuleHandler.setMapLoadedCallback( () -> { Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); - loadModules(); - mShadowFrame.setVisibility( View.VISIBLE ); - mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 ); - } ); - // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 - mMogoModuleHandler.loadMap( R.id.module_main_id_map_fragment_container ); - mMogoModuleHandler.loadAppsList( R.id.module_main_id_apps_fragment_container ); - mMogoModuleHandler.loadExtensions( R.id.module_main_id_header_fragment_container ); - mMogoModuleHandler.loadEntrances( R.id.module_main_id_entrance_fragment_container ); + // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 + mMogoModuleHandler.loadModules(); + loadContainerModules(); + loadCardModules(); - mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() ); - mLocationClient.addLocationListener( this ); - mLocationClient.start(); + // 显示左边遮罩 + mLeftShadowFrame.setVisibility( View.VISIBLE ); + mTopShadowFrame.setVisibility( View.VISIBLE ); + + // 右移地图中心点 + mMogoMapUIController = mMogoMapService.getMapUIController(); + mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 ); + + // 开启定位 + startLocation(); + } ); + mMogoModuleHandler.loadMapModule( R.id.module_main_id_map_fragment_container ); mMogoCardManager = ( IMogoCardManager ) ARouter.getInstance().build( MogoServicePaths.PATH_CARD_MANAGER ).navigation( this ); mAnalytics = ( IMogoAnalytics ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_ANALYTICS ).navigation( this ); } - private void loadModules() { + private void startLocation() { + mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() ); + mLocationClient.addLocationListener( this ); + mLocationClient.start(); + } + + private void loadContainerModules() { + mMogoModuleHandler.loadAppsListModule( R.id.module_main_id_apps_fragment_container ); + mMogoModuleHandler.loadExtensionsModule( R.id.module_main_id_header_fragment_container ); + mMogoModuleHandler.loadEntrancesModule( R.id.module_main_id_entrance_fragment_container ); + } + + private void loadCardModules() { List< IMogoModuleProvider > providers = mMogoModuleHandler.loadCardsModule(); mCardModulesAdapter = new CardModulesAdapter( this, providers ); @@ -268,7 +280,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme isClickMarker = true; switch2( marker.getOwner() ); if ( mMogoModuleHandler != null ) { - mMogoModuleHandler.onMarkerReceive( marker ); + mMogoModuleHandler.onMarkerClicked( marker ); } isClickMarker = false; return false; @@ -291,10 +303,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override public void onBackPressed() { - if ( FragmentStack.getInstance().isEmpty() ) { + if ( mMogoFragmentManager.getStackSize() == 0 ) { return; } - FragmentStack.getInstance().pop(); + if ( mMogoFragmentManager != null ) { + mMogoFragmentManager.pop(); + } } @Override @@ -305,10 +319,15 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mLocationClient.destroy(); } mLocationClient = null; - mMogoMapService = null; if ( mMogoModuleHandler != null ) { mMogoModuleHandler.destroy(); - mMogoModuleHandler = null; } + mMogoModuleHandler = null; + mMogoMapService = null; + mMogoMapUIController = null; + mMogoCardManager = null; + mMogoFragmentManager = null; + + AIAssist.getInstance( this ).release(); } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java index 1ca561946f..ad09d2b998 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java @@ -21,10 +21,19 @@ import javax.security.auth.callback.Callback; */ public interface MogoModulesHandler extends IMogoMapListener, IMogoNaviListener, - IMogoLocationListener { + IMogoLocationListener, + IMogoMarkerClickListener { - void onMapLoadedCallback( Runnable callback ); + /** + * 地图加载完成回调 + * + * @param callback + */ + void setMapLoadedCallback( Runnable callback ); + /** + * 加载模块 + */ void loadModules(); /** @@ -39,49 +48,41 @@ public interface MogoModulesHandler extends IMogoMapListener, * * @param containerId 容器id */ - void loadMap( int containerId ); + void loadMapModule( int containerId ); /** * 加载所有应用 * * @param containerId 容器id */ - void loadAppsList( int containerId ); + void loadAppsListModule( int containerId ); /** * 加载头部信息 * * @param containerId */ - void loadExtensions( int containerId ); + void loadExtensionsModule( int containerId ); /** * 加载快捷操作 * * @param containerId */ - void loadEntrances( int containerId ); + void loadEntrancesModule( int containerId ); /** * 设置某一个module可用 * * @param module */ - void setEnable( String module ); + void setModuleEnable( String module ); /** * 销毁 */ void destroy(); - - /** - * 卡片接收到Marker传入数据 - * - * @param marker marker - */ - void onMarkerReceive( IMogoMarker marker ); - /** * 当前卡片名称 * diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 6cc2f7d8ee..56be72374f 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.text.TextUtils; +import android.util.Log; import android.view.MotionEvent; import androidx.fragment.app.Fragment; @@ -23,6 +24,7 @@ import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; +import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.main.MainActivity; import com.mogo.module.main.registercenter.MogoRegisterCenterHandler; import com.mogo.service.module.IMogoModuleLifecycle; @@ -36,7 +38,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; /** * @author congtaowang @@ -90,7 +91,7 @@ public class MogoModulesManager implements MogoModulesHandler, } @Override - public void onMapLoadedCallback( Runnable callback ) { + public void setMapLoadedCallback( Runnable callback ) { mMapLoadedCallback = callback; } @@ -111,35 +112,27 @@ public class MogoModulesManager implements MogoModulesHandler, } @Override - public void loadMap( int containerId ) { - loadModuleByType( ModuleType.TYPE_MAP, containerId ); + public void loadMapModule( int containerId ) { + IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( MogoModulePaths.PATH_MODULE_MAP ).navigation( getContext() ); + addFragment( provider, containerId ); } @Override - public void loadAppsList( int containerId ) { - loadModuleByType( ModuleType.TYPE_APP_LIST, containerId ); + public void loadAppsListModule( int containerId ) { + IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( MogoModulePaths.PATH_MODULE_APPS ).navigation( getContext() ); + addFragment( provider, containerId ); } @Override - public void loadExtensions( int containerId ) { - loadModuleByType( ModuleType.TYPE_EXTENSION, containerId ); + public void loadExtensionsModule( int containerId ) { + IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( ExtensionsModuleConst.PATH_EXTENSION ).navigation( getContext() ); + addFragment( provider, containerId ); } @Override - public void loadEntrances( int containerId ) { - loadModuleByType( ModuleType.TYPE_ENTRANCE, containerId ); - } - - private void loadModuleByType( int type, int containerId ) { - if ( mModuleProviders.isEmpty() ) { - return; - } - for ( IMogoModuleProvider value : mModuleProviders.values() ) { - if ( value.getType() == type ) { - addFragment( value, containerId ); - return; - } - } + public void loadEntrancesModule( int containerId ) { + IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( ExtensionsModuleConst.PATH_ENTRANCE ).navigation( getContext() ); + addFragment( provider, containerId ); } private IMogoModuleProvider load( String path ) { @@ -162,8 +155,9 @@ public class MogoModulesManager implements MogoModulesHandler, } @Override - public void setEnable( String module ) { + public void setModuleEnable( String module ) { + // 仅操作上一个模块和当前模块 Iterator< IMogoModuleProvider > iterator = mModuleProviders.values().iterator(); int counter = 0; while ( iterator.hasNext() ) { @@ -178,7 +172,9 @@ public class MogoModulesManager implements MogoModulesHandler, final IMogoModuleLifecycle lifecycle = MogoRegisterCenterHandler.getInstance().getLifecycleListener( mEnableModuleName ); if ( lifecycle != null ) { try { + final long start = System.currentTimeMillis(); lifecycle.onDisable(); + Logger.i(TAG, "set %s module disable event cost " + (System.currentTimeMillis() - start) + "ms", mEnableModuleName); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } @@ -190,7 +186,9 @@ public class MogoModulesManager implements MogoModulesHandler, final IMogoModuleLifecycle lifecycle = MogoRegisterCenterHandler.getInstance().getLifecycleListener( module ); if ( lifecycle != null ) { try { + final long start = System.currentTimeMillis(); lifecycle.onPerform(); + Logger.i(TAG, "set %s module perform event cost " + (System.currentTimeMillis() - start) + "ms", module); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } @@ -212,20 +210,6 @@ public class MogoModulesManager implements MogoModulesHandler, mMapLoadedCallback.run(); mMapLoadedCallback = null; } - Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners(); - if ( iterator == null ) { - return; - } - while ( iterator.hasNext() ) { - IMogoMapListener listener = iterator.next(); - if ( listener != null ) { - try { - listener.onMapLoaded(); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); - } - } - } } @Override @@ -426,7 +410,6 @@ public class MogoModulesManager implements MogoModulesHandler, } } - @Override public void onCalculateSuccess() { Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners(); @@ -473,7 +456,7 @@ public class MogoModulesManager implements MogoModulesHandler, IMogoNaviListener listener = iterator.next(); if ( listener != null ) { try { - listener.onUpdateTraffic(traffic); + listener.onUpdateTraffic( traffic ); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } @@ -541,15 +524,16 @@ public class MogoModulesManager implements MogoModulesHandler, } @Override - public void onMarkerReceive( IMogoMarker marker ) { + public boolean onMarkerClicked( IMogoMarker marker ) { IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() ); if ( listener != null ) { try { - listener.onMarkerClicked( marker ); + return listener.onMarkerClicked( marker ); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } } + return false; } @Override diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java index b91b2d4a5f..97ec68e2b7 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java @@ -10,8 +10,8 @@ import com.mogo.utils.WindowUtils; public class VerticalStackTransformer extends VerticalBaseTransformer { private Context context; - private int spaceBetweenFirAndSecWith = 5 * 2;//第一张卡片和第二张卡片宽度差 dp单位 - private int spaceBetweenFirAndSecHeight = 5;//第一张卡片和第二张卡片高度差 dp单位 + private int spaceBetweenFirAndSecWith;//第一张卡片和第二张卡片宽度差 + private int spaceBetweenFirAndSecHeight;//第一张卡片和第二张卡片高度差 public VerticalStackTransformer( Context context ) { this.context = context; diff --git a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml index 64196e581f..b9d160ac66 100644 --- a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml +++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml similarity index 56% rename from modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml rename to modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml index 234266fcaf..5f95c7f50f 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml +++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index 30d62c2164..23343b9186 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -14,7 +14,14 @@ app:layout_constraintRight_toRightOf="parent" /> + + 384px 8px 352px + 370px 32px 140.5px 18px 20px 10px + 144px \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml index 3fe82f9cb8..bfcbccdc2b 100644 --- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml @@ -1,12 +1,14 @@ - + 720px 10px 660px + 690px 60px 211px 30px 30px 15px + 270px \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values/colors.xml b/modules/mogo-module-main/src/main/res/values/colors.xml new file mode 100644 index 0000000000..1a06e26bf7 --- /dev/null +++ b/modules/mogo-module-main/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #1D1D1D + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml index 3fe82f9cb8..6a4570d3cc 100644 --- a/modules/mogo-module-main/src/main/res/values/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values/dimens.xml @@ -4,9 +4,11 @@ 720px 10px 660px + 690px 60px 211px 30px 30px 15px + 270px \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values/styles.xml b/modules/mogo-module-main/src/main/res/values/styles.xml index 381d44621e..4b9d268b74 100644 --- a/modules/mogo-module-main/src/main/res/values/styles.xml +++ b/modules/mogo-module-main/src/main/res/values/styles.xml @@ -7,7 +7,7 @@ @null @null @null - @android:color/transparent + @color/module_main_window_background_color false @style/MainAnimation diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java index f7fb47463f..ae02f4ce15 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java @@ -27,30 +27,36 @@ public interface ModuleType { /** * APP 列表模块 */ + @Deprecated int TYPE_APP_LIST = 4; /** * 小智语音形象 */ + @Deprecated int TYPE_VOICE = 5; /** * 地图模块 */ + @Deprecated int TYPE_MAP = 6; /** * 导航模块 */ + @Deprecated int TYPE_NAVI = 7; /** * 小智、天气、时间等 */ + @Deprecated int TYPE_EXTENSION = 8; /** * 操作快捷入口 */ + @Deprecated int TYPE_ENTRANCE = 9; }