From 6a44973461e2a91f62f7eed681b4db3abb026289 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 24 十二月 2024 16:52:23 +0800
Subject: [PATCH] 1.优化地图相关代码,提高运行效率和可读性。 2.添加修改密码功能。 3.优化列表和详情页展示。
---
app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java | 94 +++++++++++++++++------------------------------
1 files changed, 34 insertions(+), 60 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
index 92c61ba..036ca77 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
@@ -1,5 +1,7 @@
package com.dayu.pipirrapp.fragment;
+import static androidx.core.content.ContextCompat.getSystemService;
+
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
@@ -9,6 +11,8 @@
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -24,6 +28,7 @@
import com.dayu.pipirrapp.MyApplication;
import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.activity.MainActivity;
import com.dayu.pipirrapp.activity.OrderDetailActivity;
import com.dayu.pipirrapp.adapter.OrderAdapter;
import com.dayu.pipirrapp.bean.net.OrderDetailResult;
@@ -55,7 +60,7 @@
*/
public class OrderFragment extends BaseFragment {
public static final int RESULT_REFRESH = 1001;
- private static final String CHANNEL_ID = "order_channel";
+
private final int STATE_DONE = 2;
private final int STATE_UNDONE = 1;
@@ -65,8 +70,8 @@
int page = 1;
int pageSize = 10;
int state = 1;
- List<OrderListResult.Data> recordsListDone = new ArrayList<>();
- List<OrderListResult.Data> recordsList = new ArrayList<>();
+ List<OrderDetailResult> recordsListDone = new ArrayList<>();
+ List<OrderDetailResult> recordsList = new ArrayList<>();
RefreshLayout myRefreshLayout;
//鏈�鍚庡埛鏂扮殑鏃堕棿
long lastRefreshDate;
@@ -114,7 +119,7 @@
@Override
public void onChanged(Object o) {
showRedlotDate = new Date().getTime();
- binding.redDotImg.setVisibility(View.VISIBLE);
+// binding.redDotImg.setVisibility(View.VISIBLE);
getMarkerData((String) o);
}
});
@@ -124,7 +129,7 @@
void initView() {
//鏈畬鎴�
- binding.manageStateProgress.setOnClickListener(v -> {
+ binding.manageStateProgressRL.setOnClickListener(v -> {
chooseStateView(true);
state = STATE_UNDONE;//1 鏈紑濮� 2 宸插畬鎴�
@@ -145,7 +150,7 @@
if (lastRefreshDate > showRedlotDate) {
//娑堥櫎绾㈢偣
LiveEventBus.get(CommonKeyName.RedLotRefresh).post(true);
- binding.redDotImg.setVisibility(View.GONE);
+// binding.redDotImg.setVisibility(View.GONE);
}
recordsList.clear();
page = 0;
@@ -162,11 +167,10 @@
binding.recyclerView.setAdapter(mAdapter);
getMarkerData(myRefreshLayout, true, STATE_UNDONE);
//宸插畬鎴�
- RefreshLayout myRefreshLayoutDone = (RefreshLayout) binding.refreshLayoutDone;
+ RefreshLayout myRefreshLayoutDone = binding.refreshLayoutDone;
myRefreshLayoutDone.setRefreshHeader(new ClassicsHeader(this.getContext()));
myRefreshLayoutDone.setRefreshFooter(new ClassicsFooter(this.getContext()));
myRefreshLayoutDone.setOnRefreshListener(refreshlayout -> {
-// refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触
recordsListDone.clear();
page = 0;
getMarkerData(refreshlayout, true, STATE_DONE);
@@ -187,11 +191,11 @@
public void onResume() {
super.onResume();
MyLog.d("OrderFragment>>onResume");
- if (showRedlotDate > lastRefreshDate) {
- binding.redDotImg.setVisibility(View.VISIBLE);
- } else {
- binding.redDotImg.setVisibility(View.GONE);
- }
+// if (showRedlotDate > lastRefreshDate) {
+// binding.redDotImg.setVisibility(View.VISIBLE);
+// } else {
+// binding.redDotImg.setVisibility(View.GONE);
+// }
}
@Override
@@ -223,19 +227,17 @@
@Override
public void onNext(BaseResponse<OrderListResult> t) {
if (t.isSuccess()) {
- if (t.isSuccess()) {
- if (t.getContent().getObj() != null && t.getContent().getObj().size() > 0) {
- if (state == STATE_UNDONE) {
- recordsList.addAll(t.getContent().getObj());
- } else {
- recordsListDone.addAll(t.getContent().getObj());
- }
- if (t.getContent().getPageTotal() == page) {
- refreshlayout.finishLoadMoreWithNoMoreData();
- }
+ if (t.getContent().getObj() != null && t.getContent().getObj().size() > 0) {
+ if (state == STATE_UNDONE) {
+ recordsList.addAll(t.getContent().getObj());
} else {
+ recordsListDone.addAll(t.getContent().getObj());
+ }
+ if (t.getContent().getPageTotal() == page) {
refreshlayout.finishLoadMoreWithNoMoreData();
}
+ } else {
+ refreshlayout.finishLoadMoreWithNoMoreData();
}
} else {
ToastUtil.showToast(OrderFragment.this.getContext(), t.getMsg());
@@ -276,59 +278,27 @@
if (state) {
binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color, null));
binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit, null));
+ binding.manageStateProgressRL.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit, null));
binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black, null));
binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg, null));
binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
binding.refreshLayout.setVisibility(View.VISIBLE);
binding.refreshLayoutDone.setVisibility(View.GONE);
+
} else {
binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color, null));
binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit, null));
binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black, null));
binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg, null));
+ binding.manageStateProgressRL.setBackground(getResources().getDrawable(R.color.title_choose_bg, null));
binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
binding.refreshLayout.setVisibility(View.GONE);
binding.refreshLayoutDone.setVisibility(View.VISIBLE);
}
}
-
- /**
- * 鍒涘缓宸ュ崟鎻愮ず閫氱煡
- *
- * @param notifucId
- * @param data
- */
- private void creatOrderNotification(int notifucId, String data, String workOrderId) {
- NotificationManager notificationManager = (NotificationManager) requireContext().getSystemService(Context.NOTIFICATION_SERVICE);
- // 鍒涘缓NotificationChannel锛堜粎閽堝Android O鍙婁互涓婄増鏈級
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- CharSequence name = getString(R.string.channel_name);
- String description = getString(R.string.channel_description);
- int importance = NotificationManager.IMPORTANCE_DEFAULT;
- NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
- channel.setDescription(description);
- // 娉ㄥ唽閫氶亾
- notificationManager.createNotificationChannel(channel);
- }
-
- Intent notificationIntent = new Intent(this.getContext(), OrderDetailActivity.class);
- notificationIntent.putExtra("workOrderId", workOrderId);
- int requestCode = workOrderId.hashCode(); // 浣跨敤workOrderId鐨勫搱甯岀爜浣滀负requestCode
- PendingIntent pendingIntent = PendingIntent.getActivity(this.getContext(), requestCode, notificationIntent, PendingIntent.FLAG_MUTABLE);
- Notification notification = new NotificationCompat.Builder(this.getContext(), CHANNEL_ID)
- .setContentTitle("鏂板伐鍗�")
- .setContentText(data)
- .setSmallIcon(R.mipmap.ic_launcher)
- .setContentIntent(pendingIntent)
- .setAutoCancel(true) // 鐐瑰嚮閫氱煡鍚庤嚜鍔ㄦ秷澶�
- .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)// 浣跨敤榛樿鐨勯煶鏁堝拰闇囧姩
- .build();
- notificationManager.notify(notifucId, notification);
-
- }
/**
* 鑾峰彇宸ュ崟璇︽儏
@@ -340,8 +310,12 @@
@Override
public void onNext(BaseResponse<OrderDetailResult> t) {
if (t.isSuccess()) {
- if (t.isSuccess()) {
- creatOrderNotification(workOrderId.hashCode(), t.getContent().getTaskType(), workOrderId);
+ if (MainActivity.workerIddata != null) {
+ if (!MainActivity.workerIddata.containsKey(workOrderId)) {
+ LiveEventBus.get(CommonKeyName.CreateNotification).post(t.getContent());
+ recordsList.add(0, t.getContent());
+ mAdapter.notifyItemInserted(0);
+ }
}
}
}
--
Gitblit v1.8.0