From 13ed04e2915f7e4c3710914c2f4f96dca2369d8e Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 10 Jun 2020 20:13:24 +0800 Subject: [PATCH] opt --- .../applaunch/InternalFunctionLauncher.java | 11 +- .../extensions/entrance/EntranceFragment.java | 372 +++++++++--------- 2 files changed, 197 insertions(+), 186 deletions(-) diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/InternalFunctionLauncher.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/InternalFunctionLauncher.java index d4a957ba1f..721d801fce 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/InternalFunctionLauncher.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/applaunch/InternalFunctionLauncher.java @@ -8,6 +8,7 @@ import com.mogo.module.apps.AppServiceHandler; import com.mogo.module.apps.AppsListActivity; import com.mogo.module.apps.model.AppInfo; import com.mogo.module.common.map.CustomNaviInterrupter; +import com.mogo.utils.LaunchUtils; /** * @author congtaowang @@ -28,11 +29,11 @@ public class InternalFunctionLauncher extends BaseAppLauncher { switch ( appInfo.getPackageName() ) { case "com.mogo.launcher.navi.search": if ( CustomNaviInterrupter.getInstance().interrupt() ) { - Intent intent = new Intent(); - intent.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); - intent.putExtra( "KEY_TYPE", 10034 ); - intent.putExtra( "SOURCE_APP", "Third App" ); - context.sendBroadcast( intent ); + try { + LaunchUtils.launchByPkg( context, "com.autonavi.amapauto" ); + } catch ( Exception e ) { + e.printStackTrace(); + } } else { AppServiceHandler.getApis().getSearchManagerApi().showSearch(); } 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 7f7a2cc9a0..eb4f1747a3 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 @@ -49,6 +49,8 @@ import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; +import com.mogo.utils.AppUtils; +import com.mogo.utils.LaunchUtils; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.UiThreadHandler; @@ -64,7 +66,7 @@ import java.util.Map; *

* 描述 */ -public class EntranceFragment extends MvpFragment +public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView, IMogoNaviListener, IMogoMapListener, @@ -167,10 +169,10 @@ public class EntranceFragment extends MvpFragment demoCache = new ArrayList<>(); + private List< View > demoCache = new ArrayList<>(); @Override protected void initViews() { - mApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(getContext()); + mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() ); - mEntrancePresenter = new EntrancePresenter(getContext(), this); + mEntrancePresenter = new EntrancePresenter( getContext(), this ); mMogoFragmentManager = mApis.getFragmentManagerApi(); mStatusManager = mApis.getStatusManagerApi(); - mUploadRoadCondition = findViewById(R.id.module_entrance_id_upload_road_condition); - mUpload = findViewById(R.id.module_entrance_id_upload); - mUploading = findViewById(R.id.module_entrance_id_uploading); - mUploadRoadCondition.setOnClickListener(view -> { + mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); + mUpload = findViewById( R.id.module_entrance_id_upload ); + mUploading = findViewById( R.id.module_entrance_id_uploading ); + mUploadRoadCondition.setOnClickListener( view -> { // // todo 测试动画 // View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); // TextView tv = v.findViewById(R.id.tvIndex); @@ -213,25 +215,25 @@ public class EntranceFragment extends MvpFragment { - if (!mStatusManager.isDisplayOverview()) { - mMApUIController.displayOverview(mDisplayOverviewBounds); - UiThreadHandler.removeCallbacks(mLockCarRunnable); - UiThreadHandler.postDelayed(mLockCarRunnable, 20_000); + mDisplayOverview = findViewById( R.id.module_ext_id_display_overview ); + mDisplayOverviewText = findViewById( R.id.module_ext_id_display_overview_text ); + mDisplayOverviewIcon = findViewById( R.id.module_ext_id_display_overview_icon ); + mDisplayOverview.setOnClickListener( view -> { + if ( !mStatusManager.isDisplayOverview() ) { + mMApUIController.displayOverview( mDisplayOverviewBounds ); + UiThreadHandler.removeCallbacks( mLockCarRunnable ); + UiThreadHandler.postDelayed( mLockCarRunnable, 20_000 ); } else { mMApUIController.recoverLockMode(); - UiThreadHandler.removeCallbacks(mLockCarRunnable); + UiThreadHandler.removeCallbacks( mLockCarRunnable ); } - mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview()); - }); + mStatusManager.setDisplayOverview( TAG, !mStatusManager.isDisplayOverview() ); + } ); - mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location); - mMove2CurrentLocation.setOnClickListener(view -> { + mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location ); + mMove2CurrentLocation.setOnClickListener( view -> { // // todo 测试动画 // if(!toggle) { // TopViewAnimHelper.getInstance().showNaviView(); @@ -247,20 +249,20 @@ public class EntranceFragment extends MvpFragment { @@ -270,89 +272,97 @@ public class EntranceFragment extends MvpFragment { - if (mMogoNavi != null) { - if (mIsLock) { - new WMDialog.Builder(getContext()) - .setOkButton(R.string.module_commons_button_ok, (dlg, which) -> { + mExitNavi = findViewById( R.id.module_entrance_id_exit_navi ); + mExitNavi.setOnClickListener( view -> { + if ( mMogoNavi != null ) { + if ( mIsLock ) { + new WMDialog.Builder( getContext() ) + .setOkButton( R.string.module_commons_button_ok, ( dlg, which ) -> { dlg.dismiss(); mMogoNavi.stopNavi(); - }) - .setCancelButton(R.string.module_commons_button_cancel, - (dlg, which) -> { - dlg.dismiss(); - }) - .setContent(R.string.module_commons_exit_navi_content) + } ) + .setCancelButton( R.string.module_commons_button_cancel, + ( dlg, which ) -> { + dlg.dismiss(); + } ) + .setContent( R.string.module_commons_exit_navi_content ) .build() .show(); } else { - MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.NAVI); + MapCenterPointStrategy.setMapCenterPointByScene( mMApUIController, Scene.NAVI ); mMApUIController.recoverLockMode(); } } - }); + } ); - mCameraMode = findViewById(R.id.module_ext_id_north); - mCameraMode.setOnClickListener(view -> { - if (mCameraMode.isSelected()) { - mMApUIController.changeMapMode(EnumMapUI.CarUp_2D); + mCameraMode = findViewById( R.id.module_ext_id_north ); + mCameraMode.setOnClickListener( view -> { + if ( mCameraMode.isSelected() ) { + mMApUIController.changeMapMode( EnumMapUI.CarUp_2D ); } else { - mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D); + mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D ); } - mCameraMode.setSelected(!mCameraMode.isSelected()); - mCameraMode.setText(getString(mCameraMode.isSelected() ? R.string.mode_car_up : - R.string.mode_north_up)); - }); + mCameraMode.setSelected( !mCameraMode.isSelected() ); + mCameraMode.setText( getString( mCameraMode.isSelected() ? R.string.mode_car_up : + R.string.mode_north_up ) ); + } ); - mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, + mApis.getIntentManagerApi().registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() { - @Override - public void onIntentReceived(String intentStr, Intent intent) { - int key_type = intent.getIntExtra("KEY_TYPE", 0); - int type = intent.getIntExtra("EXTRA_TYPE", -1); - int opera_type = intent.getIntExtra("EXTRA_OPERA", -1); - if (key_type == 10027) { - if (opera_type == 0) { - mCameraMode.setSelected(false); - } else if (opera_type == 1) { - mCameraMode.setSelected(true); + @Override + public void onIntentReceived( String intentStr, Intent intent ) { + int key_type = intent.getIntExtra( "KEY_TYPE", 0 ); + int type = intent.getIntExtra( "EXTRA_TYPE", -1 ); + int opera_type = intent.getIntExtra( "EXTRA_OPERA", -1 ); + if ( key_type == 10027 ) { + if ( opera_type == 0 ) { + mCameraMode.setSelected( false ); + } else if ( opera_type == 1 ) { + mCameraMode.setSelected( true ); + } + mCameraMode.setText( getString( mCameraMode.isSelected() ? + R.string.mode_car_up : R.string.mode_north_up ) ); + } } - mCameraMode.setText(getString(mCameraMode.isSelected() ? - R.string.mode_car_up : R.string.mode_north_up)); - } - } - }); - MogoEntranceButtons.save(ButtonIndex.BUTTON1, - findViewById(R.id.module_entrance_id_button1)); - MogoEntranceButtons.save(ButtonIndex.BUTTON2, - findViewById(R.id.module_entrance_id_button2)); + } ); + MogoEntranceButtons.save( ButtonIndex.BUTTON1, + findViewById( R.id.module_entrance_id_button1 ) ); + MogoEntranceButtons.save( ButtonIndex.BUTTON2, + findViewById( R.id.module_entrance_id_button2 ) ); mDisplayOverviewBounds = new Rect( - ResourcesHelper.getDimensionPixelSize(getContext(), - R.dimen.module_map_display_overview_left_margin), - ResourcesHelper.getDimensionPixelSize(getContext(), - R.dimen.module_map_display_overview_top_margin), - ResourcesHelper.getDimensionPixelSize(getContext(), - R.dimen.module_map_display_overview_right_margin), - ResourcesHelper.getDimensionPixelSize(getContext(), - R.dimen.module_map_display_overview_bottom_margin) + ResourcesHelper.getDimensionPixelSize( getContext(), + R.dimen.module_map_display_overview_left_margin ), + ResourcesHelper.getDimensionPixelSize( getContext(), + R.dimen.module_map_display_overview_top_margin ), + ResourcesHelper.getDimensionPixelSize( getContext(), + R.dimen.module_map_display_overview_right_margin ), + ResourcesHelper.getDimensionPixelSize( getContext(), + R.dimen.module_map_display_overview_bottom_margin ) ); mNaviInfo = new NaviInfoView(); - mNaviInfo.inflate(rootView); + mNaviInfo.inflate( rootView ); + + findViewById( R.id.module_map_id_navi_bg ).setOnClickListener( view -> { + try { + LaunchUtils.launchByPkg( getContext(), "com.autonavi.amapauto" ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } ); } public void showShareDialog() { isClickShare = true; mApis.getShareManager().showShareDialog(); - traceData("1"); + traceData( "1" ); } private static final String AUTONAVI_STANDARD_BROADCAST_RECV = @@ -365,27 +375,27 @@ public class EntranceFragment extends MvpFragment { - return !mMogoNavi.isNaviing(); - }); - if (CustomNaviInterrupter.getInstance().interrupt()) { - mDisplayOverview.setVisibility(View.GONE); - mCameraMode.setVisibility(View.GONE); - mExitNavi.setVisibility(View.GONE); + return !mMogoNavi.isNaviing(); + } ); + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + mDisplayOverview.setVisibility( View.GONE ); + mCameraMode.setVisibility( View.GONE ); + mExitNavi.setVisibility( View.GONE ); } else { - mExitNavi.setVisibility(View.VISIBLE); - mDisplayOverview.setVisibility(View.VISIBLE); - mCameraMode.setVisibility(View.VISIBLE); + mExitNavi.setVisibility( View.VISIBLE ); + mDisplayOverview.setVisibility( View.VISIBLE ); + mCameraMode.setVisibility( View.VISIBLE ); } - mApis.getAnalyticsApi().track("Navigation_begin", new HashMap<>()); + mApis.getAnalyticsApi().track( "Navigation_begin", new HashMap<>() ); } @Override public void onStopNavi() { TopViewAnimHelper.getInstance().hideNaviView(); - mExitNavi.setVisibility(View.GONE); - mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D); - mDisplayOverview.setVisibility(View.GONE); - mCameraMode.setVisibility(View.GONE); - MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.AIMLESS); + mExitNavi.setVisibility( View.GONE ); + mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D ); + mDisplayOverview.setVisibility( View.GONE ); + mCameraMode.setVisibility( View.GONE ); + MapCenterPointStrategy.setMapCenterPointByScene( mMApUIController, Scene.AIMLESS ); } @Override - public void onUpdateTraffic2(MogoTraffic traffic) { - if (traffic == null) { + public void onUpdateTraffic2( MogoTraffic traffic ) { + if ( traffic == null ) { return; } } @Override - public void onLockMap(boolean isLock) { + public void onLockMap( boolean isLock ) { mIsLock = isLock; - if (isLock) { - mExitNavi.setText(R.string.module_ext_str_exit_navi); - if (mMogoStatusManager.isDisplayOverview()) { - mMogoStatusManager.setDisplayOverview(TAG, false); + if ( isLock ) { + mExitNavi.setText( R.string.module_ext_str_exit_navi ); + if ( mMogoStatusManager.isDisplayOverview() ) { + mMogoStatusManager.setDisplayOverview( TAG, false ); } } else { - mExitNavi.setText(R.string.module_ext_str_continue_navi); + mExitNavi.setText( R.string.module_ext_str_continue_navi ); } } - private void traceData(String from) { - Map properties = new HashMap<>(); - properties.put("from", from); - mAnalytics.track("Launcher_Share_Click", properties); + private void traceData( String from ) { + Map< String, Object > properties = new HashMap<>(); + properties.put( "from", from ); + mAnalytics.track( "Launcher_Share_Click", properties ); } @Override - public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { - if (mUploadRoadCondition == null) { + public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { + if ( mUploadRoadCondition == null ) { return; } - if (descriptor == StatusDescriptor.UPLOADING) { - if (isTrue) { - mUploading.setVisibility(View.VISIBLE); - mUpload.setVisibility(View.GONE); - if (mUploadFrameAnimHandler != null) { - mUploadFrameAnimHandler.removeMessages(MSG_STOP_ANIM); - mUploadFrameAnimHandler.removeMessages(MSG_FRAME_ANIM); + if ( descriptor == StatusDescriptor.UPLOADING ) { + if ( isTrue ) { + mUploading.setVisibility( View.VISIBLE ); + mUpload.setVisibility( View.GONE ); + if ( mUploadFrameAnimHandler != null ) { + mUploadFrameAnimHandler.removeMessages( MSG_STOP_ANIM ); + mUploadFrameAnimHandler.removeMessages( MSG_FRAME_ANIM ); } doFrameAnimOnUploadButton(); } else { mCurrentUploadFrame = 0; - if (mUploadFrameAnimHandler != null) { - mUploadFrameAnimHandler.removeMessages(MSG_FRAME_ANIM); + if ( mUploadFrameAnimHandler != null ) { + mUploadFrameAnimHandler.removeMessages( MSG_FRAME_ANIM ); } - mUploading.setVisibility(View.GONE); - mUpload.setVisibility(View.VISIBLE); + mUploading.setVisibility( View.GONE ); + mUpload.setVisibility( View.VISIBLE ); } - } else if (descriptor == StatusDescriptor.DISPLAY_OVERVIEW) { - if (!mMogoNavi.isNaviing()) { + } else if ( descriptor == StatusDescriptor.DISPLAY_OVERVIEW ) { + if ( !mMogoNavi.isNaviing() ) { return; } - if (isTrue) { - mDisplayOverviewText.setText("退出全览"); - mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX, - getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize)); - mCameraMode.setVisibility(View.GONE); + if ( isTrue ) { + mDisplayOverviewText.setText( "退出全览" ); + mDisplayOverviewText.setTextSize( TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize( R.dimen.module_ext_display_overview_textSize ) ); + mCameraMode.setVisibility( View.GONE ); } else { - mDisplayOverviewText.setText("全览"); - mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX, - getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large)); - if (CustomNaviInterrupter.getInstance().interrupt()) { - mCameraMode.setVisibility(View.GONE); + mDisplayOverviewText.setText( "全览" ); + mDisplayOverviewText.setTextSize( TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize( R.dimen.module_ext_display_overview_textSize_large ) ); + if ( CustomNaviInterrupter.getInstance().interrupt() ) { + mCameraMode.setVisibility( View.GONE ); } else { - mCameraMode.setVisibility(View.VISIBLE); + mCameraMode.setVisibility( View.VISIBLE ); } } } } private void doFrameAnimOnUploadButton() { - if (mUploadFrameAnimHandler == null) { - mUploadFrameAnimHandler = new Handler(Looper.getMainLooper()) { + if ( mUploadFrameAnimHandler == null ) { + mUploadFrameAnimHandler = new Handler( Looper.getMainLooper() ) { @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - if (msg.what == MSG_FRAME_ANIM) { - if (mUploadingFrameRes == null || mUploadingFrameRes.length == 0) { - if (mUploading != null) { - mUploading.setVisibility(View.GONE); + public void handleMessage( Message msg ) { + super.handleMessage( msg ); + if ( msg.what == MSG_FRAME_ANIM ) { + if ( mUploadingFrameRes == null || mUploadingFrameRes.length == 0 ) { + if ( mUploading != null ) { + mUploading.setVisibility( View.GONE ); } - if (mUpload != null) { - mUpload.setVisibility(View.VISIBLE); + if ( mUpload != null ) { + mUpload.setVisibility( View.VISIBLE ); } return; } - if (!mMogoStatusManager.isUploading()) { + if ( !mMogoStatusManager.isUploading() ) { mCurrentUploadFrame = 0; return; } - if (mUploading != null) { - if (mCurrentUploadFrame == mUploadingFrameRes.length) { + if ( mUploading != null ) { + if ( mCurrentUploadFrame == mUploadingFrameRes.length ) { mCurrentUploadFrame = 12; } - mUploading.setImageResource(mUploadingFrameRes[mCurrentUploadFrame++ % mUploadingFrameRes.length]); + mUploading.setImageResource( mUploadingFrameRes[mCurrentUploadFrame++ % mUploadingFrameRes.length] ); } - mUploadFrameAnimHandler.sendEmptyMessageDelayed(MSG_FRAME_ANIM, - TIME_FRAME_INTERVAL_TIME); - } else if (msg.what == MSG_STOP_ANIM) { - mStatusManager.setUploadingStatus(TAG, false); + mUploadFrameAnimHandler.sendEmptyMessageDelayed( MSG_FRAME_ANIM, + TIME_FRAME_INTERVAL_TIME ); + } else if ( msg.what == MSG_STOP_ANIM ) { + mStatusManager.setUploadingStatus( TAG, false ); } } }; } - mUploadFrameAnimHandler.sendEmptyMessage(MSG_FRAME_ANIM); + mUploadFrameAnimHandler.sendEmptyMessage( MSG_FRAME_ANIM ); // 30s 后无论成功与否,停止动画 - mUploadFrameAnimHandler.sendEmptyMessageDelayed(MSG_STOP_ANIM, 30_000); + mUploadFrameAnimHandler.sendEmptyMessageDelayed( MSG_STOP_ANIM, 30_000 ); } }