diff --git a/app/build.gradle b/app/build.gradle
index bbbd6e08f5..2c2a9ac834 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -195,7 +195,7 @@ android {
// 是否使用高德sdk自定义导航
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否支持换肤
- buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
// 是否支持查询导航目的地车友
buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
// 是否支持桌面卡片刷新
@@ -215,7 +215,7 @@ android {
// 是否使用高德sdk自定义导航
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否支持换肤
- buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
// 是否支持查询导航目的地车友
buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
// 是否支持桌面卡片刷新
@@ -273,7 +273,7 @@ android {
// 是否使用高德sdk自定义导航
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否支持换肤
- buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
// 是否支持查询导航目的地车友
buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
// 是否支持桌面卡片刷新
diff --git a/app/functions/skin.gradle b/app/functions/skin.gradle
index 44f3369fb4..e8660ab061 100644
--- a/app/functions/skin.gradle
+++ b/app/functions/skin.gradle
@@ -1,10 +1,10 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
bydautoImplementation rootProject.ext.dependencies.skinsupportnoop
- d82xImplementation rootProject.ext.dependencies.skinsupportnoop
- em1Implementation rootProject.ext.dependencies.skinsupportnoop
- em3Implementation rootProject.ext.dependencies.skinsupportnoop
+ d82xImplementation rootProject.ext.dependencies.skinsupportimpl
+ em1Implementation rootProject.ext.dependencies.skinsupportimpl
+ em3Implementation rootProject.ext.dependencies.skinsupportimpl
d8xxImplementation rootProject.ext.dependencies.skinsupportimpl
d80xImplementation rootProject.ext.dependencies.skinsupportimpl
f8xxImplementation rootProject.ext.dependencies.skinsupportimpl
@@ -18,17 +18,17 @@ project.dependencies {
e8xxImplementation rootProject.ext.dependencies.skinsupportlight
d8xxImplementation rootProject.ext.dependencies.skinsupportlight
d80xImplementation rootProject.ext.dependencies.skinsupportlight
-// d82xImplementation rootProject.ext.dependencies.skinsupportlight
-// em1Implementation rootProject.ext.dependencies.skinsupportlight
-// em3Implementation rootProject.ext.dependencies.skinsupportlight
+ em3Implementation rootProject.ext.dependencies.skinsupportlight
+ d82xImplementation rootProject.ext.dependencies.skinsupportlight
+ em1Implementation rootProject.ext.dependencies.skinsupportlight
} else {
bydautoImplementation project(':skin:mogo-skin-support-noop')
- d82xImplementation project(':skin:mogo-skin-support-noop')
- em1Implementation project(':skin:mogo-skin-support-noop')
- em3Implementation project(':skin:mogo-skin-support-noop')
+ d82xImplementation project(':skin:mogo-skin-support-impl')
+ em1Implementation project(':skin:mogo-skin-support-impl')
+ em3Implementation project(':skin:mogo-skin-support-impl')
d8xxImplementation project(':skin:mogo-skin-support-impl')
d80xImplementation project(':skin:mogo-skin-support-impl')
f8xxImplementation project(':skin:mogo-skin-support-impl')
@@ -42,8 +42,8 @@ project.dependencies {
e8xxImplementation project(':skin:mogo-skin-light')
d8xxImplementation project(':skin:mogo-skin-light')
d80xImplementation project(':skin:mogo-skin-light')
-// d82xImplementation project(':skin:mogo-skin-light')
-// em1Implementation project(':skin:mogo-skin-light')
-// em3Implementation project(':skin:mogo-skin-light')
+ d82xImplementation project(':skin:mogo-skin-light')
+ em1Implementation project(':skin:mogo-skin-light')
+ em3Implementation project(':skin:mogo-skin-light')
}
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 759e45f8cb..4b0613d6ae 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -101,7 +101,7 @@ CRASHREPORT_NOOP_VERSION=2.0.0
######## 外部依赖引用
# 车聊聊
-CARCHATTING_VERSION=1.7.3
+CARCHATTING_VERSION=1.8.2
# 车聊聊接口
CARCHATTINGPROVIDER_VERSION=1.4.1
# loglib
diff --git a/libraries/map-amap/src/main/res/drawable-ldpi/map_api_ic_current_location2.png b/libraries/map-amap/src/main/res/drawable-ldpi/map_api_ic_current_location2.png
index 5d2d79c7e5..5f91be07f3 100644
Binary files a/libraries/map-amap/src/main/res/drawable-ldpi/map_api_ic_current_location2.png and b/libraries/map-amap/src/main/res/drawable-ldpi/map_api_ic_current_location2.png differ
diff --git a/libraries/map-amap/src/main/res/drawable-mdpi/map_api_ic_current_location2.png b/libraries/map-amap/src/main/res/drawable-mdpi/map_api_ic_current_location2.png
index 5d2d79c7e5..5f91be07f3 100644
Binary files a/libraries/map-amap/src/main/res/drawable-mdpi/map_api_ic_current_location2.png and b/libraries/map-amap/src/main/res/drawable-mdpi/map_api_ic_current_location2.png differ
diff --git a/libraries/map-amap/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png b/libraries/map-amap/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png
index 06fb9a934e..c24c56f3db 100644
Binary files a/libraries/map-amap/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png and b/libraries/map-amap/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-ldpi/map_api_ic_current_location2.png b/libraries/mogo-map-api/src/main/res/drawable-ldpi/map_api_ic_current_location2.png
index 5d2d79c7e5..5f91be07f3 100644
Binary files a/libraries/mogo-map-api/src/main/res/drawable-ldpi/map_api_ic_current_location2.png and b/libraries/mogo-map-api/src/main/res/drawable-ldpi/map_api_ic_current_location2.png differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/map_api_ic_current_location2.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/map_api_ic_current_location2.png
index 5d2d79c7e5..5f91be07f3 100644
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/map_api_ic_current_location2.png and b/libraries/mogo-map-api/src/main/res/drawable-mdpi/map_api_ic_current_location2.png differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png
index 06fb9a934e..c24c56f3db 100644
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png and b/libraries/mogo-map-api/src/main/res/drawable-xhdpi-1920x1000/map_api_ic_current_location2.png differ
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/OnPreventFastClickListener.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/OnPreventFastClickListener.java
new file mode 100644
index 0000000000..cc87f416d7
--- /dev/null
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/OnPreventFastClickListener.java
@@ -0,0 +1,39 @@
+package com.mogo.module.common.view;
+
+import android.view.View;
+
+public
+/**
+ * @author congtaowang
+ * @since 2020/9/25
+ *
+ * 防止短时间内多次点击
+ */
+abstract class OnPreventFastClickListener implements View.OnClickListener {
+
+ public static final long INTERVAL = 1_000L;
+
+ private long mInterval;
+ private long mLastClickTime = 0L;
+
+ public OnPreventFastClickListener() {
+ this( INTERVAL );
+ }
+
+ public OnPreventFastClickListener( long interval ) {
+ if ( interval < 0L ) {
+ interval = INTERVAL;
+ }
+ this.mInterval = interval;
+ }
+
+ @Override
+ public final void onClick( View v ) {
+ if ( System.currentTimeMillis() - mLastClickTime > mInterval ) {
+ onClickImpl( v );
+ mLastClickTime = System.currentTimeMillis();
+ }
+ }
+
+ public abstract void onClickImpl( View v );
+}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
deleted file mode 100644
index 81b7c02eb5..0000000000
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.mogo.module.extensions;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.alibaba.android.arouter.launcher.ARouter;
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.commons.mvp.MvpFragment;
-import com.mogo.module.extensions.userinfo.UserInfo;
-import com.mogo.module.share.manager.ServiceApisManager;
-import com.mogo.utils.LaunchUtils;
-import com.mogo.utils.glide.GlideApp;
-import com.mogo.utils.logger.Logger;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 天气,消息,个人头像
- *
- * @author congtaowang
- * @since 2020-01-05
- *
- * 描述
- */
-public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsPresenter > implements ExtensionsView {
-
- private static final String TAG = "ExtensionsFragment";
-
- public static final int MAX_DISPLAY_MSG_AMOUNT = 99;
-
- private View mWeatherContainer;
- private ImageView mWeatherIcon;
- private TextView mWeatherTemp;
-
- private View mMsgContainer;
- private TextView mMsgCounter;
-
- private ImageView mUserHeadImg;
-
- @Override
- protected int getLayoutId() {
- return R.layout.module_ext_layout_extensions;
- }
-
- @Override
- protected void initViews() {
-
- mWeatherContainer = findViewById( R.id.module_ext_id_weather_container );
- mWeatherIcon = findViewById( R.id.module_ext_id_weather_icon );
- mWeatherTemp = findViewById( R.id.module_ext_id_weather_temp );
-
- mUserHeadImg = findViewById(R.id.ivUserHeadImg);
-
- mMsgContainer = findViewById( R.id.module_ext_id_msg );
-
- mMsgContainer.setOnClickListener( view -> {
- ARouter.getInstance().build( "/push/ui/message" ).navigation( getContext() );
- } );
- mMsgCounter = findViewById( R.id.module_ext_id_msg_counter );
- mUserHeadImg.setOnClickListener(view ->{
- try {
- LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal");
- // 埋点
- final Map properties = new HashMap<>();
- properties.put("type", 3);
- ServiceApisManager.serviceApis.getAnalyticsApi().track( "Launcher_APP_Icon", properties );
- } catch (Exception e) {
- Logger.e(TAG, e, "打开个人中心Exception");
- }
- });
-
- mUserHeadImg.setVisibility(DebugConfig.isLauncher()?View.VISIBLE:View.GONE);
- }
-
- @NonNull
- @Override
- protected ExtensionsPresenter createPresenter() {
- return new ExtensionsPresenter( this );
- }
-
- @Override
- public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
- super.onActivityCreated( savedInstanceState );
- }
-
- @Override
- public void onResume() {
- super.onResume();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- }
-
- @Override
- public void renderWeatherInfo( String temp, String desc, int iconId ) {
- boolean hidden = false;
- if ( iconId != 0 ) {
- mWeatherIcon.setImageResource( iconId );
- mWeatherIcon.setVisibility( View.VISIBLE );
- } else {
- mWeatherIcon.setVisibility( View.GONE );
- hidden |= true;
- }
- hidden |= TextUtils.isEmpty( temp );
- hidden |= TextUtils.isEmpty( desc );
- mWeatherTemp.setText( temp );
- mWeatherContainer.setVisibility( hidden ? View.GONE : View.VISIBLE );
- }
-
- @Override
- public void renderMsgInfo( boolean hasMsg, int amount ) {
- mMsgContainer.setVisibility( hasMsg ? View.VISIBLE : View.GONE );
- mMsgCounter.setText( amount > MAX_DISPLAY_MSG_AMOUNT ? getString( R.string.module_ext_str_dots ) : String.valueOf( amount ) );
- }
-
- @Override
- public void renderUserInfo(UserInfo userInfo) {
- if(userInfo != null){
- Logger.d(TAG, "renderUserInfo: " + userInfo);
- GlideApp.with(getContext()).load(userInfo.getHeadImgurl()).placeholder(R.drawable.model_ext_default_user_head).circleCrop().into(mUserHeadImg);
- }
- }
-}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java
index 4c5a0fe623..9a563f521d 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java
@@ -8,11 +8,6 @@ package com.mogo.module.extensions;
*/
public class ExtensionsModuleConst {
- /**
- * 顶部UI
- */
- public static final String PATH_EXTENSION = "/extension/ui";
-
/**
* 快捷操作入口:定位、
*/
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java
deleted file mode 100644
index 2484719833..0000000000
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.mogo.module.extensions;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-
-import com.alibaba.android.arouter.facade.annotation.Route;
-import com.mogo.map.listener.IMogoMapListener;
-import com.mogo.map.location.IMogoLocationListener;
-import com.mogo.map.marker.IMogoMarkerClickListener;
-import com.mogo.map.navi.IMogoNaviListener;
-import com.mogo.service.module.IMogoModuleLifecycle;
-import com.mogo.service.module.IMogoModuleProvider;
-import com.mogo.service.module.ModuleType;
-
-/**
- * @author congtaowang
- * @since 2020-01-05
- *
- * 描述
- */
-@Route( path = ExtensionsModuleConst.PATH_EXTENSION )
-public class ExtensionsModuleProvider implements IMogoModuleProvider {
-
- @Override
- public Fragment createFragment( Context context, Bundle data ) {
- ExtensionsFragment fragment = new ExtensionsFragment();
- fragment.setArguments( data );
- return fragment;
- }
-
- @Override
- public View createView( Context context ) {
- return null;
- }
-
- @NonNull
- @Override
- public String getModuleName() {
- return ExtensionsModuleConst.TYPE;
- }
-
- @Override
- public IMogoModuleLifecycle getCardLifecycle() {
- return null;
- }
-
- @Override
- public IMogoMapListener getMapListener() {
- return null;
- }
-
- @Override
- public int getType() {
- return ModuleType.TYPE_EXTENSION;
- }
-
- @Override
- public IMogoNaviListener getNaviListener() {
- return null;
- }
-
- @Override
- public IMogoLocationListener getLocationListener() {
- return null;
- }
-
- @Override
- public void init( Context context ) {
-
- }
-
- @Override
- public IMogoMarkerClickListener getMarkerClickListener() {
- return null;
- }
-
- @Override
- public String getAppPackage() {
- return null;
- }
-
- @Override
- public String getAppName() {
- return null;
- }
-}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java
deleted file mode 100644
index 8a26258914..0000000000
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package com.mogo.module.extensions;
-
-import android.util.ArrayMap;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-import com.alibaba.android.arouter.launcher.ARouter;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.commons.network.Utils;
-import com.mogo.module.common.MogoApisHandler;
-import com.mogo.module.extensions.net.UserInfoNetApiServices;
-import com.mogo.module.extensions.userinfo.UserInfo;
-import com.mogo.module.extensions.userinfo.UserInfoConstant;
-import com.mogo.module.extensions.userinfo.UserInfoResponse;
-import com.mogo.module.extensions.utils.ExtensionsConfig;
-import com.mogo.module.extensions.weather.Phenomena;
-import com.mogo.module.extensions.weather.WeatherCallback;
-import com.mogo.module.extensions.weather.WeatherInfo;
-import com.mogo.module.extensions.weather.WeatherModel;
-import com.mogo.service.IMogoServiceApis;
-import com.mogo.service.MogoServicePaths;
-import com.mogo.service.network.IMogoNetwork;
-import com.mogo.service.statusmanager.IMogoMsgCenter;
-import com.mogo.service.statusmanager.IMogoMsgCenterListener;
-import com.mogo.utils.digest.DigestUtils;
-import com.mogo.utils.logger.Logger;
-
-import java.util.Map;
-
-import io.reactivex.SingleObserver;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-
-
-/**
- * @author congtaowang
- * @since 2020-01-05
- *
- * 描述
- */
-public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback,
- IMogoMsgCenterListener {
-
- private static final String TAG = "ExtensionsPresenter";
-
- private WeatherModel mWeatherModel;
-
- private IMogoMsgCenter mMsgCenter;
-
- private IMogoNetwork mNetWork;
-
- public ExtensionsPresenter( ExtensionsView view ) {
- super( view );
- mWeatherModel = new WeatherModel( getContext() );
- mNetWork = MogoApisHandler.getInstance().getApis().getNetworkApi();
- }
-
- @Override
- public void onCreate( @NonNull LifecycleOwner owner ) {
- super.onCreate( owner );
- mWeatherModel.init( this );
- mWeatherModel.queryWeatherInformation();
- mMsgCenter = ( IMogoMsgCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_MSG_CENTER ).navigation();
- mMsgCenter.registerMsgCenterListener( this );
- }
-
- @Override
- public void onWeatherLoaded( WeatherInfo weatherInfo ) {
- if ( weatherInfo == null ) {
- return;
- }
- String temp = getContext().getResources().getString( R.string.module_ext_str_weather_temp_format, weatherInfo.getTemperature() );
- Phenomena phenomena = Phenomena.getById( weatherInfo.getPhenomena() );
- String desc = phenomena == null ? "" : phenomena.nameCn;
- int resId = phenomena.resId;
- mView.renderWeatherInfo( temp, desc, resId );
- }
-
- @Override
- public void onMsgChanged( boolean hasMsg, int amount ) {
- if ( mView != null ) {
- mView.renderMsgInfo( hasMsg, amount );
- }
- }
-
- @Override
- public void onResume( @NonNull LifecycleOwner owner ) {
- super.onResume( owner );
- if(ExtensionsConfig.needRequestUserInfo()){
- // 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改
- requestUserInfo();
- }
- }
-
- @Override
- public void onPause( @NonNull LifecycleOwner owner ) {
- super.onPause( owner );
- }
-
- @Override
- public void onDestroy( @NonNull LifecycleOwner owner ) {
- super.onDestroy( owner );
- if ( mWeatherModel != null ) {
- mWeatherModel.destroy();
- }
- if ( mMsgCenter != null ) {
- mMsgCenter.unregisterMsgCenterListener( this );
- }
- }
-
- private UserInfo userInfo;
- public void requestUserInfo() {
- Map params = new ArrayMap<>();
- params.put("sn", Utils.getSn());
- params.put("source", "2");
- String sign = createSign(params, "JGqZw9");
- params.put("sig", sign);
- mNetWork.create(UserInfoNetApiServices.class, UserInfoConstant.getUserInfoBaseUrl()).requestUserInfo(params).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new SingleObserver() {
- @Override
- public void onSubscribe(Disposable d) {
- }
-
- @Override
- public void onSuccess(UserInfoResponse userInfoBaseResponse) {
- userInfo = userInfoBaseResponse.getResult();
- if(userInfo!=null) {
- Logger.d(TAG, "获取个人信息成功: " + userInfo);
- mView.renderUserInfo(userInfo);
- }else{
- Logger.e(TAG,"获取个人信息失败");
- }
- }
-
- @Override
- public void onError(Throwable e) {
- e.printStackTrace();
- Logger.e(TAG, e, "获取个人信息失败==");
- }
- });
- }
-
- private String createSign(Map map, String salt) {
- try {
- StringBuilder queryString = new StringBuilder();
- for (Map.Entry entry : map.entrySet()) {
- queryString.append(entry.getKey())
- .append("=")
- .append(entry.getValue())
- .append("&");
- }
- queryString.append("key=").append(DigestUtils.shaHex(salt));
- return DigestUtils.shaHex(queryString.toString()).toUpperCase();
- } catch (Exception e) {
- e.printStackTrace();
- Logger.e(TAG, e, "createSign()");
- return "";
- }
- }
-}
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 8a8b8804a8..7607cca699 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
@@ -41,6 +41,7 @@ import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
+import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.navi.NaviInfoView;
@@ -192,41 +193,50 @@ public class EntranceFragment extends MvpFragment {
- showShareDialog();
- playShareGuideVoice();
- });
+ mUploadRoadCondition.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ showShareDialog();
+ playShareGuideVoice();
+ }
+ } );
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 (getContext() != null) {
- // 加此判断是解决下面setDisplayOverview后,本Fragment回调中出现not attached to a context问题
- if (!mStatusManager.isDisplayOverview()) {
- mMApUIController.displayOverview(mDisplayOverviewBounds);
- UiThreadHandler.removeCallbacks(mLockCarRunnable);
- UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
- } else {
- mMApUIController.recoverLockMode();
- UiThreadHandler.removeCallbacks(mLockCarRunnable);
+ mDisplayOverview.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ if (getContext() != null) {
+ // 加此判断是解决下面setDisplayOverview后,本Fragment回调中出现not attached to a context问题
+ if (!mStatusManager.isDisplayOverview()) {
+ mMApUIController.displayOverview(mDisplayOverviewBounds);
+ UiThreadHandler.removeCallbacks(mLockCarRunnable);
+ UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
+ } else {
+ mMApUIController.recoverLockMode();
+ 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 -> {
- final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
- if (location != null) {
- if (mStatusManager.isDisplayOverview()) {
- mStatusManager.setDisplayOverview(TAG, false);
- UiThreadHandler.removeCallbacks(mLockCarRunnable);
+ mMove2CurrentLocation.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
+ if (location != null) {
+ if (mStatusManager.isDisplayOverview()) {
+ mStatusManager.setDisplayOverview(TAG, false);
+ UiThreadHandler.removeCallbacks(mLockCarRunnable);
+ }
+ mStatusManager.setUserInteractionStatus(TAG, true, false);
+ mMApUIController.recoverLockMode();
}
- mStatusManager.setUserInteractionStatus(TAG, true, false);
- mMApUIController.recoverLockMode();
}
- });
+ } );
if (DebugConfig.isDebug()) {
mMove2CurrentLocation.setOnLongClickListener(view -> {
@@ -246,46 +256,47 @@ public class EntranceFragment extends MvpFragment {
- 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)
- .build()
- .show();
- } else {
- MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.NAVI);
- mMApUIController.recoverLockMode();
+ mExitNavi.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ 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)
+ .build()
+ .show();
+ } else {
+ 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);
- } else {
- mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
+ mCameraMode.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ if (mCameraMode.isSelected()) {
+ mMApUIController.changeMapMode(EnumMapUI.CarUp_2D);
+ } else {
+ mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
+ }
}
-// 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, this);
- 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(),
@@ -301,13 +312,16 @@ public class EntranceFragment extends MvpFragment {
- try {
- LaunchUtils.launchByPkg(getContext(), "com.autonavi.amapauto");
- } catch (Exception e) {
- e.printStackTrace();
+ findViewById(R.id.module_map_id_navi_bg).setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ try {
+ LaunchUtils.launchByPkg(getContext(), "com.autonavi.amapauto");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
- });
+ } );
mWeatherContainer = findViewById(R.id.module_ext_id_weather_container);
mWeatherIcon = findViewById(R.id.module_ext_id_weather_icon);
@@ -317,29 +331,35 @@ public class EntranceFragment extends MvpFragment {
- try {
- if ( mMessageHistoryPanelProvider == null ) {
- mMessageHistoryPanelProvider = (IFragmentProvider)ARouter.getInstance().build("/push/ui/message").navigation(getContext());
- }
- mMessageHistoryPanelProvider.createFragment( getActivity(), mMogoFragmentManager.getMessageHistoryContainerId(), null );
- } catch( Exception e ){
+ mMsgContainer.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ try {
+ if ( mMessageHistoryPanelProvider == null ) {
+ mMessageHistoryPanelProvider = (IFragmentProvider)ARouter.getInstance().build("/push/ui/message").navigation(getContext());
+ }
+ mMessageHistoryPanelProvider.createFragment( getActivity(), mMogoFragmentManager.getMessageHistoryContainerId(), null );
+ } catch( Exception e ){
+ }
}
- });
+ } );
mMsgCounter = findViewById(R.id.module_ext_id_msg_counter);
- mUserHeadImg.setOnClickListener(view -> {
- try {
- LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal");
- // 埋点
- final Map properties = new HashMap<>();
- properties.put("type", 3);
- ServiceApisManager.serviceApis.getAnalyticsApi().track("Launcher_APP_Icon",
- properties);
- } catch (Exception e) {
- Logger.e(TAG, e, "打开个人中心Exception");
+ mUserHeadImg.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ try {
+ LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal");
+ // 埋点
+ final Map properties = new HashMap<>();
+ properties.put("type", 3);
+ ServiceApisManager.serviceApis.getAnalyticsApi().track("Launcher_APP_Icon",
+ properties);
+ } catch (Exception e) {
+ Logger.e(TAG, e, "打开个人中心Exception");
+ }
}
- });
+ } );
mUserHeadImg.setVisibility(DebugConfig.isLauncher() ? View.VISIBLE : View.GONE);
@@ -347,11 +367,14 @@ public class EntranceFragment extends MvpFragment {
- MogoApisHandler.getInstance().getApis().getOnlineCarPanelApi().showPanel();
- Map properties = new HashMap<>();
- properties.put( "type", 1 );
- MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "APP_Find_Mogoer", properties );
+ mOnlineCarEntrance.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ MogoApisHandler.getInstance().getApis().getOnlineCarPanelApi().showPanel();
+ Map properties = new HashMap<>();
+ properties.put( "type", 1 );
+ MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "APP_Find_Mogoer", properties );
+ }
} );
dealWeatherContainer();
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 b8fdb2a2e0..7d252e9cc2 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,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
public void loadModules() {
final long start = System.currentTimeMillis();
- MogoModulesManager.getInstance().init( this, getApis() );
+ MogoModulesManager.getInstance().init( this );
loadSplash();
mMogoMapService = mServiceApis.getMapServiceApi();
if ( mMogoMapService != null ) {
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
index 9d4c69e627..442e314597 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
@@ -38,13 +38,6 @@ public interface MogoModulesHandler {
*/
void loadAppsListModule( int containerId );
- /**
- * 加载头部信息
- *
- * @param containerId
- */
- void loadExtensionsModule( int containerId );
-
/**
* 加载快捷操作
*
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
index 5524ea6c4b..7d548c7b94 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
@@ -1,5 +1,6 @@
package com.mogo.module.main.cards;
+import android.app.Application;
import android.content.Context;
import androidx.fragment.app.Fragment;
@@ -33,6 +34,7 @@ public class MogoModulesManager implements MogoModulesHandler {
private static final String TAG = "MogoModulesManager";
private MainActivity mActivity;
+ private Application mApp;
private Map< MogoModule, IMogoModuleProvider > mModuleProviders = new HashMap<>();
// 空间换效率
@@ -58,19 +60,20 @@ public class MogoModulesManager implements MogoModulesHandler {
sInstance = null;
}
- public void init( MainActivity activity, IMogoServiceApis apis ) {
+ public void init( MainActivity activity ) {
if ( activity == null ) {
throw new NullPointerException( "activity can't be null." );
}
this.mActivity = activity;
+ mApp = mActivity.getApplication();
}
private Context getContext() {
- return mActivity;
+ return getApplicationContext();
}
private Context getApplicationContext() {
- return mActivity.getApplicationContext();
+ return mApp;
}
@Override
@@ -117,14 +120,6 @@ public class MogoModulesManager implements MogoModulesHandler {
addFragment( provider, containerId );
}
- @Override
- public void loadExtensionsModule( int containerId ) {
- IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
- .build( ExtensionsModuleConst.PATH_EXTENSION )
- .navigation( getContext() );
- addFragment( provider, containerId );
- }
-
@Override
public void loadEntrancesModule( int containerId ) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
@@ -215,5 +210,6 @@ public class MogoModulesManager implements MogoModulesHandler {
if ( mModuleProviders != null ) {
mModuleProviders.clear();
}
+ mActivity = null;
}
}
diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapBroadCastHelper.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapBroadCastHelper.java
index 8b8dac214a..21475de044 100644
--- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapBroadCastHelper.java
+++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapBroadCastHelper.java
@@ -30,8 +30,7 @@ public class MapBroadCastHelper implements IMogoStatusChangedListener {
private MapBroadCastHelper( Context context ) {
this.mContext = context;
- IMogoServiceApis api = MogoApisHandler.getInstance().getApis();
- api.getStatusManagerApi().registerStatusChangedListener( TAG, StatusDescriptor.AI_ASSIST_READY, this );
+ MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener( TAG, StatusDescriptor.AI_ASSIST_READY, this );
}
public static MapBroadCastHelper getInstance( Context context ) {
@@ -100,4 +99,10 @@ public class MapBroadCastHelper implements IMogoStatusChangedListener {
}
}
}
+
+ public void release(){
+ MogoApisHandler.getInstance().getApis().getStatusManagerApi().unregisterStatusChangedListener( TAG, StatusDescriptor.AI_ASSIST_READY, this );
+ mContext = null;
+ sInstance = null;
+ }
}
diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
index f213a11094..0ad88b5e6e 100644
--- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
+++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
@@ -145,5 +145,6 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
if ( mMogoMapView != null ) {
mMogoMapView.onDestroy();
}
+ MapBroadCastHelper.getInstance( getContext() ).release();
}
}
diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java
index 17f97556a5..cea74ae303 100644
--- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java
+++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java
@@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.analytics.AnalyticsUtils;
import com.mogo.commons.mvp.MvpFragment;
+import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.module.push.Config;
import com.mogo.module.push.R;
import com.mogo.module.push.adapter.PushMessageAdapter;
@@ -64,20 +65,26 @@ class MessageHistoryFragment extends MvpFragment< MessageHistoryView, MessageHis
mClose = findViewById( R.id.module_push_id_close );
AnalyticsUtils.track( Config.NEWS_HISTORY_OPEN, null );
- mClose.setOnClickListener( view -> {
- exitSelf();
+ mClose.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ exitSelf();
+ }
} );
- mClear.setOnClickListener( view -> {
- AnalyticsUtils.track( Config.NEWS_HISTORY_ALL_CLEAR, null );
- if ( !mClearing ) {
- mClearing = true;
- AnimatorUtilsKt.startClearAnimator(
- mHistoryList,
- () -> {
- mViewModel.deleteAll();
- mClearing = false;
- }
- );
+ mClear.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ AnalyticsUtils.track( Config.NEWS_HISTORY_ALL_CLEAR, null );
+ if ( !mClearing ) {
+ mClearing = true;
+ AnimatorUtilsKt.startClearAnimator(
+ mHistoryList,
+ () -> {
+ mViewModel.deleteAll();
+ mClearing = false;
+ }
+ );
+ }
}
} );
mAdapter.deletePushBean = new PushMessageAdapter.PushAdapterListener() {
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 591a3e5695..703a11959f 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
@@ -111,18 +111,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
mContext = context.getApplicationContext();
mRefreshModel = new RefreshModel( mContext );
- // 长连接 - 长链变短链
-// MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this );
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
}
- // ACC ON 的时候重置为true,ACC OFF 设置为 false
- // 保留 - 外部模块调用
- public void setCheckOn( boolean checkOnLineData ) {
- Logger.e( TAG, "do not invoke anymore." );
- }
-
/**
* 地图上的Marker点击回调
*/
@@ -132,6 +124,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
try {
boolean result = switchMarkerOpenStatus( marker );
if ( !result ) {
+ updateCarUserInfoWindow( marker );
return false;
}
@@ -188,14 +181,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
mLastCheckMarker = mogoMarker;
// 在线车辆点击使用infoWindow
if ( TextUtils.equals( mogoMarker.getOwner(), ModuleNames.CARD_TYPE_USER_DATA ) ) {
- if ( !mogoMarker.isDestroyed() ) {
- try {
- MarkerOnlineCar onlineCar = ( MarkerOnlineCar ) ( ( MarkerShowEntity ) mogoMarker.getObject() ).getBindObj();
- CallChatApi.getInstance().showUserWindow( mContext, onlineCar );
- } catch ( Exception e ) {
- Logger.e( TAG, e, "openMarker" );
- }
- }
+ updateCarUserInfoWindow( mogoMarker );
} else {
Object object = mogoMarker.getObject();
if ( object != null ) {
@@ -218,6 +204,17 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
MarkerServiceHandler.getMapUIController().moveToCenter( mogoMarker.getPosition(), CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X );
}
+ private void updateCarUserInfoWindow( IMogoMarker marker ) {
+ if ( !marker.isDestroyed() ) {
+ try {
+ MarkerOnlineCar onlineCar = ( MarkerOnlineCar ) ( ( MarkerShowEntity ) marker.getObject() ).getBindObj();
+ CallChatApi.getInstance().showUserWindow( mContext, onlineCar );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "openMarker" );
+ }
+ }
+ }
+
// 折叠气泡
private void closeMarker( IMogoMarker mogoMarker ) {
if ( mogoMarker == null ) {
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
index 004a1944c9..3849d67345 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
@@ -12,6 +12,7 @@ import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.voice.AIAssist;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.entity.MarkerOnlineCar;
+import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.R;
@@ -46,8 +47,11 @@ public class OnlineCarPanelFragment extends MvpFragment< IOnlineCarPanelView, On
@Override
protected void initViews() {
- findViewById( R.id.module_services_id_close ).setOnClickListener( view -> {
- removeSelf();
+ findViewById( R.id.module_services_id_close ).setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ removeSelf();
+ }
} );
mList = findViewById( R.id.module_services_id_recycler_view );
mRefreshPanel = findViewById( R.id.module_services_id_load_strategy_container );
@@ -59,15 +63,26 @@ public class OnlineCarPanelFragment extends MvpFragment< IOnlineCarPanelView, On
mList.setLayoutManager( new LinearLayoutManager( getContext(), LinearLayoutManager.VERTICAL, false ) );
- m20KMStrategy.setOnClickListener( view -> {
- mPresenter.nextStrategy();
+ m20KMStrategy.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ mPresenter.nextStrategy();
+ }
} );
- m40KMStrategy.setOnClickListener( view -> {
- mPresenter.nextStrategy();
+ m40KMStrategy.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ mPresenter.nextStrategy();
+ }
} );
- mErrorPanel.setOnClickListener( view -> {
- mPresenter.loadOnlineCar();
+ mErrorPanel.setOnClickListener( new OnPreventFastClickListener() {
+ @Override
+ public void onClickImpl( View v ) {
+ mPresenter.loadOnlineCar();
+ }
} );
+
+ mRootView.setOnClickListener( view -> {} );
}
public void refreshPanel(){
diff --git a/modules/mogo-module-service/src/main/res/drawable-ldpi/map_api_ic_current_location2_cursor.png b/modules/mogo-module-service/src/main/res/drawable-ldpi/map_api_ic_current_location2_cursor.png
index 55dbd72260..5f91be07f3 100644
Binary files a/modules/mogo-module-service/src/main/res/drawable-ldpi/map_api_ic_current_location2_cursor.png and b/modules/mogo-module-service/src/main/res/drawable-ldpi/map_api_ic_current_location2_cursor.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-mdpi/map_api_ic_current_location2_cursor.png b/modules/mogo-module-service/src/main/res/drawable-mdpi/map_api_ic_current_location2_cursor.png
index 55dbd72260..5f91be07f3 100644
Binary files a/modules/mogo-module-service/src/main/res/drawable-mdpi/map_api_ic_current_location2_cursor.png and b/modules/mogo-module-service/src/main/res/drawable-mdpi/map_api_ic_current_location2_cursor.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_close_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_close_light.png
new file mode 100755
index 0000000000..d25aa13032
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_close_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_marker_bkg_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_marker_bkg_light.png
new file mode 100755
index 0000000000..8044b0458f
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_marker_bkg_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_background_light.9.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_background_light.9.png
new file mode 100644
index 0000000000..36ea7d6655
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_background_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_empty_icon_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_empty_icon_light.png
new file mode 100644
index 0000000000..8fd26c2843
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-ldpi/module_services_online_car_panel_empty_icon_light.png differ
diff --git a/skin/mogo-skin-light/src/main/mogo-module-widgets-res/drawable/module_widgets_app_handler_bkg_light.xml b/skin/mogo-skin-light/src/main/mogo-module-widgets-res/drawable/module_widgets_app_handler_bkg_light.xml
index 2a3207ce7b..7f03a5fc15 100644
--- a/skin/mogo-skin-light/src/main/mogo-module-widgets-res/drawable/module_widgets_app_handler_bkg_light.xml
+++ b/skin/mogo-skin-light/src/main/mogo-module-widgets-res/drawable/module_widgets_app_handler_bkg_light.xml
@@ -2,7 +2,7 @@
-
-
+