Browse Source

完成入账通知

zengjiebin 7 years ago
parent
commit
4f9888c7c2

+ 30 - 0
app/src/main/AndroidManifest.xml

@@ -216,6 +216,7 @@
         </activity>
         <activity
             android:name="com.sheep.gamegroup.view.activity.PersonalCenterAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.WithdrawalAct"
@@ -244,9 +245,11 @@
             android:launchMode="singleTask" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.TaskListAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActAudit"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.GameTaskOrderListAct"
@@ -254,6 +257,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.WithdrawalListAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ChangeTelAct"
@@ -262,6 +266,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActBindMobileRegister"
+            android:theme="@style/AppActionTheme"
             android:launchMode="singleTask"
             android:screenOrientation="portrait" />
         <activity
@@ -334,17 +339,21 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.CommitWxAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait"
             android:windowSoftInputMode="stateVisible|adjustPan" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGuideOnHook"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.CommitWxCodeAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait"
             android:windowSoftInputMode="stateVisible|adjustPan" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGuideDeblocked"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.RealNameAuthenAct"
@@ -373,9 +382,11 @@
             android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActNewbieTaskList"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActUnderstandSheep"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActCreditCardTaskList"
@@ -383,6 +394,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActCreditCardWeb"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActXianWanWeb"
@@ -390,6 +402,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.TaskDetailCreditCardAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.TaskDetailAddQQAct"
@@ -401,6 +414,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActMyMoney"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.FeedbackAct"
@@ -416,6 +430,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.SignCardAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.SignRankingsAct"
@@ -423,6 +438,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.SignRecordAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.SignRechargeAct"
@@ -438,6 +454,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActTestExpression"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.MiddleScreenShotAct"
@@ -604,9 +621,11 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.RechargeQAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.RechargeResultAct"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <!-- div end -->
 
@@ -635,9 +654,11 @@
 
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActNotice"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGuide"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActLoadH5"
@@ -645,18 +666,23 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActUserLabelList"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActNewAboutUs"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActInstallApkList"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActSheepApkList"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActSheepPngList"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActReservation"
@@ -664,9 +690,11 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGameAgencyRecharge"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGameAccount"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActSearchGame"
@@ -678,6 +706,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActGameCenter"
+            android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActDownloadWelfareList"
@@ -810,6 +839,7 @@
         <!-- start 小绵羊sdk相关 -->
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActPay"
+            android:theme="@style/AppActionTheme"
             android:exported="true"
             android:screenOrientation="user" />
         <activity

+ 10 - 4
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.absBase.IHomePageSearch;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.entity.UserFootprint;
 
 import org.afinal.simplecache.ApiKey;
