From e6d70f23fa13089fa23d83bbc6e51319dabdfb78 Mon Sep 17 00:00:00 2001 From: axen Date: Sat, 29 Jan 2022 15:29:51 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8B5.?= =?UTF-8?q?6.0=E3=80=91=E3=80=90=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=86=85?= =?UTF-8?q?=E9=83=A8=E9=9C=80=E6=B1=82=E3=80=91=E4=BD=BF=E7=94=A8=20flutte?= =?UTF-8?q?r=20=E5=AE=9E=E7=8E=B0=E5=8F=8D=E9=A6=88=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2(BUG=E4=BF=AE=E5=A4=8D)https://git.shanqu.cc/?= =?UTF-8?q?pm/halo-app-issues/-/issues/1684?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/proguard-rules.txt | 3 + .../java/com/gh/common/DefaultUrlHandler.kt | 23 +--- .../java/com/gh/common/util/DirectUtils.kt | 105 ++++++++++++++++++ .../com/gh/common/util/EntranceUtils.java | 1 - .../FlutterBoostRouteServiceImplAop.java | 18 ++- .../flutter/FlutterContextServiceImplAop.java | 21 ---- .../gh/flutter/FlutterUserServiceImplAop.java | 44 ++++++++ .../java/com/gh/gamecenter/MainActivity.java | 39 +++---- .../gh/gamecenter/NetworkDiagnosisActivity.kt | 5 +- .../com/gh/gamecenter/SuggestionActivity.java | 81 ++++++-------- .../rating/edit/RatingEditActivity.kt | 18 +-- .../suggest/SuggestSelectFragment.java | 9 +- assistant_flutter | 2 +- 13 files changed, 246 insertions(+), 123 deletions(-) create mode 100644 app/src/main/java/com/gh/flutter/FlutterUserServiceImplAop.java diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt index 734fc243aa..3cae097098 100644 --- a/app/proguard-rules.txt +++ b/app/proguard-rules.txt @@ -157,6 +157,9 @@ -keep class com.gh.common.util.DirectUtils { public static void directToQa(...); public static void directToQaCollection(...); + public static void directToGift(...); + public static void directToConcernInfo(...); public static void directToFeedback(...); + public static void directToSuggestion(...); } diff --git a/app/src/main/java/com/gh/common/DefaultUrlHandler.kt b/app/src/main/java/com/gh/common/DefaultUrlHandler.kt index e6f14572d5..7870e8ca05 100644 --- a/app/src/main/java/com/gh/common/DefaultUrlHandler.kt +++ b/app/src/main/java/com/gh/common/DefaultUrlHandler.kt @@ -1,6 +1,5 @@ package com.gh.common -import android.app.Activity import android.content.Context import android.content.Intent import android.net.Uri @@ -16,13 +15,15 @@ import com.gh.common.util.DirectUtils.directToLegacyVideoDetail import com.gh.common.util.DirectUtils.directToLinkPage import com.gh.common.util.DirectUtils.directToQa import com.gh.common.util.GsonUtils.gson -import com.gh.gamecenter.* +import com.gh.gamecenter.LibaoDetailActivity +import com.gh.gamecenter.MainActivity +import com.gh.gamecenter.NewsDetailActivity +import com.gh.gamecenter.WebActivity import com.gh.gamecenter.entity.* import com.gh.gamecenter.gamecollection.publish.GameCollectionEditActivity import com.gh.gamecenter.qa.BbsType import com.gh.gamecenter.qa.video.publish.VideoPublishActivity import com.gh.gamecenter.subject.SubjectActivity -import com.gh.gamecenter.suggest.SuggestType import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel import com.lightgame.utils.Utils import java.nio.charset.Charset @@ -360,22 +361,6 @@ object DefaultUrlHandler { } } - EntranceUtils.HOST_HELP_SUGGESTION -> { - val suggestType = when(uri.getQueryParameter("type")) { - "normal" -> SuggestType.normal - "crash" -> SuggestType.crash - "gameQuestion" -> SuggestType.gameQuestion - "gameCollect" -> SuggestType.gameCollect - "functionSuggest" -> SuggestType.functionSuggest - "articleCollect" -> SuggestType.articleCollect - "copyright" -> SuggestType.copyright - else -> null - } - suggestType?.let { - (context as Activity).startActivityForResult(SuggestionActivity.getIntent(context, it), 11) - } - } - EntranceUtils.HOST_GAME_COLLECTION_DETAIL -> { DirectUtils.directToGameCollectionDetail(context, id, entrance) } diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 683a5a27e2..4f2aff2333 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -1,5 +1,6 @@ package com.gh.common.util +import android.app.Activity import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent @@ -1701,4 +1702,108 @@ object DirectUtils { bundle.putString(KEY_GAME_COLLECTION_ID, id) jumpActivity(context, bundle) } + + /** + * 跳转至反馈详情, 请不要随意修改方法名 + */ + @JvmStatic + fun directToSuggestion( + context: Context, + type: SuggestType = SuggestType.normal, + hiddenHint: String = "", + suggestHintType: String? = null, + content: String? = null, + platform: String = "", + game: SimpleGameEntity? = null, + isQaFeedback: Boolean = false, + qaContentId: String = "", + fromRatingKey: Boolean = false, + diagnosis: String = "", + requestCode: Int? = null + ) { + val intent = SuggestionActivity.getIntent( + context, + type, + hiddenHint, + suggestHintType, + content, + platform, + game, + isQaFeedback, + qaContentId, + fromRatingKey, + diagnosis + ) + if (requestCode != null) { + (context as Activity).startActivityForResult(intent, requestCode) + } else { + context.startActivity(intent) + } + } + + @JvmStatic + fun directToSuggestion(context: Context, type: SuggestType) { + directToSuggestion(context = context, type = type, requestCode = null) + } + + @JvmStatic + fun directToSuggestion(context: Context, type: SuggestType, requestCode: Int?) { + directToSuggestion(context = context, type = type, hiddenHint = "", requestCode = requestCode) + } + + @JvmStatic + fun directToSuggestion(context: Context, type: SuggestType, hiddenHint: String) { + directToSuggestion(context = context, type = type, hiddenHint = hiddenHint, requestCode = null) + } + + @JvmStatic + fun directToSuggestion(context: Context, type: SuggestType, hiddenHint: String, requestCode: Int?) { + directToSuggestion( + context = context, + type = type, + hiddenHint = hiddenHint, + suggestHintType = null, + requestCode = requestCode, + ) + } + + @JvmStatic + fun directToSuggestion( + context: Context, + type: SuggestType, + suggestHintType: String, + content: String, + isQaFeedback: Boolean = false, + qaContentId: String = "" + ) { + directToSuggestion( + context = context, + type = type, + hiddenHint = "", + suggestHintType = suggestHintType, + content = content, + isQaFeedback = isQaFeedback, + qaContentId = qaContentId + ) + } + + @JvmStatic + fun directToSuggestion( + context: Context, + type: SuggestType, + suggestHintType: String, + content: String, + game: SimpleGameEntity, + platform: String = "" + ) { + directToSuggestion( + context = context, + type = type, + hiddenHint = "", + suggestHintType = suggestHintType, + content = content, + game = game, + platform = platform + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index 216ea83015..3f0eaa0029 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -95,7 +95,6 @@ public class EntranceUtils { public static final String HOST_HELP_AND_FEEDBACK = "help_and_feedback"; public static final String HOST_LAUNCH_SIMULATOR_GAME = "launch_simulator_game"; public static final String HOST_HELP_DETAIL = "help_detail"; - public static final String HOST_HELP_SUGGESTION = "help_suggestion"; public static final String HOST_GAME_COLLECTION_DETAIL = "game_collection_detail"; public static final String HOST_GAME_COLLECTION_SQUARE = "game_collection_square"; public static final String HOST_GAME_COLLECTION_EDIT = "game_collection_edit"; diff --git a/app/src/main/java/com/gh/flutter/FlutterBoostRouteServiceImplAop.java b/app/src/main/java/com/gh/flutter/FlutterBoostRouteServiceImplAop.java index e8beed48a5..befccd0d60 100644 --- a/app/src/main/java/com/gh/flutter/FlutterBoostRouteServiceImplAop.java +++ b/app/src/main/java/com/gh/flutter/FlutterBoostRouteServiceImplAop.java @@ -9,6 +9,7 @@ import android.content.Intent; import com.gh.common.DefaultUrlHandler; import com.gh.common.util.DataCollectionUtils; +import com.gh.common.util.DirectUtils; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.LibaoDetailActivity; @@ -20,6 +21,7 @@ import com.gh.gamecenter.WebActivity; import com.gh.gamecenter.entity.ConcernEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.LibaoEntity; +import com.gh.gamecenter.suggest.SuggestType; import com.google.gson.Gson; import com.google.gson.JsonElement; @@ -38,6 +40,7 @@ public class FlutterBoostRouteServiceImplAop { private static final String METHOD_HANDLE_SHARE_CARD = "handleShareCard"; private static final String METHOD_HANDLE_GAME_MOMENT_DETAIL = "handleGameMomentDetail"; private static final String METHOD_HANDLE_GAME_DETAIL = "handleGameDetail"; + private static final String METHOD_HANDLE_WEB = "handleWeb"; @TargetClass(TARGET_CLASS) @Insert(METHOD_HANDLE_HELP_DETAIL) @@ -57,8 +60,8 @@ public class FlutterBoostRouteServiceImplAop { @TargetClass(TARGET_CLASS) @Insert(METHOD_HANDLE_HELP_SUGGESTION) public void handleHelpSuggestion(Context context, Map params) { - String url = "ghzhushou://" + EntranceUtils.HOST_HELP_SUGGESTION + "?type=" + params.get("type"); - DefaultUrlHandler.interceptUrl(context, url, ""); + String type = (String) params.get("type"); + DirectUtils.directToSuggestion(context, SuggestType.valueOf(type)); } @TargetClass(TARGET_CLASS) @@ -152,4 +155,15 @@ public class FlutterBoostRouteServiceImplAop { GameDetailActivity.startGameDetailActivity(context, game, entrance, null); } } + + @TargetClass(TARGET_CLASS) + @Insert(METHOD_HANDLE_WEB) + public void handleWeb(Context context, Map params) { + String title = (String) params.get("title"); + String url = (String) params.get("url"); + if (title != null && url != null) { + Intent intent = WebActivity.getWebIntent(context, title, url); + context.startActivity(intent); + } + } } diff --git a/app/src/main/java/com/gh/flutter/FlutterContextServiceImplAop.java b/app/src/main/java/com/gh/flutter/FlutterContextServiceImplAop.java index 18a674b632..17e23bbb75 100644 --- a/app/src/main/java/com/gh/flutter/FlutterContextServiceImplAop.java +++ b/app/src/main/java/com/gh/flutter/FlutterContextServiceImplAop.java @@ -8,7 +8,6 @@ import com.gh.common.util.EnvHelper; import com.gh.common.util.TimestampUtils; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.entity.SettingsEntity; -import com.gh.gamecenter.manager.UserManager; import com.halo.assistant.HaloApp; import me.ele.lancet.base.annotations.Insert; @@ -17,24 +16,16 @@ import me.ele.lancet.base.annotations.TargetClass; public class FlutterContextServiceImplAop { private static final String TARGET_CLASS = FlutterConstants.SERVICE_PACKAGE + ".FlutterContextServiceImpl"; - private static final String METHOD_GET_TOKEN = "getToken"; private static final String METHOD_GET_USER_AGENT = "getUserAgent"; private static final String METHOD_GET_CHANNEL = "getChannel"; private static final String METHOD_ADD_TIMESTAMP = "addTimeStamp"; private static final String METHOD_GET_OAID = "getOAID"; - private static final String METHOD_GET_DEVICE_ID = "getDeviceId"; private static final String METHOD_GET_HOST = "getHost"; private static final String METHOD_GET_QQ_QUN = "getQQQun"; private static final String METHOD_GET_QQ_QUN_KEY = "getQQQunKey"; private static final String METHOD_GET_BASE64_ENCODED_IMEI = "getBase64EncodedIMEI"; - private static final String METHOD_GET_USER_ID = "getUserId"; private static final String METHOD_GET_BUILD_TIME = "getBuildTime"; - @TargetClass(TARGET_CLASS) - @Insert(METHOD_GET_TOKEN) - public String getToken() { - return UserManager.getInstance().getToken(); - } @TargetClass(TARGET_CLASS) @Insert(METHOD_GET_USER_AGENT) @@ -60,12 +51,6 @@ public class FlutterContextServiceImplAop { return HaloApp.getInstance().getOAID(); } - @TargetClass(TARGET_CLASS) - @Insert(METHOD_GET_DEVICE_ID) - public String getDeviceId() { - return UserManager.getInstance().getDeviceId(); - } - @TargetClass(TARGET_CLASS) @Insert(METHOD_GET_HOST) public String getHost() { @@ -100,12 +85,6 @@ public class FlutterContextServiceImplAop { return MetaUtil.getBase64EncodedIMEI(); } - @TargetClass(TARGET_CLASS) - @Insert(METHOD_GET_USER_ID) - public String getUserId() { - return UserManager.getInstance().getUserId(); - } - @TargetClass(TARGET_CLASS) @Insert(METHOD_GET_BUILD_TIME) public long getBuildTime() { diff --git a/app/src/main/java/com/gh/flutter/FlutterUserServiceImplAop.java b/app/src/main/java/com/gh/flutter/FlutterUserServiceImplAop.java new file mode 100644 index 0000000000..4aec684dfb --- /dev/null +++ b/app/src/main/java/com/gh/flutter/FlutterUserServiceImplAop.java @@ -0,0 +1,44 @@ +package com.gh.flutter; + +import com.gh.gamecenter.entity.UserInfoEntity; +import com.gh.gamecenter.manager.UserManager; + +import me.ele.lancet.base.annotations.Insert; +import me.ele.lancet.base.annotations.TargetClass; + +public class FlutterUserServiceImplAop { + private static final String TARGET_CLASS = FlutterConstants.SERVICE_PACKAGE + ".FlutterUserServiceImpl"; + private static final String METHOD_GET_USER_ID = "getUserId"; + private static final String METHOD_GET_DEVICE_ID = "getDeviceId"; + private static final String METHOD_GET_TOKEN = "getToken"; + private static final String METHOD_GET_QQ = "getQq"; + + @TargetClass(TARGET_CLASS) + @Insert(METHOD_GET_TOKEN) + public String getToken() { + return UserManager.getInstance().getToken(); + } + + @TargetClass(TARGET_CLASS) + @Insert(METHOD_GET_USER_ID) + public String getUserId() { + return UserManager.getInstance().getUserId(); + } + + @TargetClass(TARGET_CLASS) + @Insert(METHOD_GET_DEVICE_ID) + public String getDeviceId() { + return UserManager.getInstance().getDeviceId(); + } + + @TargetClass(TARGET_CLASS) + @Insert(METHOD_GET_QQ) + public String getQq() { + UserInfoEntity userInfo = UserManager.getInstance().getUserInfoEntity(); + if (userInfo != null) { + return userInfo.getQq(); + } + return ""; + } + +} diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index a48a12a4f6..97681f284f 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -1,5 +1,21 @@ package com.gh.gamecenter; +import static com.gh.common.util.EntranceUtils.ENTRANCE_BROWSER; +import static com.gh.common.util.EntranceUtils.HOST_LAUNCH_SIMULATOR_GAME; +import static com.gh.common.util.EntranceUtils.HOST_QQ; +import static com.gh.common.util.EntranceUtils.HOST_QQ_GROUP; +import static com.gh.common.util.EntranceUtils.HOST_WEB; +import static com.gh.common.util.EntranceUtils.KEY_DATA; +import static com.gh.common.util.EntranceUtils.KEY_MARKET_DETAILS; +import static com.gh.common.util.EntranceUtils.KEY_NEXT_TO; +import static com.gh.common.util.EntranceUtils.KEY_TO; +import static com.gh.common.util.EntranceUtils.KEY_TYPE; +import static com.gh.common.util.ExtensionsKt.observableToMain; +import static com.gh.common.util.LoginHelper.WEIBO_SCOPE; +import static com.gh.gamecenter.fragment.MainWrapperFragment.INDEX_PERSONAL; +import static com.gh.gamecenter.personal.PersonalFragment.LOGIN_TAG; +import static com.gh.gamecenter.personal.PersonalFragment.LOGOUT_TAG; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; @@ -52,7 +68,6 @@ import com.gh.common.util.ErrorHelper; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.GsonUtils; import com.gh.common.util.HomePluggableHelper; -import com.gh.common.util.ImageUtils; import com.gh.common.util.LogUtils; import com.gh.common.util.LunchType; import com.gh.common.util.MtaHelper; @@ -92,8 +107,6 @@ import com.gh.gamecenter.room.AppDatabase; import com.gh.gamecenter.room.dao.SimulatorGameDao; import com.gh.gamecenter.suggest.SuggestSelectFragment; import com.gh.gamecenter.suggest.SuggestType; -import com.github.piasy.biv.BigImageViewer; -import com.github.piasy.biv.loader.fresco.FrescoImageLoader; import com.google.android.exoplayer2.upstream.cache.Cache; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; @@ -140,22 +153,6 @@ import okhttp3.ResponseBody; import retrofit2.HttpException; import tv.danmaku.ijk.media.exo2.ExoSourceManager; -import static com.gh.common.util.EntranceUtils.ENTRANCE_BROWSER; -import static com.gh.common.util.EntranceUtils.HOST_LAUNCH_SIMULATOR_GAME; -import static com.gh.common.util.EntranceUtils.HOST_QQ; -import static com.gh.common.util.EntranceUtils.HOST_QQ_GROUP; -import static com.gh.common.util.EntranceUtils.HOST_WEB; -import static com.gh.common.util.EntranceUtils.KEY_DATA; -import static com.gh.common.util.EntranceUtils.KEY_MARKET_DETAILS; -import static com.gh.common.util.EntranceUtils.KEY_NEXT_TO; -import static com.gh.common.util.EntranceUtils.KEY_TO; -import static com.gh.common.util.EntranceUtils.KEY_TYPE; -import static com.gh.common.util.ExtensionsKt.observableToMain; -import static com.gh.common.util.LoginHelper.WEIBO_SCOPE; -import static com.gh.gamecenter.fragment.MainWrapperFragment.INDEX_PERSONAL; -import static com.gh.gamecenter.personal.PersonalFragment.LOGIN_TAG; -import static com.gh.gamecenter.personal.PersonalFragment.LOGOUT_TAG; - public class MainActivity extends BaseActivity { public final static String EB_SKIP_MAIN = "MainActivity"; @@ -245,7 +242,7 @@ public class MainActivity extends BaseActivity { return null; }, () -> { - startActivityForResult(SuggestionActivity.getIntent(MainActivity.this, SuggestType.crash, "APP闪退:"), 100); + DirectUtils.directToSuggestion(MainActivity.this, SuggestType.crash, "APP闪退:", 100); MtaHelper.onEventWithBasicDeviceInfo( "闪退弹窗", "玩家操作", "点击反馈"); @@ -255,7 +252,7 @@ public class MainActivity extends BaseActivity { DialogHelper.showCenterWarningDialog(this, "发生闪退", "光环助手刚刚发生了闪退,马上反馈以帮助我们更好地修复问题?(只需简单描述你刚才的操作)" , "暂不", "马上反馈", () -> { - startActivityForResult(SuggestionActivity.getIntent(MainActivity.this, SuggestType.crash, "APP闪退:"), 100); + DirectUtils.directToSuggestion(MainActivity.this, SuggestType.crash, "APP闪退:", 100); MtaHelper.onEventWithBasicDeviceInfo( "闪退弹窗", "玩家操作", "点击反馈"); diff --git a/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt b/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt index abdb5f20fa..7530607376 100644 --- a/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt @@ -209,7 +209,10 @@ class NetworkDiagnosisActivity : ToolBarActivity() { mSuggestBtn.run { visibility = View.VISIBLE setOnClickListener { - startActivity(SuggestionActivity.getIntentFromNetworkDiagnosis(this@NetworkDiagnosisActivity, builder.toString().replace(mSuccessHint, ""))) + DirectUtils.directToSuggestion( + context = this@NetworkDiagnosisActivity, + diagnosis = builder.toString().replace(mSuccessHint, "") + ) } } diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 2d97d0cde3..d634066473 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -1,5 +1,7 @@ package com.gh.gamecenter; +import static com.gh.gamecenter.suggest.SuggestSelectFragment.SUGGEST_TYPE_REQUEST; + import android.app.Dialog; import android.content.Context; import android.content.Intent; @@ -26,7 +28,6 @@ import android.widget.RadioGroup; 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.GridLayoutManager; @@ -107,8 +108,6 @@ import okhttp3.RequestBody; import okhttp3.ResponseBody; import retrofit2.HttpException; -import static com.gh.gamecenter.suggest.SuggestSelectFragment.SUGGEST_TYPE_REQUEST; - /** * Created by khy on 2017/3/31. */ @@ -252,25 +251,12 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall private String mSuggestIdentity = "person";//版权方身份 - @NonNull - public static Intent getIntent(Context context, SuggestType suggestType) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - return intent; - } - public static void startSuggestionActivity(Context context, SuggestType suggestType, String suggestHintType, String content) { startSuggestionActivity(context, suggestType, suggestHintType, content, false, ""); } public static void startSuggestionActivity(Context context, SuggestType suggestType, String suggestHintType, String content, boolean isQaFeedback, String qaContentId) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - intent.putExtra(EntranceUtils.KEY_SUGGEST_HINT_TYPE, suggestHintType); - intent.putExtra(EntranceUtils.KEY_CONTENT, content); - intent.putExtra(EntranceUtils.KEY_IS_QA_FEEDBACK, isQaFeedback); - intent.putExtra(EntranceUtils.KEY_QA_CONTENT_ID, qaContentId); - context.startActivity(intent); + DirectUtils.directToSuggestion(context, suggestType, suggestHintType, content, isQaFeedback, qaContentId); } // 上传相关游戏ID @@ -288,36 +274,11 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall String content, SimpleGameEntity game, String gamePlatform) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - intent.putExtra(EntranceUtils.KEY_SUGGEST_HINT_TYPE, suggestHintType); - intent.putExtra(EntranceUtils.KEY_CONTENT, content); - intent.putExtra(EntranceUtils.KEY_PLATFORM, gamePlatform); - intent.putExtra(SimpleGameEntity.class.getSimpleName(), game); - context.startActivity(intent); + DirectUtils.directToSuggestion(context, suggestType, suggestHintType, content, game, gamePlatform); } public static void startSuggestionActivity(Context context, SuggestType suggestType, String hint) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - intent.putExtra(EntranceUtils.KEY_HIDE_SUGGEST_HINT, hint); - context.startActivity(intent); - } - - public static Intent getIntent(Context context, SuggestType suggestType, String hint) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - intent.putExtra(EntranceUtils.KEY_HIDE_SUGGEST_HINT, hint); - return intent; - } - - public static Intent getIntentFromRating(Context context, SuggestType suggestType, String content, SimpleGameEntity game) { - Intent intent = new Intent(context, SuggestionActivity.class); - intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); - intent.putExtra(EntranceUtils.KEY_CONTENT, content); - intent.putExtra(SimpleGameEntity.class.getSimpleName(), game); - intent.putExtra(FROM_RATING_KEY, true); - return intent; + DirectUtils.directToSuggestion(context, suggestType, hint); } public static Intent getIntentFromNetworkDiagnosis(Context context, String diagnosis) { @@ -328,6 +289,38 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall return intent; } + public static Intent getIntent( + Context context, + SuggestType suggestType, + String hiddenHint, + String suggestHintType, + String content, + String platform, + SimpleGameEntity game, + boolean isQaFeedback, + String qaContentId, + boolean fromRatingKey, + String diagnosis + ) { + Intent intent = new Intent(context, SuggestionActivity.class); + if (diagnosis != null) { + intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, SuggestType.normal); + intent.putExtra(EntranceUtils.KEY_CONTENT, "网络诊断结果" + TimeUtils.getFormatTime(System.currentTimeMillis(), "yyyy.MM.dd")); + intent.putExtra(EntranceUtils.KEY_DIAGNOSIS, diagnosis); + } else { + intent.putExtra(EntranceUtils.KEY_SUGGESTTYPE, suggestType); + intent.putExtra(EntranceUtils.KEY_HIDE_SUGGEST_HINT, hiddenHint); + intent.putExtra(EntranceUtils.KEY_SUGGEST_HINT_TYPE, suggestHintType); + intent.putExtra(EntranceUtils.KEY_CONTENT, content); + intent.putExtra(FROM_RATING_KEY, fromRatingKey); + intent.putExtra(EntranceUtils.KEY_PLATFORM, platform); + intent.putExtra(SimpleGameEntity.class.getSimpleName(), game); + intent.putExtra(EntranceUtils.KEY_IS_QA_FEEDBACK, isQaFeedback); + intent.putExtra(EntranceUtils.KEY_QA_CONTENT_ID, qaContentId); + } + return intent; + } + @Override protected int getLayoutId() { return R.layout.activity_suggest; diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt index 3f2c3e023e..16d27b400c 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt @@ -21,7 +21,10 @@ import com.gh.common.constant.Constants import com.gh.common.util.* import com.gh.common.view.dsbridge.DWebView import com.gh.common.view.dsbridge.OnReturnValue -import com.gh.gamecenter.* +import com.gh.gamecenter.BuildConfig +import com.gh.gamecenter.R +import com.gh.gamecenter.ShellActivity +import com.gh.gamecenter.WebActivity import com.gh.gamecenter.databinding.ActivityRatingEditBinding import com.gh.gamecenter.entity.* import com.gh.gamecenter.manager.UserManager @@ -312,12 +315,13 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver { { MtaHelper.onEvent("游戏评论跳转", "意见反馈弹窗", "点击问题反馈") mBinding.mWebView.callHandler("getComment", OnReturnValue { content -> - val intent = SuggestionActivity.getIntentFromRating( - this@RatingEditActivity, - SuggestType.gameQuestion, content.replace(LABEL_REPLACE_REGEX.toRegex(), ""), - SimpleGameEntity(mGame?.id ?: "", mGame?.name - ?: "")) - startActivity(intent) + DirectUtils.directToSuggestion( + context = this@RatingEditActivity, + type = SuggestType.gameQuestion, + content = content.replace(LABEL_REPLACE_REGEX.toRegex(), ""), + fromRatingKey = true, + game = SimpleGameEntity(mGame?.id ?: "", mGame?.name ?: "") + ) finish() }) }, diff --git a/app/src/main/java/com/gh/gamecenter/suggest/SuggestSelectFragment.java b/app/src/main/java/com/gh/gamecenter/suggest/SuggestSelectFragment.java index 0dc14ac15d..eb4e958d2a 100644 --- a/app/src/main/java/com/gh/gamecenter/suggest/SuggestSelectFragment.java +++ b/app/src/main/java/com/gh/gamecenter/suggest/SuggestSelectFragment.java @@ -1,21 +1,20 @@ package com.gh.gamecenter.suggest; -import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.TextView; +import androidx.annotation.Nullable; + import com.gh.base.fragment.BaseFragment; import com.gh.common.constant.Config; import com.gh.common.util.DirectUtils; import com.gh.common.util.MtaHelper; import com.gh.common.util.ShareUtils; import com.gh.gamecenter.R; -import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.entity.SettingsEntity; -import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.OnClick; @@ -96,8 +95,6 @@ public class SuggestSelectFragment extends BaseFragment { return; } - Intent intent = SuggestionActivity.getIntent(requireContext(), type); - startActivityForResult(intent, SUGGEST_TYPE_REQUEST); - + DirectUtils.directToSuggestion(requireContext(), type, SUGGEST_TYPE_REQUEST); } } diff --git a/assistant_flutter b/assistant_flutter index 47338db842..51c87bef31 160000 --- a/assistant_flutter +++ b/assistant_flutter @@ -1 +1 @@ -Subproject commit 47338db8420938d2ecf89ceec7b0d9840cd72f08 +Subproject commit 51c87bef3147078d7b19226ed0739a07c3f3a4d2