From 27a962fbd3f54f0b6114601016b51afd9ad79c3c Mon Sep 17 00:00:00 2001 From: itgaojian163 Date: Wed, 30 Nov 2022 11:28:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=831.2.1=20socket=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/release/output.json | 2 +- app/src/main/AndroidManifest.xml | 6 ++ .../activitys/mine/MsgDetailActivity.java | 36 ++++++++- .../adapters/MsgListAdapter.java | 4 +- .../main/res/layout/activity_msg_detail.xml | 81 ++++++++++++++++++- app/src/main/res/layout/item_msg_list.xml | 7 +- build.gradle | 4 +- .../core/retrofit_net/BaseUrlApi.java | 15 ++-- .../cm_utils/core/sockets/WsManager.java | 2 + .../core/widget/base/BaseActivity.java | 1 + .../keeplive/services/BusinessService.java | 17 +++- .../sucstepsoft/cm_utils/utils/TimeUtils.java | 13 +++ 12 files changed, 164 insertions(+), 24 deletions(-) diff --git a/app/release/output.json b/app/release/output.json index 667b99f..b173d75 100755 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":21,"versionName":"1.2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":22,"versionName":"1.2.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ce1724a..eee446c 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -282,6 +282,12 @@ + + diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/MsgDetailActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/MsgDetailActivity.java index ddbe8e0..0dc7737 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/MsgDetailActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/MsgDetailActivity.java @@ -1,9 +1,18 @@ package com.sucstepsoft.txrealtimelocation.activitys.mine; +import android.content.Intent; +import android.widget.TextView; + import com.sucstepsoft.cm_utils.core.beans.MessageBean; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.TimeUtils; import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.trouble.RandomMissionActivity; +import org.json.JSONException; +import org.json.JSONObject; + +import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -11,7 +20,14 @@ import butterknife.Unbinder; * 消息详情 */ public class MsgDetailActivity extends BaseActivity { - + @BindView(R.id.tv_title) + TextView mTvTitle; + @BindView(R.id.tv_time) + TextView mTvTime; + @BindView(R.id.tv_gator) + TextView mTvGator; + @BindView(R.id.tv_content) + TextView mTvContent; private Unbinder mBind; private MessageBean mBean; @@ -33,6 +49,22 @@ public class MsgDetailActivity extends BaseActivity { private void setDataToView() { refreshView(STATE_LOAD_SUCCESS); - + String time = TimeUtils.millis2Str(mBean.getTimestamp()); + mTvTime.setText(time); + mTvGator.setText("系统消息"); + String body = mBean.getBody(); + JSONObject obj = null; + try { + obj = new JSONObject(body); + String msg = obj.getString("msg"); + String title = obj.getString("title"); + mTvContent.setText(msg); + mTvTitle.setText(title); + mTvContent.setOnClickListener(v -> startActivity(new Intent(MsgDetailActivity.this, + RandomMissionActivity.class))); + } catch (JSONException e) { + e.printStackTrace(); + refreshView(STATE_LOAD_ERROR); + } } } \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/MsgListAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/MsgListAdapter.java index 9d53568..c04774e 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/MsgListAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/MsgListAdapter.java @@ -7,6 +7,7 @@ import android.view.ViewGroup; import com.sucstepsoft.cm_utils.core.beans.MessageBean; import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.sucstepsoft.cm_utils.utils.TimeUtils; import com.sucstepsoft.txrealtimelocation.R; import com.sucstepsoft.txrealtimelocation.adapters.holders.MsgHolder; @@ -31,6 +32,7 @@ public class MsgListAdapter extends BaseRecyclerAdapter @Override public void bindHolder(MsgHolder h, int i) { - h.mTvTime.setText(mData.get(i).getTimestamp() + ""); + String time = TimeUtils.millis2Str(mData.get(i).getTimestamp()); + h.mTvTime.setText(time); } } diff --git a/app/src/main/res/layout/activity_msg_detail.xml b/app/src/main/res/layout/activity_msg_detail.xml index 5f0026f..b4ba16d 100644 --- a/app/src/main/res/layout/activity_msg_detail.xml +++ b/app/src/main/res/layout/activity_msg_detail.xml @@ -1,9 +1,82 @@ - + tools:background="@color/gray_bg" + tools:context=".activitys.notice.NoticeDetailActivity"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_msg_list.xml b/app/src/main/res/layout/item_msg_list.xml index 2214edd..785a772 100755 --- a/app/src/main/res/layout/item_msg_list.xml +++ b/app/src/main/res/layout/item_msg_list.xml @@ -1,13 +1,14 @@ + android:paddingLeft="5dp" + android:paddingTop="10dp" + android:paddingRight="5dp" + android:paddingBottom="10dp"> beans = new ArrayList<>(); + MessageBean bean = gson.fromJson(data, new TypeToken() { + }.getType()); + beans.add(bean); + String s = gson.toJson(beans); + GlobalProvider.save(this, "socketMsg", s); } else { - Gson gson = new Gson(); List beans = gson.fromJson(socketMsg, new TypeToken>() { }.getType()); MessageBean b = gson.fromJson(data, new TypeToken() { @@ -623,7 +628,11 @@ public class BusinessService extends Service { private void startSocketService() { if (mWsManager == null) { mWsManager = - new WsManager.Builder(getApplication()).wsUrl(BaseUrlApi.SOCKET_IP).needReconnect(true).build(); + new WsManager + .Builder(getApplication()) + .wsUrl(BaseUrlApi.SOCKET_IP) + .needReconnect(true) + .build(); } if (!mWsManager.isWsConnected()) { diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/TimeUtils.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/TimeUtils.java index 5180bb7..436705b 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/TimeUtils.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/TimeUtils.java @@ -90,6 +90,19 @@ public final class TimeUtils { return format.format(new Date(millis)); } + public static String millis2Str(long millis) { + try { + Date date = new Date(); + date.setTime(millis); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String format1 = format.format(date); + return format1; + } catch (Exception e) { + return ""; + } + + } + /** * Formatted time string to the milliseconds. *

The pattern is {@code yyyy-MM-dd HH:mm:ss}.