@@ -59,14 +60,19 @@ public interface ApiService {
     Observable<BaseMessage> changePassword(@Body JSONObject jsonObject);
 
     /**
+     * @param page          页数
+     * @param per_page      每页显示条数
+     * @param user_id       integer (query) 用户ID
+     * @param type          integer (query) 1:通知 2:活动 3:模块上线 4:任务上线 5:金额入账 6:任务失败 默认0:全部
      * @return 消息中心列表
      */
-    @GET("app/message/system_notification/")
-    Observable<BaseMessage> getMessageCenter(@Query("page") int page, @Query("per_page") int per_page, @Query("user_id") String user_id);
+    @GET(ApiKey.system_notification)
+    Observable<BaseMessage> getMessageCenter(@Query("page") int page, @Query("per_page") int per_page, @Query("user_id") String user_id, @SystemNotification.TYPE @Query("type") int type);
 
     /**
-     * @param page            页数
-     * @param per_page,每页显示条数
+     * @param page          页数
+     * @param per_page      每页显示条数
+     * @param user_id       integer (query) 用户ID
      * @return 回复互动列表
      */
     @GET("app/message/system_message/")

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java

@@ -141,4 +141,6 @@ public class BaseMessage implements Serializable{
     public String getErrorMsg(){
         return TextUtils.isEmpty(msg) ? SheepApp.getInstance().getString(R.string.unknown_error) : msg;
     }
+
+
 }

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/SystemNotification.java

@@ -1,8 +1,12 @@
 package com.sheep.gamegroup.model.entity;
 
+import android.support.annotation.IntDef;
+
 import com.alibaba.fastjson.JSONObject;
 
 import java.io.Serializable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 
 /**
  * created on:2018/9/3 on 13:36
@@ -243,4 +247,18 @@ public class SystemNotification implements Serializable {
         }
         return null;
     }
+    //type          integer (query) 1:通知 2:活动 3:模块上线 4:任务上线 5:金额入账 6:任务失败 默认0:全部
+    public static final int TYPE_ALL = 0;
+    public static final int TYPE_NOTICE = 1;
+    public static final int TYPE_ACT = 2;
+    public static final int TYPE_MODULE_ONLINE = 3;
+    public static final int TYPE_TASK_ONLINE = 4;
+    public static final int TYPE_TASK_SUCCESS = 5;
+    public static final int TYPE_TASK_FAIL = 6;
+    @IntDef({TYPE_ALL, TYPE_NOTICE, TYPE_ACT, TYPE_MODULE_ONLINE, TYPE_TASK_ONLINE, TYPE_TASK_SUCCESS, TYPE_TASK_FAIL})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface TYPE {
+    }
+
+
 }

+ 44 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -144,6 +144,7 @@ import com.sheep.gamegroup.view.activity.WithdrawalListAct;
 import com.sheep.gamegroup.view.activity.WithdrawalResultAct;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTask1;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskRegisterSuccess;
+import com.sheep.gamegroup.view.fragment.FgtMainAudit;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
@@ -2529,4 +2530,47 @@ public class Jump2View {
     public void gotoYfShop(Activity activity) {
         goWeb(activity, Config.YF_SHOP_HOME_SHEEP, Config.YF_SHOP_NAME);
     }
+
+    //点击一条消息
+    public void onClickSystemNotification(Activity activity, SystemNotification item) {
+        //注意:下面的接口调用不要删除,因为这里要去设置消息为可读
+        SheepApp.getInstance().getNetComponent().getApiService().getSystemNotification(item.getId())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+        switch (item.getType()){//消息类型 1:通知 2:活动 3:模块上线 4:任务上线 5:任务成功 6:任务失败
+            case SystemNotification.TYPE_MODULE_ONLINE:
+                try {
+                    HomeListEntity homeListEntity = item.getRelation_data(HomeListEntity.class);
+                    if(homeListEntity != null){
+                        CommonUtil.getInstance().goWhere(activity, homeListEntity, "消息中心");
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                break;
+            case SystemNotification.TYPE_TASK_ONLINE:
+                Jump2View.getInstance().goTaskDetailView(activity, item.getRelation_id());
+                break;
+            case SystemNotification.TYPE_TASK_SUCCESS:
+                Jump2View.getInstance().goAuditTastList(activity, FgtMainAudit.POSITION_SUCCESS);
+                break;
+            case SystemNotification.TYPE_TASK_FAIL:
+                Jump2View.getInstance().goAuditTastList(activity, FgtMainAudit.POSITION_FAILED);
+                break;
+            case SystemNotification.TYPE_NOTICE:
+            case SystemNotification.TYPE_ACT:
+            default:
+                Jump2View.getInstance().goActSysNfDetail(activity, item);
+                break;
+        }
+    }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/TextToSpeechUtil.java

@@ -106,7 +106,7 @@ public class TextToSpeechUtil {
                     G.showToast("result = " + result);
                 if(result != 0){
                     stopAndShutdownTTS();
-                    speakMsg(msg);
+//                    speakMsg(msg);
                 }
             } catch (Exception e) {
                 e.printStackTrace();

+ 52 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -35,8 +35,12 @@ import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewParent;
 import android.view.Window;
 import android.view.WindowManager;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.Animation;
+import android.view.animation.TranslateAnimation;
 import android.webkit.ValueCallback;
 import android.webkit.WebView;
 import android.widget.CheckBox;
@@ -2157,4 +2161,52 @@ public class ViewUtil {
 
         return view;
     }
+    public static void showThenHide(Activity activity, View view, boolean isShow) {
+        ViewUtil.setVisibility(view, true);
+        int a = -1;
+        int b = 2;
+        int y1 = isShow ? a : b;
+        int y2 = isShow ? b : a;
+        Animation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF, 0,Animation.RELATIVE_TO_SELF, y1,Animation.RELATIVE_TO_SELF, y2);//平移动画
+        translateAnimation.setDuration(200);//动画持续的时间
+        translateAnimation.setFillEnabled(true);//使其可以填充效果从而不回到原地
+        translateAnimation.setFillAfter(true);//不回到起始位置
+//        translateAnimation.setInterpolator(new BounceInterpolator());//accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等
+        translateAnimation.setInterpolator(new AccelerateInterpolator());
+        translateAnimation.setAnimationListener(new Animation.AnimationListener() {
+            @Override
+            public void onAnimationStart(Animation animation) {
+
+            }
+
+            @Override
+            public void onAnimationEnd(Animation animation) {
+                if(isShow) {//显示几秒后消失
+                    ViewUtil.delay(new AbsObserver<Integer>() {
+                        @Override
+                        public void onNext(Integer integer) {
+                            if (activity != null && !activity.isFinishing()) {
+                                showThenHide(activity, view, false);
+                            }
+                        }
+                    }, 3);
+                } else {
+                    ViewUtil.setVisibility(view, false);
+                    ViewParent viewParent = view.getParent();
+                    if(viewParent instanceof ViewGroup){
+                        ViewGroup viewGroup = (ViewGroup) viewParent;
+                        viewGroup.removeView(view);
+                        viewGroup.setTag(null);
+                    }
+                }
+            }
+
+            @Override
+            public void onAnimationRepeat(Animation animation) {
+
+            }
+        });
+        //如果不添加setFillEnabled和setFillAfter则动画执行结束后会自动回到远点
+        view.startAnimation(translateAnimation);
+    }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ActGameAgencyRecharge.java

@@ -57,9 +57,9 @@ public class ActGameAgencyRecharge extends BaseActivity {
     public void initView() {
         activity = this;
         TitleBarUtils.getInstance()
+                .setShowOrHide(this, true)
                 .setTitleFinish(activity)
                 .setTitle(activity, "游戏充值")
-                .setShowOrHide(this, true)
                 .setRightSecondBtn(activity, R.mipmap.search_black_img, new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {

+ 8 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java

@@ -28,6 +28,7 @@ import com.sheep.gamegroup.module.personal.fragment.FgtRechargeLog;
 import com.sheep.gamegroup.module.personal.fragment.FgtWithdraw;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.RefreshUtil;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -62,6 +63,9 @@ public class ActMyMoney extends BaseActivity {
     @BindView(R.id.pager)
     ViewPager viewPager;
 
+    @BindView(R.id.act_my_money_bg_iv)
+    ImageView act_my_money_bg_iv;
+
     @BindView(R.id.my_money_total_money)
     TextView my_money_total_money;
     @BindView(R.id.my_money_task_reward)
@@ -95,6 +99,9 @@ public class ActMyMoney extends BaseActivity {
         TitleBarUtils.getInstance()
                 .setTitle(this,"我的资产")
                 .setTitleFinish(this);
+        //顶部背景添加弧度
+        GlideImageLoader.setImage(act_my_money_bg_iv, ViewUtil.getNetImgByName("home_blue_bg_hb"), R.mipmap.home_blue_bg);
+
         mAdapter = new TitleFragmentListAdapter(getSupportFragmentManager());
         mAdapter.add(new FgtRechargeBalanceLog(), tabNames[0]);
         mAdapter.add(new FgtWithdraw(), tabNames[1]);
@@ -109,7 +116,7 @@ public class ActMyMoney extends BaseActivity {
         viewPager.setAdapter(mAdapter);
         new_tab();
         //refresh
-        refresh.setHeaderInsetStart(G.getRealPix(24));
+        refresh.setHeaderInsetStart(G.getRealPix(34));
         refresh.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
 
             @Override

+ 78 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogNotificationOfArrival.java

@@ -0,0 +1,78 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.Activity;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.ViewGroup;
+
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.SystemNotification;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.module.home.adapter.AdpNotificationOfArrival;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.TextToSpeechUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import java.util.List;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * Created by realicing on 2018/12/26.
+ * realicing@sina.com
+ */
+public class DialogNotificationOfArrival {
+
+    //检查有入账的通知列表
+    public static void checkNotificationOfArrivalList(Activity activity) {
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getMessageCenter(1, 1, DataUtil.getInstance().getUserId(), SystemNotification.TYPE_ALL)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        showNotificationOfArrivalList(activity, baseMessage.getDataList(SystemNotification.class));
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+    }
+
+    //展示未读入账信息
+    private static void showNotificationOfArrivalList(Activity activity, List<SystemNotification> notificationList) {
+        if (ListUtil.isEmpty(notificationList)) {
+            return;
+        }
+        ViewGroup home_root_rl = activity.findViewById(R.id.home_root_rl);
+        String tag = RecyclerView.class.getSimpleName();
+        Object object = home_root_rl.getTag();
+        //tag相同代表还没有移除RecyclerView
+        if (object != null && TextUtils.equals(object.toString(), tag)) {
+            return;
+        }
+        RecyclerView home_page_notice_rv = new RecyclerView(SheepApp.getInstance());
+        home_root_rl.addView(home_page_notice_rv, new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT));
+        home_root_rl.setTag(tag);//设置tag
+        if (home_page_notice_rv.getAdapter() == null) {
+            home_page_notice_rv.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
+            AdpNotificationOfArrival adapter = new AdpNotificationOfArrival(notificationList);
+            adapter.bindToRecyclerView(home_page_notice_rv);
+        } else {
+            home_page_notice_rv.getAdapter().notifyDataSetChanged();
+        }
+        //语音
+        TextToSpeechUtil.get().speakMsg(notificationList.get(0).getContent());
+        //动画
+        ViewUtil.showThenHide(activity, home_page_notice_rv, true);
+    }
+}

