diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 76d8cc3c6f..4e373a9d63 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -14,6 +14,12 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; +import androidx.databinding.BindingAdapter; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.OnViewClickListener; import com.gh.common.constant.Config; @@ -38,7 +44,6 @@ import com.gh.common.util.NewsUtils; import com.gh.common.util.NumberUtils; import com.gh.common.util.PackageInstaller; import com.gh.common.util.PackageUtils; -import com.gh.common.util.PermissionHelper; import com.gh.common.util.PlatformUtils; import com.gh.common.util.ReservationHelper; import com.gh.common.view.DownloadProgressBar; @@ -74,12 +79,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; -import androidx.core.content.ContextCompat; -import androidx.databinding.BindingAdapter; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; - /** * Created by khy on 12/02/18. */ @@ -509,13 +508,11 @@ public class BindingAdapters { break; case RESERVABLE: CheckLoginUtils.checkLogin(progressBar.getContext(), "", () -> { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(progressBar.getContext(), () -> { - ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance(gameEntity, () -> { - LogUtils.logReservation(gameEntity, traceEvent); - updateReservation(progressBar, gameEntity); - }); - dialogFragment.show(((AppCompatActivity) progressBar.getContext()).getSupportFragmentManager(), "reserve"); + ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance(gameEntity, () -> { + LogUtils.logReservation(gameEntity, traceEvent); + updateReservation(progressBar, gameEntity); }); + dialogFragment.show(((AppCompatActivity) progressBar.getContext()).getSupportFragmentManager(), "reserve"); }); break; case RESERVED: diff --git a/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt index 9153c695e6..39a4a1bf0a 100644 --- a/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt +++ b/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt @@ -15,7 +15,7 @@ import com.airbnb.lottie.LottieAnimationView import com.gh.common.constant.Config import com.gh.common.util.MtaHelper import com.gh.common.util.PermissionHelper -import com.gh.common.util.PermissionHelper.INSTALL_PERMISS_CODE +import com.gh.common.util.PermissionHelper.INSTALL_PERMISSION_CODE import com.gh.common.util.goneIf import com.gh.gamecenter.R import kotlin.random.Random @@ -59,7 +59,7 @@ class InstallPermissionDialogFragment : BaseTrackableDialogFragment() { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) - if (resultCode == RESULT_OK && requestCode == INSTALL_PERMISS_CODE) { + if (resultCode == RESULT_OK && requestCode == INSTALL_PERMISSION_CODE) { mCallBack?.invoke() dismiss() } diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index 6dc9eb24ae..87c18e4fd5 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -8,6 +8,12 @@ import android.text.TextUtils; import android.view.View; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.collection.ArrayMap; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + import com.gh.common.constant.Config; import com.gh.common.dialog.CertificationDialog; import com.gh.common.dialog.DeviceRemindDialog; @@ -39,12 +45,6 @@ import com.lightgame.utils.Utils; import java.io.File; import java.util.concurrent.LinkedBlockingQueue; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; -import androidx.collection.ArrayMap; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.RecyclerView; - /** * todo 下载判断不能以按钮文案为判断条件,否则按钮文案修改时又要修改判断逻辑 */ @@ -438,16 +438,14 @@ public class DownloadItemUtils { if (clickCallback != null) { clickCallback.onCallback(); } - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(context, () -> { - ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( - gameEntity, - () -> { - LogUtils.logReservation(gameEntity, traceEvent); - adapter.notifyItemChanged(position); - } - ); - dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve"); - }); + ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( + gameEntity, + () -> { + LogUtils.logReservation(gameEntity, traceEvent); + adapter.notifyItemChanged(position); + } + ); + dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve"); }); }); } else { @@ -528,14 +526,14 @@ public class DownloadItemUtils { * @param clickCallback 供那些需要知道点击回调的地方使用,只要触发了点击事件就响应回调(未登录状态下点击预约也要响应回调) */ public static void setOnClickListenerWithInvokeCallbackForAllState(final Context context, - final TextView downloadBtn, - final GameEntity gameEntity, - final int position, - final RecyclerView.Adapter adapter, - final String entrance, - final String location, - final ExposureEvent traceEvent, - @Nullable final EmptyCallback clickCallback) { + final TextView downloadBtn, + final GameEntity gameEntity, + final int position, + final RecyclerView.Adapter adapter, + final String entrance, + final String location, + final ExposureEvent traceEvent, + @Nullable final EmptyCallback clickCallback) { if (gameEntity.isReservable()) { if (!ReservationRepository.thisGameHasBeenReserved(gameEntity.getId())) { @@ -544,16 +542,14 @@ public class DownloadItemUtils { clickCallback.onCallback(); } CheckLoginUtils.checkLogin(context, entrance, () -> { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(context, () -> { - ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( - gameEntity, - () -> { - LogUtils.logReservation(gameEntity, traceEvent); - adapter.notifyItemChanged(position); - } - ); - dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve"); - }); + ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( + gameEntity, + () -> { + LogUtils.logReservation(gameEntity, traceEvent); + adapter.notifyItemChanged(position); + } + ); + dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve"); }); }); } else { @@ -700,7 +696,7 @@ public class DownloadItemUtils { boolean isInstalled = PackageUtils.isInstalledFromAllPackage(context, gameEntity.getSimulator().getApk().getPackageName()); if (downloadEntity != null && SimulatorGameManager.isSimulatorGame(gameEntity) && !isInstalled) { SimulatorDownloadManager.getInstance().showDownloadDialog(context, gameEntity.getSimulator(), - SimulatorDownloadManager.SimulatorLocation.LAUNCH, gameEntity.getId(), gameEntity.getName(),null); + SimulatorDownloadManager.SimulatorLocation.LAUNCH, gameEntity.getId(), gameEntity.getName(), null); return; } } diff --git a/app/src/main/java/com/gh/common/util/LibaoUtils.java b/app/src/main/java/com/gh/common/util/LibaoUtils.java index fc532d8921..40d677eff2 100644 --- a/app/src/main/java/com/gh/common/util/LibaoUtils.java +++ b/app/src/main/java/com/gh/common/util/LibaoUtils.java @@ -11,6 +11,8 @@ import android.text.TextUtils; import android.util.Log; import android.widget.TextView; +import androidx.core.content.ContextCompat; + import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.LibaoDetailAdapter; @@ -36,7 +38,6 @@ import org.json.JSONObject; import java.util.ArrayList; import java.util.List; -import androidx.core.content.ContextCompat; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -237,85 +238,160 @@ public class LibaoUtils { // 领取限制 CheckLoginUtils.checkLogin(context, "礼包详情-[" + btnStatus + "]", () -> { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(context, () -> { - if ("领取".equals(btnStatus) || "淘号".equals(btnStatus)) { - if (isInstallRequired && !isAppInstalled(context, libaoEntity.getPackageName())) { - String platform; - if (TextUtils.isEmpty(libaoEntity.getPlatform())) { - platform = ""; - } else { - platform = PlatformUtils.getInstance(context).getPlatformName(libaoEntity.getPlatform()); - } + if ("领取".equals(btnStatus) || "淘号".equals(btnStatus)) { + if (isInstallRequired && !isAppInstalled(context, libaoEntity.getPackageName())) { + String platform; + if (TextUtils.isEmpty(libaoEntity.getPlatform())) { + platform = ""; + } else { + platform = PlatformUtils.getInstance(context).getPlatformName(libaoEntity.getPlatform()); + } - boolean isExistPlatform = false; - ArrayList apk = adapter.getGameEntity().getApk(); - for (ApkEntity apkEntity : apk) { - if (TextUtils.isEmpty(libaoEntity.getPlatform())) break; - if (libaoEntity.getPlatform().equals(apkEntity.getPlatform())) { - isExistPlatform = true; - break; - } + boolean isExistPlatform = false; + ArrayList apk = adapter.getGameEntity().getApk(); + for (ApkEntity apkEntity : apk) { + if (TextUtils.isEmpty(libaoEntity.getPlatform())) break; + if (libaoEntity.getPlatform().equals(apkEntity.getPlatform())) { + isExistPlatform = true; + break; } + } - String dialogContent = context.getString(R.string.ling_rules_dialog, libaoEntity.getGame().getName(), platform); - boolean finalIsExistPlatform = isExistPlatform; - DialogUtils.showWarningDialog(context, "条件不符", - Html.fromHtml(dialogContent), isExistPlatform ? "关闭" : null, - isExistPlatform ? "立即安装" : "关闭", - () -> { - if (finalIsExistPlatform) { - adapter.openDownload(libaoEntity.getPlatform()); - } - }, null); + String dialogContent = context.getString(R.string.ling_rules_dialog, libaoEntity.getGame().getName(), platform); + boolean finalIsExistPlatform = isExistPlatform; + DialogUtils.showWarningDialog(context, "条件不符", + Html.fromHtml(dialogContent), isExistPlatform ? "关闭" : null, + isExistPlatform ? "立即安装" : "关闭", + () -> { + if (finalIsExistPlatform) { + adapter.openDownload(libaoEntity.getPlatform()); + } + }, null); + return; + } + } + + switch (btnStatus) { + case "未开始": + Utils.toast(context, "还没到开始领取时间"); + break; + case "查看": + if (!TextUtils.isEmpty(libaoEntity.getDes())) { + DialogUtils.showAlertDialog(v.getContext(), "使用说明", + Html.fromHtml(libaoEntity.getDes()), "关闭", null, null, null); + } + break; + case "再领一个": + case "领取": + if ("repeatLing".equals(status)) { + DialogUtils.showWarningDialog(context, "礼包刷新提醒" + , "礼包每天0点刷新,换新区或者换新角色需要继续领取礼包的童鞋,请于明天0点之后回来即可[再领一个]" + , null, "知道了", null, null); + } else { + libaoLing(context, libaoBtn, libaoEntity, adapter, isInstallRequired, null, entrance); + } + break; + case "再淘一个": + case "淘号": + if ("repeatTao".equals(status)) { + Utils.toast(context, "没到重复淘号时间, 礼包每天0点刷新"); return; } - } + final Dialog loadingDialog = DialogUtils.showWaitDialog(context, "淘号中..."); + postLibaoTao(context, libaoEntity.getId(), new PostLibaoListener() { + @Override + public void postSucceed(Object response) { - switch (btnStatus) { - case "未开始": - Utils.toast(context, "还没到开始领取时间"); - break; - case "查看": - if (!TextUtils.isEmpty(libaoEntity.getDes())) { - DialogUtils.showAlertDialog(v.getContext(), "使用说明", - Html.fromHtml(libaoEntity.getDes()), "关闭", null, null, null); - } - break; - case "再领一个": - case "领取": - if ("repeatLing".equals(status)) { - DialogUtils.showWarningDialog(context, "礼包刷新提醒" - , "礼包每天0点刷新,换新区或者换新角色需要继续领取礼包的童鞋,请于明天0点之后回来即可[再领一个]" - , null, "知道了", null, null); - } else { - libaoLing(context, libaoBtn, libaoEntity, adapter, isInstallRequired, null, entrance); - } - break; - case "再淘一个": - case "淘号": - if ("repeatTao".equals(status)) { - Utils.toast(context, "没到重复淘号时间, 礼包每天0点刷新"); - return; - } - final Dialog loadingDialog = DialogUtils.showWaitDialog(context, "淘号中..."); - postLibaoTao(context, libaoEntity.getId(), new PostLibaoListener() { - @Override - public void postSucceed(Object response) { + if (loadingDialog != null) loadingDialog.dismiss(); - if (loadingDialog != null) loadingDialog.dismiss(); + JSONObject responseBody = (JSONObject) response; + String libaoCode = null; + try { + libaoCode = responseBody.getString("code"); + } catch (JSONException e) { + e.printStackTrace(); + } - JSONObject responseBody = (JSONObject) response; - String libaoCode = null; + if (TextUtils.isEmpty(libaoCode)) { try { - libaoCode = responseBody.getString("code"); + String detail = responseBody.getString("detail"); + switch (detail) { + case "maintaining": + Utils.toast(context, "网络状态异常,请稍后再试"); + break; + case "fail to compete": + Utils.toast(context, "淘号失败,稍后重试"); + break; + default: + Utils.toast(context, "淘号异常"); + break; + } } catch (JSONException e) { e.printStackTrace(); } + return; + } - if (TextUtils.isEmpty(libaoCode)) { + Utils.toast(context, "淘号成功"); + + libaoEntity.setStatus("taoed"); + + EventBus.getDefault().post(new EBReuse("libaoChanged")); + + adapter.initLibaoCode(new UserDataLibaoEntity(libaoCode, "tao", Utils.getTime(context))); + + final String finalLibaoCode = libaoCode; + + DialogUtils.showWarningDialog(context, "淘号成功" + , Html.fromHtml(context.getString(R.string.taoed_dialog, libaoCode)) + , "关闭", " 复制礼包码" + , () -> { + copyLink(finalLibaoCode, context); + if (isInstallRequired) { + libaoBtn.postDelayed(() -> { + Spanned msg = Html.fromHtml( + context.getString(R.string.taoed_copy_dialog + , finalLibaoCode)); + lunningAppDialog(context + , msg, libaoEntity); + }, 300); + } + }, null); + } + + @Override + public void postFailed(Throwable error) { + Utils.log("---" + error.toString()); + + if (loadingDialog != null) loadingDialog.dismiss(); + + if (error instanceof HttpException) { + HttpException exception = (HttpException) error; + if (exception.code() == 403) { try { - String detail = responseBody.getString("detail"); + JSONObject errorJson = new JSONObject(exception.response().errorBody().string()); + String detail = errorJson.getString("detail"); +// Utils.toast(context, "返回::" + detail); switch (detail) { + case "coming": + Utils.toast(context, "礼包领取时间未开始"); + break; + case "finish": + Utils.toast(context, "礼包领取时间已结束"); + break; + case "fetched": + Utils.toast(context, "你今天已领过这个礼包了, 不能再淘号"); + + libaoBtn.setText("已淘号"); + libaoBtn.setBackgroundResource(R.drawable.libao_taoed_style); + libaoBtn.setTextColor(ContextCompat.getColorStateList(context, R.color.libao_taoed_selector)); + libaoEntity.setStatus("taoed"); + break; + case "try tao": + case "used up": + DialogUtils.showHintDialog(context, "礼包已领光" + , "手速不够快,礼包已经被抢光了,十分抱歉", "知道了"); + break; case "maintaining": Utils.toast(context, "网络状态异常,请稍后再试"); break; @@ -323,101 +399,24 @@ public class LibaoUtils { Utils.toast(context, "淘号失败,稍后重试"); break; default: - Utils.toast(context, "淘号异常"); + Utils.toast(context, "操作失败"); break; + } - } catch (JSONException e) { - e.printStackTrace(); + } catch (Exception ex) { + ex.printStackTrace(); + Utils.toast(context, "礼包处理异常" + ex.toString()); } return; + } else if (exception.code() == 401) { + return; } - - Utils.toast(context, "淘号成功"); - - libaoEntity.setStatus("taoed"); - - EventBus.getDefault().post(new EBReuse("libaoChanged")); - - adapter.initLibaoCode(new UserDataLibaoEntity(libaoCode, "tao", Utils.getTime(context))); - - final String finalLibaoCode = libaoCode; - - DialogUtils.showWarningDialog(context, "淘号成功" - , Html.fromHtml(context.getString(R.string.taoed_dialog, libaoCode)) - , "关闭", " 复制礼包码" - , () -> { - copyLink(finalLibaoCode, context); - if (isInstallRequired) { - libaoBtn.postDelayed(() -> { - Spanned msg = Html.fromHtml( - context.getString(R.string.taoed_copy_dialog - , finalLibaoCode)); - lunningAppDialog(context - , msg, libaoEntity); - }, 300); - } - }, null); } - - @Override - public void postFailed(Throwable error) { - Utils.log("---" + error.toString()); - - if (loadingDialog != null) loadingDialog.dismiss(); - - if (error instanceof HttpException) { - HttpException exception = (HttpException) error; - if (exception.code() == 403) { - try { - JSONObject errorJson = new JSONObject(exception.response().errorBody().string()); - String detail = errorJson.getString("detail"); -// Utils.toast(context, "返回::" + detail); - switch (detail) { - case "coming": - Utils.toast(context, "礼包领取时间未开始"); - break; - case "finish": - Utils.toast(context, "礼包领取时间已结束"); - break; - case "fetched": - Utils.toast(context, "你今天已领过这个礼包了, 不能再淘号"); - - libaoBtn.setText("已淘号"); - libaoBtn.setBackgroundResource(R.drawable.libao_taoed_style); - libaoBtn.setTextColor(ContextCompat.getColorStateList(context, R.color.libao_taoed_selector)); - libaoEntity.setStatus("taoed"); - break; - case "try tao": - case "used up": - DialogUtils.showHintDialog(context, "礼包已领光" - , "手速不够快,礼包已经被抢光了,十分抱歉", "知道了"); - break; - case "maintaining": - Utils.toast(context, "网络状态异常,请稍后再试"); - break; - case "fail to compete": - Utils.toast(context, "淘号失败,稍后重试"); - break; - default: - Utils.toast(context, "操作失败"); - break; - - } - } catch (Exception ex) { - ex.printStackTrace(); - Utils.toast(context, "礼包处理异常" + ex.toString()); - } - return; - } else if (exception.code() == 401) { - return; - } - } - Utils.toast(context, "发生异常"); - } - }); - break; - } - }); + Utils.toast(context, "发生异常"); + } + }); + break; + } }); }); } @@ -458,7 +457,7 @@ public class LibaoUtils { adapter.notifyDataSetChanged(); final String finalLibaoCode = libaoCode; NotificationHelper.showNotificationHintDialog(NotificationUgc.GIFT, isShow -> { - if (!isShow){ + if (!isShow) { DialogUtils.showWarningDialog(context, "领取成功", Html.fromHtml(context.getString(R.string.linged_dialog, finalLibaoCode)) , "关闭", " 复制礼包码" , () -> { diff --git a/app/src/main/java/com/gh/common/util/PermissionHelper.kt b/app/src/main/java/com/gh/common/util/PermissionHelper.kt index cddd88a41d..e8419933cf 100644 --- a/app/src/main/java/com/gh/common/util/PermissionHelper.kt +++ b/app/src/main/java/com/gh/common/util/PermissionHelper.kt @@ -13,7 +13,7 @@ import com.tbruyelle.rxpermissions2.RxPermissions object PermissionHelper { - const val INSTALL_PERMISS_CODE = 100 + const val INSTALL_PERMISSION_CODE = 100 @JvmStatic fun requestReadPhoneStateAndStoragePermissionFromStartUp(context: Context) { @@ -232,7 +232,7 @@ object PermissionHelper { } else { val packageURI = Uri.fromParts("package", activity.packageName, null) val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI) - activity.startActivityForResult(intent, INSTALL_PERMISS_CODE) + activity.startActivityForResult(intent, INSTALL_PERMISSION_CODE) } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 31091abb59..64d412511a 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -5,6 +5,10 @@ import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentActivity; + import com.gh.common.dialog.CertificationDialog; import com.gh.common.dialog.DeviceRemindDialog; import com.gh.common.dialog.GameOffServiceDialogFragment; @@ -45,10 +49,6 @@ import org.greenrobot.eventbus.EventBus; import java.io.File; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; -import androidx.fragment.app.FragmentActivity; - /** * Created by khy on 27/06/17. * 详情页面下载ViewHolder @@ -248,15 +248,13 @@ public class DetailViewHolder { break; case RESERVABLE: CheckLoginUtils.checkLogin(mViewHolder.context, mEntrance, () -> { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(mViewHolder.context, () -> { - ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( - mGameEntity, - () -> { - LogUtils.logReservation(mGameEntity, mTraceEvent); - DetailDownloadUtils.detailInitDownload(mViewHolder, false); - }); - dialogFragment.show(((AppCompatActivity) mViewHolder.context).getSupportFragmentManager(), "reserve"); - }); + ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance( + mGameEntity, + () -> { + LogUtils.logReservation(mGameEntity, mTraceEvent); + DetailDownloadUtils.detailInitDownload(mViewHolder, false); + }); + dialogFragment.show(((AppCompatActivity) mViewHolder.context).getSupportFragmentManager(), "reserve"); }); break; case RESERVED: diff --git a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewHolder.kt b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewHolder.kt index eaf0dca196..e8f0d81c33 100644 --- a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewHolder.kt @@ -44,14 +44,10 @@ class AmwaySearchViewHolder(var binding: AmwaySearchItemBinding, val mViewModel: it.context.showRegulationTestDialogIfNeeded { val installPackageName = mViewModel.canUserCommentThisGame(gameEntity) if (gameEntity.directComment || !installPackageName.isNullOrEmpty()) { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(activity, object : EmptyCallback { - override fun onCallback() { - MtaHelper.onEvent("发表评论", "进入", "选中游戏_${gameEntity.name}") - val intent = RatingEditActivity.getIntent(binding.root.context, gameEntity, 0.0F, installPackageName, true) - activity.startActivity(intent) - activity.finish() - } - }) + MtaHelper.onEvent("发表评论", "进入", "选中游戏_${gameEntity.name}") + val intent = RatingEditActivity.getIntent(binding.root.context, gameEntity, 0.0F, installPackageName, true) + activity.startActivity(intent) + activity.finish() } else { Utils.toast(activity, "安装游戏后才能评论哦") } diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt index 5349744947..dd759c687d 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt @@ -29,14 +29,16 @@ import com.gh.common.util.* import com.gh.gamecenter.GameDetailActivity import com.gh.gamecenter.R import com.gh.gamecenter.databinding.FragmentForumDetailBinding -import com.gh.gamecenter.entity.* +import com.gh.gamecenter.entity.CommunityEntity +import com.gh.gamecenter.entity.ForumDetailEntity +import com.gh.gamecenter.entity.ForumEntity +import com.gh.gamecenter.entity.UserEntity import com.gh.gamecenter.eventbus.EBForumFollowChange import com.gh.gamecenter.eventbus.EBTypeChange import com.gh.gamecenter.forum.moderator.ModeratorListActivity import com.gh.gamecenter.gamedetail.GameDetailFragment import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.mvvm.Status -import com.gh.gamecenter.personalhome.UserHomeActivity import com.gh.gamecenter.qa.article.edit.ArticleEditActivity import com.gh.gamecenter.qa.questions.edit.QuestionEditActivity import com.google.android.material.appbar.AppBarLayout @@ -389,7 +391,7 @@ class ForumDetailFragment : BaseLazyTabFragment() { dialog.show() contentView.findViewById(R.id.community_edit_article).setOnClickListener { context?.ifLogin("论坛详情", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { MtaHelper.onEvent("论坛详情", "发布", "发帖子") startActivity(ArticleEditActivity.getIntent(requireContext(), CommunityEntity(mForumDetail?.id ?: "", mForumDetail?.name ?: ""))) @@ -399,7 +401,7 @@ class ForumDetailFragment : BaseLazyTabFragment() { } contentView.findViewById(R.id.community_edit_question).setOnClickListener { context?.ifLogin("论坛详情", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { MtaHelper.onEvent("论坛详情", "发布", "提问") startActivity(QuestionEditActivity.getIntent(requireContext(), CommunityEntity(mForumDetail?.id ?: "", mForumDetail?.name ?: ""))) diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeFragment.kt index 51b72844ef..0134cd5a81 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeFragment.kt @@ -24,7 +24,6 @@ import com.gh.common.dialog.TrackableDialog import com.gh.common.util.* import com.gh.common.view.DumbRefreshLayout import com.gh.common.view.SwipeRefreshHeader -import com.gh.common.view.divider.VerticalDividerItemDecoration import com.gh.gamecenter.R import com.gh.gamecenter.entity.LinkEntity import com.gh.gamecenter.eventbus.EBForumFollowChange @@ -331,7 +330,7 @@ class ForumHomeFragment : BaseLazyTabFragment() { dialog.show() contentView.findViewById(R.id.community_edit_article).setOnClickListener { context?.ifLogin("论坛首页", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { showRegulationTestDialogIfNeeded { MtaHelper.onEvent("论坛首页", "发布", "发帖子") startActivity(ArticleEditActivity.getIntent(requireContext(), null)) @@ -342,7 +341,7 @@ class ForumHomeFragment : BaseLazyTabFragment() { } contentView.findViewById(R.id.community_edit_question).setOnClickListener { context?.ifLogin("论坛首页", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { showRegulationTestDialogIfNeeded { MtaHelper.onEvent("论坛首页", "发布", "提问") startActivity(QuestionEditActivity.getIntent(requireContext())) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index 17a99ad49e..c80cc165a3 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -242,13 +242,11 @@ class GameDetailFragment : NormalFragment() { } R.id.menu_concern -> { - checkReadPhoneStatePermissionBeforeAction { - ifLogin("游戏详情-[关注]") { - if (mNewGameDetailEntity != null && mNewGameDetailEntity!!.me.isGameConcerned) { - DialogUtils.showCancelDialog(requireContext(), { mViewModel.concernCommand(false) }, null) - } else { - mViewModel.concernCommand(true) - } + ifLogin("游戏详情-[关注]") { + if (mNewGameDetailEntity != null && mNewGameDetailEntity!!.me.isGameConcerned) { + DialogUtils.showCancelDialog(requireContext(), { mViewModel.concernCommand(false) }, null) + } else { + mViewModel.concernCommand(true) } } } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt index 8bc397ee32..2934b8c554 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt @@ -279,12 +279,8 @@ class RatingAdapter(context: Context, if (mContext is Activity) { val installPackageName = mListViewModel.canUserCommentThisGame() if (mDirectComment || !installPackageName.isNullOrEmpty()) { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(mContext, object : EmptyCallback { - override fun onCallback() { - val intent = RatingEditActivity.getIntent(mContext, mListViewModel.game, starCount, installPackageName, fromAmway, isSkipSuccessPage) - (mContext as Activity).startActivityForResult(intent, RatingFragment.RATING_EDIT_REQUEST) - } - }) + val intent = RatingEditActivity.getIntent(mContext, mListViewModel.game, starCount, installPackageName, fromAmway, isSkipSuccessPage) + (mContext as Activity).startActivityForResult(intent, RatingFragment.RATING_EDIT_REQUEST) } else { Utils.toast(mContext, "安装游戏后才能评论哦") } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt index 3a4b89c288..eb834c5265 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt @@ -170,19 +170,17 @@ class RatingReplyActivity : ListActivity { - final String content = mMessageDetailEt.getText().toString(); + final String content = mMessageDetailEt.getText().toString(); - if (content.length() == 0) { - Utils.toast(getContext(), "评论内容不能为空!"); + if (content.length() == 0) { + Utils.toast(getContext(), "评论内容不能为空!"); + return; + } + + CheckLoginUtils.checkLogin(requireContext(), "资讯文章详情-评论详情-写评论", () -> { + mSendingDialog = DialogUtils.showWaitDialog(getActivity(), getString(R.string.post_dialog_hint)); + + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("content", content); + } catch (JSONException e) { + e.printStackTrace(); + } + if (newsId == null && mConcernEntity == null || newsId == null && mConcernEntity.getId() == null) { + Utils.toast(getContext(), "评论异常 id null"); + mSendingDialog.cancel(); return; + } else if (newsId == null) { + newsId = mConcernEntity.getId(); } - CheckLoginUtils.checkLogin(requireContext(), "资讯文章详情-评论详情-写评论", () -> { - mSendingDialog = DialogUtils.showWaitDialog(getActivity(), getString(R.string.post_dialog_hint)); + PostCommentUtils.addCommentData(getContext(), newsId, jsonObject, mCommentEntity, new PostCommentUtils.PostCommentListener() { + @Override + public void postSuccess(JSONObject response) { + mSendingDialog.dismiss(); + toast("发表成功"); + mMessageDetailEt.setText(""); - JSONObject jsonObject = new JSONObject(); - try { - jsonObject.put("content", content); - } catch (JSONException e) { - e.printStackTrace(); - } - if (newsId == null && mConcernEntity == null || newsId == null && mConcernEntity.getId() == null) { - Utils.toast(getContext(), "评论异常 id null"); - mSendingDialog.cancel(); - return; - } else if (newsId == null) { - newsId = mConcernEntity.getId(); - } + try { + JSONObject cacheObject = new JSONObject(); + JSONObject cacheUser = new JSONObject(); + JSONObject userData = new JSONObject(); + JSONObject badgeData = new JSONObject(); + cacheUser.put("_id", mUserInfo.getUserId()); + cacheUser.put("icon", mUserInfo.getIcon()); + cacheUser.put("name", mUserInfo.getName()); - PostCommentUtils.addCommentData(getContext(), newsId, jsonObject, mCommentEntity, new PostCommentUtils.PostCommentListener() { - @Override - public void postSuccess(JSONObject response) { - mSendingDialog.dismiss(); - toast("发表成功"); - mMessageDetailEt.setText(""); - - try { - JSONObject cacheObject = new JSONObject(); - JSONObject cacheUser = new JSONObject(); - JSONObject userData = new JSONObject(); - JSONObject badgeData = new JSONObject(); - cacheUser.put("_id", mUserInfo.getUserId()); - cacheUser.put("icon", mUserInfo.getIcon()); - cacheUser.put("name", mUserInfo.getName()); - - if (mUserInfo.getBadge() != null) { - badgeData.put("name", mUserInfo.getBadge().getName()); - badgeData.put("icon", mUserInfo.getBadge().getIcon()); - cacheUser.put("badge", badgeData); - } - - userData.put("is_comment_own", true); - cacheObject.put("_id", response.getString("_id")); - cacheObject.put("content", content); - cacheObject.put("time", System.currentTimeMillis() / 1000); - cacheObject.put("vote", 0); - cacheObject.put("user", cacheUser); - cacheObject.put("me", userData); - - if (mCommentEntity != null) { - JSONObject cacheParent = new JSONObject(); - cacheParent.put("user", new JSONObject(GsonUtils.toJson(mCommentEntity.getUser()))); - cacheParent.put("comment", mCommentEntity.getContent()); - cacheObject.put("parent", cacheParent); - } - - CommentEntity commentEntity = new Gson().fromJson(cacheObject.toString(), CommentEntity.class); - if (mConcernEntity != null) { - adapter.addNormalComment(commentEntity); - } - - modifyNewsCommentOkhttpCache(adapter.findTheLastPriorComment(), cacheObject, newsId); - } catch (JSONException e) { - e.printStackTrace(); + if (mUserInfo.getBadge() != null) { + badgeData.put("name", mUserInfo.getBadge().getName()); + badgeData.put("icon", mUserInfo.getBadge().getIcon()); + cacheUser.put("badge", badgeData); } + userData.put("is_comment_own", true); + cacheObject.put("_id", response.getString("_id")); + cacheObject.put("content", content); + cacheObject.put("time", System.currentTimeMillis() / 1000); + cacheObject.put("vote", 0); + cacheObject.put("user", cacheUser); + cacheObject.put("me", userData); + + if (mCommentEntity != null) { + JSONObject cacheParent = new JSONObject(); + cacheParent.put("user", new JSONObject(GsonUtils.toJson(mCommentEntity.getUser()))); + cacheParent.put("comment", mCommentEntity.getContent()); + cacheObject.put("parent", cacheParent); + } + + CommentEntity commentEntity = new Gson().fromJson(cacheObject.toString(), CommentEntity.class); if (mConcernEntity != null) { - // 完成评论操作,添加评论数 - adapter.addCommentCount(); - //修改评论缓存 - CommentManager.updateOkhttpCacheForId(getContext(), newsId); - CommentManager.updateOkhttpCache(getContext(), newsId); - adapter.notifyItemInserted(adapter.getHotCommentListSize() + 2); - adapter.notifyItemChanged(adapter.getItemCount() - 1); //刷新脚布局高度 - } else { - showNoConnection(false); + adapter.addNormalComment(commentEntity); } - setSoftInput(false); - + modifyNewsCommentOkhttpCache(adapter.findTheLastPriorComment(), cacheObject, newsId); + } catch (JSONException e) { + e.printStackTrace(); } - @Override - public void postFailed(Throwable e) { - mSendingDialog.dismiss(); - String errorString = null; - if (e instanceof HttpException) { - try { - errorString = ((HttpException) e).response().errorBody().string(); - } catch (Exception e1) { - e1.printStackTrace(); - } + if (mConcernEntity != null) { + // 完成评论操作,添加评论数 + adapter.addCommentCount(); + //修改评论缓存 + CommentManager.updateOkhttpCacheForId(getContext(), newsId); + CommentManager.updateOkhttpCache(getContext(), newsId); + adapter.notifyItemInserted(adapter.getHotCommentListSize() + 2); + adapter.notifyItemChanged(adapter.getItemCount() - 1); //刷新脚布局高度 + } else { + showNoConnection(false); + } + + setSoftInput(false); + + } + + @Override + public void postFailed(Throwable e) { + mSendingDialog.dismiss(); + String errorString = null; + if (e instanceof HttpException) { + try { + errorString = ((HttpException) e).response().errorBody().string(); + } catch (Exception e1) { + e1.printStackTrace(); } - ErrorHelper.handleError(requireContext(), errorString, false); } - }); + ErrorHelper.handleError(requireContext(), errorString, false); + } }); - }); break; case R.id.shadowView: @@ -507,7 +504,7 @@ public class MessageDetailFragment extends NormalFragment implements OnCommentCa } private void popInputLayout(boolean isPopup, int height) { - if(requireActivity() instanceof MessageDetailActivity){ + if (requireActivity() instanceof MessageDetailActivity) { View shadowView = ((MessageDetailActivity) requireActivity()).shadowView; shadowView.setVisibility(isPopup ? View.VISIBLE : View.GONE); shadowView.setOnClickListener(v -> Util_System_Keyboard.hideSoftKeyboard(getActivity())); @@ -529,7 +526,7 @@ public class MessageDetailFragment extends NormalFragment implements OnCommentCa RelativeLayout.LayoutParams mLayoutParams = (RelativeLayout.LayoutParams) mReplyEditorContainer.getLayoutParams(); mLayoutParams.height = isPopup ? DisplayUtils.dip2px(130f) : LinearLayout.LayoutParams.WRAP_CONTENT; - mLayoutParams.bottomMargin = isPopup? height + mOffset - DisplayUtils.dip2px(12f) : 0; + mLayoutParams.bottomMargin = isPopup ? height + mOffset - DisplayUtils.dip2px(12f) : 0; mReplyEditorContainer.setLayoutParams(mLayoutParams); } diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt index b41578ef7c..193e3312dd 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt @@ -253,7 +253,7 @@ class PersonalFunctionAdapter(val context: Context, val groupName: String, var m "游戏投稿" -> { if (UserManager.getInstance().isLoggedIn) { MtaHelper.onEvent("我的光环", "游戏投稿") - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(context, object : EmptyCallback { + PermissionHelper.checkStoragePermissionBeforeAction(context, object : EmptyCallback { override fun onCallback() { context.startActivity(GameSubmissionActivity.getIntent(context, "(我的光环)", "")) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/CommunityFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/CommunityFragment.kt index e2fc91fa6f..c337e74242 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/CommunityFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/CommunityFragment.kt @@ -21,7 +21,6 @@ import androidx.lifecycle.ViewModelProviders import androidx.viewpager.widget.PagerAdapter import butterknife.OnClick import com.gh.base.fragment.BaseLazyTabFragment -import com.gh.common.databind.BindingAdapters import com.gh.common.dialog.TrackableDialog import com.gh.common.util.* import com.gh.common.view.GameIconView @@ -469,7 +468,7 @@ class CommunityFragment : BaseLazyTabFragment() { dialog.show() contentView.findViewById(R.id.community_edit_article).setOnClickListener { context?.ifLogin("(首页-问答)", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { MtaHelper.onEvent("问答页面", UserManager.getInstance().community.name, "发布-发文章") startActivity(ArticleEditActivity.getIntent(requireContext(), UserManager.getInstance().community)) dialog.dismiss() @@ -478,7 +477,7 @@ class CommunityFragment : BaseLazyTabFragment() { } contentView.findViewById(R.id.community_edit_question).setOnClickListener { context?.ifLogin("(首页-问答)", action = { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { MtaHelper.onEvent("问答页面", UserManager.getInstance().community.name, "发布-提问题") startActivity(QuestionEditActivity.getIntent(requireContext())) dialog.dismiss() diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt index 9d64f58ecf..c3a83fef4a 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt @@ -825,14 +825,14 @@ class AnswerDetailFragment : NormalFragment() { } NOT_ANSWERED_YET -> ifLogin("回答详情-[我来回答]") { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { val question = mViewModel.answerDetail!!.question startActivityForResult(AnswerEditActivity.getIntent(requireContext(), question, true, question.communityName), ANSWER_POST_REQUEST) } } NOT_ANSWERED_BUT_HAVE_DRAFT -> ifLogin("回答详情-[继续回答]") { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { val question = mViewModel.answerDetail!!.question startActivityForResult(AnswerEditActivity.getIntent(requireContext(), question, true, question.communityName), ANSWER_POST_REQUEST) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java index b6c3b7570c..5bae03f4df 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java @@ -132,7 +132,7 @@ class AnswerDraftAdapter extends ListAdapter { DialogUtils.showAlertDialog(mContext, "警告", "确定要删除回答草稿吗?删除之后不可恢复", "确定", "取消", () -> deleteAnswerDraft(answerEntity), null); }); draftViewHolder.itemView.setOnClickListener(v -> { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(mContext, () -> { + PermissionHelper.checkStoragePermissionBeforeAction(mContext, () -> { if (mContext instanceof AnswerDraftActivity) { // 不需要回传任何数据 ((AnswerDraftActivity) mContext).setResult(Activity.RESULT_OK); diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/MyArticleFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/MyArticleFragment.kt index 88731092f5..9605139395 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/MyArticleFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/MyArticleFragment.kt @@ -5,9 +5,8 @@ import android.content.Intent import android.os.Bundle import android.view.MenuItem import androidx.lifecycle.ViewModelProviders -import androidx.recyclerview.widget.RecyclerView import com.gh.common.util.EntranceUtils -import com.gh.common.util.checkReadPhoneStateAndStoragePermissionBeforeAction +import com.gh.common.util.checkStoragePermissionBeforeAction import com.gh.common.util.ifLogin import com.gh.gamecenter.R import com.gh.gamecenter.baselist.ListFragment @@ -70,7 +69,7 @@ class MyArticleFragment : ListFragment when (view.id) { R.id.answer_comment_send_btn -> if (!ClickUtils.isFastDoubleClick(R.id.answer_comment_send_btn, 5000)) { ifLogin(getLoginEntrance()) { - checkReadPhoneStatePermissionBeforeAction { - showRegulationTestDialogIfNeeded { - postComment() - } + showRegulationTestDialogIfNeeded { + postComment() } } } else { diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt index 4951415637..9468d04713 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt @@ -93,7 +93,7 @@ class VideoActivity : ListActivity ifLogin("问题详情-[我来回答]") { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { startAnswerEditActivity() } } @@ -375,7 +375,7 @@ class QuestionsDetailFragment : } mFabContainer.setOnClickListener { - checkReadPhoneStateAndStoragePermissionBeforeAction { + checkStoragePermissionBeforeAction { ifLogin("问题详情-[我来回答]") { showRegulationTestDialogIfNeeded { if (mQuestionsDetailEntity != null && !TextUtils.isEmpty(mQuestionsDetailEntity?.me?.myAnswerId)) { 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 7bf9b9130b..c5efc66f9a 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 @@ -15,6 +15,10 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + import com.gh.base.ToolBarActivity; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.EntranceUtils; @@ -39,9 +43,6 @@ import org.json.JSONArray; import java.util.List; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentTransaction; import butterknife.BindView; import butterknife.OnClick; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -194,7 +195,7 @@ public class AskSearchActivity extends ToolBarActivity { mSearchEt.setText(""); } else if (v.getId() == R.id.search_questions_skip) { CheckLoginUtils.checkLogin(this, "问答-搜索-提问", () -> { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(this, () -> { + PermissionHelper.checkStoragePermissionBeforeAction(this, () -> { startActivityForResult(QuestionEditActivity.Companion.getIntent(this, mSearchKey), QUESTION_REQUEST_CODE); }); }); diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt index 104269163d..e6bc410d5a 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt @@ -63,7 +63,7 @@ class VideoDraftAdapter(context: Context, holder.binding.videoStatus.text = "继续上传" holder.binding.videoTitle.text = if (draftEntity.title.isEmpty()) "标题为空" else draftEntity.title holder.itemView.setOnClickListener { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(mContext, + PermissionHelper.checkStoragePermissionBeforeAction(mContext, object : EmptyCallback { override fun onCallback() { MtaHelper.onEvent("上传视频", "视频投稿-草稿箱", "继续上传") diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoManagerActivity.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoManagerActivity.kt index d9bddc5586..67741b5013 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoManagerActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoManagerActivity.kt @@ -63,7 +63,7 @@ class VideoManagerActivity : BaseActivity_TabLayout() { override fun onMenuItemClick(item: MenuItem): Boolean { if (item.itemId == R.id.menu_text) { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(this, + PermissionHelper.checkStoragePermissionBeforeAction(this, object : EmptyCallback { override fun onCallback() { MtaHelper.onEvent("我的光环_新", "视频投稿", "上传视频") diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt index 3e1926abbc..9d3dba3cf1 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt @@ -129,7 +129,7 @@ class VideoVerifyAdapter(context: Context, delete.setTextColor(R.color.text_cccccc.toColor()) } edit.setOnClickListener { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(mContext, + PermissionHelper.checkStoragePermissionBeforeAction(mContext, object : EmptyCallback { override fun onCallback() { val intent = UploadVideoActivity.getIntent(mContext, entity, mEntrance, "视频投稿-已投稿") diff --git a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java index 07cccb69c3..ee6b471fbd 100644 --- a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java @@ -355,9 +355,7 @@ public class SettingsFragment extends NormalFragment { case R.id.setting_rl_security: MtaHelper.onEvent("我的光环_设置", "设置功能", "账号与安全"); CheckLoginUtils.checkLogin(getContext(), "设置-账号与安全-请先登录", () -> { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(getContext(), () -> { - startActivityForResult(SecurityActivity.getIntent(getContext(), mEntrance, false), INSERT_MOBILE_CODE); - }); + startActivityForResult(SecurityActivity.getIntent(getContext(), mEntrance, false), INSERT_MOBILE_CODE); }); break; @@ -430,7 +428,7 @@ public class SettingsFragment extends NormalFragment { startActivity(new Intent(getContext(), NetworkDiagnosisActivity.class)); break; case R.id.setting_privacy_policy: - SPUtils.setString(Constants.SP_PRIVACY_MD5,SPUtils.getString(Constants.SP_PRIVACY_CURRENT_MD5)); + SPUtils.setString(Constants.SP_PRIVACY_MD5, SPUtils.getString(Constants.SP_PRIVACY_CURRENT_MD5)); mPrivacyRedDotView.setVisibility(checkPrivacyIsSame() ? View.GONE : View.VISIBLE); MtaHelper.onEvent("我的光环_设置", "设置功能", "隐私政策"); startActivity(WebActivity.getPrivacyPolicyIntent(getContext())); @@ -438,7 +436,7 @@ public class SettingsFragment extends NormalFragment { case R.id.setting_game_submission: MtaHelper.onEvent("我的光环_设置", "设置功能", "游戏投稿"); CheckLoginUtils.checkLogin(getContext(), "设置-游戏投稿-请先登录", () -> { - PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(getContext(), () -> { + PermissionHelper.checkStoragePermissionBeforeAction(getContext(), () -> { startActivity(GameSubmissionActivity.getIntent(getContext(), mEntrance, "游戏上传")); }); }); diff --git a/app/src/main/java/com/halo/assistant/fragment/comment/CommentDetailFragment.java b/app/src/main/java/com/halo/assistant/fragment/comment/CommentDetailFragment.java index fa775001b4..0635275f33 100644 --- a/app/src/main/java/com/halo/assistant/fragment/comment/CommentDetailFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/comment/CommentDetailFragment.java @@ -12,6 +12,12 @@ import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; @@ -19,7 +25,6 @@ import com.gh.common.util.EntranceUtils; import com.gh.common.util.ErrorHelper; import com.gh.common.util.KeyboardHeightObserver; import com.gh.common.util.KeyboardHeightProvider; -import com.gh.common.util.PermissionHelper; import com.gh.common.util.PostCommentUtils; import com.gh.common.util.TextHelper; import com.gh.gamecenter.CommentDetailActivity; @@ -35,11 +40,6 @@ import com.lightgame.utils.Util_System_Keyboard; import org.json.JSONException; import org.json.JSONObject; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.OnClick; import butterknife.OnTouch; @@ -189,55 +189,53 @@ public class CommentDetailFragment extends NormalFragment implements OnCommentCa @OnClick({R.id.answer_comment_send_btn}) public void OnSendCommentListener() { - PermissionHelper.checkReadPhoneStatePermissionBeforeAction(requireContext(), () -> { - final String content = mCommentDetailCommentEt.getText().toString(); + final String content = mCommentDetailCommentEt.getText().toString(); - if (content.length() == 0) { - toast("评论内容不能为空!"); - return; - } + if (content.length() == 0) { + toast("评论内容不能为空!"); + return; + } - mSendingDialog = DialogUtils.showWaitDialog(getContext(), getString(R.string.post_dialog_hint)); + mSendingDialog = DialogUtils.showWaitDialog(getContext(), getString(R.string.post_dialog_hint)); - JSONObject jsonObject = new JSONObject(); - try { - jsonObject.put("content", content); - } catch (JSONException e) { - e.printStackTrace(); - } - if (mCommentEntity != null && mCommentEntity.getId() == null) { - toast("评论异常 id null"); - mSendingDialog.cancel(); - return; - } + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("content", content); + } catch (JSONException e) { + e.printStackTrace(); + } + if (mCommentEntity != null && mCommentEntity.getId() == null) { + toast("评论异常 id null"); + mSendingDialog.cancel(); + return; + } - PostCommentUtils.addCommentData(getContext(), null, jsonObject, mCommentEntity, - new PostCommentUtils.PostCommentListener() { - @Override - public void postSuccess(JSONObject response) { - mSendingDialog.dismiss(); - toast("发表成功"); - mCommentDetailCommentEt.setText(""); + PostCommentUtils.addCommentData(getContext(), null, jsonObject, mCommentEntity, + new PostCommentUtils.PostCommentListener() { + @Override + public void postSuccess(JSONObject response) { + mSendingDialog.dismiss(); + toast("发表成功"); + mCommentDetailCommentEt.setText(""); - setSoftInput(false); + setSoftInput(false); - } + } - @Override - public void postFailed(Throwable e) { - mSendingDialog.dismiss(); - String errorString = null; - if (e instanceof HttpException) { - try { - errorString = ((HttpException) e).response().errorBody().string(); - } catch (Exception e1) { - e1.printStackTrace(); - } + @Override + public void postFailed(Throwable e) { + mSendingDialog.dismiss(); + String errorString = null; + if (e instanceof HttpException) { + try { + errorString = ((HttpException) e).response().errorBody().string(); + } catch (Exception e1) { + e1.printStackTrace(); } - ErrorHelper.handleError(requireContext(), errorString, false); } - }); - }); + ErrorHelper.handleError(requireContext(), errorString, false); + } + }); } //软键盘控制