From 5aa4aff7a2ea7953283cffccf3b1835931295d55 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 23 十二月 2024 15:35:25 +0800
Subject: [PATCH] 1.优化工单提醒功能,添加强制震动,防止同一个工单id重复提醒。

---
 app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java     |    7 
 app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java   |   94 ++++--------
 app/src/main/res/layout/fragment_order.xml                         |    1 
 app/src/main/res/layout/activity_order_deal.xml                    |    2 
 app/src/main/res/layout/item_order.xml                             |    2 
 app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java    |   91 +++++++++++-
 app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java      |    3 
 app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java |  169 -----------------------
 8 files changed, 126 insertions(+), 243 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
index 11ed339..c1650a9 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
@@ -1,12 +1,24 @@
 package com.dayu.pipirrapp.activity;
 
+import static androidx.core.content.ContextCompat.getSystemService;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
 import android.os.Bundle;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Toast;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.NotificationCompat;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.Fragment;
 import androidx.lifecycle.Observer;
@@ -15,6 +27,7 @@
 import com.dayu.pipirrapp.R;
 import com.dayu.pipirrapp.adapter.TabAdapter;
 import com.dayu.pipirrapp.bean.db.TagBean;
+import com.dayu.pipirrapp.bean.net.OrderDetailResult;
 import com.dayu.pipirrapp.dao.DaoSingleton;
 import com.dayu.pipirrapp.databinding.ActivityMainBinding;
 import com.dayu.pipirrapp.fragment.MapFragment;
@@ -36,11 +49,12 @@
  * 棣栭〉
  */
 public class MainActivity extends AppCompatActivity {
+    private static final String CHANNEL_ID = "order_channel";
     private ActivityMainBinding binding;
     private List<Fragment> fragments = new ArrayList<>();
     private long mExitTime;
     MqttManager mqttManager;
-    private Map<String, String> workerIddata = new HashMap<>();
+    public volatile static Map<String, String> workerIddata = new HashMap<>();
 
 
     private enum Tab {
@@ -77,16 +91,6 @@
                 }
             }
         });
-        //mq浼犳潵鐨勬秷鎭�
-        LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() {
-            @Override
-            public void onChanged(Object o) {
-                workerIddata.put((String) o, (String) o);
-
-                binding.redDotImg.setVisibility(View.VISIBLE);
-
-            }
-        });
         LiveEventBus.get(CommonKeyName.RedLotRefresh).observeForever(new Observer<Object>() {
             @Override
             public void onChanged(Object o) {
@@ -101,6 +105,19 @@
                         binding.redDotImg.setVisibility(View.GONE);
                     }
                 }
+
+            }
+        });
+        LiveEventBus.get(CommonKeyName.CreateNotification).observeForever(new Observer<Object>() {
+            @Override
+            public void onChanged(Object o) {
+                if (o instanceof OrderDetailResult) {
+                    OrderDetailResult orderDetailResult = ((OrderDetailResult) o);
+                    workerIddata.put(orderDetailResult.getWorkOrderId(), orderDetailResult.getWorkOrderId());
+                    binding.redDotImg.setVisibility(View.VISIBLE);
+                    creatOrderNotification(orderDetailResult.getWorkOrderId().hashCode(), orderDetailResult.getTaskType(), orderDetailResult.getWorkOrderId());
+                }
+
 
             }
         });
@@ -130,7 +147,7 @@
         binding.viewPager.setAdapter(adapter);
         binding.viewPager.setCurrentItem(1, false); // 榛樿鏄剧ず鍦板浘椤�
         binding.viewPager.setOffscreenPageLimit(fragments.size());
-
+        binding.viewPager.setUserInputEnabled(false);
     }
 
     @Override
@@ -222,5 +239,55 @@
         NetUtils.unregisterReceiver(this);
     }
 