+ 5 - 41
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMsgCenter.java

@@ -17,6 +17,8 @@ import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
+import org.afinal.simplecache.ApiKey;
+
 import java.util.Locale;
 
 import io.reactivex.Observable;
@@ -46,12 +48,12 @@ public class FgtMsgCenter extends BaseListFragment2<SystemNotification> implemen
 
     @Override
     protected String getKey(int page, int per_page) {
-        return String.format(Locale.CHINA, "app/message/system_notification?page=%d&per_page=%d&user_id=%s", page, per_page, DataUtil.getInstance().getUserId());
+        return String.format(Locale.CHINA, "%s?page=%d&per_page=%d&user_id=%s", ApiKey.system_notification, page, per_page, DataUtil.getInstance().getUserId());
     }
 
     @Override
     protected Observable<BaseMessage> getApi(ApiService apiService) {
-        return apiService.getMessageCenter(page, per_page, DataUtil.getInstance().getUserId());
+        return apiService.getMessageCenter(page, per_page, DataUtil.getInstance().getUserId(), SystemNotification.TYPE_ALL);
     }
 
     @Override
@@ -72,44 +74,6 @@ public class FgtMsgCenter extends BaseListFragment2<SystemNotification> implemen
         if(item == null){
             return;
         }
-        //注意:下面的接口调用不要删除,因为这里要去设置消息为可读
-        SheepApp.getInstance().getNetComponent().getApiService().getSystemNotification(item.getId())
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                    }
-                });
-        switch (item.getType()){//消息类型 1:通知 2:活动 3:模块上线 4:任务上线 5:任务成功 6:任务失败
-            case 3:
-                try {
-                    HomeListEntity homeListEntity = item.getRelation_data(HomeListEntity.class);
-                    if(homeListEntity != null){
-                        CommonUtil.getInstance().goWhere(activity, homeListEntity, "消息中心");
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                break;
-            case 4:
-                Jump2View.getInstance().goTaskDetailView(activity, item.getRelation_id());
-                break;
-            case 5:
-                Jump2View.getInstance().goAuditTastList(activity, FgtMainAudit.POSITION_SUCCESS);
-                break;
-            case 6:
-                Jump2View.getInstance().goAuditTastList(activity, FgtMainAudit.POSITION_FAILED);
-                break;
-            case 1:
-            case 2:
-            default:
-                Jump2View.getInstance().goActSysNfDetail(activity, item);
-                break;
-        }
+       Jump2View.getInstance().onClickSystemNotification(activity, item);
     }
 }

