From efff98d94ea0346276b17948f490bd36dfde531f Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 6 Feb 2020 17:53:49 +0800 Subject: [PATCH 1/5] add upload data --- .../module/tanlu/constant/TanluConstants.java | 3 ++ .../tanlu/fragment/TanluCardViewFragment.java | 29 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java index 18c482a475..5ed6632629 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java @@ -42,4 +42,7 @@ public class TanluConstants { //语音搜索 public static final String CARNET_VOICE_SEARCH = "CarNet_Voice_Search"; + //视频播放 + public static final String CARNET_USER_VIDEO_PLAY = "CarNet_user_video_play"; + } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index e333762744..dda05a1b52 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -186,6 +186,17 @@ public class TanluCardViewFragment extends MvpFragment> simpleCoverVideoPlayer.setVisibility(View.VISIBLE); autoZoomInImageView.setVisibility(View.GONE); + + //视频点击 +// simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Logger.d(TAG, "simpleCoverVideoPlayer onClick -------> "); +// gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG) +// .build(simpleCoverVideoPlayer); +//// simpleCoverVideoPlayer.getStartButton().performClick(); +// } +// }); } @@ -460,6 +471,7 @@ public class TanluCardViewFragment extends MvpFragment> gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG) .build(simpleCoverVideoPlayer); simpleCoverVideoPlayer.getStartButton().performClick(); + traceVideoPlayStatusData("1"); } } @@ -651,12 +663,27 @@ public class TanluCardViewFragment extends MvpFragment> gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) .build(simpleCoverVideoPlayer); simpleCoverVideoPlayer.getStartButton().performClick(); + traceVideoPlayStatusData("2"); + if (mImageUrl == null) { return; } - } + /** + * 上传播放 + * @param type + * type=1 主动触发播放 + * + * type=2 自动播放 + */ + private void traceVideoPlayStatusData(String type) { + Map properties = new HashMap<>(); + properties.put("type", type); + mAnalytics.track(TanluConstants.CARNET_USER_VIDEO_PLAY, properties); + } + + /** * 刷新单个图片数据 */ From cbb487adf25fc1a97c366a92f0518c69c5e0b115 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 6 Feb 2020 19:18:15 +0800 Subject: [PATCH 2/5] opt --- .../src/main/java/com/mogo/module/share/ShareControl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 5d09b0d770..63cbde8c1e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -12,6 +12,7 @@ public class ShareControl implements IShareControl { @Override public void showDialog(Context context) { LaucherShareDialog shareDialog = new LaucherShareDialog(context); + shareDialog.setCanceledOnTouchOutside(true); shareDialog.show(); } From 903f9a3e5c743e140baa0c653218895e0070ec03 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 6 Feb 2020 23:24:43 +0800 Subject: [PATCH 3/5] replace the viewPager autoScroll function --- .../com/mogo/module/main/MainActivity.java | 249 ++++++++++-------- 1 file changed, 133 insertions(+), 116 deletions(-) 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 ec5b6fbb73..db8a39c780 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 @@ -46,7 +46,7 @@ import java.util.Map; *

* 描述:加载各个模块 */ -public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView, +public class MainActivity extends MvpActivity implements MainView, IMogoLocationListener, IMogoMarkerClickListener { @@ -90,174 +90,189 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void initViews() { - mCardsContainer = findViewById( R.id.module_main_id_cards_container ); - mCardsContainer.setOrientation( OrientedViewPager.Orientation.VERTICAL ); - - mCardsContainer.setOnPageChangeListener( new OnPageChangeListenerAdapter() { + mCardsContainer = findViewById(R.id.module_main_id_cards_container); + mCardsContainer.setOrientation(OrientedViewPager.Orientation.VERTICAL); + mCardsContainer.setOnPageChangeListener(new OnPageChangeListenerAdapter() { + private boolean mIsLast = true; private boolean mCardFlipStatus = false; @Override - public void onPageSelected( int position ) { + public void onPageSelected(int position) { try { - IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition ); - trackLastCardShowEvent( provider ); + IMogoModuleProvider provider = mCardModulesAdapter.getProvider(mCurrentPosition); + trackLastCardShowEvent(provider); mCurrentPosition = position; - provider = mCardModulesAdapter.getProvider( mCurrentPosition ); - mMogoModuleHandler.setModuleEnable( provider.getModuleName() ); - if ( !isClickMarker ) { - mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() ); + provider = mCardModulesAdapter.getProvider(mCurrentPosition); + mMogoModuleHandler.setModuleEnable(provider.getModuleName()); + if (!isClickMarker) { + mMogoCardManager.invoke(position, mMogoModuleHandler.getCurrentModuleName()); } - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } } @Override - public void onPageScrollStateChanged( int state ) { - super.onPageScrollStateChanged( state ); - if ( state == ViewPager.SCROLL_STATE_DRAGGING ) { - if ( !mCardFlipStatus ) { + public void onPageScrollStateChanged(int state) { + super.onPageScrollStateChanged(state); + if (state == ViewPager.SCROLL_STATE_DRAGGING) { + if (!mCardFlipStatus) { mCardFlipStatus = true; - final IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition ); - trackCardFlipEvent( provider ); + final IMogoModuleProvider provider = mCardModulesAdapter.getProvider(mCurrentPosition); + trackCardFlipEvent(provider); } - } else if ( state == ViewPager.SCROLL_STATE_IDLE ) { + } else if (state == ViewPager.SCROLL_STATE_IDLE) { mCardFlipStatus = false; } + + int cardSize = mCardModulesAdapter.getCount(); + + if (state == ViewPager.SCROLL_STATE_SETTLING) { + mIsLast = false; + } else if (state == ViewPager.SCROLL_STATE_IDLE && mIsLast) { + //此处为你需要的情况,再加入当前页码判断可知道是第一页还是最后一页 + if (cardSize != 1 && mCurrentPosition == (cardSize - 1)) { + mCardsContainer.setCurrentItem(0, false); + } else if (cardSize != 1 && mCurrentPosition == 0) { + mCardsContainer.setCurrentItem(cardSize - 1, false); + } + } else { + mIsLast = true; + } } /** * 卡片展示时长埋点 * @param provider */ - private void trackLastCardShowEvent( IMogoModuleProvider provider ) { - if ( provider == null ) { + private void trackLastCardShowEvent(IMogoModuleProvider provider) { + if (provider == null) { return; } - Map< String, Object > properties = new HashMap<>(); - properties.put( "appname", provider.getAppName() ); - properties.put( "packagename", provider.getAppPackage() ); - properties.put( "activeTime", System.currentTimeMillis() - mCardStartShowTime ); - properties.put( "type", provider.getModuleName() ); - mAnalytics.track( "Launcher_Card_Show", properties ); + Map properties = new HashMap<>(); + properties.put("appname", provider.getAppName()); + properties.put("packagename", provider.getAppPackage()); + properties.put("activeTime", System.currentTimeMillis() - mCardStartShowTime); + properties.put("type", provider.getModuleName()); + mAnalytics.track("Launcher_Card_Show", properties); mCardStartShowTime = System.currentTimeMillis(); } /** * 卡片滑动埋点,WTF */ - private void trackCardFlipEvent( IMogoModuleProvider provider ) { - if ( provider == null ) { + private void trackCardFlipEvent(IMogoModuleProvider provider) { + if (provider == null) { return; } - Map< String, Object > properties = new HashMap<>(); - properties.put( "appname", provider.getAppName() ); - properties.put( "packagename", provider.getAppPackage() ); - properties.put( "type", provider.getModuleName() ); - mAnalytics.track( "Launcher_Card_Slide", properties ); + Map properties = new HashMap<>(); + properties.put("appname", provider.getAppName()); + properties.put("packagename", provider.getAppPackage()); + properties.put("type", provider.getModuleName()); + mAnalytics.track("Launcher_Card_Slide", properties); } - } ); + }); - mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation( this ); - mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment ); - mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> { - if ( size == 0 ) { + mMogoFragmentManager = (IMogoFragmentManager) ARouter.getInstance().build(MogoServicePaths.PATH_FRAGMENT_MANAGER).navigation(this); + mMogoFragmentManager.init(this, R.id.module_main_id_search_fragment); + mMogoFragmentManager.registerMainFragmentStackTransactionListener((size) -> { + if (size == 0) { showLayout(); - } else if ( size == 1 ) { + } else if (size == 1) { hideLayout(); } - } ); - mHeader = findViewById( R.id.module_main_id_header_fragment_container ); - mCards = findViewById( R.id.module_main_id_cards_container ); - 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 ); - mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame ); - mTopShadowFrame = findViewById( R.id.module_main_id_map_top_shadow_frame ); + }); + mHeader = findViewById(R.id.module_main_id_header_fragment_container); + mCards = findViewById(R.id.module_main_id_cards_container); + 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); + 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 ); + WindowViewHandler.init(mFloatingLayout); } // 隐藏布局 private void hideLayout() { - mHeader.setVisibility( View.GONE ); - mCards.setVisibility( View.GONE ); - mApps.setVisibility( View.GONE ); - mEntrance.setVisibility( View.GONE ); - mFloatingLayout.setVisibility( View.GONE ); - mLeftShadowFrame.setVisibility( View.GONE ); + mHeader.setVisibility(View.GONE); + mCards.setVisibility(View.GONE); + mApps.setVisibility(View.GONE); + mEntrance.setVisibility(View.GONE); + mFloatingLayout.setVisibility(View.GONE); + mLeftShadowFrame.setVisibility(View.GONE); } // 显示布局 private void showLayout() { - mHeader.setVisibility( View.VISIBLE ); - mCards.setVisibility( View.VISIBLE ); - mApps.setVisibility( View.VISIBLE ); - mEntrance.setVisibility( View.VISIBLE ); - mFloatingLayout.setVisibility( View.VISIBLE ); - mLeftShadowFrame.setVisibility( View.VISIBLE ); + mHeader.setVisibility(View.VISIBLE); + mCards.setVisibility(View.VISIBLE); + mApps.setVisibility(View.VISIBLE); + mEntrance.setVisibility(View.VISIBLE); + mFloatingLayout.setVisibility(View.VISIBLE); + mLeftShadowFrame.setVisibility(View.VISIBLE); } @Override - protected void onCreate( @Nullable Bundle savedInstanceState ) { - super.onCreate( savedInstanceState ); + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); - MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); + MogoModulePaths.addModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY)); - mMogoModuleHandler = new MogoModulesManager( this ); - mMogoMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation(); - if ( mMogoMapService != null ) { - mMogoMapService.getHostListenerRegister().registerHostMapListener( mMogoModuleHandler ); - mMogoMapService.getHostListenerRegister().registerHostNaviListener( mMogoModuleHandler ); - mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this ); + mMogoModuleHandler = new MogoModulesManager(this); + mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(); + if (mMogoMapService != null) { + mMogoMapService.getHostListenerRegister().registerHostMapListener(mMogoModuleHandler); + mMogoMapService.getHostListenerRegister().registerHostNaviListener(mMogoModuleHandler); + mMogoMapService.getHostListenerRegister().registerMarkerClickListener(this); } - mMogoModuleHandler.setMapLoadedCallback( () -> { - Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); + mMogoModuleHandler.setMapLoadedCallback(() -> { + Logger.d(TAG, "map loaded." + Thread.currentThread().getName()); // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 mMogoModuleHandler.loadModules(); loadContainerModules(); loadCardModules(); // 显示左边遮罩 - mLeftShadowFrame.setVisibility( View.VISIBLE ); - mTopShadowFrame.setVisibility( View.VISIBLE ); + mLeftShadowFrame.setVisibility(View.VISIBLE); + mTopShadowFrame.setVisibility(View.VISIBLE); // 右移地图中心点 mMogoMapUIController = mMogoMapService.getMapUIController(); - mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 ); + mMogoMapUIController.setPointToCenter(0.66145, 0.590688); // 开启定位 startLocation(); - } ); - mMogoModuleHandler.loadMapModule( R.id.module_main_id_map_fragment_container ); + }); + 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 ); + mMogoCardManager = (IMogoCardManager) ARouter.getInstance().build(MogoServicePaths.PATH_CARD_MANAGER).navigation(this); + mAnalytics = (IMogoAnalytics) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_ANALYTICS).navigation(this); } private void startLocation() { - mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() ); - mLocationClient.addLocationListener( this ); + 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 ); + 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 ); - mCardsContainer.setOffscreenPageLimit( providers.size() ); - mCardsContainer.setPageTransformer( true, new VerticalStackTransformer( this ) ); - mCardsContainer.setAdapter( mCardModulesAdapter ); - mCardsContainer.setCurrentItem( mCurrentPosition ); + List providers = mMogoModuleHandler.loadCardsModule(); + mCardModulesAdapter = new CardModulesAdapter(this, providers); + mCardsContainer.setOffscreenPageLimit(providers.size()); + mCardsContainer.setPageTransformer(true, new VerticalStackTransformer(this)); + mCardsContainer.setAdapter(mCardModulesAdapter); + mCardsContainer.setCurrentItem(mCurrentPosition); mCardStartShowTime = System.currentTimeMillis(); } @@ -266,60 +281,62 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @NonNull @Override protected MainPresenter createPresenter() { - return new MainPresenter( this ); + return new MainPresenter(this); } @Override - public void onLocationChanged( MogoLocation location ) { - if ( mMogoModuleHandler != null ) { - mMogoModuleHandler.onLocationChanged( location ); + public void onLocationChanged(MogoLocation location) { + if (mMogoModuleHandler != null) { + mMogoModuleHandler.onLocationChanged(location); } } @Override - public boolean onMarkerClicked( IMogoMarker marker ) { + public boolean onMarkerClicked(IMogoMarker marker) { isClickMarker = true; - switch2( marker.getOwner() ); - if ( mMogoModuleHandler != null ) { - mMogoModuleHandler.onMarkerClicked( marker ); + switch2(marker.getOwner()); + if (mMogoModuleHandler != null) { + mMogoModuleHandler.onMarkerClicked(marker); } isClickMarker = false; return false; } @Override - public void switch2( String cardType ) { - if ( mCardModulesAdapter != null ) { + public void switch2(String cardType) { + if (mCardModulesAdapter != null) { - int position = mCardModulesAdapter.getProviderPosition( cardType ); - if ( position != -1 ) { - int lastFactPosition = mCardModulesAdapter.getFactPosition( mCurrentPosition ); - mCardsContainer.setCurrentItem( mCurrentPosition + position - lastFactPosition, Math.abs( lastFactPosition - position ) == 1 ); - if ( !isClickMarker ) { - mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() ); + int position = mCardModulesAdapter.getProviderPosition(cardType); + if (position != -1) { + int lastFactPosition = mCardModulesAdapter.getFactPosition(mCurrentPosition); + mCardsContainer.setCurrentItem(mCurrentPosition + position - lastFactPosition, Math.abs(lastFactPosition - position) == 1); + if (!isClickMarker) { + mMogoCardManager.invoke(position, mMogoModuleHandler.getCurrentModuleName()); } } else { - Logger.e( TAG, "Can't find type of %s's position", cardType ); + Logger.e(TAG, "Can't find type of %s's position", cardType); } } } - @Override protected void onResume() { + @Override + protected void onResume() { MapBroadCastHelper.getInstance(this).mapFrount(); super.onResume(); } - @Override protected void onPause() { + @Override + protected void onPause() { MapBroadCastHelper.getInstance(this).mapBackground(); super.onPause(); } @Override public void onBackPressed() { - if ( mMogoFragmentManager.getStackSize() == 0 ) { + if (mMogoFragmentManager.getStackSize() == 0) { return; } - if ( mMogoFragmentManager != null ) { + if (mMogoFragmentManager != null) { mMogoFragmentManager.pop(); } } @@ -328,12 +345,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void onDestroy() { super.onDestroy(); - if ( mLocationClient != null ) { - mLocationClient.removeLocationListener( this ); + if (mLocationClient != null) { + mLocationClient.removeLocationListener(this); mLocationClient.destroy(); } mLocationClient = null; - if ( mMogoModuleHandler != null ) { + if (mMogoModuleHandler != null) { mMogoModuleHandler.destroy(); } mMogoModuleHandler = null; @@ -342,6 +359,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoCardManager = null; mMogoFragmentManager = null; - AIAssist.getInstance( this ).release(); + AIAssist.getInstance(this).release(); } } From 3decc815ac39e46f3a32404f9aa76c7319bf06a6 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 7 Feb 2020 09:54:33 +0800 Subject: [PATCH 4/5] opt --- .../src/main/java/com/mogo/module/share/IShareControl.java | 2 +- .../src/main/java/com/mogo/module/share/ShareControl.java | 5 +++-- .../src/main/res/layout/tanlu_item_main_media_recycler.xml | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java index 76d27221e9..cd811199d2 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java @@ -21,5 +21,5 @@ public interface IShareControl { * 对话框消失 */ @Keep - void dismissDialog(); + void dismissDialog(Context context); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 63cbde8c1e..a04c2e73b5 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -17,7 +17,8 @@ public class ShareControl implements IShareControl { } @Override - public void dismissDialog() { - + public void dismissDialog(Context context) { + LaucherShareDialog shareDialog = new LaucherShareDialog(context); + shareDialog.dismiss(); } } diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml index 40a085df42..fcb133f346 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml @@ -66,7 +66,8 @@ android:layout_below="@+id/layout_top_view" android:layout_marginLeft="@dimen/tanlu_module_card_margin_left" android:layout_marginRight="@dimen/tanlu_module_card_margin_left" - android:background="@drawable/shape_bg_222533_9px"> + > + Date: Fri, 7 Feb 2020 10:14:59 +0800 Subject: [PATCH 5/5] opt --- .../extensions/entrance/EntranceFragment.java | 3 +- .../com/mogo/module/share/IShareControl.java | 4 +-- .../com/mogo/module/share/ShareControl.java | 31 ++++++++++++++++--- .../tanlu/fragment/TanluCardViewFragment.java | 4 +-- 4 files changed, 32 insertions(+), 10 deletions(-) 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 077f7c1a62..02e0ffbcfe 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 @@ -123,8 +123,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); mUploadRoadCondition.setOnClickListener( view -> { - ShareControl shareControl = new ShareControl(); - shareControl.showDialog( getActivity() ); + ShareControl.getInstance(getActivity()).showDialog(); } ); mVRMode = findViewById( R.id.module_entrance_id_vr_mode ); diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java index cd811199d2..0224679a7e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java @@ -15,11 +15,11 @@ public interface IShareControl { * 显示对话框 */ @Keep - void showDialog(Context context); + void showDialog(/*Context context*/); /** * 对话框消失 */ @Keep - void dismissDialog(Context context); + void dismissDialog(); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index a04c2e73b5..43ce0868aa 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -1,6 +1,9 @@ package com.mogo.module.share; import android.content.Context; + +import com.mogo.map.MogoNavi; +import com.mogo.map.impl.amap.navi.NaviClient; import com.mogo.module.share.dialog.LaucherShareDialog; /** @@ -9,16 +12,36 @@ import com.mogo.module.share.dialog.LaucherShareDialog; * @since 2020-01-10 */ public class ShareControl implements IShareControl { + + private static volatile ShareControl sInstance; + private Context mContext; + + private ShareControl(Context context) { + mContext = context; + } + + public static ShareControl getInstance(Context context) { + if (sInstance == null) { + synchronized (ShareControl.class) { + if (sInstance == null) { + sInstance = new ShareControl(context); + } + } + } + return sInstance; + } + + @Override - public void showDialog(Context context) { - LaucherShareDialog shareDialog = new LaucherShareDialog(context); + public void showDialog() { + LaucherShareDialog shareDialog = new LaucherShareDialog(mContext); shareDialog.setCanceledOnTouchOutside(true); shareDialog.show(); } @Override - public void dismissDialog(Context context) { - LaucherShareDialog shareDialog = new LaucherShareDialog(context); + public void dismissDialog() { + LaucherShareDialog shareDialog = new LaucherShareDialog(mContext); shareDialog.dismiss(); } } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index dda05a1b52..4ccd826564 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -441,6 +441,7 @@ public class TanluCardViewFragment extends MvpFragment> sendShareReceiver("1"); Logger.d(TAG, "mogoIntentListener 上报路况 ----> "); traceTypeData("1"); + ShareControl.getInstance(getActivity()).dismissDialog(); } else if (intentStr.equals(TanluConstants.SHARE_ROAD_CLOSURE)) { //分享封路(封路了) --ok traceData("2"); sendShareReceiver("3"); @@ -452,8 +453,7 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, "mogoIntentListener 分享交通检查 ----> "); traceTypeData("3"); } else if (intentStr.equals(TanluConstants.GO_TO_SHARE)) { //我要分享 --ok - ShareControl shareControl = new ShareControl(); - shareControl.showDialog(getActivity()); + ShareControl.getInstance(getActivity()).showDialog(); Logger.d(TAG, "mogoIntentListener 我要分享 ----> "); } }