+    /**
+     * 鍒涘缓宸ュ崟鎻愮ず閫氱煡
+     *
+     * @param notifucId
+     * @param data
+     */
+    private void creatOrderNotification(int notifucId, String data, String workOrderId) {
+        NotificationManager notificationManager = (NotificationManager) 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, OrderDetailActivity.class);
+        notificationIntent.putExtra("workOrderId", workOrderId);
+        int requestCode = workOrderId.hashCode(); // 浣跨敤workOrderId鐨勫搱甯岀爜浣滀负requestCode
+        PendingIntent pendingIntent = PendingIntent.getActivity(this, requestCode, notificationIntent, PendingIntent.FLAG_MUTABLE);
+
+        // 鍒涘缓闇囧姩鏁堟灉
+        // 鑾峰彇 Vibrator 绯荤粺鏈嶅姟
+        Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
+        long[] vibrationPattern = {0, 1000, 500, 1000}; // 闇囧姩妯″紡锛氱瓑寰�0ms锛岄渿鍔�1000ms锛岀瓑寰�500ms锛岄渿鍔�1000ms
+        int repeat = -1; // 涓嶉噸澶�
+
+        // 瀵逛簬Android 26鍙婁互涓婄増鏈紝浣跨敤VibrationEffect
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            VibrationEffect effect = VibrationEffect.createWaveform(vibrationPattern, repeat);
+            vibrator.vibrate(effect);
+        } else {
+            // 瀵逛簬Android 25鍙婁互涓嬬増鏈紝浣跨敤鏃х殑vibrate鏂规硶
+            vibrator.vibrate(vibrationPattern, repeat);
+        }
+        Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
+                .setContentTitle("鏂板伐鍗�")
+                .setContentText(data)
+                .setSmallIcon(R.mipmap.ic_launcher)
+                .setContentIntent(pendingIntent)
+                .setAutoCancel(true) // 鐐瑰嚮閫氱煡鍚庤嚜鍔ㄦ秷澶�
+                .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)// 浣跨敤榛樿鐨勯煶鏁堝拰闇囧姩
+                .setVibrate(vibrationPattern)
+                .build();
+        notificationManager.notify(notifucId, notification);
+
+    }
 
 }
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java
index 37bee71..2b557c4 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java
@@ -9,6 +9,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.bean.net.OrderDetailResult;
 import com.dayu.pipirrapp.bean.net.OrderListResult;
 import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
 import com.dayu.pipirrapp.databinding.ItemOrderBinding;
@@ -27,11 +28,11 @@
 public class OrderAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
 
 
-    List<OrderListResult.Data> recordsList;
+    List<OrderDetailResult> recordsList;
     Context context;
     OrderFragment orderFragment;
 
-    public OrderAdapter(Context context, List<OrderListResult.Data> recordsList, OrderFragment orderFragment) {
+    public OrderAdapter(Context context, List<OrderDetailResult> recordsList, OrderFragment orderFragment) {
         this.context = context;
         this.recordsList = recordsList;
         this.orderFragment = orderFragment;
@@ -54,7 +55,7 @@
     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
         if (holder instanceof OrderAdapter.ViewHolder) {
             if (recordsList.size() > 0) {
-                OrderListResult.Data record = recordsList.get(position);
+                OrderDetailResult record = recordsList.get(position);
                 ((OrderAdapter.ViewHolder) holder).getBinding().setData(record);
                 switch (record.getProResultStateId()) {
                     case 0://鏈笂鎶�
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java
index f722e0b..759d6cb 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java
@@ -17,7 +17,7 @@
     int pageCurr;
     int pageSize;
     int pageTotal;
-    List<Data> obj;
+    List<OrderDetailResult> obj;
 
     public int getItemTotal() {
         return itemTotal;
@@ -51,178 +51,15 @@
         this.pageTotal = pageTotal;
     }
 
-    public List<Data> getObj() {
+    public List<OrderDetailResult> getObj() {
         return obj;
     }
 
-    public void setObj(List<Data> obj) {
+    public void setObj(List<OrderDetailResult> obj) {
         this.obj = obj;
     }
 
-    public class Data {
-        public String workOrderId;//宸ュ崟ID
-        public String dispatcherId;//娲惧崟浜篒D
-        public String dispatcher;//娲惧崟浜哄鍚�
-        public String inspectorId;//宸℃鍛業D
-        public String inspector;//宸℃鍛樺鍚�
-        public String taskType;//浠诲姟绫诲瀷
-        public String taskContent;//浠诲姟鍐呭
-        public String completeCriteria;//瀹屾垚鏍囧噯
-        public String deadLine;//瑕佹眰瀹屾垚鏃堕棿
-        public String clientReportId;//鍐滄埛闂涓婃姤ID
-        public String inspectorReportId;//宸℃鍛橀棶棰樹笂鎶D
-        public String completeTime;//浠诲姟瀹屾垚鏃堕棿
-        public String dispatchTime;//娲惧崟鏃堕棿
-        public int rejectTimes;//椹冲洖娆℃暟
-        public String state;//宸ュ崟鐘舵��
-        public String processingState;//澶勭悊鐘舵��
-        public String proResultId;//澶勭悊缁撴灉id
-        public int proResultStateId;//鐘舵�� 1-宸蹭笂鎶ワ紝2-宸查�氳繃锛�3-宸查┏鍥�
 
-        public String getWorkOrderId() {
-            return workOrderId;
-        }
-
-        public void setWorkOrderId(String workOrderId) {
-            this.workOrderId = workOrderId;
-        }
-
-        public String getDispatcherId() {
-            return dispatcherId;
-        }
-
-        public void setDispatcherId(String dispatcherId) {
-            this.dispatcherId = dispatcherId;
-        }
-
-        public String getDispatcher() {
-            return dispatcher;
-        }
-
-        public void setDispatcher(String dispatcher) {
-            this.dispatcher = dispatcher;
-        }
-
-        public String getInspectorId() {
-            return inspectorId;
-        }
-
-        public void setInspectorId(String inspectorId) {
-            this.inspectorId = inspectorId;
-        }
-
-        public String getInspector() {
-            return inspector;
-        }
-
-        public void setInspector(String inspector) {
-            this.inspector = inspector;
-        }
-
-        public String getTaskType() {
-            return taskType;
-        }
-
-        public void setTaskType(String taskType) {
-            this.taskType = taskType;
-        }
-
-        public String getTaskContent() {
-            return taskContent;
-        }
-
-        public void setTaskContent(String taskContent) {
-            this.taskContent = taskContent;
-        }
-
-        public String getCompleteCriteria() {
-            return completeCriteria;
-        }
-
-        public void setCompleteCriteria(String completeCriteria) {
-            this.completeCriteria = completeCriteria;
-        }
-
-        public String getDeadLine() {
-            return deadLine;
-        }
-
-        public void setDeadLine(String deadLine) {
-            this.deadLine = deadLine;
-        }
-
-        public String getClientReportId() {
-            return clientReportId;
-        }
-
-        public void setClientReportId(String clientReportId) {
-            this.clientReportId = clientReportId;
-        }
-
-        public String getInspectorReportId() {
-            return inspectorReportId;
-        }
-
-        public void setInspectorReportId(String inspectorReportId) {
-            this.inspectorReportId = inspectorReportId;
-        }
-
-        public String getCompleteTime() {
-            return completeTime;
-        }
-
-        public void setCompleteTime(String completeTime) {
-            this.completeTime = completeTime;
-        }
-
-        public String getDispatchTime() {
-            return dispatchTime;
-        }
-
-        public void setDispatchTime(String dispatchTime) {
-            this.dispatchTime = dispatchTime;
-        }
-
-        public int getRejectTimes() {
-            return rejectTimes;
-        }
-
-        public void setRejectTimes(int rejectTimes) {
-            this.rejectTimes = rejectTimes;
-        }
-
-        public String getState() {
-            return state;
-        }
-
-        public void setState(String state) {
-            this.state = state;
-        }
-
-        public String getProcessingState() {
-            return processingState;
-        }
-
-        public void setProcessingState(String processingState) {
-            this.processingState = processingState;
-        }
-
-        public String getProResultId() {
-            return proResultId;
-        }
-
-        public void setProResultId(String proResultId) {
-            this.proResultId = proResultId;
-        }
-
-        public int getProResultStateId() {
-            return proResultStateId;
-        }
-
-        public void setProResultStateId(int proResultStateId) {
-            this.proResultStateId = proResultStateId;
-        }
-    }
 
 
 }
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);
+                        }
                     }
                 }
             }
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java b/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
index fc25acb..6866ddf 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
@@ -26,4 +26,7 @@
     //鍒锋柊鏂板伐鍗曞皬绾㈢偣
     public final static String RedLotRefresh="RedLotRefresh";
 
+    //鍒涘缓閫氱煡
+    public final static String CreateNotification="CreateNotification";
+
 }
