diff --git a/app/src/main/java/com/gh/common/util/AskLogUtils.java b/app/src/main/java/com/gh/common/util/AskLogUtils.java index ecc10260d0..b540eb8b47 100644 --- a/app/src/main/java/com/gh/common/util/AskLogUtils.java +++ b/app/src/main/java/com/gh/common/util/AskLogUtils.java @@ -71,6 +71,36 @@ public class AskLogUtils { } + public static void communityRefresh(Context context, int dataCount) { + JSONObject object = new JSONObject(); + try { + object.put("subject", "community_refresh"); + object.put("community_id", UserManager.getInstance().getCommunityId(context)); + object.put("refresh_type", "recommend"); + object.put("data_count", dataCount); + object.put("user_id", UserManager.getInstance().getUserId()); + object.put("network", DeviceUtils.getNetwork(context)); + } catch (JSONException e) { + e.printStackTrace(); + } + + upload(context, object); + } + + public static void login(Context context, String loginStep, String loginType) { + JSONObject object = new JSONObject(); + try { + object.put("subject", "login"); + object.put("step", loginStep); + object.put("login_type", loginType); + object.put("network", DeviceUtils.getNetwork(context)); + } catch (JSONException e) { + e.printStackTrace(); + } + + upload(context, object); + } + private static void upload(Context context, JSONObject object) { try { object.put("version", BuildConfig.PATCH_VERSION_NAME); diff --git a/app/src/main/java/com/gh/common/util/CheckLoginUtils.java b/app/src/main/java/com/gh/common/util/CheckLoginUtils.java index 86e311bf10..c42e72573a 100644 --- a/app/src/main/java/com/gh/common/util/CheckLoginUtils.java +++ b/app/src/main/java/com/gh/common/util/CheckLoginUtils.java @@ -16,10 +16,12 @@ public class CheckLoginUtils { public static void checkLogin(final Context context, OnLoginListener listener) { // String token = LoginUtils.getToken(context); if (TextUtils.isEmpty(UserManager.getInstance().getToken())) { + AskLogUtils.login(context, "dialog", null); DialogUtils.showWarningDialog(context, "登录提示", "需要登录才能使用该功能喔!", "取消", "快速登录", new DialogUtils.ConfirmListener() { @Override public void onConfirm() { + AskLogUtils.login(context, "activity", null); Intent intent = LoginActivity.getIntent(context); context.startActivity(intent); } diff --git a/app/src/main/java/com/gh/common/util/DeviceUtils.java b/app/src/main/java/com/gh/common/util/DeviceUtils.java index 74fed06ed4..d760603a15 100644 --- a/app/src/main/java/com/gh/common/util/DeviceUtils.java +++ b/app/src/main/java/com/gh/common/util/DeviceUtils.java @@ -154,7 +154,7 @@ public class DeviceUtils { return null; } - private static String getNetwork(Context context) { + public static String getNetwork(Context context) { NetworkInfo info = ((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); if (info != null && info.isConnected()) { diff --git a/app/src/main/java/com/gh/common/util/LoginUtils.java b/app/src/main/java/com/gh/common/util/LoginUtils.java index 46d9816255..809d7fd3cb 100644 --- a/app/src/main/java/com/gh/common/util/LoginUtils.java +++ b/app/src/main/java/com/gh/common/util/LoginUtils.java @@ -109,7 +109,11 @@ public class LoginUtils { String string = responseBody.string(); JSONObject content = new JSONObject(string); int code = content.getInt("code"); - outputErrorHint(context, code); + if (code == 403202) { + captchaErrorHint(context, content); + } else { + outputErrorHint(context, code); + } } catch (Exception e1) { e1.printStackTrace(); Utils.toast(context, "无法获取验证码,请检查你的网络状态"); @@ -180,6 +184,20 @@ public class LoginUtils { return false; } + public static void captchaErrorHint(Context context, JSONObject content) { + try { + JSONObject detail = content.getJSONObject("detail"); + if ("isv.BUSINESS_LIMIT_CONTROL".equals(detail.getString("sub_code"))) { + Utils.toast(context, "获取验证码已超过次数,请稍后再试"); + } else { + Utils.toast(context, detail.getString("sub_msg")); + } + } catch (JSONException e) { + e.printStackTrace(); + } + + } + public static void outputErrorHint(Context context, int code) { switch (code) { case 40000: diff --git a/app/src/main/java/com/gh/gamecenter/AboutActivity.java b/app/src/main/java/com/gh/gamecenter/AboutActivity.java index 690f5e3292..5c71a7644e 100644 --- a/app/src/main/java/com/gh/gamecenter/AboutActivity.java +++ b/app/src/main/java/com/gh/gamecenter/AboutActivity.java @@ -9,7 +9,6 @@ import com.halo.assistant.fragment.AboutFragment; /** * Created by khy on 2017/2/28. */ -@Deprecated public class AboutActivity extends NormalActivity { @NonNull @@ -18,7 +17,7 @@ public class AboutActivity extends NormalActivity { // return new IntentFactory.Builder(context) // .setActivity(AboutActivity.class) // .setFragment(AboutFragment.class).build(); - return getIntent(context, AboutFragment.class); + return getTargetIntent(context, AboutActivity.class, AboutFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index 4945c8269c..1ba1f50857 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -9,7 +9,6 @@ import com.halo.assistant.fragment.ApkCleanerFragment; /** * Created by khy on 2017/1/24. */ -@Deprecated public class CleanApkActivity extends NormalActivity { @NonNull @@ -19,7 +18,7 @@ public class CleanApkActivity extends NormalActivity { // .setActivity(CleanApkActivity.class) // .setFragment(ApkCleanerFragment.class).build(); - return getIntent(context, ApkCleanerFragment.class); + return getTargetIntent(context, CleanApkActivity.class, ApkCleanerFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java index 3920577023..b728e17b70 100644 --- a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java +++ b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java @@ -23,7 +23,7 @@ public class DownloadManagerActivity extends NormalActivity { @Override protected Intent provideNormalIntent() { - return getIntent(this, DownloadFragment.class); + return getTargetIntent(this, DownloadManagerActivity.class, DownloadFragment.class); } public static Intent getDownloadMangerIntent(Context context, String url, String entrance) { diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java index 467e72e43b..92a25a6984 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java @@ -17,7 +17,7 @@ public class GameDetailActivity extends NormalActivity { @Override protected Intent provideNormalIntent() { - return getIntent(this, GameDetailFragment.class); + return getTargetIntent(this, GameDetailActivity.class, GameDetailFragment.class); } /** diff --git a/app/src/main/java/com/gh/gamecenter/LoginActivity.java b/app/src/main/java/com/gh/gamecenter/LoginActivity.java index f06fe60719..00d32a222e 100644 --- a/app/src/main/java/com/gh/gamecenter/LoginActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LoginActivity.java @@ -14,6 +14,6 @@ public class LoginActivity extends NormalActivity { @NonNull public static Intent getIntent(Context context) { - return getIntent(context, LoginFragment.class); + return getTargetIntent(context, LoginActivity.class, LoginFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/NormalActivity.java b/app/src/main/java/com/gh/gamecenter/NormalActivity.java index 824d461e73..75e468840e 100644 --- a/app/src/main/java/com/gh/gamecenter/NormalActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NormalActivity.java @@ -41,14 +41,6 @@ public abstract class NormalActivity extends BaseActivity implements ToolbarCont return null; } - @Deprecated - protected static Intent getIntent(Context context, Class t) { - Intent intent = new Intent(context, NormalActivity.class); - intent.putExtra(NORMAL_FRAGMENT_NAME, t.getCanonicalName()); - return intent; - } - - protected static Intent getTargetIntent(Context context, Class cls, Class t, Bundle bundle) { Intent intent = new Intent(context, cls); intent.putExtra(NORMAL_FRAGMENT_NAME, t.getCanonicalName()); diff --git a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java index 59bbf2030c..8dc74934b8 100644 --- a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java @@ -9,7 +9,6 @@ import com.halo.assistant.fragment.user.SelectPortraitFragment; /** * Created by khy on 2017/2/10. */ -@Deprecated public class SelectUserIconActivity extends NormalActivity { @NonNull @@ -17,7 +16,7 @@ public class SelectUserIconActivity extends NormalActivity { // return new IntentFactory.Builder(context) // .setActivity(SelectUserIconActivity.class) // .setFragment(SelectPortraitFragment.class).build(); - return getIntent(context, SelectPortraitFragment.class); + return getTargetIntent(context,SelectUserIconActivity.class, SelectPortraitFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java index 740e339db3..4abe607347 100644 --- a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java @@ -11,12 +11,11 @@ import com.gh.gamecenter.subject.SubjectWrapperFragment; /** * Created by khy on 2017/4/29. */ -@Deprecated public class SubjectActivity extends NormalActivity { @Override protected Intent provideNormalIntent() { - return getIntent(this, SubjectWrapperFragment.class); + return getTargetIntent(this, SubjectActivity.class, SubjectWrapperFragment.class); } /** diff --git a/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java b/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java index 15c2cadc2b..e4c0e8e967 100644 --- a/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java @@ -9,7 +9,6 @@ import com.halo.assistant.fragment.user.UserInfoFragment; /** * Created by khy on 23/06/17. */ -@Deprecated public class UserInfoActivity extends NormalActivity { @NonNull @@ -17,7 +16,7 @@ public class UserInfoActivity extends NormalActivity { // return new IntentFactory.Builder(context) // .setActivity(UserInfoActivity.class) // .setFragment(UserInfoFragment.class).build(); - return getIntent(context, UserInfoFragment.class); + return getTargetIntent(context, UserInfoActivity.class, UserInfoFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/UserRegionActivity.java b/app/src/main/java/com/gh/gamecenter/UserRegionActivity.java index 5cc22fd0a1..de7966da10 100644 --- a/app/src/main/java/com/gh/gamecenter/UserRegionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserRegionActivity.java @@ -8,14 +8,13 @@ import com.halo.assistant.fragment.user.SelectRegionFragment; /** * Created by khy on 25/09/17. */ -@Deprecated public class UserRegionActivity extends NormalActivity { public static Intent getIntent(Context context) { // return new IntentFactory.Builder(context) // .setActivity(UserRegionActivity.class) // .setFragment(SelectRegionFragment.class).build(); - return getIntent(context, SelectRegionFragment.class); + return getTargetIntent(context, UserRegionActivity.class, SelectRegionFragment.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index 889bd244e9..e259a37d53 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -19,7 +19,7 @@ public class WebActivity extends NormalActivity { @Override protected Intent provideNormalIntent() { - return getIntent(this, WebFragment.class); + return getTargetIntent(this, WebActivity.class, WebFragment.class); } @NonNull diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsAdapter.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsAdapter.java index f50f1ef70a..ec89ac773e 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsAdapter.java @@ -41,6 +41,7 @@ public class AskQuestionsRecommendsAdapter extends ListAdapter { } public void setSubjectEntity(List subjectEntity) { + if (subjectEntity == null) return; mSubjectEntity = new ArrayList<>(subjectEntity); notifyDataSetChanged(); } diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java index 4b7bfe940e..4a347a3eaf 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java @@ -74,6 +74,7 @@ public class AskQuestionsRecommendsFragment extends ListFragment if (images.size() > 0) mBinding.messageOriginalIcon.setImageURI(images.get(0)); break; + case "system_invited": + mBinding.messageCommand.setText("有新问题等你回答"); + mBinding.messageContent.setVisibility(View.GONE); + mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle()); + images = messageEntity.getQuestion().getImages(); + if (images.size() > 0) + mBinding.messageOriginalIcon.setImageURI(images.get(0)); + break; } } public static void messageItemClickSkip(View view, MessageEntity entity, String tracers) { if (view == null || entity == null) return; - Bundle bundle; Context context = view.getContext(); switch (entity.getType()) { case "comment_vote": @@ -141,6 +147,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder context.startActivity(intent); } break; + case "system_invited": case "invited": if (view.getId() == R.id.message_original || view.getId() == R.id.message_item) { MessageEntity.Question question = entity.getQuestion(); diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageNormalFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageNormalFragment.java index 9ae51bdf91..aa5b7ce920 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageNormalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageNormalFragment.java @@ -6,8 +6,10 @@ import android.support.annotation.Nullable; import android.view.View; import com.gh.common.util.EntranceUtils; +import com.gh.gamecenter.R; import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.baselist.ListFragment; +import com.gh.gamecenter.baselist.LoadType; import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.entity.MessageEntity; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -82,6 +84,12 @@ public class MessageNormalFragment extends ListFragment - + android:scrollbars = "none" > - + + + + app:layout_constraintTop_toBottomOf = "@id/questionsdetail_item_tag_sv" />