From a4cd94d06b44e6ec036136a9f7d5d0145a315716 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 10 Sep 2020 10:17:19 +0800 Subject: [PATCH 1/9] opt --- .../com/mogo/launcher/MogoApplication.java | 4 +-- .../mogo/map/impl/amap/AMapViewWrapper.java | 36 ++++++++++++++++--- .../extensions/entrance/EntranceFragment.java | 7 ---- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 381aa2c9b2..230145ae80 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -9,7 +9,6 @@ import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; import com.auto.zhidao.logsdk.CrashSystem; import com.bytedance.boost_multidex.BoostMultiDex; -import com.elegant.utils.WindowUtil; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; @@ -18,7 +17,6 @@ import com.mogo.module.back.BackToLauncherConst; import com.mogo.module.carchatting.card.CallChatConstant; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; -import com.mogo.module.guide.GuideConstant; import com.mogo.module.main.service.MogoMainService; import com.mogo.module.media.MediaConstants; import com.mogo.module.push.base.PushUIConstants; @@ -67,7 +65,7 @@ public class MogoApplication extends AbsMogoApplication { Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF ); if ( DebugConfig.isLoadGuideModule() ) { - MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); + MogoModulePaths.addModule( new MogoModule( PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME ) ); } MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) ); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java index 7b33644b91..de0604c38f 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java @@ -19,6 +19,7 @@ import com.amap.api.maps.CameraUpdateFactory; import com.amap.api.maps.MapView; import com.amap.api.maps.model.BitmapDescriptorFactory; import com.amap.api.maps.model.CameraPosition; +import com.amap.api.maps.model.CameraPositionCreator; import com.amap.api.maps.model.LatLng; import com.amap.api.maps.model.LatLngBounds; import com.amap.api.maps.model.Marker; @@ -477,16 +478,41 @@ public class AMapViewWrapper implements IMogoMapView, Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); } Logger.d( TAG, "锁车" ); - MyLocationStyle style = getMyLocationStyle(); - if ( style == null ) { - style = new MyLocationStyle(); + Location target = NaviClient.getInstance( getContext() ).getCarLocation2(); + if ( target != null ) { + mMapView.getMap().animateCamera( CameraUpdateFactory.newCameraPosition( + new CameraPosition( new LatLng( target.getLatitude(), target.getLongitude() ), + mDefaultZoomLevel, + 0, + 0 + ) + ), new AMap.CancelableCallback() { + @Override + public void onFinish() { + changeMyLocationStyle(); + } + + @Override + public void onCancel() { + changeMyLocationStyle(); + } + } ); + } else { + changeMyLocationStyle(); } - style.myLocationType( MyLocationStyle.LOCATION_TYPE_FOLLOW ); - mMapView.getMap().setMyLocationStyle( style ); mIsCarLocked = true; } } + private void changeMyLocationStyle() { + MyLocationStyle style = getMyLocationStyle(); + if ( style == null ) { + style = new MyLocationStyle(); + } + style.myLocationType( MyLocationStyle.LOCATION_TYPE_FOLLOW ); + mMapView.getMap().setMyLocationStyle( style ); + } + @Override public void loseLockMode() { if ( DebugConfig.isDebug() ) { 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 0d9a233eaf..3ff0dcbb02 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 @@ -198,13 +198,6 @@ public class EntranceFragment extends MvpFragment { - if (!mStatusManager.isV2XShow()) { - mStatusManager.setUserInteractionStatus(TAG, true, false); - mMApUIController.setLockZoom(16); - mMApUIController.changeZoom(16.0f); - } - }, 1_000L); } }); From e1826206fe3e883b190c9101d510dbaa873f8872 Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 10 Sep 2020 10:44:27 +0800 Subject: [PATCH 2/9] no message --- .../icon_illegal_parking_light.png | Bin 0 -> 4687 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 skin/mogo-skin-light/src/main/module-v2x-res/drawable-xhdpi/icon_illegal_parking_light.png diff --git a/skin/mogo-skin-light/src/main/module-v2x-res/drawable-xhdpi/icon_illegal_parking_light.png b/skin/mogo-skin-light/src/main/module-v2x-res/drawable-xhdpi/icon_illegal_parking_light.png new file mode 100644 index 0000000000000000000000000000000000000000..e61f1e21ae33342ceca0bf61a0492401612824f2 GIT binary patch literal 4687 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 Date: Thu, 10 Sep 2020 11:31:17 +0800 Subject: [PATCH 3/9] =?UTF-8?q?1.=20=E8=A7=A3=E5=86=B3=E9=AB=98=E5=BE=B7?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=AF=BC=E8=88=AA=E5=AE=9E=E4=BE=8B=E6=97=A0?= =?UTF-8?q?=E6=B3=95inflate=E7=9A=84=E9=97=AE=E9=A2=98=202.=20=E5=9C=A8?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E4=B8=AD=E5=8A=A0=E8=BD=BD=E6=8D=A2=E8=82=A4?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/launcher/MogoApplication.java | 14 +- .../com/mogo/commons/mvp/MvpActivity.java | 5 + .../mogo/map/impl/amap/AMapBaseMapView.java | 10 +- .../mogo/map/impl/amap/AMapViewHandler.java | 37 +++++ .../mogo/map/impl/amap/AMapViewWrapper.java | 5 +- .../mogo/map/IMogoMapViewInstanceHandler.java | 15 ++ .../mogo/map/MogoMapViewInstanceHandler.java | 49 ++++++ modules/mogo-module-main/build.gradle | 2 + .../com/mogo/module/main/MainActivity.java | 19 ++- .../com/mogo/service/map/IMogoMapService.java | 8 + .../mogo/service/impl/map/MogoMapService.java | 10 +- .../support/impl/SkinSupportInstaller.java | 9 +- .../support/noop/SkinSupportInstaller.java | 7 + .../support/IMogoSkinSupportInstaller.java | 6 +- .../support/app/SkinActivityLifecycle.java | 149 +++++++++--------- 15 files changed, 252 insertions(+), 93 deletions(-) create mode 100644 libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java create mode 100644 libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMapViewInstanceHandler.java create mode 100644 libraries/mogo-map/src/main/java/com/mogo/map/MogoMapViewInstanceHandler.java diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 230145ae80..58c4a17564 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -1,6 +1,5 @@ package com.mogo.launcher; -import android.app.Application; import android.content.Context; import android.content.Intent; import android.text.TextUtils; @@ -138,14 +137,16 @@ public class MogoApplication extends AbsMogoApplication { @Override protected void init() { super.init(); - prepareBaseService( 2_000L ); + final IMogoServiceApis apis = ARouter.getInstance().navigation( IMogoServiceApis.class ); + prepareBaseService( apis, 2_000L ); +// installSkinManager( this, apis ); } /** * 基础服务:passport、location、socket */ - private void prepareBaseService( long delay ) { - final IMogoServiceApis apis = ARouter.getInstance().navigation( IMogoServiceApis.class ); + private void prepareBaseService( IMogoServiceApis apis, long delay ) { + UiThreadHandler.postDelayed( () -> { // 第三方平台的sn是服务端生成的,所以必须在返回后才能开启 if ( TextUtils.isEmpty( Utils.getSn() ) ) { @@ -157,7 +158,6 @@ public class MogoApplication extends AbsMogoApplication { prepareSocketAndLocationServices( apis ); } }, delay ); - installSkinManager( this, apis ); } private void preparePassportEnvironment( IMogoServiceApis apis, Runnable after ) { @@ -189,10 +189,6 @@ public class MogoApplication extends AbsMogoApplication { } ); } - private void installSkinManager( Application application, IMogoServiceApis apis ) { - apis.getSkinSupportInstallerApi().install( application ); - } - @Override protected void attachBaseContext( Context base ) { super.attachBaseContext( base ); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java index 27f41aef51..8f165549a0 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java @@ -29,6 +29,7 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > > @Override protected void onCreate( @Nullable Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); + beforeSetContentView(savedInstanceState); if ( DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) { requestWindowFeature( Window.FEATURE_NO_TITLE ); getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN ); @@ -39,6 +40,10 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > > getLifecycle().addObserver( mPresenter ); } + protected void beforeSetContentView(Bundle savedInstanceState){ + + } + /** * 布局资源 * diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapBaseMapView.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapBaseMapView.java index b8055d9cc9..35bb08ad69 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapBaseMapView.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapBaseMapView.java @@ -5,9 +5,6 @@ import android.util.AttributeSet; import androidx.annotation.Nullable; -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.map.MogoBaseMapView; @@ -19,6 +16,8 @@ import com.mogo.map.MogoBaseMapView; */ public class AMapBaseMapView extends MogoBaseMapView { + private static final String TAG = "AMapBaseMapView"; + public AMapBaseMapView( Context context ) { super( context ); } @@ -33,9 +32,6 @@ public class AMapBaseMapView extends MogoBaseMapView { @Override protected IMogoMapView createMapView( Context context ) { - if ( DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD ) { - return new AMapViewWrapper( new MapView( context ) ); - } - return new AMapNaviViewWrapper( new AMapNaviView( context ) ); + return AMapViewHandler.getMapView(); } } 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 new file mode 100644 index 0000000000..6bf6a5fc51 --- /dev/null +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewHandler.java @@ -0,0 +1,37 @@ +package com.mogo.map.impl.amap; + +import android.content.Context; + +import com.amap.api.maps.TextureMapView; +import com.amap.api.navi.AMapNaviView; +import com.mogo.commons.debug.DebugConfig; +import com.mogo.map.IMogoMapView; + +public + +/** + * @author congtaowang + * @since 2020/9/10 + *

+ * 描述 + */ +class AMapViewHandler { + + private static IMogoMapView sMapView; + + public static void createMapView( Context context ) { + if ( DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE ) { + sMapView = new AMapViewWrapper( new TextureMapView( context ) ); + } else { + sMapView = new AMapNaviViewWrapper( new AMapNaviView( context ) ); + } + } + + public static IMogoMapView getMapView() { + return sMapView; + } + + public static void destroy() { + sMapView = null; + } +} diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java index de0604c38f..f346df9a46 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java @@ -17,6 +17,7 @@ import com.amap.api.maps.AMap; import com.amap.api.maps.AMapUtils; import com.amap.api.maps.CameraUpdateFactory; import com.amap.api.maps.MapView; +import com.amap.api.maps.TextureMapView; import com.amap.api.maps.model.BitmapDescriptorFactory; import com.amap.api.maps.model.CameraPosition; import com.amap.api.maps.model.CameraPositionCreator; @@ -72,7 +73,7 @@ public class AMapViewWrapper implements IMogoMapView, private static final String TAG = "AMapViewWrapper"; - private final MapView mMapView; + private final TextureMapView mMapView; private IMogoMap mIMap; private AMapMarkerClickHandler mMarkerClickHandler; @@ -87,7 +88,7 @@ public class AMapViewWrapper implements IMogoMapView, .build(); private CarCursorOption mCarCursorOption = DEFAULT_OPTION; - public AMapViewWrapper( MapView mapView ) { + public AMapViewWrapper( TextureMapView mapView ) { this.mMapView = mapView; this.mIMap = new AMapWrapper( mMapView.getMap(), mMapView.getContext(), this ); try { diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMapViewInstanceHandler.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMapViewInstanceHandler.java new file mode 100644 index 0000000000..55d5b23a2f --- /dev/null +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMapViewInstanceHandler.java @@ -0,0 +1,15 @@ +package com.mogo.map; + +import android.content.Context; + +public +/** + * @author congtaowang + * @since 2020/9/10 + * + * 描述 + */ +interface IMogoMapViewInstanceHandler extends IDestroyable { + + void createMapViewInstance( Context context ); +} diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapViewInstanceHandler.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapViewInstanceHandler.java new file mode 100644 index 0000000000..b3e6bf7a2b --- /dev/null +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapViewInstanceHandler.java @@ -0,0 +1,49 @@ +package com.mogo.map; + +import android.content.Context; + +import com.mogo.map.impl.amap.AMapViewHandler; + +public +/** + * @author congtaowang + * @since 2020/9/10 + * + * 描述 + */ +class MogoMapViewInstanceHandler implements IMogoMapViewInstanceHandler { + + private static volatile MogoMapViewInstanceHandler sInstance; + + private MogoMapViewInstanceHandler(){} + + public static MogoMapViewInstanceHandler getInstance(){ + if( sInstance == null ){ + synchronized( MogoMapViewInstanceHandler.class ) { + if( sInstance == null ){ + sInstance = new MogoMapViewInstanceHandler(); + } + } + } + return sInstance; + } + + public synchronized void release(){ + sInstance = null; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + + @Override + public void createMapViewInstance( Context context ) { + AMapViewHandler.createMapView( context ); + } + + @Override + public void destroy() { + AMapViewHandler.destroy(); + } +} diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index f02e1cfff6..cec34c9537 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -52,6 +52,7 @@ dependencies { api rootProject.ext.dependencies.moduleservice api rootProject.ext.dependencies.moduleapps api rootProject.ext.dependencies.moduleextensions + compileOnly rootProject.ext.dependencies.skinsupport } else { api project(":foudations:mogo-utils") api project(":foudations:mogo-commons") @@ -62,6 +63,7 @@ dependencies { api project(':services:mogo-service') api project(':modules:mogo-module-apps') api project(':modules:mogo-module-extensions') + compileOnly project(':skin:mogo-skin-support') } } 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 3244b43a83..0c0ef0ba16 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 @@ -73,6 +73,23 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme return R.layout.module_main_activity_main; } + @Override + protected void beforeSetContentView( Bundle savedInstanceState ) { + init(); + installSkinManager( savedInstanceState ); + } + + /** + * 安装皮肤支持 + * + * @param savedInstanceState + */ + private void installSkinManager( Bundle savedInstanceState ) { + mServiceApis.getMapServiceApi().getMapViewInstanceHandler().createMapViewInstance( this ); + mServiceApis.getSkinSupportInstallerApi().install( getApplication() ); + mServiceApis.getSkinSupportInstallerApi().onCompensateActivityCreated( this, savedInstanceState ); + } + @Override protected void initViews() { @@ -113,7 +130,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void onCreate( @Nullable Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); - init(); mPresenter.postLoadModuleMsg(); } @@ -326,6 +342,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoMapService = null; mMogoMapUIController = null; mMogoFragmentManager = null; + mServiceApis.getMapServiceApi().getMapViewInstanceHandler().destroy(); AdasConfigApiController.getInstance().release(); mServiceApis.getAdasControllerApi().release(); Logger.d( TAG, "destroy." ); diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoMapService.java b/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoMapService.java index 0d47238536..fc0f61d014 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoMapService.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoMapService.java @@ -3,6 +3,7 @@ package com.mogo.service.map; import android.content.Context; import com.alibaba.android.arouter.facade.template.IProvider; +import com.mogo.map.IMogoMapViewInstanceHandler; import com.mogo.map.listener.IMogoHosListenerRegister; import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.marker.IMogoMarkerManager; @@ -111,4 +112,11 @@ public interface IMogoMapService extends IProvider { * @return */ IMogoRoadSearch getRoadSearchApi(); + + /** + * 地图实例 + * + * @return + */ + IMogoMapViewInstanceHandler getMapViewInstanceHandler(); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/map/MogoMapService.java b/services/mogo-service/src/main/java/com/mogo/service/impl/map/MogoMapService.java index ac8d5c81fb..4038c5533d 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/map/MogoMapService.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/map/MogoMapService.java @@ -3,15 +3,17 @@ package com.mogo.service.impl.map; import android.content.Context; import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.map.MogoRoadSearch; +import com.mogo.map.IMogoMapViewInstanceHandler; import com.mogo.map.MogoGeoSearch; import com.mogo.map.MogoInputtipsSearch; import com.mogo.map.MogoLocationClient; import com.mogo.map.MogoMapUIController; +import com.mogo.map.MogoMapViewInstanceHandler; import com.mogo.map.MogoMarkerManager; import com.mogo.map.MogoNavi; import com.mogo.map.MogoOverlayManager; import com.mogo.map.MogoPoiSearch; +import com.mogo.map.MogoRoadSearch; import com.mogo.map.listener.IMogoHosListenerRegister; import com.mogo.map.listener.MogoHosListenerRegister; import com.mogo.map.location.IMogoLocationClient; @@ -92,7 +94,13 @@ public class MogoMapService implements IMogoMapService { return new MogoRoadSearch(); } + @Override + public IMogoMapViewInstanceHandler getMapViewInstanceHandler() { + return MogoMapViewInstanceHandler.getInstance(); + } + @Override public void init( Context context ) { } + } 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 ab4ffcb3f2..a9b4e2a514 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 @@ -3,6 +3,7 @@ package com.mogo.skin.support.impl; import android.app.Activity; import android.app.Application; import android.content.Context; +import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatCallback; @@ -15,6 +16,7 @@ import com.mogo.skin.support.SkinMode; import com.mogo.skin.support.SkinSupportInstallerConstants; import skin.support.SkinCompatManager; +import skin.support.app.SkinActivityLifecycle; import skin.support.app.SkinAppCompatViewInflater; import skin.support.app.SkinCardViewInflater; import skin.support.constraint.app.SkinConstraintViewInflater; @@ -60,10 +62,15 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller { } @Override - public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity,AppCompatDelegate superDelegate, AppCompatCallback callback ) { + public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatDelegate superDelegate, AppCompatCallback callback ) { return SkinAppCompatDelegateImpl.get( activity, callback ); } + @Override + public void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState ) { + SkinActivityLifecycle.init( activity.getApplication() ).onCompensateActivityCreated( activity, savedInstanceState ); + } + @Override public void init( Context context ) { 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 f7d09f1e96..94ab26fbcf 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 @@ -1,7 +1,9 @@ package com.mogo.skin.support.noop; +import android.app.Activity; import android.app.Application; import android.content.Context; +import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatCallback; @@ -40,6 +42,11 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller { return superDelegate; } + @Override + public void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState ) { + Logger.d( TAG, "noop - onCompensateActivityCreated" ); + } + @Override public void init( Context context ) { 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 a6dce85629..0cb5fd30a4 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 @@ -1,6 +1,8 @@ package com.mogo.skin.support; +import android.app.Activity; import android.app.Application; +import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatCallback; @@ -21,5 +23,7 @@ interface IMogoSkinSupportInstaller extends IProvider { void loadSkin( SkinMode skinMode ); - AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity,AppCompatDelegate superDelegate, AppCompatCallback callback ); + AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatDelegate superDelegate, AppCompatCallback callback ); + + void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState ); } 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 779a87faea..1eb25ffa39 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 @@ -26,128 +26,135 @@ import static skin.support.widget.SkinCompatHelper.checkResourceId; public class SkinActivityLifecycle implements Application.ActivityLifecycleCallbacks { private static final String TAG = "SkinActivityLifecycle"; private static volatile SkinActivityLifecycle sInstance = null; - private WeakHashMap mSkinDelegateMap; - private WeakHashMap mSkinObserverMap; + private WeakHashMap< Context, SkinCompatDelegate > mSkinDelegateMap; + private WeakHashMap< Context, LazySkinObserver > mSkinObserverMap; /** * 用于记录当前Activity,在换肤后,立即刷新当前Activity以及非Activity创建的View。 */ - private WeakReference mCurActivityRef; + private WeakReference< Activity > mCurActivityRef; - public static SkinActivityLifecycle init(Application application) { - if (sInstance == null) { - synchronized (SkinActivityLifecycle.class) { - if (sInstance == null) { - sInstance = new SkinActivityLifecycle(application); + public static SkinActivityLifecycle init( Application application ) { + if ( sInstance == null ) { + synchronized ( SkinActivityLifecycle.class ) { + if ( sInstance == null ) { + sInstance = new SkinActivityLifecycle( application ); } } } return sInstance; } - private SkinActivityLifecycle(Application application) { - application.registerActivityLifecycleCallbacks(this); - installLayoutFactory(application); - SkinCompatManager.getInstance().addObserver(getObserver(application)); + private SkinActivityLifecycle( Application application ) { + application.registerActivityLifecycleCallbacks( this ); + installLayoutFactory( application ); + SkinCompatManager.getInstance().addObserver( getObserver( application ) ); } @Override - public void onActivityCreated(Activity activity, Bundle savedInstanceState) { - if (isContextSkinEnable(activity)) { - installLayoutFactory(activity); - updateWindowBackground(activity); - if (activity instanceof SkinCompatSupportable) { - ((SkinCompatSupportable) activity).applySkin(); + public void onActivityCreated( Activity activity, Bundle savedInstanceState ) { + onCompensateActivityCreated( activity, savedInstanceState ); + } + + /** + * 补偿启动页的 create 回调 + */ + public void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState ) { + if ( isContextSkinEnable( activity ) ) { + installLayoutFactory( activity ); + updateWindowBackground( activity ); + if ( activity instanceof SkinCompatSupportable ) { + ( ( SkinCompatSupportable ) activity ).applySkin(); } } } @Override - public void onActivityStarted(Activity activity) { + public void onActivityStarted( Activity activity ) { } @Override - public void onActivityResumed(Activity activity) { - mCurActivityRef = new WeakReference<>(activity); - if (isContextSkinEnable(activity)) { - LazySkinObserver observer = getObserver(activity); - SkinCompatManager.getInstance().addObserver(observer); + public void onActivityResumed( Activity activity ) { + mCurActivityRef = new WeakReference<>( activity ); + if ( isContextSkinEnable( activity ) ) { + LazySkinObserver observer = getObserver( activity ); + SkinCompatManager.getInstance().addObserver( observer ); observer.updateSkinIfNeeded(); } } @Override - public void onActivityPaused(Activity activity) { + public void onActivityPaused( Activity activity ) { } @Override - public void onActivityStopped(Activity activity) { + public void onActivityStopped( Activity activity ) { } @Override - public void onActivitySaveInstanceState(Activity activity, Bundle outState) { + public void onActivitySaveInstanceState( Activity activity, Bundle outState ) { } @Override - public void onActivityDestroyed(Activity activity) { - if (isContextSkinEnable(activity)) { - SkinCompatManager.getInstance().deleteObserver(getObserver(activity)); - mSkinObserverMap.remove(activity); - mSkinDelegateMap.remove(activity); + public void onActivityDestroyed( Activity activity ) { + if ( isContextSkinEnable( activity ) ) { + SkinCompatManager.getInstance().deleteObserver( getObserver( activity ) ); + mSkinObserverMap.remove( activity ); + mSkinDelegateMap.remove( activity ); } } - private void installLayoutFactory(Context context) { + private void installLayoutFactory( Context context ) { try { - LayoutInflater layoutInflater = LayoutInflater.from(context); - LayoutInflaterCompat.setFactory2(layoutInflater, getSkinDelegate(context)); - } catch (Throwable e) { - Slog.i("SkinActivity", "A factory has already been set on this LayoutInflater"); + LayoutInflater layoutInflater = LayoutInflater.from( context ); + LayoutInflaterCompat.setFactory2( layoutInflater, getSkinDelegate( context ) ); + } catch ( Throwable e ) { + Slog.i( "SkinActivity", "A factory has already been set on this LayoutInflater" ); } } - private SkinCompatDelegate getSkinDelegate(Context context) { - if (mSkinDelegateMap == null) { + private SkinCompatDelegate getSkinDelegate( Context context ) { + if ( mSkinDelegateMap == null ) { mSkinDelegateMap = new WeakHashMap<>(); } - SkinCompatDelegate mSkinDelegate = mSkinDelegateMap.get(context); - if (mSkinDelegate == null) { - mSkinDelegate = SkinCompatDelegate.create(context); - mSkinDelegateMap.put(context, mSkinDelegate); + SkinCompatDelegate mSkinDelegate = mSkinDelegateMap.get( context ); + if ( mSkinDelegate == null ) { + mSkinDelegate = SkinCompatDelegate.create( context ); + mSkinDelegateMap.put( context, mSkinDelegate ); } return mSkinDelegate; } - private LazySkinObserver getObserver(final Context context) { - if (mSkinObserverMap == null) { + private LazySkinObserver getObserver( final Context context ) { + if ( mSkinObserverMap == null ) { mSkinObserverMap = new WeakHashMap<>(); } - LazySkinObserver observer = mSkinObserverMap.get(context); - if (observer == null) { - observer = new LazySkinObserver(context); - mSkinObserverMap.put(context, observer); + LazySkinObserver observer = mSkinObserverMap.get( context ); + if ( observer == null ) { + observer = new LazySkinObserver( context ); + mSkinObserverMap.put( context, observer ); } return observer; } - private void updateWindowBackground(Activity activity) { - if (SkinCompatManager.getInstance().isSkinWindowBackgroundEnable()) { - int windowBackgroundResId = SkinCompatThemeUtils.getWindowBackgroundResId(activity); - if (checkResourceId(windowBackgroundResId) != INVALID_ID) { - Drawable drawable = SkinCompatResources.getDrawable(activity, windowBackgroundResId); - if (drawable != null) { - activity.getWindow().setBackgroundDrawable(drawable); + private void updateWindowBackground( Activity activity ) { + if ( SkinCompatManager.getInstance().isSkinWindowBackgroundEnable() ) { + int windowBackgroundResId = SkinCompatThemeUtils.getWindowBackgroundResId( activity ); + if ( checkResourceId( windowBackgroundResId ) != INVALID_ID ) { + Drawable drawable = SkinCompatResources.getDrawable( activity, windowBackgroundResId ); + if ( drawable != null ) { + activity.getWindow().setBackgroundDrawable( drawable ); } } } } - private boolean isContextSkinEnable(Context context) { + private boolean isContextSkinEnable( Context context ) { return SkinCompatManager.getInstance().isSkinAllActivityEnable() - || context.getClass().getAnnotation(Skinable.class) != null + || context.getClass().getAnnotation( Skinable.class ) != null || context instanceof SkinCompatSupportable; } @@ -155,16 +162,16 @@ public class SkinActivityLifecycle implements Application.ActivityLifecycleCallb private final Context mContext; private boolean mMarkNeedUpdate = false; - LazySkinObserver(Context context) { + LazySkinObserver( Context context ) { mContext = context; } @Override - public void updateSkin(SkinObservable observable, Object o) { + public void updateSkin( SkinObservable observable, Object o ) { // 当前Activity,或者非Activity,立即刷新,否则延迟到下次onResume方法中刷新。 - if (mCurActivityRef == null + if ( mCurActivityRef == null || mContext == mCurActivityRef.get() - || !(mContext instanceof Activity)) { + || !( mContext instanceof Activity ) ) { updateSkinForce(); } else { mMarkNeedUpdate = true; @@ -172,24 +179,24 @@ public class SkinActivityLifecycle implements Application.ActivityLifecycleCallb } void updateSkinIfNeeded() { - if (mMarkNeedUpdate) { + if ( mMarkNeedUpdate ) { updateSkinForce(); } } void updateSkinForce() { - if (Slog.DEBUG) { - Slog.i(TAG, "Context: " + mContext + " updateSkinForce"); + if ( Slog.DEBUG ) { + Slog.i( TAG, "Context: " + mContext + " updateSkinForce" ); } - if (mContext == null) { + if ( mContext == null ) { return; } - if (mContext instanceof Activity && isContextSkinEnable(mContext)) { - updateWindowBackground((Activity) mContext); + if ( mContext instanceof Activity && isContextSkinEnable( mContext ) ) { + updateWindowBackground( ( Activity ) mContext ); } - getSkinDelegate(mContext).applySkin(); - if (mContext instanceof SkinCompatSupportable) { - ((SkinCompatSupportable) mContext).applySkin(); + getSkinDelegate( mContext ).applySkin(); + if ( mContext instanceof SkinCompatSupportable ) { + ( ( SkinCompatSupportable ) mContext ).applySkin(); } mMarkNeedUpdate = false; } From 5e06f3f1846e4435187914c715b43a486c8e36ff Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Sep 2020 11:43:11 +0800 Subject: [PATCH 4/9] fix bug --- .../com/mogo/module/guide/guide/GuideStageFiveFragment.kt | 2 +- .../com/mogo/module/guide/guide/GuideStageFourFragment.kt | 3 ++- .../com/mogo/module/guide/guide/GuideStageOneFragment.kt | 2 +- .../mogo/module/guide/guide/GuideStageThreeFragment.kt | 4 +++- .../com/mogo/module/guide/guide/GuideStageTwoFragment.kt | 3 ++- .../src/main/res/layout/module_guide_item_include.xml | 8 ++++---- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt index 2598e06f6c..3d955ab3e8 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt @@ -32,7 +32,7 @@ class GuideStageFiveFragment : MvpFragment> { super.onResume() containerFragment?.invisibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_five), object : IMogoVoiceCmdCallBack { - override fun onTTSEnd(ttsId: String?, tts: String?) { + override fun onSpeakEnd(speakText: String?) { containerFragment?.closeGuideFragment() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt index fe9a84a81d..96df9cb926 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt @@ -30,9 +30,10 @@ class GuideStageFourFragment : MvpFragment> { override fun onResume() { super.onResume() + containerFragment?.visibleLeft() containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_four), object : IMogoVoiceCmdCallBack { - override fun onTTSEnd(ttsId: String?, tts: String?) { + override fun onSpeakEnd(speakText: String?) { containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt index a4c572b32a..b2f8b7470a 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt @@ -36,7 +36,7 @@ class GuideStageOneFragment : MvpFragment> { super.onResume() containerFragment?.invisibleLeft() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_one), object : IMogoVoiceCmdCallBack { - override fun onTTSEnd(ttsId: String?, tts: String?) { + override fun onSpeakEnd(speakText: String?) { containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt index 853c04a47c..e649cab503 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt @@ -30,8 +30,10 @@ class GuideStageThreeFragment : MvpFragment> { override fun onResume() { super.onResume() + containerFragment?.visibleLeft() + containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_three), object : IMogoVoiceCmdCallBack { - override fun onTTSEnd(ttsId: String?, tts: String?) { + override fun onSpeakEnd(speakText: String?) { containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt index 10700d5969..c9ddf0137a 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt @@ -31,8 +31,9 @@ class GuideStageTwoFragment : MvpFragment> { override fun onResume() { super.onResume() containerFragment?.visibleLeft() + containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_two), object : IMogoVoiceCmdCallBack { - override fun onTTSEnd(ttsId: String?, tts: String?) { + override fun onSpeakEnd(speakText: String?) { containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml index 3db0f73706..c46d99fe5c 100644 --- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml +++ b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml @@ -6,8 +6,8 @@ Date: Thu, 10 Sep 2020 11:57:33 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF-?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/layout/module_main_activity_main.xml | 2 +- .../res/values-xhdpi-1920x1000/dimens.xml | 1 + .../src/main/res/values-xhdpi/dimens.xml | 1 + .../src/main/res/values/dimens.xml | 1 + .../res/drawable-xhdpi/v2x_shadow_bg.9.png | Bin 3927 -> 3928 bytes ...e_v2x_event_panel_fragment_event_panel.xml | 1 + 6 files changed, 5 insertions(+), 1 deletion(-) 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 5f69da7e64..a9cf9fe2a5 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 @@ -53,7 +53,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft" - android:padding="@dimen/module_main_entrance_fragment_container_padding" /> + android:padding="@dimen/module_event_fragment_container_padding" /> 635px 1263px + 20px \ 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 89b96d6620..38353f4b23 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 @@ -25,4 +25,5 @@ 340px 1313px + 20px \ 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 c68d3e2a69..abb5b70e10 100644 --- a/modules/mogo-module-main/src/main/res/values/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values/dimens.xml @@ -25,5 +25,6 @@ 16px 16px 658px + 8px \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_shadow_bg.9.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_shadow_bg.9.png index b8c97e4a3a1a279798d8bed6929141ec190d3bff..239b9eb1145192edb2d2a0b5996c766591b3303e 100644 GIT binary patch literal 3928 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 literal 3927 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 diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml index a8a16214d7..72367f3873 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml @@ -76,6 +76,7 @@ android:overScrollMode="never" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/rgTabSelect" /> From 90949b1ceaede6971c57ad2fb6dc594bbe27dd1b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Sep 2020 12:10:36 +0800 Subject: [PATCH 6/9] fix bug of voice callBack --- .../java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt | 3 +++ .../java/com/mogo/module/guide/guide/GuideStageFourFragment.kt | 3 +++ .../java/com/mogo/module/guide/guide/GuideStageOneFragment.kt | 3 +++ .../com/mogo/module/guide/guide/GuideStageThreeFragment.kt | 3 +++ .../java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt | 3 +++ 5 files changed, 15 insertions(+) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt index 3d955ab3e8..814a846509 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt @@ -33,6 +33,9 @@ class GuideStageFiveFragment : MvpFragment> { containerFragment?.invisibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_five), object : IMogoVoiceCmdCallBack { override fun onSpeakEnd(speakText: String?) { + if(!isVisible){ + return + } containerFragment?.closeGuideFragment() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt index 96df9cb926..5770e9a986 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt @@ -34,6 +34,9 @@ class GuideStageFourFragment : MvpFragment> { containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_four), object : IMogoVoiceCmdCallBack { override fun onSpeakEnd(speakText: String?) { + if(!isVisible){ + return + } containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt index b2f8b7470a..1b2aaccc94 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt @@ -37,6 +37,9 @@ class GuideStageOneFragment : MvpFragment> { containerFragment?.invisibleLeft() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_one), object : IMogoVoiceCmdCallBack { override fun onSpeakEnd(speakText: String?) { + if(!isVisible){ + return + } containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt index e649cab503..f8cb5fdcc3 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt @@ -34,6 +34,9 @@ class GuideStageThreeFragment : MvpFragment> { containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_three), object : IMogoVoiceCmdCallBack { override fun onSpeakEnd(speakText: String?) { + if(!isVisible){ + return + } containerFragment?.moveToNext() } }) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt index c9ddf0137a..862148061c 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt @@ -34,6 +34,9 @@ class GuideStageTwoFragment : MvpFragment> { containerFragment?.visibleRight() speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_two), object : IMogoVoiceCmdCallBack { override fun onSpeakEnd(speakText: String?) { + if(!isVisible){ + return + } containerFragment?.moveToNext() } }) From 82e975d35abcc24fd3df5f278608017b455f68a5 Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 10 Sep 2020 12:51:28 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=88=86=E4=BA=AB=E5=88=97=E8=A1=A8item?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../drawable/bg_v2x_event_share_type_blue.xml | 9 ----- .../layout/item_v2x_event_share_load_more.xml | 6 ++-- .../layout/module_v2x_event_share_empty.xml | 6 ++-- .../layout/module_v2x_event_share_item.xml | 36 ++++++++++--------- .../res/layout/v2x_network_loading_item.xml | 4 +-- .../src/main/res/values-mdpi/dimens.xml | 1 - .../src/main/res/values-xhdpi/dimens.xml | 1 - .../src/main/res/values/colors.xml | 2 -- .../src/main/res/values/dimens.xml | 1 - 9 files changed, 27 insertions(+), 39 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_event_share_type_blue.xml diff --git a/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_event_share_type_blue.xml b/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_event_share_type_blue.xml deleted file mode 100644 index df0192f209..0000000000 --- a/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_event_share_type_blue.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_load_more.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_load_more.xml index f4be8180bf..9861467021 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_load_more.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_load_more.xml @@ -7,14 +7,14 @@