diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index a92133d12d..1a1d7df864 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -24,6 +24,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import com.gh.gamecenter.AboutActivity; import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.kuaichuan.WifiMgr; @@ -701,6 +702,32 @@ public class DialogUtils { dialog.show(); } + public static void showLowVersionDialog(Context context) { + final Dialog dialog = new Dialog(context, R.style.GhAlertDialog); + + View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null); + TextView contentTv = contentView.findViewById(R.id.dialog_content); + TextView titleTv = contentView.findViewById(R.id.dialog_title); + TextView negativeTv = contentView.findViewById(R.id.dialog_negative); + TextView positiveTv = contentView.findViewById(R.id.dialog_positive); + + contentTv.setText("链接超出范围,请检查升级至最新版本的光环助手"); + titleTv.setText("提示"); + negativeTv.setText("关闭"); + positiveTv.setText("检查升级"); + + negativeTv.setOnClickListener(view -> dialog.dismiss()); + + positiveTv.setOnClickListener(view -> { + context.startActivity(AboutActivity.getIntent(context, true)); + dialog.dismiss(); + }); + + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setContentView(contentView); + dialog.show(); + } + public interface ConfirmListener { void onConfirm(); } 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 24dc88c7ef..f57a5d5b07 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -101,7 +101,7 @@ public class EntranceUtils { public static final String KEY_COLUMN_ID = "column_id"; public static final String KEY_AUTO_DOWNLOAD = "auto_download"; public static final String KEY_AUTO_UPDATE = "auto_update"; - public static final String KEY_SEARCH_SUGGEST_HINT = "search_suggest_hint"; + public static final String KEY_HIDE_SUGGEST_HINT = "hide_suggest_hint"; public static void jumpActivity(Context context, Bundle bundle) { diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index d76b1a6e4c..befa1ae2ff 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -772,7 +772,7 @@ public class MainActivity extends BaseActivity { , "暂不", "马上反馈", new DialogUtils.ConfirmListener() { @Override public void onConfirm() { - SuggestionActivity.startSuggestionActivity(MainActivity.this, SuggestType.crash, null, null); + SuggestionActivity.startSuggestionActivity(MainActivity.this, SuggestType.crash, "APP闪退:"); } }, null); } diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index db0254eee9..aee8bbe8cb 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -139,7 +139,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac private SuggestType mSuggestType; private String mGameInfo; - private String mSearchGameHint; + private String mHideHint; private boolean mAgreePostPic; @@ -164,7 +164,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac 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_SEARCH_SUGGEST_HINT, hint); + intent.putExtra(EntranceUtils.KEY_HIDE_SUGGEST_HINT, hint); context.startActivity(intent); } @@ -218,7 +218,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac } String suggestContent = extras.getString(EntranceUtils.KEY_CONTENT); String suggestHintType = extras.getString(EntranceUtils.KEY_SUGGEST_HINT_TYPE); - mSearchGameHint = extras.getString(EntranceUtils.KEY_SEARCH_SUGGEST_HINT, ""); + mHideHint = extras.getString(EntranceUtils.KEY_HIDE_SUGGEST_HINT, ""); mFunctionTypeName = getResources().getStringArray(R.array.suggest_function_type); setNavigationTitle("意见反馈-" + mSuggestType.getType()); @@ -566,7 +566,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac params.put("suggestion_type", mSuggestType.getType()); String message; if (mSuggestType == SuggestType.gameCollect) { - message = mSearchGameHint + mGameInfo + "," + mSuggestContentEt.getText().toString().trim(); + message = mGameInfo + "," + mSuggestContentEt.getText().toString().trim(); params.put("message", message); } else if (mSuggestType == SuggestType.functionSuggest) { String typeName; @@ -575,7 +575,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac } else { typeName = mFunctionTypeName[mFunctionType]; } - message = mSearchGameHint + mGameInfo + "," + typeName + "," + mSuggestContentEt.getText().toString().trim(); + message = mGameInfo + "," + typeName + "," + mSuggestContentEt.getText().toString().trim(); params.put("message", message); } else { message = mSuggestContentEt.getText().toString().trim(); @@ -584,6 +584,7 @@ public class SuggestionActivity extends BaseActivity implements OnRequestCallBac params.put("log", readFromFile()); } } + message = mHideHint + message; JSONObject jsonObject = new JSONObject(params); diff --git a/app/src/main/java/com/gh/gamecenter/db/info/AskSearchHistoryInfo.java b/app/src/main/java/com/gh/gamecenter/db/info/AskSearchHistoryInfo.java index 79b8e52b04..f4ff2d35ff 100644 --- a/app/src/main/java/com/gh/gamecenter/db/info/AskSearchHistoryInfo.java +++ b/app/src/main/java/com/gh/gamecenter/db/info/AskSearchHistoryInfo.java @@ -8,7 +8,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; -@DatabaseTable(tableName = "tb_search") +@DatabaseTable(tableName = "tb_ask_search") public class AskSearchHistoryInfo implements Serializable { /** diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt index 9ede3d789b..cd2f2ee5f7 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt @@ -9,6 +9,9 @@ import com.google.gson.annotations.SerializedName */ class MessageEntity { + @SerializedName("_id") + var id: String = "" + var time: Long = 0 var article: Article = Article() @@ -23,6 +26,8 @@ class MessageEntity { var type: String = "" + var read: Boolean = true // true:已读,false:未读 + @SerializedName("user") var userEntity: UserEntity = UserEntity() diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt index ff15b32eb2..3650f7790e 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt @@ -8,10 +8,10 @@ import com.google.gson.annotations.SerializedName class MessageKeFuEntity { @SerializedName("_id") - var id: String? = null + var id: String = "" @SerializedName("read") - var isRead: Boolean = false + var isRead: Boolean = true @SerializedName("receive") var isReceive: Boolean = false diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java index 390148f5d2..22559cbbbc 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java @@ -17,22 +17,15 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.WebActivity; import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.baselist.ListFragment; -import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.entity.MessageKeFuEntity; -import com.gh.gamecenter.manager.UserManager; -import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.subject.refactor.SubjectActivity; import com.halo.assistant.HaloApp; -import java.util.List; - -import io.reactivex.Observable; - /** * Created by khy on 2017/4/5. * 消息-客服 */ -public class KeFuFragment extends ListFragment { +public class KeFuFragment extends ListFragment { private KeFuFragmentAdapter mAdapter; private MessageUnreadViewModel mUnreadViewModel; @@ -55,11 +48,6 @@ public class KeFuFragment extends ListFragment> provideDataObservable(int page) { - return RetrofitManager.getInstance(getContext()).getApi().getMessageKeFuData(UserManager.getInstance().getUserId(), page); - } - @Override protected ListAdapter provideListAdapter() { return mAdapter == null ? mAdapter = new KeFuFragmentAdapter(getContext(), this) : mAdapter; @@ -73,6 +61,11 @@ public class KeFuFragment extends ListFragment { viewHolder.suggestion.setVisibility(View.GONE); } + if (keFuEntity.isRead()) { + viewHolder.itemView.setBackgroundResource(R.drawable.reuse_listview_item_style); + } else { + viewHolder.itemView.setBackgroundResource(R.drawable.list_unread_item_style); + } + viewHolder.kefuIcon.setOnClickListener(v -> { if (serviceEntity != null) PersonalHomeActivity.startTargetActivity(mContext, serviceEntity.getId(), "消息中心-系统"); diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java b/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java index a2192e185a..f68db7efa8 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java @@ -35,6 +35,7 @@ public class KeFuViewHolder extends BaseRecyclerViewHolder { public KeFuViewHolder(View itemView, OnListClickListener listClickListener) { super(itemView, listClickListener); + itemView.setOnClickListener(this); skip.setOnClickListener(this); } } diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuViewModel.kt b/app/src/main/java/com/gh/gamecenter/message/KeFuViewModel.kt new file mode 100644 index 0000000000..bfcac2dadf --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuViewModel.kt @@ -0,0 +1,52 @@ +package com.gh.gamecenter.message + +import android.app.Application +import com.gh.gamecenter.baselist.ListViewModel +import com.gh.gamecenter.entity.MessageKeFuEntity +import com.gh.gamecenter.manager.UserManager +import com.gh.gamecenter.retrofit.Response +import com.gh.gamecenter.retrofit.RetrofitManager +import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.schedulers.Schedulers +import okhttp3.MediaType +import okhttp3.RequestBody +import okhttp3.ResponseBody +import org.json.JSONObject + +class KeFuViewModel(application: Application) : ListViewModel(application) { + + override fun provideDataObservable(page: Int): Observable>? { + return RetrofitManager.getInstance(getApplication()).api.getMessageKeFuData(UserManager.getInstance().userId, page) + } + + override fun mergeResultLiveData() { + mResultLiveData.addSource>(mListLiveData) { mResultLiveData.postValue(it) } + } + + + fun postMessageRead(messageId: String) { + + // 更新本地数据以及页面 + val listData = mListLiveData.value + if (listData != null) { + for (entity in listData) { + if (messageId == entity.id) { + entity.isRead = true + mListLiveData.postValue(listData) + break + } + } + } + + // 后端同步 + val jsonObject = JSONObject() + jsonObject.put("type", "system_message") + val body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString()) + RetrofitManager.getInstance(getApplication()).api.postMessageRead(UserManager.getInstance().userId, messageId, body) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(object : Response() { + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageAdapter.java b/app/src/main/java/com/gh/gamecenter/message/MessageAdapter.java index 05af5e575a..eab63b57f9 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageAdapter.java @@ -79,7 +79,13 @@ public class MessageAdapter extends ListAdapter { break; case ItemViewType.ITEM_BODY: MessageItemViewHolder viewHolder = (MessageItemViewHolder) holder; - viewHolder.setMessageItem(mEntityList.get(position - TOP_ITEM_COUNT)); + MessageEntity entity = mEntityList.get(position - TOP_ITEM_COUNT); + viewHolder.setMessageItem(entity); + if (entity.getRead()) { + holder.itemView.setBackgroundResource(R.drawable.reuse_listview_item_style); + } else { + holder.itemView.setBackgroundResource(R.drawable.list_unread_item_style); + } break; case ItemViewType.ITEM_FOOTER: FooterViewHolder footerViewHolder = (FooterViewHolder) holder; diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java index abaff8b9a6..94d0a97e0d 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java @@ -12,22 +12,14 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.baselist.ListFragment; import com.gh.gamecenter.baselist.LoadStatus; import com.gh.gamecenter.baselist.LoadType; -import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.entity.MessageEntity; -import com.gh.gamecenter.manager.UserManager; -import com.gh.gamecenter.retrofit.RetrofitManager; import com.halo.assistant.HaloApp; -import com.lightgame.utils.Utils; - -import java.util.List; - -import io.reactivex.Observable; /** * Created by khy on 23/03/18. */ -public class MessageFragment extends ListFragment { +public class MessageFragment extends ListFragment { private MessageAdapter mAdapter; @@ -48,11 +40,6 @@ public class MessageFragment extends ListFragment provideListAdapter().setMessageUnreadData(messageUnread)); } - @Override - public Observable> provideDataObservable(int page) { - return RetrofitManager.getInstance(getContext()).getApi().getMessage(UserManager.getInstance().getUserId(), "default", Utils.getTime(getContext()), page); - } - @Override protected MessageAdapter provideListAdapter() { return mAdapter == null ? mAdapter = new MessageAdapter(getContext(), this) : mAdapter; @@ -93,5 +80,8 @@ public class MessageFragment extends ListFragment(application) { + + override fun provideDataObservable(page: Int): Observable>? { + return RetrofitManager.getInstance(getApplication()).api.getMessage(UserManager.getInstance().userId, "default", Utils.getTime(getApplication()), page) + } + + override fun mergeResultLiveData() { + mResultLiveData.addSource>(mListLiveData) { mResultLiveData.postValue(it) } + } + + + fun postMessageRead(messageId: String, type: String) { + + // 更新本地数据以及页面 + val listData = mListLiveData.value + if (listData != null) { + for (entity in listData) { + if (messageId == entity.id) { + entity.read = true + mListLiveData.postValue(listData) + break + } + } + } + + // 后端同步 + val jsonObject = JSONObject() + jsonObject.put("type", type) + val body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString()) + RetrofitManager.getInstance(getApplication()).api.postMessageRead(UserManager.getInstance().userId, messageId, body) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(object : Response() { + }) + } +} \ No newline at end of file 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 9d1bce9971..02efcb88b3 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 @@ -22,10 +22,14 @@ import com.gh.common.util.EntranceUtils; import com.gh.common.util.LogUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.db.AskSearchHistoryDao; +import com.gh.gamecenter.eventbus.EBSearch; import com.gh.gamecenter.qa.questions.edit.QuestionEditActivity; import com.gh.gamecenter.qa.search.history.HistoryFragment; import com.lightgame.utils.Util_System_Keyboard; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + import java.util.List; import butterknife.BindView; @@ -39,6 +43,7 @@ public class AskSearchActivity extends BaseActivity { private static final int POST_SEARCH_WHAT = 2; private static final int QUESTION_REQUEST_CODE = 2; + private static final String ASK_SEARCH_EB_TYPE = "askHistory"; @BindView(R.id.bar_search_edit) EditText mSearchEt; @@ -117,8 +122,8 @@ public class AskSearchActivity extends BaseActivity { mSearchEt.setOnEditorActionListener((v, actionId, event) -> { if (actionId == EditorInfo.IME_ACTION_SEARCH) { - Util_System_Keyboard.hideSoftKeyboard(AskSearchActivity.this); - mBaseHandler.sendEmptyMessageDelayed(1, 500); + Util_System_Keyboard.hideSoftKeyboard(this, mSearchEt); + search(); mDao.add(mSearchKey); } return false; @@ -162,7 +167,9 @@ public class AskSearchActivity extends BaseActivity { }); } else if (v.getId() == R.id.bar_question_btn) { if (!TextUtils.isEmpty(mColumnId) || !TextUtils.isEmpty(mQuestionTag)) { - mBaseHandler.sendEmptyMessageDelayed(1, 300); + search(); + mDao.add(mSearchKey); + Util_System_Keyboard.hideSoftKeyboard(this, mSearchEt); } else { CheckLoginUtils.checkLogin(this, () -> { startActivityForResult(QuestionEditActivity.Companion.getIntent(this, mSearchKey), QUESTION_REQUEST_CODE); @@ -223,4 +230,14 @@ public class AskSearchActivity extends BaseActivity { } transaction.commitAllowingStateLoss(); } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEvent(EBSearch search) { + if (ASK_SEARCH_EB_TYPE.equals(search.getType()) && search.getKey() != null) { + mSearchKey = search.getKey(); + mSearchEt.setText(mSearchKey); + mSearchEt.setSelection(mSearchEt.getText().length()); + search(); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchAdapter.kt index 88a6fb3358..77e34cf5ae 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchAdapter.kt @@ -5,6 +5,7 @@ import android.text.TextUtils import com.gh.common.constant.ItemViewType import com.gh.common.util.LogUtils import com.gh.gamecenter.baselist.ListAdapter +import com.gh.gamecenter.db.AskSearchHistoryDao import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity import com.gh.gamecenter.qa.entity.Questions import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity @@ -12,7 +13,9 @@ import com.gh.gamecenter.qa.search.AskSearchActivity abstract class BaseAskSearchAdapter(context: Context) : ListAdapter(context) { - private var mSearchKey = "" + protected var mSearchKey = "" + + protected var mDao: AskSearchHistoryDao = AskSearchHistoryDao(mContext) public override fun setListData(updateData: List?) { super.setListData(updateData) @@ -59,6 +62,7 @@ abstract class BaseAskSearchAdapter(context: Context) : ListAdapter(contex protected fun skipAnswerDetail(answerId: String, path: String) { mContext.startActivity(AnswerDetailActivity.getIntent(mContext, answerId, "(搜索结果)", path)) postSearchLog() + mDao.add(mSearchKey) } protected fun skipQuestionDetail(questions: Questions, path: String) { @@ -66,6 +70,7 @@ abstract class BaseAskSearchAdapter(context: Context) : ListAdapter(contex mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.id, tracers, path)) LogUtils.uploadQuestions(mContext, tracers, questions) postSearchLog() + mDao.add(mSearchKey) } private fun postSearchLog() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragmentAdapter.kt index a876fda784..3838555440 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragmentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragmentAdapter.kt @@ -52,7 +52,7 @@ class HistoryFragmentAdapter(context: Context, dao: AskSearchHistoryDao, history holder.itemView.setOnClickListener { v -> val key = holder.textView.text.toString() mDao.add(key) - EventBus.getDefault().post(EBSearch("history", key)) + EventBus.getDefault().post(EBSearch("askHistory", key)) Util_System_Keyboard.hideSoftKeyboardByIBinder(mContext, v.windowToken) } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt index 106ea033ef..4286179205 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt @@ -47,6 +47,7 @@ class QuestionAdapter(context: Context) : BaseAskSearchAdapter( questions.id = entity.questions.id questions.title = entity.questions.title skipQuestionDetail(questions, "搜索结果-只看问题") + mDao.add(mSearchKey) } } ItemViewType.ITEM_FOOTER -> { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index f5e0b22f8d..2641863619 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -1179,4 +1179,7 @@ public interface ApiService { @POST("users/{user_id}/im:ending") Observable postImEnding(@Path("user_id") String userId); + @POST("users/{user_id}/messages/{message_id}:read") + Observable postMessageRead(@Path("user_id") String userId, @Path("message_id") String messageId, @Body RequestBody body); + } \ No newline at end of file diff --git a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java index a80d9b00b3..c9a29df415 100644 --- a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java @@ -31,7 +31,6 @@ import com.gh.gamecenter.message.MessageDetailFragment; import com.gh.gamecenter.normal.NormalFragment; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import com.lightgame.listeners.OnBackPressedListener; import java.util.List; @@ -44,7 +43,7 @@ import io.reactivex.schedulers.Schedulers; * Created by CsHeng on 18/12/2017. * 网页浏览器页面 */ -public class WebFragment extends NormalFragment implements OnBackPressedListener { +public class WebFragment extends NormalFragment { public static final String KEY_ISTOOLS = "isTools"; public static final String KEY_ISCOLLECTIONTOOLS = "isCollectionTools"; @@ -300,7 +299,7 @@ public class WebFragment extends NormalFragment implements OnBackPressedListener } @Override - public boolean onHandleBackPressed() { + public boolean onBackPressed() { if (mWebView.canGoBack()) { mWebView.goBack(); return true; diff --git a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java index 02c5fbc259..281d56eeac 100644 --- a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java @@ -69,6 +69,7 @@ class MyConcernRecommendAdapter extends BaseRecyclerAdapter { // 获取已安装游戏的digest List> sequences = new ArrayList<>(); for (InstallInfo installInfo : mInstallManager.getAllInstall()) { + Utils.log("=======111::" + installInfo.getId() + "==" + installInfo.getGameName()); sequences.add(RetrofitManager.getInstance(mContext).getApi().getGameDigest(installInfo.getId())); } Observable.mergeDelayError(sequences) diff --git a/app/src/main/res/drawable/list_unread_item_style.xml b/app/src/main/res/drawable/list_unread_item_style.xml new file mode 100644 index 0000000000..9e8bd394bb --- /dev/null +++ b/app/src/main/res/drawable/list_unread_item_style.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/message_kefu_item.xml b/app/src/main/res/layout/message_kefu_item.xml index 628e469899..36341f4554 100644 --- a/app/src/main/res/layout/message_kefu_item.xml +++ b/app/src/main/res/layout/message_kefu_item.xml @@ -1,5 +1,6 @@ #E7E7E7--> #EBEBEB + #d1e5f7 + @color/theme #06D0A8 @@ -75,7 +77,7 @@ @android:color/black - #b3b3b3 + #b3b3b3 #ff4147 @@ -91,7 +93,7 @@ #9a9a9a #3a3a3a #5d5d5d - #f5f5f5 + #f5f5f5 #949494 #fbfbfb diff --git a/dependencies.gradle b/dependencies.gradle index 14ec0f0e24..09a0953d89 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -7,8 +7,8 @@ ext { targetSdkVersion = 22 // application info - versionCode = 25 - versionName = "3.4" + versionCode = 26 + versionName = "3.5" applicationId = "com.gh.gamecenter" //Libraries diff --git a/gradle.properties b/gradle.properties index 298c01792e..0e97899aea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,7 +21,7 @@ org.gradle.parallel=true channel_file=channel.txt # tinker patch version_name -PATCH_VERSION_NAME=3.4.1 +PATCH_VERSION_NAME=3.5 # Third-party keys DEBUG_UMENG_APPKEY=58e5b0b9c62dca35a00005e6 @@ -47,11 +47,11 @@ MEIZUPUSH_APPKEY=86792462189846c0b8b701e7bb4d11c1 BUGLY_APPID=d5de44c594 # hosts -DEV_API_HOST=https\://dev.api.ghzs666.com/v3d4/ -DEV_LIBAO_HOST=https\://dev.api.ghzs666.com/v3d4/ -DEV_MESSAGE_HOST=https\://dev.api.ghzs666.com/v3d4/ -DEV_USER_HOST=https\://dev.api.ghzs666.com/v3d4/ -DEV_COMMENT_HOST=https\://dev.api.ghzs666.com/v3d4/ +DEV_API_HOST=https\://dev.api.ghzs666.com/v3d5/ +DEV_LIBAO_HOST=https\://dev.api.ghzs666.com/v3d5/ +DEV_MESSAGE_HOST=https\://dev.api.ghzs666.com/v3d5/ +DEV_USER_HOST=https\://dev.api.ghzs666.com/v3d5/ +DEV_COMMENT_HOST=https\://dev.api.ghzs666.com/v3d5/ DEV_DATA_HOST=http\://data.ghzs666.com/ API_HOST=https\://api.ghzs.com/v3d4/