fix bug of guide

This commit is contained in:
unknown
2020-12-04 12:02:33 +08:00
parent b3bdc065ad
commit 3b74711140
2 changed files with 94 additions and 92 deletions

View File

@@ -1,15 +1,10 @@
package com.mogo.module.extensions.entrance;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -26,7 +21,6 @@ import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
import com.alibaba.android.arouter.launcher.ARouter;
import com.amap.api.maps.model.MyLocationStyle;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
@@ -197,9 +191,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
protected int getLayoutId() {
if(DebugConfig.isMapBased()) {
if (DebugConfig.isMapBased()) {
return R.layout.module_ext_layout_entrance;
}else{
} else {
return R.layout.module_ext_layout_entrance_no_map;
}
}
@@ -222,20 +216,20 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mUploadRoadCondition = findViewById(R.id.module_entrance_id_upload_road_condition);
mUpload = findViewById(R.id.module_entrance_id_upload);
mUploading = findViewById(R.id.module_entrance_id_uploading);
mUploadRoadCondition.setOnClickListener( new OnPreventFastClickListener() {
mUploadRoadCondition.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
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( new OnPreventFastClickListener() {
mDisplayOverview.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
if (getContext() != null) {
// 加此判断是解决下面setDisplayOverview后本Fragment回调中出现not attached to a context问题
if (!mStatusManager.isDisplayOverview()) {
@@ -249,12 +243,12 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview());
}
}
} );
});
mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location);
mMove2CurrentLocation.setOnClickListener( new OnPreventFastClickListener() {
mMove2CurrentLocation.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
if (mStatusManager.isDisplayOverview()) {
mStatusManager.setDisplayOverview(TAG, false);
UiThreadHandler.removeCallbacks(mLockCarRunnable);
@@ -268,12 +262,12 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
// } else {
//
// }
if ( !mApis.getRefreshStrategyControllerApi().restartAutoRefreshAtTime( 0 ) ) {
if (!mApis.getRefreshStrategyControllerApi().restartAutoRefreshAtTime(0)) {
mStatusManager.setUserInteractionStatus(TAG, true, false);
mMApUIController.recoverLockMode();
}
}
} );
});
if (DebugConfig.isDebug()) {
mMove2CurrentLocation.setOnLongClickListener(view -> {
@@ -294,9 +288,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
mExitNavi = findViewById(R.id.module_entrance_id_exit_navi);
mExitNavi.setOnClickListener( new OnPreventFastClickListener() {
mExitNavi.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
if (mMogoNavi != null) {
if (mIsLock) {
new WMDialog.Builder(getContext())
@@ -317,19 +311,19 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
}
}
} );
});
mCameraMode = findViewById(R.id.module_ext_id_north);
mCameraMode.setOnClickListener( new OnPreventFastClickListener() {
mCameraMode.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
if (mCameraMode.isSelected()) {
mMApUIController.changeMapMode(EnumMapUI.CarUp_2D);
} else {
mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
}
}
} );
});
mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, this);
@@ -350,16 +344,16 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mNaviInfo = new NaviInfoView();
mNaviInfo.inflate(rootView);
findViewById(R.id.module_map_id_navi_bg).setOnClickListener( new OnPreventFastClickListener() {
findViewById(R.id.module_map_id_navi_bg).setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
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);
@@ -370,23 +364,23 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mMsgContainer = findViewById(R.id.module_ext_id_msg);
mMsgContainer.setOnClickListener( new OnPreventFastClickListener() {
mMsgContainer.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
try {
if ( mMessageHistoryPanelProvider == null ) {
mMessageHistoryPanelProvider = (IFragmentProvider)ARouter.getInstance().build("/push/ui/message").navigation(getContext());
if (mMessageHistoryPanelProvider == null) {
mMessageHistoryPanelProvider = (IFragmentProvider) ARouter.getInstance().build("/push/ui/message").navigation(getContext());
}
mMessageHistoryPanelProvider.createFragment( getActivity(), mMogoFragmentManager.getMessageHistoryContainerId(), null );
} catch( Exception e ){
mMessageHistoryPanelProvider.createFragment(getActivity(), mMogoFragmentManager.getMessageHistoryContainerId(), null);
} catch (Exception e) {
}
}
} );
});
mMsgCounter = findViewById(R.id.module_ext_id_msg_counter);
mUserHeadImg.setOnClickListener( new OnPreventFastClickListener() {
mUserHeadImg.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
try {
LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal");
// 埋点
@@ -398,23 +392,23 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
Logger.e(TAG, e, "打开个人中心Exception");
}
}
} );
});
groupUserHead.setVisibility(DebugConfig.isLauncher() ? View.VISIBLE : View.GONE);
mUploadButtonAnimatorController = new UploadButtonAnimatorController(mUploading, mUpload,
mStatusManager);
mOnlineCarEntrance = findViewById( R.id.module_ext_id_destination_online_car );
mOnlineCarEntrance.setOnClickListener( new OnPreventFastClickListener() {
mOnlineCarEntrance = findViewById(R.id.module_ext_id_destination_online_car);
mOnlineCarEntrance.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl( View v ) {
public void onClickImpl(View v) {
MogoApisHandler.getInstance().getApis().getOnlineCarPanelApi().showPanel();
Map<String, Object> properties = new HashMap<>();
properties.put( "type", 1 );
MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "APP_Find_Mogoer", properties );
properties.put("type", 1);
MogoApisHandler.getInstance().getApis().getAnalyticsApi().track("APP_Find_Mogoer", properties);
}
} );
});
dealWeatherContainer();
@@ -430,13 +424,14 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
groupUserHead.setVisibility(View.GONE);
}
isShowGuide = SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(getSpGuide(), false);
Logger.d(TAG, " isShowGuide = " + isShowGuide + " --isGreaterThanOneDay = " + isGreaterThanOneDay());
if (isShowGuide && isGreaterThanOneDay()) {
UiThreadHandler.postDelayed(() -> {
playShareOuterGuideVoice();
}, 5_000L
);
if (DebugConfig.isNeedLoadGuideModule()) {
isShowGuide = SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(getSpGuide(), false);
Logger.d(TAG, " isShowGuide = " + isShowGuide + " --isGreaterThanOneDay = " + isGreaterThanOneDay());
if (isShowGuide && isGreaterThanOneDay()) {
UiThreadHandler.postDelayed(this::playShareOuterGuideVoice, 5_000L);
}
} else {
UiThreadHandler.postDelayed(this::playShareOuterGuideVoice, 5_000L);
}
}
@@ -466,7 +461,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
if (shareItemSum < serverIssueCount) {
long time = System.currentTimeMillis();
Logger.d(TAG, " playShareOuterGuideVoice shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + "----serverIssueCount = " + serverIssueCount + "---time = " + time);
Logger.d(TAG, " playShareOuterGuideVoice shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + "----serverIssueCount = " + serverIssueCount + "---time = " + time);
if (intervalTime == 0) {
SharedPrefsMgr.getInstance(getContext()).putLong(KEY_SHARE_OUTER_GUIDE_TIME, time);
SharedPrefsMgr.getInstance(getContext()).putInt(KEY_SHARE_OUTER_GUIDE, ++shareItemSum);
@@ -501,7 +496,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
int shareItemSum = SharedPrefsMgr.getInstance(getContext()).getInt(KEY_CLICK_SHARE_BUTTON, 0);
if (shareItemSum < VOICE_ALERT_COUNT) {
long time = System.currentTimeMillis();
Logger.d(TAG, " playShareGuideVoice shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + ">>> time = " + time);
Logger.d(TAG, " playShareGuideVoice shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + ">>> time = " + time);
if (intervalTime == 0) {
SharedPrefsMgr.getInstance(getContext()).putLong(KEY_CLICK_SHARE_TIME, time);
SharedPrefsMgr.getInstance(getContext()).putInt(KEY_CLICK_SHARE_BUTTON, ++shareItemSum);
@@ -526,6 +521,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
/**
* 地图移动和缩放回调
*
* @param latLng 中点的经纬度
* @param zoom 缩放大小
* @param tilt 倾斜度
@@ -541,7 +537,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
int shareItemSum = SharedPrefsMgr.getInstance(getContext()).getInt(KEY_SHARE_INNER_GUIDE, 0);
if (shareItemSum < VOICE_ALERT_COUNT) {
long time = System.currentTimeMillis();
Logger.d(TAG, " showSlideMapVoiceGuide shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + "---time = " + time);
Logger.d(TAG, " showSlideMapVoiceGuide shareItemSum = " + shareItemSum + "---- intervalTime = " + intervalTime + "---time = " + time);
if (intervalTime == 0) {
SharedPrefsMgr.getInstance(getContext()).putLong(KEY_SHARE_INNER_GUIDE_TIME, time);
SharedPrefsMgr.getInstance(getContext()).putInt(KEY_SHARE_INNER_GUIDE, ++shareItemSum);
@@ -589,11 +585,11 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
/**
* 由于Launcher和Independent对于天气的表现形式不太一样所以通过此方法区分处理
*/
private void dealWeatherContainer(){
private void dealWeatherContainer() {
if (!DebugConfig.isLauncher()) {
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone((ConstraintLayout) getView());
constraintSet.clear(R.id.module_ext_id_weather_container,ConstraintSet.START);
constraintSet.clear(R.id.module_ext_id_weather_container, ConstraintSet.START);
constraintSet.connect(R.id.module_ext_id_weather_container, ConstraintSet.END,
getView().getId(), ConstraintSet.END);
constraintSet.applyTo((ConstraintLayout) getView());
@@ -671,11 +667,11 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
mCameraMode.setText(getString(mCameraMode.isSelected() ?
R.string.mode_car_up : R.string.mode_north_up));
} else if( key_type == 10021 ){
} else if (key_type == 10021) {
try {
onStopNavi();
} catch ( Exception e ) {
Logger.e( TAG, e, "onIntentReceived -> 10021" );
} catch (Exception e) {
Logger.e(TAG, e, "onIntentReceived -> 10021");
}
}
}
@@ -779,7 +775,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
return;
}
if (descriptor == StatusDescriptor.UPLOADING&&DebugConfig.isLauncher()) {
if (descriptor == StatusDescriptor.UPLOADING && DebugConfig.isLauncher()) {
if (isTrue) {
mUploading.setVisibility(View.VISIBLE);
mUpload.setVisibility(View.GONE);
@@ -853,7 +849,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
Logger.d(TAG, "renderUserInfo: " + userInfo);
RequestOptions options =
new RequestOptions().circleCrop().placeholder(R.drawable.model_ext_default_user_head).error(R.drawable.model_ext_default_user_head);
GlideApp.with(getContext()).asBitmap().apply( options ).load(userInfo.getHeadImgurl()).into(new SkinAbleBitmapTarget(mUserHeadImg, options));
GlideApp.with(getContext()).asBitmap().apply(options).load(userInfo.getHeadImgurl()).into(new SkinAbleBitmapTarget(mUserHeadImg, options));
}
}
@@ -866,7 +862,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
"://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705236512" +
"&di=50620661ded7035fb84899a408f9f27e&imgtype=0&src=http%3A%2F%2Fb-ssl" +
".duitang.com%2Fuploads%2Fitem%2F201409%2F11%2F20140911211243_3rT4u.jpeg");
MyLocationUtil.setMyLocationIconUrl(getContext(),"https" +
MyLocationUtil.setMyLocationIconUrl(getContext(), "https" +
"://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705236512" +
"&di=50620661ded7035fb84899a408f9f27e&imgtype=0&src=http%3A%2F%2Fb-ssl" +
".duitang.com%2Fuploads%2Fitem%2F201409%2F11%2F20140911211243_3rT4u.jpeg");
@@ -955,16 +951,16 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
tv.setText("entrance add");
mApis.getEntranceButtonController().addBottomLayerView(tv, 50, 50);
});
findViewById(R.id.btnShowTextTip).setOnClickListener(v-> TipToast.tip("分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功"));
findViewById(R.id.btnShowTextTip).setOnClickListener(v -> TipToast.tip("分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功"));
findViewById(R.id.btnShowDrawableTip).setOnClickListener(v->{
findViewById(R.id.btnShowDrawableTip).setOnClickListener(v -> {
mMsgContainer.setVisibility(View.VISIBLE);
TipDrawable drawable =
new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head), 150, 150);
TipToast.tip("分享成功",drawable);
TipToast.tip("分享成功", drawable);
});
findViewById(R.id.btnShowDrawableTipNoSize).setOnClickListener(v->{
findViewById(R.id.btnShowDrawableTipNoSize).setOnClickListener(v -> {
mMsgContainer.setVisibility(View.GONE);
@@ -976,7 +972,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
// TipToast.tip(spannableStringUnSelectCountStr.toString());
TipDrawable drawable =
new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head));
TipToast.tip("分享成功",drawable);
TipToast.tip("分享成功", drawable);
});
}
@@ -999,30 +995,30 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private IMogoOnMessageListener<String> seekHelpNoticeListener =
new IMogoOnMessageListener<String>() {
@Override
public Class target() {
return String.class;
}
@Override
public Class target() {
return String.class;
}
@Override
public void onMsgReceived(String obj) {
if(mStatusManager.isSeekHelping()) {
int seekNum = SharedPrefsMgr.getInstance(getContext()).getInt("seek_help_num", 0);
final int finalSeekNum = seekNum++;
SharedPrefsMgr.getInstance(getContext()).putInt("seek_help_num", seekNum);
handler.post(() -> {
seekHelpGroup.setVisibility(View.VISIBLE);
seekHelpNum.setText("" + finalSeekNum);
});
}
}
};
@Override
public void onMsgReceived(String obj) {
if (mStatusManager.isSeekHelping()) {
int seekNum = SharedPrefsMgr.getInstance(getContext()).getInt("seek_help_num", 0);
final int finalSeekNum = seekNum++;
SharedPrefsMgr.getInstance(getContext()).putInt("seek_help_num", seekNum);
handler.post(() -> {
seekHelpGroup.setVisibility(View.VISIBLE);
seekHelpNum.setText("" + finalSeekNum);
});
}
}
};
private Handler handler = new Handler();
private void listenSeekNumber(){
private void listenSeekNumber() {
mApis.getSocketManagerApi(getContext()).registerOnMessageListener(SEEK_HELP_NOTICE_NUM_MSG_TYPE, seekHelpNoticeListener);
mStatusManager.registerStatusChangedListener(TAG,StatusDescriptor.SEEK_HELPING,this);
mStatusManager.registerStatusChangedListener(TAG, StatusDescriptor.SEEK_HELPING, this);
}
@Override