diff --git a/app/src/main/res/layout/activity_order_deal.xml b/app/src/main/res/layout/activity_order_deal.xml
index cd2e5e8..2163ab0 100644
--- a/app/src/main/res/layout/activity_order_deal.xml
+++ b/app/src/main/res/layout/activity_order_deal.xml
@@ -10,7 +10,7 @@
 
         <variable
             name="data"
-            type="com.dayu.pipirrapp.bean.net.OrderListResult.Data" />
+            type="com.dayu.pipirrapp.bean.net.OrderDetailResult" />
     </data>
 
     <RelativeLayout
diff --git a/app/src/main/res/layout/fragment_order.xml b/app/src/main/res/layout/fragment_order.xml
index a4bb63f..6e15b97 100644
--- a/app/src/main/res/layout/fragment_order.xml
+++ b/app/src/main/res/layout/fragment_order.xml
@@ -149,6 +149,7 @@
             android:orientation="horizontal">
 
             <RelativeLayout
+                android:id="@+id/manage_state_progressRL"
                 android:layout_width="0dp"
                 android:layout_height="match_parent"
                 android:layout_margin="5dp"
diff --git a/app/src/main/res/layout/item_order.xml b/app/src/main/res/layout/item_order.xml
index f7db4db..67769ca 100644
--- a/app/src/main/res/layout/item_order.xml
+++ b/app/src/main/res/layout/item_order.xml
@@ -8,7 +8,7 @@
 
         <variable
             name="data"
-            type="com.dayu.pipirrapp.bean.net.OrderListResult.Data" />
+            type="com.dayu.pipirrapp.bean.net.OrderDetailResult" />
     </data>
 
     <LinearLayout

--
Gitblit v1.8.0