+ 2 - 23
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -44,7 +44,6 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSONArray;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
-import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -66,11 +65,9 @@ import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.entity.RequestParamEty;
 import com.sheep.gamegroup.model.entity.RobTask;
 import com.sheep.gamegroup.model.entity.SlideshowEty;
-import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.module.home.adapter.AdpNotificationOfArrival;
 import com.sheep.gamegroup.presenter.SmallSheepContract;
 import com.sheep.gamegroup.presenter.SmallSheepPresenter;
 import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
@@ -98,6 +95,7 @@ import com.sheep.gamegroup.view.adapter.AdpHomeListListview;
 import com.sheep.gamegroup.view.adapter.AdpTryMakemoney;
 import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskList;
+import com.sheep.gamegroup.view.dialog.DialogNotificationOfArrival;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -1720,6 +1718,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                         if (entity != null && entity.getNum() > 0) {
                             ViewUtil.setVisibility(home_search_msg_tv, true);
                             ViewUtil.setText(home_search_msg_tv, entity.getNum());
+                            DialogNotificationOfArrival.checkNotificationOfArrivalList(activity);
                         } else {
                             ViewUtil.setVisibility(home_search_msg_tv, false);
                         }
@@ -1732,24 +1731,4 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
 
     }
 
-    private RecyclerView home_page_notice_rv;
-    private List<SystemNotification> systemNotificationList = new ArrayList<>();
-    private void showNotificationOfArrivalList(List<SystemNotification> notificationList){
-        if(ListUtil.isEmpty(notificationList)){
-            return;
-        }
-        if(home_page_notice_rv == null){
-            home_page_notice_rv = findViewById(R.id.home_page_notice_rv);
-        }
-        systemNotificationList.clear();
-        systemNotificationList.addAll(notificationList);
-        if(home_page_notice_rv.getAdapter() == null){
-            home_page_notice_rv.setLayoutManager(new LinearLayoutManager(getContext()));
-            AdpNotificationOfArrival adapter = new AdpNotificationOfArrival(systemNotificationList);
-            adapter.bindToRecyclerView(home_page_notice_rv);
-        } else {
-            home_page_notice_rv.getAdapter().notifyDataSetChanged();
-        }
-        //TODO 用声音提示用户有到账信息
-    }
 }

