fix bug of guide
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user