From 3f5124d1104b1d026619c8449d34470c5cd3a9ee Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 14 Aug 2020 16:04:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=A1=8C=E9=9D=A2=E6=8E=A7=E4=BB=B6=E5=AE=9E=E7=8E=B0=202.=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=A9=E6=B0=94=E6=8E=A7=E4=BB=B6=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=203.=20=E5=B0=86=E6=A8=A1=E5=9D=97=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E8=BF=87=E6=9C=9F=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=BB=98=E8=AE=A4=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 1 - .../module/back/Back2LauncherFragment.java | 33 --- .../back/BackToLauncherModuleProvider.java | 35 --- .../module/back/BackToMainHomeManager.java | 60 ++--- .../com/mogo/module/back/utils/Utils.java | 20 -- .../back/utils/WindowManagerViewHelper.java | 213 ------------------ .../module/back/utils/WindowViewHandler.java | 119 ---------- .../back/utils/WindowViewUIController.java | 16 -- .../src/main/res/values-xhdpi/dimens.xml | 4 +- .../src/main/res/values/dimens.xml | 4 +- .../layout/module_ext_layout_extensions.xml | 1 + .../service/module/IMogoModuleProvider.java | 31 ++- 12 files changed, 52 insertions(+), 485 deletions(-) delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java diff --git a/app/build.gradle b/app/build.gradle index 9fa3526b19..011d1620a1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -266,7 +266,6 @@ dependencies { exclude group: 'com.mogo.module', module: 'module-share' } implementation rootProject.ext.dependencies.moduletanluapi - implementation rootProject.ext.dependencies.mogomonitor implementation rootProject.ext.dependencies.mogomodulewidgets } else { diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java deleted file mode 100644 index 68a9943451..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.module.back; - -import android.os.Bundle; - -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; - -import com.mogo.utils.logger.Logger; - -/** - * @author congtaowang - * @since 2020-02-26 - *

- * 描述 - */ -public class Back2LauncherFragment extends Fragment { - - private static final String TAG = "Back2LauncherFragment"; - - @Override - public void onCreate( @Nullable Bundle savedInstanceState ) { - super.onCreate( savedInstanceState ); - BackToMainHomeManager.addMainHomeView(); - Logger.d( TAG, "addMainHomeView" ); - } - - @Override - public void onDestroy() { - super.onDestroy(); - BackToMainHomeManager.removeMainHomeView(); - Logger.d( TAG, "removeMainHomeView" ); - } -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java index a92fcecdee..c03d6944b3 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java @@ -49,46 +49,11 @@ public class BackToLauncherModuleProvider implements IMogoModuleProvider { return BackToLauncherConst.MODULE_NAME; } - @Override - public IMogoModuleLifecycle getCardLifecycle() { - return null; - } - - @Override - public IMogoMapListener getMapListener() { - return null; - } - @Override public int getType() { return ModuleType.TYPE_SERVICE; } - @Override - public IMogoNaviListener getNaviListener() { - return null; - } - - @Override - public IMogoLocationListener getLocationListener() { - return null; - } - - @Override - public IMogoMarkerClickListener getMarkerClickListener() { - return null; - } - - @Override - public String getAppPackage() { - return null; - } - - @Override - public String getAppName() { - return null; - } - @Override public void init( Context context ) { if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) { diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java index db17ed40fc..ea748c53fe 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java @@ -1,28 +1,20 @@ package com.mogo.module.back; -import android.content.Context; import android.content.Intent; -import android.graphics.PixelFormat; -import android.os.Build; import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; import android.view.WindowManager; import com.mogo.commons.AbsMogoApplication; -import com.mogo.module.back.utils.WindowManagerViewHelper; +import com.mogo.module.common.wm.WindowManagerView; import com.mogo.service.IMogoServiceApis; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.statusmanager.IMogoStatusManager; -import com.mogo.utils.AppUtils; import com.mogo.utils.logger.Logger; public class BackToMainHomeManager { private static final String TAG = "BackToMainHomeManager"; - private static View mBackView; - private static IMogoFragmentManager mFragmentManager; private static IMogoStatusManager mStatusManager; private static IMogoServiceApis mApis; @@ -45,7 +37,7 @@ public class BackToMainHomeManager { return; } - Intent intent2 = new Intent( ); + Intent intent2 = new Intent(); // 是否发自系统消息 intent2.putExtra( "isHomeKeyDown", false ); mApis.getIntentManagerApi().invoke( Intent.ACTION_CLOSE_SYSTEM_DIALOGS, intent2 ); @@ -58,40 +50,34 @@ public class BackToMainHomeManager { AbsMogoApplication.getApp().startActivity( intent ); } + private static WindowManagerView mWindowManagerView; + public static void addMainHomeView() { Logger.d( "BackToMainHomeManager", "addMainHomeView" ); - if ( mBackView != null ) WindowManagerViewHelper.removeView( mBackView ); - mBackView = LayoutInflater.from( AbsMogoApplication.getApp() ).inflate( R.layout.mogo_module_back_home_back_layout, null ); - final Context context = mBackView.getContext(); - if ( context == null || context.getApplicationContext() == null ) { - return; + + if ( mWindowManagerView == null ) { + mWindowManagerView = new WindowManagerView.Builder( AbsMogoApplication.getApp() ) + .contentView( R.layout.mogo_module_back_home_back_layout ) + .position( AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_left ), + AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_top ) ) + .size( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT ) + .gravity( Gravity.LEFT | Gravity.TOP ) + .showInWindowManager(); + mWindowManagerView.attachTouchEvent( view -> { + backToLauncher(); + } ); } - WindowManager windowManager = ( WindowManager ) context.getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; + try { + mWindowManagerView.show(); + } catch ( Exception e ) { + e.printStackTrace(); } - mBackView.setOnClickListener( view -> { - backToLauncher(); - } ); - WindowManager.LayoutParams params = new WindowManager.LayoutParams(); - params.height = WindowManager.LayoutParams.WRAP_CONTENT; - params.width = WindowManager.LayoutParams.WRAP_CONTENT; - params.x = AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_left ); - params.y = AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_top ); - params.gravity = Gravity.LEFT | Gravity.CENTER; - if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ) { - params.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; - } else { - params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; - } - params.format = PixelFormat.RGBA_8888; - params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; - windowManager.addView( mBackView, params ); - WindowManagerViewHelper.attachMovementEvent( mBackView, params ); } public static void removeMainHomeView() { - WindowManagerViewHelper.removeView( mBackView ); + if ( mWindowManagerView != null ) { + mWindowManagerView.dismiss(); + } } } diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java deleted file mode 100644 index ace6e4bdae..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; - -import com.mogo.commons.AbsMogoApplication; - -public class Utils { - public static boolean isActivityExits( String packageName, String classStr ) { - Intent intent = new Intent(); - intent.setClassName( packageName, classStr ); - ResolveInfo resolveInfo = AbsMogoApplication.getApp().getPackageManager().resolveActivity( intent, PackageManager.MATCH_DEFAULT_ONLY ); - if ( resolveInfo != null ) { - return true; - } else { - return false; - } - } -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java deleted file mode 100644 index ff03d5ab96..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Context; -import android.graphics.PixelFormat; -import android.os.Build; -import android.view.Gravity; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; - -/** - * @author congtaowang - * @since 2019-04-30 - *

- * 向 window manager 添加 view - */ -public class WindowManagerViewHelper { - - public static void addView( View view ) { - - final Context context = view.getContext(); - if ( context == null || context.getApplicationContext() == null ) { - return; - } - WindowManager windowManager = ( WindowManager ) context.getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; - } - WindowManager.LayoutParams params = new WindowManager.LayoutParams(); - params.height = WindowManager.LayoutParams.WRAP_CONTENT; - params.width = WindowManager.LayoutParams.WRAP_CONTENT; - params.gravity = Gravity.LEFT | Gravity.CENTER; - params.type = getFitWindowParamsType(); - params.format = PixelFormat.RGBA_8888; - params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; - windowManager.addView( view, params ); - - attachMovementEvent( view, params ); - } - - private static int getFitWindowParamsType() { - int type; - if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 ) { - // Need request permission. - type = WindowManager.LayoutParams.TYPE_PHONE; - } else if ( Build.MODEL.equalsIgnoreCase( "MI 5" ) ) { - // MI 5 phone not display crawler dot in android 7.0 - type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; - } else { - // It's will be dismissed automatically 3s after showing in Android 25. - type = WindowManager.LayoutParams.TYPE_TOAST; - } - return type; - } - - public static void removeView( View view ) { - if ( view == null || view.getContext() == null || view.getContext().getApplicationContext() == null ) { - return; - } - WindowManager windowManager = ( WindowManager ) view.getContext().getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; - } - windowManager.removeViewImmediate( view ); - DispatchTouchEventWrapper.getInstance().release(); - - } - - public static void attachMovementEvent( View view, WindowManager.LayoutParams params ) { - if ( view == null ) { - return; - } - view.setOnTouchListener( ( v, event ) -> { - DispatchTouchEventWrapper.getInstance() - .attach( view, params ) - .handle( event ); - return false; - } ); - } - - static class DispatchTouchEventWrapper { - - private WindowViewHandler mWindowViewHandler; - - int mActionDownX = -1; - int mActionDownY = -1; - - /** - * Flag whether move after touch down. - */ - boolean mMoveFlag = false; - - private static volatile DispatchTouchEventWrapper INST; - - private DispatchTouchEventWrapper() { - } - - public static DispatchTouchEventWrapper getInstance() { - if ( INST == null ) { - synchronized ( DispatchTouchEventWrapper.class ) { - if ( INST == null ) { - INST = new DispatchTouchEventWrapper(); - } - } - } - return INST; - } - - public DispatchTouchEventWrapper attach( View windowView, WindowManager.LayoutParams params ) { - if ( mWindowViewHandler == null || mWindowViewHandler.getWindowView() != windowView ) { - mWindowViewHandler = new WindowViewHandler.DefaultHandler( windowView, params ); - } - return this; - } - - public boolean handle( MotionEvent event ) { - switch ( event.getAction() & MotionEvent.ACTION_MASK ) { - case MotionEvent.ACTION_DOWN: - if ( onActionDown( event ) ) { - return true; - } - break; - case MotionEvent.ACTION_MOVE: - if ( onActionMove( event ) ) { - return true; - } - break; - case MotionEvent.ACTION_UP: - if ( onActionUp( event ) ) { - return true; - } - break; - } - return false; - } - - private boolean onActionDown( MotionEvent event ) { - mActionDownX = ( ( int ) event.getRawX() ); - mActionDownY = ( ( int ) event.getRawY() ); - if ( mWindowViewHandler != null ) { - mWindowViewHandler.recordNewPosition(); - return true; - } - return false; - } - - private boolean onActionMove( MotionEvent event ) { - - if ( Math.abs( event.getRawX() - mActionDownX ) >= 20 - || Math.abs( event.getRawY() - mActionDownY ) >= 20 ) { - mMoveFlag = true; - } - - if ( isLastDownValueLegal() ) { - moveWindowView( event ); - return true; - } - return false; - } - - private boolean onActionUp( MotionEvent event ) { - if ( isClickEventLike() ) { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.performClickLike(); - } - } else { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.moveToEdge(); - mWindowViewHandler.recordNewPosition(); - } - } - mMoveFlag = false; - clearLastDownAxisValue(); - return true; - } - - private void clearLastDownAxisValue() { - mActionDownX = mActionDownY = -1; - } - - private boolean isLastDownValueLegal() { - return mActionDownX != -1 && mActionDownY != -1; - } - - private void moveWindowView( MotionEvent event ) { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.move( event, mActionDownX, mActionDownY ); - } - } - - /** - * Simulate click event just like set {@link View.OnClickListener} - * - * @return - */ - private boolean isClickEventLike() { - System.out.println( mMoveFlag ); - return isLastDownValueLegal() && !mMoveFlag; - } - - public void release() { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.release(); - } - mWindowViewHandler = null; - mActionDownX = -1; - mActionDownY = -1; - mMoveFlag = false; - INST = null; - } - } - -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java deleted file mode 100644 index bbd48717cd..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Context; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; - -import com.mogo.commons.AbsMogoApplication; -import com.mogo.utils.WindowUtils; - - -/** - * Created by congtaowang on 2017/6/20. - */ - -public interface WindowViewHandler { - - View getWindowView(); - - void recordNewPosition(); - - void move(MotionEvent event, int downX, int downY); - - void release(); - - void moveToEdge(); - - void performClickLike(); - - class DefaultHandler implements WindowViewHandler { - - protected View mWindowView; - - protected int mWindowViewLeft = -1; - protected int mWindowViewTop = -1; - - private WindowManager.LayoutParams mParams; - - public DefaultHandler( View windowView, WindowManager.LayoutParams params ) { - this.mWindowView = windowView; - mParams = params; - } - - @Override - public View getWindowView() { - return mWindowView; - } - - @Override - public void recordNewPosition() { - mWindowViewLeft = mParams.x; - mWindowViewTop = mParams.y; - } - - @Override - public void move( MotionEvent event, int downX, int downY ) { - move( ( ( int ) ( event.getRawX() - downX ) ), - ( ( int ) ( event.getRawY() - downY ) ) ); - } - - private void move( int distanceX, int distanceY ) { - if ( mWindowView == null ) { - return; - } - mParams.x = mWindowViewLeft + distanceX; - mParams.y = mWindowViewTop + distanceY; - WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) ); - - if ( wm == null ) { - return; - } - - if ( mWindowView instanceof WindowViewUIController ) { - if ( mParams.x > WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) / 2 ) { - ( ( WindowViewUIController ) mWindowView ).rightMode(); - } else { - ( ( WindowViewUIController ) mWindowView ).leftMode(); - } - } - - wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) ); - } - - @Override - public void moveToEdge() { - if ( mWindowView == null ) { - return; - } - WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) ); - - if ( mParams.x > WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) / 2 ) { - mParams.x = WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) - mWindowView.getMeasuredWidth(); - } else { - mParams.x = 0; - } - - wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) ); - } - - protected WindowManager.LayoutParams alignLayoutParamsBoundary( WindowManager.LayoutParams params ) { - return params; - } - - @Override - public void performClickLike() { - if ( mWindowView instanceof WindowViewUIController ) { - ( ( WindowViewUIController ) mWindowView ).performClickLike(); - } - } - - @Override - public void release() { - mWindowView = null; - mWindowViewLeft = -1; - mWindowViewTop = -1; - } - } - -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java deleted file mode 100644 index e329cdea68..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.mogo.module.back.utils; - -/** - * @author congtaowang - * @since 2019-05-12 - *

- * 描述 - */ -public interface WindowViewUIController { - - void leftMode(); - - void rightMode(); - - void performClickLike(); -} diff --git a/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml index bd57c0f8ae..e0b0d888aa 100644 --- a/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml @@ -1,8 +1,8 @@ 140px - 0px - 190px + 30px + 230px diff --git a/modules/mogo-module-back/src/main/res/values/dimens.xml b/modules/mogo-module-back/src/main/res/values/dimens.xml index dfab5dd86c..a50305933f 100644 --- a/modules/mogo-module-back/src/main/res/values/dimens.xml +++ b/modules/mogo-module-back/src/main/res/values/dimens.xml @@ -1,7 +1,7 @@ 80px - 0px - 100px + 16px + 140px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml index 446c7541b0..222f293173 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml @@ -12,6 +12,7 @@ android:gravity="center" android:paddingStart="@dimen/module_ext_weather_container_paddingLeft" android:paddingEnd="@dimen/module_ext_weather_container_paddingRight" + android:layout_marginEnd="@dimen/module_ext_msg_marginRight" android:visibility="invisible" app:layout_constraintRight_toLeftOf="@+id/module_ext_id_msg" app:layout_constraintTop_toTopOf="parent" diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java index 59dad0341e..524010759b 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java @@ -51,7 +51,10 @@ public interface IMogoModuleProvider extends IProvider { * * @return */ - IMogoModuleLifecycle getCardLifecycle(); + @Deprecated + default IMogoModuleLifecycle getCardLifecycle() { + return null; + } /** * 地图监听对象 @@ -60,7 +63,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoMapListener getMapListener(); + default IMogoMapListener getMapListener() { + return null; + } /** * 是哪种类型的提供者 @@ -78,7 +83,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoNaviListener getNaviListener(); + default IMogoNaviListener getNaviListener() { + return null; + } /** * 定位变化监听:此接口接受地图定位信息 @@ -87,7 +94,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoLocationListener getLocationListener(); + default IMogoLocationListener getLocationListener() { + return null; + } /** * marker 点击回调 @@ -96,19 +105,27 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoMarkerClickListener getMarkerClickListener(); + default IMogoMarkerClickListener getMarkerClickListener() { + return null; + } /** * 获取模块对应 app 的包名 * * @return */ - String getAppPackage(); + @Deprecated + default String getAppPackage() { + return ""; + } /** * 获取对应模块 app 名称 * * @return */ - String getAppName(); + @Deprecated + default String getAppName() { + return ""; + } } From 0b26d689a5e5ad7c82dc8a552dd0dfff1d4afac5 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 14 Aug 2020 16:13:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=BB=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=AF=B9=E8=BF=94=E5=9B=9E=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E8=80=A6=E5=90=88=E5=85=B3=E7=B3=BB=EF=BC=8C=E5=B0=BD=E9=87=8F?= =?UTF-8?q?=E8=AE=A9=E5=8A=9F=E8=83=BD=E5=9C=A8application=E9=87=8C?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=8A=A0=E8=BD=BD=E5=92=8C=E5=88=86=E9=85=8D?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 ++ .../main/java/com/mogo/launcher/MogoApplication.java | 3 ++- .../module/main/launcher/MainLauncherActivity.java | 11 ----------- modules/mogo-module-main/build.gradle | 2 -- .../main/java/com/mogo/module/main/MainActivity.java | 8 -------- 5 files changed, 4 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 011d1620a1..9141820b14 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -268,6 +268,7 @@ dependencies { implementation rootProject.ext.dependencies.moduletanluapi implementation rootProject.ext.dependencies.mogomonitor implementation rootProject.ext.dependencies.mogomodulewidgets + implementation rootProject.ext.dependencies.mogomoduleback } else { launcherImplementation project(':main-extensions:mogo-module-main-launcher') independentImplementation project(':main-extensions:mogo-module-main-independent') @@ -285,6 +286,7 @@ dependencies { implementation project(':libraries:mogo-tanlu-api') implementation project(':modules:mogo-module-monitor') implementation project(':modules:mogo-module-widgets') + implementation project(':modules:mogo-module-back') } apply from: "./functions/baseservices.gradle" diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 99cd7e7447..9fe3dd3a05 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -12,6 +12,7 @@ import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; +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; @@ -57,8 +58,8 @@ public class MogoApplication extends AbsMogoApplication { // MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) ); - //运营位卡片,需要默认显示,放在第一个加载 if ( DebugConfig.isLauncher() ) { + MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); MogoModulePaths.addModule( new MogoModule( MediaConstants.TAG, MediaConstants.MODULE_TYPE ) ); } else { MogoModulePaths.addBaseModule( new MogoModule( MogoWidgetsProvider.PATH, MogoWidgetsProvider.NAME ) ); diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index a788b150f9..48700344f5 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -7,15 +7,10 @@ import android.view.View; import androidx.annotation.Nullable; -import com.mogo.module.back.BackToLauncherConst; -import com.mogo.module.common.MogoModule; -import com.mogo.module.common.MogoModulePaths; -import com.mogo.module.common.utils.CarSeries; import com.mogo.module.extensions.utils.ExtensionsConfig; import com.mogo.module.main.MainActivity; import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.utils.logger.Logger; /** * 针对作为Launcher的情况,做个性化操作 @@ -32,12 +27,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis ExtensionsConfig.setNeedRequestUserInfo( true ); } - @Override - protected void addModule() { - super.addModule(); - MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); - } - @Override protected void loadContainerModules() { super.loadContainerModules(); diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index 15cea46fba..f900dbe293 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -50,7 +50,6 @@ dependencies { api rootProject.ext.dependencies.moduleservice api rootProject.ext.dependencies.moduleapps api rootProject.ext.dependencies.moduleextensions - api rootProject.ext.dependencies.mogomoduleback } else { api project(":foudations:mogo-utils") api project(":foudations:mogo-commons") @@ -61,7 +60,6 @@ dependencies { api project(':services:mogo-service') api project(':modules:mogo-module-apps') api project(':modules:mogo-module-extensions') - api project(':modules:mogo-module-back') } } 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 076535be25..7975e3c195 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 @@ -152,7 +152,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme MapCenterPointStrategy.setMapCenterPointByScene( mMogoMapUIController, Scene.AIMLESS ); // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 - addModule(); loadContainerModules(); MogoModulesManager.getInstance().loadModules(); mPresenter.delayOperations(); @@ -185,13 +184,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme startService( intent ); } - /** - * 添加模块 - */ - protected void addModule() { - - } - protected void loadContainerModules() { // MogoModulesManager.getInstance().loadExtensionsModule( R.id.module_main_id_header_fragment_container ); MogoModulesManager.getInstance().loadEntrancesModule( R.id.module_main_id_entrance_fragment_container ); From 6dad21af4bb289e8e53dd4d021689c0501aff906 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 16:36:24 +0800 Subject: [PATCH 3/4] ui --- .../src/main/res/layout/item_v2x_event_share_no_more.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml index 79f0a1a814..9e55b321e9 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml @@ -2,8 +2,8 @@ + android:paddingTop="16px" + android:paddingBottom="30px"> + android:textSize="14px" /> Date: Fri, 14 Aug 2020 16:41:55 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E3=80=90=E6=99=BA=E6=85=A7=E9=A9=BE?= =?UTF-8?q?=E9=A9=B61.1.2=E3=80=91=E8=AF=AD=E9=9F=B3tab=E9=A1=B5=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=EF=BC=8C=E4=BC=9A=E5=A4=9A=E8=A7=A6=E5=8F=91=E5=9F=8B?= =?UTF-8?q?=E7=82=B9=20http://jira.zhidaohulian.com/browse/E85XJD-161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../adapter/holder/V2XOtherSeekHelpVH.java | 22 ++++++++++++++----- .../V2XScenarioHistoryOtherSeekHelpVH.java | 21 +++++++++++++----- .../v2x/fragment/V2XEventPanelFragment.kt | 6 ++--- .../src/main/res/raw/scenario_seek_help.json | 2 +- 5 files changed, 36 insertions(+), 17 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 21e99e2dc0..cd77a1f062 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java index 57bb85ae10..537f4f2b45 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java @@ -170,12 +170,22 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { .displayImage(mV2XPushMessageEntity.getHeadImgUrl(), ivHead); } tvName.setText(mV2XPushMessageEntity.getDisplayName()); - SpanUtils.with(tvDistance) - .append("" + (int) mV2XPushMessageEntity.getDistance()) - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) - .append("m") - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) - .create(); + + if (mV2XPushMessageEntity.getDistance() > 1000) { + SpanUtils.with(tvDistance) + .append("" + (int) mV2XPushMessageEntity.getDistance() / 1000) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("km") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } else { + SpanUtils.with(tvDistance) + .append("" + (int) mV2XPushMessageEntity.getDistance()) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("m") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA); String eventTime = String.format("%s发布求助信息", sdf.format(new Date(mV2XPushMessageEntity.getCreateTime()))); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index e729e747b3..a6fe789e8f 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -80,12 +80,21 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder 1000) { + SpanUtils.with(mTvFaultHelpDistance) + .append("" + (int) xPushMessageEntity.getDistance() / 1000) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("km") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } else { + SpanUtils.with(mTvFaultHelpDistance) + .append("" + (int) xPushMessageEntity.getDistance()) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("m") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA); String eventTime = String.format("%s发布求助信息", sdf.format(new Date(xPushMessageEntity.getCreateTime()))); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 016d087b53..c4e71eae6f 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -49,7 +49,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbScenarioHistory) + rbScenarioHistory?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } @@ -58,7 +58,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbSurroundingEvent) + rbSurroundingEvent?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } @@ -67,7 +67,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbShareEvents) + rbShareEvents?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json index a4667dded3..cd5cf436af 100644 --- a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json +++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json @@ -3,7 +3,7 @@ { "createTime":1593678359872, "distance":100, - "lat":39.966668, + "lat":39.866668, "lon":116.411211, "sn":"ZD801B1932L00041", "targetId":20007,