+ 1 - 1
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -479,6 +479,7 @@ public class SheepApp extends MultiDexApplication {
             }
             if (mActivityCount == 0) {
                 LogUtil.println("SheepApp onActivityDestroyed", activity.getClass().getSimpleName(), mActivityCount);
+                TextToSpeechUtil.stopTTS();
                 DataUtil.getInstance().resetIsNewSmallSheep();
                 stopService(new Intent(SheepApp.this, DownloadService.class));
 //                if (DataUtil.IS_LISTEN_SCREEN_SHOT) {
@@ -502,7 +503,6 @@ public class SheepApp extends MultiDexApplication {
             activityRef.clear();
             activityRef = null;
         }
-        TextToSpeechUtil.stopTTS();
         try {
             OkDownload.with().downloadDispatcher().cancelAll();
         } catch (Exception ignore) {

+ 2 - 0
app/src/main/java/org/afinal/simplecache/ApiKey.java

@@ -78,6 +78,8 @@ public class ApiKey {
     public static final String recharge_log = "app/user/recharge_log";
     //收支明细、消费记录
     public static final String withdraw = "app/withdraw";
+    //消息中心列表
+    public static final String system_notification = "app/message/system_notification/";
 
     public static final String getPackageVersion(String package_name, String type, int version){
         return String.format(Locale.CHINA, "%s?package_name=%s&type=%s&version=%d", getPackageVersion, package_name, type, version);

+ 9 - 6
app/src/main/res/layout/act_my_money.xml

@@ -9,8 +9,7 @@
     <com.scwang.smartrefresh.layout.SmartRefreshLayout
         android:id="@+id/refresh"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_marginTop="@dimen/status_bar_height">
+        android:layout_height="match_parent">
 
         <android.support.v4.widget.NestedScrollView
             android:id="@+id/scrollView"
@@ -34,6 +33,7 @@
                     android:layout_height="wrap_content">
 
                     <ImageView
+                        android:id="@+id/act_my_money_bg_iv"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="30dp"
@@ -45,8 +45,8 @@
                         android:id="@+id/act_my_money_top_v"
                         android:layout_width="match_parent"
                         android:layout_height="?attr/actionBarSize"
-                        app:layout_constraintTop_toTopOf="parent"
-                        android:background="@color/white_light" />
+                        android:layout_marginTop="@dimen/status_bar_height"
+                        app:layout_constraintTop_toTopOf="parent" />
 
                     <TextView
                         android:id="@+id/my_money_recharge_tv"
@@ -168,9 +168,12 @@
 
                             <ImageView
                                 android:id="@+id/my_money_dingxiang_amount_iv"
-                                android:layout_width="35dp"
+                                android:layout_width="19dp"
                                 android:layout_height="35dp"
-                                android:padding="10dp"
+                                android:paddingTop="10dp"
+                                android:paddingBottom="10dp"
+                                android:paddingEnd="2dp"
+                                android:paddingStart="2dp"
                                 android:src="@mipmap/question_mark" />
                         </LinearLayout>
 

+ 1 - 6
app/src/main/res/layout/homepage_act_layout.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/home_root_rl"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/white"
@@ -183,10 +184,4 @@
         layout="@layout/view_float_title_card"
         android:visibility="visible" />
 
-    <android.support.v7.widget.RecyclerView
-        android:id="@+id/home_page_notice_rv"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_below="@id/to_search_but_rl"
-        android:layout_marginTop="12dp" />
 </RelativeLayout>

+ 13 - 3
app/src/main/res/layout/item_notification_of_arrival.xml

@@ -8,19 +8,29 @@
     android:background="@drawable/shape_white80_solid_rectangle_14">
 
     <ImageView
+        android:id="@+id/item_notification_iv"
         android:layout_width="20dp"
         android:layout_height="wrap_content"
         android:adjustViewBounds="true"
         android:scaleType="fitXY"
-        android:src="@mipmap/ic_yuan_bao" />
+        android:src="@mipmap/ic_yuan_bao"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 
     <TextView
         android:id="@+id/item_noa_tv"
-        android:layout_width="match_parent"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginTop="100dp"
+        android:layout_marginStart="8dp"
+        android:ellipsize="end"
+        android:gravity="center_vertical"
+        android:singleLine="true"
         android:text="@string/get_money_x_yuan"
         android:textColor="#ff333333"
         android:textSize="12sp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toEndOf="@id/item_notification_iv"
         app:layout_constraintTop_toTopOf="parent" />
 </android.support.constraint.ConstraintLayout>