diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java
index 552c3c5fbf..ee4654f356 100644
--- a/app/src/main/java/com/gh/common/util/DialogUtils.java
+++ b/app/src/main/java/com/gh/common/util/DialogUtils.java
@@ -481,6 +481,48 @@ public class DialogUtils {
return dialog;
}
+
+ public static Dialog showAlertDialog(Context context, String title, Spanned message
+ , String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+
+ final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
+
+ View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
+ TextView contentTv = contentView.findViewById(R.id.dialog_content);
+ TextView titleTv = contentView.findViewById(R.id.dialog_title);
+ TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
+ TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
+ contentTv.setText(message);
+ titleTv.setText(title);
+ negativeTv.setText(negative);
+ positiveTv.setText(positive);
+
+ negativeTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (clListener != null) {
+ clListener.onCancel();
+ }
+ dialog.dismiss();
+ }
+ });
+
+ positiveTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (cmListener != null) {
+ cmListener.onConfirm();
+ }
+ dialog.dismiss();
+ }
+ });
+
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ dialog.setContentView(contentView);
+ dialog.show();
+ return dialog;
+ }
+
/**
* 取消按钮灰色
*
diff --git a/app/src/main/java/com/gh/common/util/TextHelper.kt b/app/src/main/java/com/gh/common/util/TextHelper.kt
index aa4206ff24..6845bd93ee 100644
--- a/app/src/main/java/com/gh/common/util/TextHelper.kt
+++ b/app/src/main/java/com/gh/common/util/TextHelper.kt
@@ -1,9 +1,12 @@
package com.gh.common.util
+import android.content.Context
import android.text.Editable
+import android.text.InputFilter
import android.text.TextWatcher
import android.widget.EditText
import com.gh.gamecenter.R
+import com.lightgame.utils.Utils
object TextHelper {
@@ -32,6 +35,26 @@ object TextHelper {
})
}
+ @JvmStatic
+ fun getFilter(Maxlength: Int, msg: String="防抖", context: Context)//限制最大长度-Toast弹窗提示
+ : InputFilter {
+ return InputFilter { source, start, end, dest, dstart, dend ->
+ val keep = Maxlength - (dest.length - (dend - dstart))
+ if (keep < end - start) {
+ if (!msg.equals("防抖")) {
+ Utils.toast(context, msg)
+ }
+ }
+ if (keep <= 0) {
+ ""
+ } else if (keep >= end - start) {
+ null
+ } else {
+ source.subSequence(start, start + keep)
+ }
+ }
+ }
+
interface ExceedTextLengthLimitCallback {
fun onExceed()
}
diff --git a/app/src/main/java/com/gh/gamecenter/SearchActivity.java b/app/src/main/java/com/gh/gamecenter/SearchActivity.java
index 8bef985151..4ca065de70 100644
--- a/app/src/main/java/com/gh/gamecenter/SearchActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SearchActivity.java
@@ -22,7 +22,6 @@ import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.GdtHelper;
import com.gh.common.util.TextHelper;
-import com.gh.gamecenter.Util.UtilFactory;
import com.gh.gamecenter.db.SearchHistoryDao;
import com.gh.gamecenter.eventbus.EBSearch;
import com.gh.gamecenter.search.SearchGameDetailFragment;
@@ -182,7 +181,7 @@ public class SearchActivity extends BaseActivity {
}
}
});
- searchInput.setFilters(new InputFilter[]{UtilFactory.getFilter(50,this)});
+ searchInput.setFilters(new InputFilter[]{TextHelper.getFilter(50,"最多输入50个字",getBaseContext())});
findViewById(R.id.btnGoBack).setOnClickListener(v -> finish());
}
diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
index 0821c4ccc1..46fadbc4f3 100644
--- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
@@ -45,6 +45,7 @@ import com.gh.common.util.ImageUtils;
import com.gh.common.util.MtaHelper;
import com.gh.common.util.NetworkUtils;
import com.gh.common.util.PackageUtils;
+import com.gh.common.util.ShareUtils;
import com.gh.common.util.UploadImageUtils;
import com.gh.gamecenter.entity.ErrorEntity;
import com.gh.gamecenter.entity.InstallGameEntity;
@@ -702,11 +703,12 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac
}
if (mHideHint.equals("APP闪退:")) //只有是APP闪退反馈成功后弹出联系客服的弹窗
{
- DialogUtils.showWarningDialog(SuggestionActivity.this, "反馈成功", "您也可以联系客服进一步描述闪退的情况,如果您反馈的是新问题,即有机会获得红包奖励", "暂不", "联系客服",
+ String str = "您也可以联系客服进一步描述闪退的情况,如果您反馈的是新问题,即有机会获得红包奖励";
+ DialogUtils.showWarningDialog(SuggestionActivity.this, "反馈成功", Html.fromHtml(str.substring(0, str.indexOf("红包奖励")) + "红包奖励"), "暂不", "联系客服",
() -> {
- if (checkApkExist(getBaseContext(), "com.tencent.mobileqq")) {
+ if (ShareUtils.isQQClientAvailable(getBaseContext())) {
finish();
- startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin=2586716223&version=1")));
+ DirectUtils.directToQqConversation(getBaseContext(), "2586716223");
} else {
toast("本机未安装QQ应用");
}
diff --git a/app/src/main/java/com/gh/gamecenter/Util/UtilFactory.java b/app/src/main/java/com/gh/gamecenter/Util/UtilFactory.java
deleted file mode 100644
index a8e2480cfa..0000000000
--- a/app/src/main/java/com/gh/gamecenter/Util/UtilFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.gh.gamecenter.Util;
-
-import android.content.Context;
-import android.text.InputFilter;
-import android.text.Spanned;
-import android.widget.Toast;
-
-import com.lightgame.utils.Utils;
-
-/**
- * Create by 谢昌宏
- * 2019/5/6
- */
-public class UtilFactory {
-
- //返回InputFilter限制文本框输入最大长度
- public static InputFilter getFilter(final int Maxlength, final Context context)//限制最大长度-Toast弹窗提示
- {
- InputFilter inputFilter = new InputFilter() {
- @Override
- public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
- int keep = Maxlength - (dest.length() - (dend - dstart));
- if(keep < (end - start)){
- Utils.toast(context,"最多只能输入"+Maxlength+"个字哦");
- }
- if(keep <= 0){
- return "";
- }else if(keep >= end - start){
- return null;
- }else{
- return source.subSequence(start,start + keep);
- }
- }
- };
- return inputFilter;
- }
-}
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
index 5fa9a3a778..110517ed2a 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
@@ -246,7 +246,7 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL
DataUtils.onEvent(getActivity(), "主页", "关注图标");
MtaHelper.onEvent("首页_点击", "顶栏", "我的关注");
DataCollectionUtils.uploadClick(getActivity(), "关注图标", "主页");
-
+ int a = 1/0;
intent = ConcernActivity.getIntent(getContext(), "(工具栏)");
startActivity(intent);
break;
diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java
index a777c7417d..adc8b22a03 100644
--- a/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java
@@ -23,9 +23,9 @@ import com.gh.common.util.DialogUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.ErrorHelper;
import com.gh.common.util.PostCommentUtils;
+import com.gh.common.util.TextHelper;
import com.gh.common.util.TimestampUtils;
import com.gh.gamecenter.R;
-import com.gh.gamecenter.Util.UtilFactory;
import com.gh.gamecenter.adapter.MessageDetailAdapter;
import com.gh.gamecenter.adapter.OnCommentCallBackListener;
import com.gh.gamecenter.entity.CommentEntity;
@@ -103,6 +103,13 @@ public class MessageDetailFragment extends NormalFragment implements OnCommentCa
if (s.toString().trim().length() > 0) {
mMessageDetailCommentSend.setEnabled(true);
mMessageDetailCommentSend.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_normal_style));
+ if (s.length()>=140)
+ {
+ if (!ClickUtils.isFastDoubleClick(mMessageDetailEt.getId()))
+ {
+ Utils.toast(getContext(),"评论不能多于140字");
+ }
+ }
} else {
mMessageDetailCommentSend.setEnabled(false);
mMessageDetailCommentSend.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_gray_style));
@@ -150,7 +157,7 @@ public class MessageDetailFragment extends NormalFragment implements OnCommentCa
mMessageDetailRv.setAdapter(adapter);
mMessageDetailEt.addTextChangedListener(watcher);
- mMessageDetailEt.setFilters(new InputFilter[]{UtilFactory.getFilter(140, getContext())});
+ mMessageDetailEt.setFilters(new InputFilter[]{TextHelper.getFilter(140,"防抖",getContext())});
mMessageDetailCommentSend.setEnabled(false);
mMessageDetailCommentSend.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_gray_style));
mMessageDetailEt.setOnFocusChangeListener((v, hasFocus) -> {
diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
index ec9fea881f..734b6da882 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
@@ -29,7 +29,6 @@ import com.gh.base.fragment.BaseDialogWrapperFragment
import com.gh.base.fragment.WaitingDialogFragment
import com.gh.common.util.*
import com.gh.gamecenter.R
-import com.gh.gamecenter.Util.UtilFactory
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.eventbus.EBReuse
import com.gh.gamecenter.manager.UserManager
@@ -380,7 +379,8 @@ class ArticleEditActivity : BaseRichEditorActivity() {
}
}
filterArray[0] = filter
- filterArray[1] = UtilFactory.getFilter(51,this)
+ filterArray[1] = TextHelper.getFilter(51,"最多输入51个字",this)
+
mEditTitle.filters = filterArray
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/comment/CommentFragment.java b/app/src/main/java/com/gh/gamecenter/qa/comment/CommentFragment.java
index 3ad3e9ca89..70dbaafcce 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/comment/CommentFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/qa/comment/CommentFragment.java
@@ -32,9 +32,9 @@ import com.gh.common.util.DialogUtils;
import com.gh.common.util.ErrorHelper;
import com.gh.common.util.KeyboardHeightObserver;
import com.gh.common.util.KeyboardHeightProvider;
+import com.gh.common.util.TextHelper;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.R;
-import com.gh.gamecenter.Util.UtilFactory;
import com.gh.gamecenter.adapter.OnCommentCallBackListener;
import com.gh.gamecenter.baselist.ListAdapter;
import com.gh.gamecenter.baselist.ListFragment;
@@ -129,7 +129,7 @@ public class CommentFragment extends ListFragment 0) {
mCommentSend.setEnabled(true);
mCommentSend.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_normal_style));
+ if (s.length() >= 140) {
+ if (!ClickUtils.isFastDoubleClick(mCommentDetailCommentEt.getId()))
+ {
+ Utils.toast(getContext(),"评论不能多于140字");
+ }
- } else {
+ }
+
+ } else {
mCommentSend.setEnabled(false);
mCommentSend.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_gray_style));
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt
index b8d59b086c..31a56cc602 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt
@@ -21,7 +21,6 @@ import com.gh.common.util.*
import com.gh.common.view.SpacingItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity.MEDIA_STORE_REQUEST
-import com.gh.gamecenter.Util.UtilFactory
import com.gh.gamecenter.databinding.ActivityQuestionsEditBinding
import com.gh.gamecenter.entity.Permissions
import com.gh.gamecenter.manager.UserManager
@@ -130,10 +129,10 @@ class QuestionEditActivity : BaseActivity() {
// TitleEdit
mBinding.questionseditTitle.addTextChangedListener(LimitTextWatcher(mBinding.questionseditTitle))
- mBinding.questionseditTitle.filters = arrayOf(UtilFactory.getFilter(50,this))
+ mBinding.questionseditTitle.filters = arrayOf(TextHelper.getFilter(50,"防抖",this))
// ContentEdit
- mBinding.questionseditContent.filters= arrayOf(UtilFactory.getFilter(300,this))
+ mBinding.questionseditContent.filters= arrayOf(TextHelper.getFilter(300,"防抖",this))
// Pic List
val picAdapter = QuestionsEditPicAdapter(this, mViewModel)
@@ -262,6 +261,22 @@ class QuestionEditActivity : BaseActivity() {
mBinding.questionseditTitle.setSelection(start)
return
}
+ if (s.length>=50)
+ {
+ mBinding.questionseditTitle.debounceActionWithInterval(2000L){
+ toast("标题最多50个字")
+ }
+ }
+
+ }
+ else if(mEditText===mBinding.questionseditContent)
+ {
+ if (s.length>=300)
+ {
+ mBinding.questionseditContent.debounceActionWithInterval(2000L){
+ toast("内容最多300个字")
+ }
+ }
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java
index 48654cff2c..73726e0e8a 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java
@@ -25,7 +25,6 @@ import com.gh.common.util.LogUtils;
import com.gh.common.util.MtaHelper;
import com.gh.common.util.TextHelper;
import com.gh.gamecenter.R;
-import com.gh.gamecenter.Util.UtilFactory;
import com.gh.gamecenter.db.AskSearchHistoryDao;
import com.gh.gamecenter.eventbus.EBSearch;
import com.gh.gamecenter.manager.UserManager;
@@ -173,7 +172,7 @@ public class AskSearchActivity extends BaseActivity {
}
}
});
- mSearchEt.setFilters(new InputFilter[]{UtilFactory.getFilter(50,this)});
+ mSearchEt.setFilters(new InputFilter[]{TextHelper.getFilter(50,"最多输入50个字",getBaseContext())});
}
@OnClick({R.id.bar_search_delete, R.id.bar_question_btn, R.id.search_questions_skip, R.id.bar_back})
diff --git a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java
index c63f1c7c72..c68ba1106d 100644
--- a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java
+++ b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java
@@ -19,7 +19,6 @@ import android.widget.TextView;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.TextHelper;
import com.gh.gamecenter.R;
-import com.gh.gamecenter.Util.UtilFactory;
import com.gh.gamecenter.entity.IdCardEntity;
import com.gh.gamecenter.entity.UserInfoEntity;
import com.gh.gamecenter.manager.UserManager;
@@ -161,7 +160,7 @@ public class UserInfoEditFragment extends NormalFragment {
case UserViewModel.TYPE_NAME:
mUserinfoEditNickname.setVisibility(View.VISIBLE);
if (mSaveMenuItem != null) mSaveMenuItem.setVisible(true);
- mUserinfoNicknameEt.setFilters(new InputFilter[]{UtilFactory.getFilter(12,requireContext())});
+ mUserinfoNicknameEt.setFilters(new InputFilter[]{TextHelper.getFilter(12,"最多12个字",requireContext())});
title = getString(R.string.title_nickname_change);
String name = mUserInfoEntity.getName();
if (!TextUtils.isEmpty(name)) {
@@ -179,7 +178,7 @@ public class UserInfoEditFragment extends NormalFragment {
mUserinfoContactEt.setText(contact);
mUserinfoContactEt.setSelection(mUserinfoContactEt.getText().toString().trim().length());
}
- mUserinfoContactEt.setFilters(new InputFilter[]{UtilFactory.getFilter(60,requireContext())});
+ mUserinfoContactEt.setFilters(new InputFilter[]{TextHelper.getFilter(60,"最多60个字",requireContext())});
break;
case UserViewModel.TYPE_ID_CARD:
mIdCard.setVisibility(View.VISIBLE);
@@ -193,8 +192,8 @@ public class UserInfoEditFragment extends NormalFragment {
if (mSaveMenuItem != null) mSaveMenuItem.setVisible(false);
} else {
if (mSaveMenuItem != null) mSaveMenuItem.setVisible(true);
- mIdCardNameEt.setFilters(new InputFilter[]{UtilFactory.getFilter(20,requireContext())});
- mIdCardEt.setFilters(new InputFilter[]{UtilFactory.getFilter(18,requireContext())});
+ mIdCardNameEt.setFilters(new InputFilter[]{TextHelper.getFilter(20,"最多20个字",requireContext())});
+ mIdCardEt.setFilters(new InputFilter[]{TextHelper.getFilter(18,"最多18个字",requireContext())});
}
break;
case UserViewModel.TYPE_INTRODUCE:
@@ -203,7 +202,7 @@ public class UserInfoEditFragment extends NormalFragment {
title = getString(R.string.userinfo_introduce);
String introduce = mUserInfoEntity.getIntroduce();
mUserInfoIntroduceEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserInfoIntroduceEt));
- mUserInfoIntroduceEt.setFilters(new InputFilter[]{UtilFactory.getFilter(30,requireContext())});
+ mUserInfoIntroduceEt.setFilters(new InputFilter[]{TextHelper.getFilter(30,"最多30个字",requireContext())});
if (!TextUtils.isEmpty(introduce)) {
mUserInfoIntroduceEt.setText(introduce);
mUserInfoIntroduceEt.setSelection(mUserInfoIntroduceEt.getText().toString().trim().length());