diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index fc9358f174..b5da488ae6 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -44,9 +44,8 @@ android:layout_marginTop="@dimen/module_ext_camera_button_marginTop" android:background="@drawable/module_ext_dw_navi_info_panel_bkg" android:drawableLeft="@drawable/module_ext_destination_online_car_dw" - android:gravity="center" android:drawablePadding="@dimen/module_ext_destination_online_car_drawablePadding" - android:paddingTop="@dimen/dp_14" + android:gravity="center_vertical" android:text="@string/module_ext_destination_online_car_text" android:visibility="gone" android:layout_marginLeft="@dimen/module_common_shadow_width_pos" diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 27ab6142e5..aacf70217f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -200,6 +200,9 @@ public class MogoServices implements IMogoMapListener, invokeAutoRefresh(); } break; + case ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH: + handleCalculationNotHomeCompanyDistanceForPush(); + break; } } @@ -855,7 +858,6 @@ public class MogoServices implements IMogoMapListener, @Override public void onIntentReceived( String command, Intent intent ) { - if ( ServiceConst.COMMAND_NEXT.equals( command ) ) { onActionDone( MogoAction.Next ); } else if ( ServiceConst.COMMAND_PREVIOUS.equals( command ) ) { @@ -942,6 +944,27 @@ public class MogoServices implements IMogoMapListener, @Override public void onStartNavi() { + Logger.d( TAG, "onStartNavi: scheduleCalculationNotHomeCompanyDistanceForPush" ); + scheduleCalculationNotHomeCompanyDistanceForPush(); + } + + @Override + public void onStopNavi() { + Logger.d( TAG, "onStopNavi: remove MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH msg" ); + mHandler.removeMessages( ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH ); + } + + /** + * 延时一分钟发起计算导航目的地推送策略 + */ + private void scheduleCalculationNotHomeCompanyDistanceForPush() { + mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH, ServiceConst.INTERVAL_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH ); + } + + /** + * 发起计算导航目的地推送策略 + */ + private void handleCalculationNotHomeCompanyDistanceForPush() { String json = SpStorage.getNavigationTarget(); if ( !TextUtils.isEmpty( json ) ) { try { @@ -978,7 +1001,7 @@ public class MogoServices implements IMogoMapListener, } } ); } catch ( Exception e ) { - Logger.e( TAG, e, "onStartNavi" ); + Logger.e( TAG, e, "handleCalculationNotHomeCompanyDistanceForPush" ); } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java index 8fccd82812..1fb0c5cdf2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java @@ -208,4 +208,14 @@ public class ServiceConst { */ public static final String COMMAND_ONLINE_CAR_PANEL = "com.zhidao.search.riders"; + /** + * 导航开始后,延时1分钟开启推送策略 + */ + public static final int MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH = 0x301; + + /** + * 延时1分钟开启推送策略 + */ + public static final long INTERVAL_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH = 60 * 1_000L; + } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java index 17a0c4a293..ceee0204a2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java @@ -151,7 +151,7 @@ class LauncherCardRefresher { private ZhidaoRefreshModel mZhidaoRefreshModel; private LauncherCardRefreshStrategy mExplorerWayOrOnlineCarDataStrategy = new LauncherCardRefreshStrategy( - 20 * ONE_MINUTE,null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA + 40 * ONE_MINUTE,null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ); private LauncherCardRefreshStrategy mInduceStrategy = new LauncherCardRefreshStrategy( 3 * ONE_MINUTE,mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 701215fb6c..eccbd1b862 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -792,7 +792,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } Logger.d( TAG, "内部 - 请求开始" ); - mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, radius, limit, new RefreshCallback() { + mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, radius, limit,false, new RefreshCallback() { @Override public void onSuccess( Object o ) { MarkerResponse data = ( MarkerResponse ) o; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java index d1a5384490..853b8280d2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java @@ -20,6 +20,7 @@ public class RefreshBody { public boolean onlyFocus; // 是否仅查询已关注的好友 public boolean onlySameCity; // 是否仅查询注册城市相同的同城用户 public boolean viewPush; // 是否走V2X通道 ,true-401011,false -401001 + public boolean onlyRealUser; public static class LatLon { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index 16fc3e91a2..356ec9bfac 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -124,7 +124,6 @@ public class RefreshModel { query.put( "data", data ); Logger.d( TAG, data ); - mRefreshApiService.refreshDataSync( query ) .subscribeOn( Schedulers.io() ) .observeOn( AndroidSchedulers.mainThread() ) @@ -163,12 +162,14 @@ public class RefreshModel { * @param onlyFocus 是否仅查询已关注的好友 * @param onlySameCity 是否仅查询注册城市相同的同城用户 * @param callback + * @param onlyRealUser 是否只查询真实用户 */ public void queryOnLineCarWithRoute( MogoLatLng latLng, boolean onlyFocus, boolean onlySameCity, int radius, int limit, + boolean onlyRealUser, final RefreshCallback callback ) { if ( mRefreshApiService != null ) { final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build(); @@ -181,6 +182,7 @@ public class RefreshModel { refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng ); refreshBody.onlyFocus = onlyFocus; refreshBody.onlySameCity = onlySameCity; + refreshBody.onlyRealUser = onlyRealUser; refreshBody.dataType.add( ServiceConst.CARD_TYPE_USER_DATA ); query.put( "data", GsonUtil.jsonFromObject( refreshBody ) ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelPresenter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelPresenter.java index b51e1943f8..44926e7c64 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelPresenter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelPresenter.java @@ -56,6 +56,7 @@ class OnlineCarPanelPresenter extends Presenter< IOnlineCarPanelView > implement false, mStrategy.getRadius(), LIMIT, + true, this ); } catch ( Exception e ) { diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml index 3e39b0146f..319d3bb6d1 100644 --- a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml +++ b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml @@ -41,7 +41,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" - android:orientation="vertical"> + android:orientation="vertical" + android:visibility="gone"> = target.getLeft() - && xPos <= target.getRight() - && yPos >= target.getTop() - && yPos <= target.getBottom() ) { + private boolean isInViewArea( View root, View target, float xPos, float yPos ) { + int loc[] = new int[2]; + root.getLocationOnScreen( loc ); + int rootX = loc[0]; + int rootY = loc[1]; + + target.getLocationOnScreen( loc ); + int targetX = loc[0]; + int targetY = loc[1]; + int targetWidth = target.getMeasuredWidth(); + int targetHeight = target.getMeasuredHeight(); + + if ( xPos + rootX >= targetX + && xPos + rootX <= targetX + targetWidth + && yPos + rootY >= targetY + && yPos + rootY <= targetY + targetHeight ) { return true; } return false; @@ -156,7 +170,7 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { * @param context */ private void consultUser( Context context ) { - Map properties = new HashMap<>(); + Map< String, Object > properties = new HashMap<>(); properties.put( "type", 1 ); MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "NAVI_Find_Mogoer", properties ); if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isMainPageOnResume() ) { @@ -174,10 +188,12 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { mEnterApp.setText( R.string.module_widgets_app_entrance_short ); mConsult.setText( R.string.module_widgets_app_consult_short ); mLargeStyle = false; + mHandlerIcon.setImageResource( R.drawable.module_widgets_app_handler_open ); } else { mEnterApp.setText( R.string.module_widgets_app_entrance_text ); mConsult.setText( R.string.module_widgets_app_entrance_consult ); mLargeStyle = true; + mHandlerIcon.setImageResource( R.drawable.module_widgets_app_handler_close ); } } diff --git a/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_close.png b/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_close.png new file mode 100644 index 0000000000..6a4c017737 Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_close.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_open.png b/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_open.png new file mode 100644 index 0000000000..c878de52df Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-ldpi/module_widgets_app_handler_open.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_close.png b/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_close.png new file mode 100644 index 0000000000..6a4c017737 Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_close.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_open.png b/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_open.png new file mode 100644 index 0000000000..c878de52df Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-mdpi/module_widgets_app_handler_open.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_close.png b/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_close.png new file mode 100644 index 0000000000..2faa623d9a Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_close.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_open.png b/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_open.png new file mode 100644 index 0000000000..cb114a6bcc Binary files /dev/null and b/modules/mogo-module-widgets/src/main/res/drawable-xhdpi/module_widgets_app_handler_open.png differ diff --git a/modules/mogo-module-widgets/src/main/res/drawable/module_widgets_app_body_bkg.xml b/modules/mogo-module-widgets/src/main/res/drawable/module_widgets_app_body_bkg.xml index 1885397945..625e224fce 100644 --- a/modules/mogo-module-widgets/src/main/res/drawable/module_widgets_app_body_bkg.xml +++ b/modules/mogo-module-widgets/src/main/res/drawable/module_widgets_app_body_bkg.xml @@ -2,7 +2,7 @@ - + diff --git a/modules/mogo-module-widgets/src/main/res/layout/module_widgets_app_entrance.xml b/modules/mogo-module-widgets/src/main/res/layout/module_widgets_app_entrance.xml index 50c79786b3..fa0ce143ab 100644 --- a/modules/mogo-module-widgets/src/main/res/layout/module_widgets_app_entrance.xml +++ b/modules/mogo-module-widgets/src/main/res/layout/module_widgets_app_entrance.xml @@ -1,5 +1,5 @@ - - - - - - + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/modules/mogo-module-widgets/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-widgets/src/main/res/values-ldpi/dimens.xml index 3b9f47b99b..7d4932a5ba 100644 --- a/modules/mogo-module-widgets/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-widgets/src/main/res/values-ldpi/dimens.xml @@ -9,4 +9,6 @@ 27px 71px 4px + 56px + 40px \ No newline at end of file diff --git a/modules/mogo-module-widgets/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-widgets/src/main/res/values-mdpi/dimens.xml index 3b9f47b99b..7d4932a5ba 100644 --- a/modules/mogo-module-widgets/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-widgets/src/main/res/values-mdpi/dimens.xml @@ -9,4 +9,6 @@ 27px 71px 4px + 56px + 40px \ No newline at end of file diff --git a/modules/mogo-module-widgets/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-widgets/src/main/res/values-xhdpi-1920x1000/dimens.xml index 2914119343..e0aabc6db4 100644 --- a/modules/mogo-module-widgets/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-widgets/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -3,10 +3,12 @@ 40px 30px 4px - 48px + 836px 1000px 37px 50px 71px 8px + 100px + 85px \ No newline at end of file diff --git a/modules/mogo-module-widgets/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-widgets/src/main/res/values-xhdpi/dimens.xml index 2914119343..e0aabc6db4 100644 --- a/modules/mogo-module-widgets/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-widgets/src/main/res/values-xhdpi/dimens.xml @@ -3,10 +3,12 @@ 40px 30px 4px - 48px + 836px 1000px 37px 50px 71px 8px + 100px + 85px \ No newline at end of file diff --git a/modules/mogo-module-widgets/src/main/res/values/dimens.xml b/modules/mogo-module-widgets/src/main/res/values/dimens.xml index bf234e4ac3..43846dd773 100644 --- a/modules/mogo-module-widgets/src/main/res/values/dimens.xml +++ b/modules/mogo-module-widgets/src/main/res/values/dimens.xml @@ -3,10 +3,12 @@ 22px 30px 4px - 48px + 505px 1000px 20px 27px 71px 4px + 56px + 40px \ No newline at end of file