liujiangyao лет назад: 7
Родитель
Сommit
eeebfdf71a

+ 42 - 13
app/src/main/java/com/kfzs/duanduan/fragment/FgtFind.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.os.Bundle;
 import android.support.design.widget.TabLayout;
 import android.support.v4.view.ViewPager;
+import android.text.TextUtils;
 
 import com.kfzs.duanduan.BaseCompatFragment;
 import com.kfzs.duanduan.mine.GiftpackListAdapter;
@@ -12,6 +13,7 @@ import com.sheep.gamegroup.model.entity.FindTag;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -24,6 +26,7 @@ import java.util.List;
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
 import rx.schedulers.Schedulers;
 
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_TAG;
@@ -35,6 +38,7 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_TAG;
  */
 public class FgtFind extends BaseCompatFragment {
     private Activity activity;
+
     @Override
     protected void initView(Bundle savedInstanceState) {
         setContentView(R.layout.fgt_find);
@@ -49,7 +53,10 @@ public class FgtFind extends BaseCompatFragment {
     @BindView(R.id.pager)
     ViewPager pager;
 
+    private int awaken_on;//1显示
+
     private GiftpackListAdapter mAdapter;
+
     private void initView() {
         mAdapter = new GiftpackListAdapter(getFragmentManager(), SheepApp.getInstance());
         mAdapter.add(FgtFindChild.newInstance(0), "全部");
@@ -74,29 +81,32 @@ public class FgtFind extends BaseCompatFragment {
         });
         CommonUtil.getInstance().reflex(indicator, activity);
     }
+
     private void initData() {
         //尝试获取缓存数据
         List<FindTag> newList = DataUtil.getInstance().getCacheList(ApiKey.articles_tags, FindTag.class);
         loadList(newList);
         initNetData();
     }
+
     private int onResumeCount = 0;
+
     @Override
     public void onResume() {
         super.onResume();
-        if(list.isEmpty() && onResumeCount != 0)//非第一次时,并且没有数据时调用该接口
+        if (list.isEmpty() && onResumeCount != 0)//非第一次时,并且没有数据时调用该接口
             initNetData();
         onResumeCount++;
     }
 
-    private void initNetData(){
+    private void initNetData() {
         SheepApp.getInstance().getNetComponent().getApiService().getFindTagList()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        if(list.isEmpty()) {//无数据时加载网络获取的新数据,否则不加载新数据
+                        if (list.isEmpty()) {//无数据时加载网络获取的新数据,否则不加载新数据
                             List<FindTag> newList = baseMessage.getDatas(FindTag.class);
                             loadList(newList);
                         }
@@ -104,13 +114,14 @@ public class FgtFind extends BaseCompatFragment {
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                            G.showToast(baseMessage);
+                        G.showToast(baseMessage);
                     }
                 });
     }
+
     //没有添加数据返回true
-    private void loadList(List<FindTag> newList){
-        if(!ListUtil.isEmpty(newList)){
+    private void loadList(List<FindTag> newList) {
+        if (!ListUtil.isEmpty(newList)) {
             list.clear();
             ListUtil.addAll(list, newList);
             loadMore();
@@ -118,14 +129,32 @@ public class FgtFind extends BaseCompatFragment {
     }
 
     private List<FindTag> list = ListUtil.emptyList();
-    private void loadMore(){
-        for (FindTag findLabel : list) {
-            mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
-        }
-        mAdapter.notifyDataSetChanged();
-        CommonUtil.getInstance().reflex(indicator, activity);
-        pager.setCurrentItem(position);
+
+    private void loadMore() {
+
+        CommonUtil.getInstance().initUrlConfigByNet("awaken_on", new Action1<String>() {
+            @Override
+            public void call(String url) {
+                try {
+                    awaken_on = Integer.valueOf(url);
+                } catch (NumberFormatException e) {
+                    e.printStackTrace();
+                }
+
+                if (awaken_on == 1) {
+                    mAdapter.add(new FgtRouser(), "看点");
+                }
+                for (FindTag findLabel : list) {
+                    mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
+                }
+                mAdapter.notifyDataSetChanged();
+                CommonUtil.getInstance().reflex(indicator, activity);
+                pager.setCurrentItem(position);
+
+            }
+        });
     }
+
     private int position = 0;//默认选中第一个
 
 

+ 253 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtRouser.java

@@ -0,0 +1,253 @@
+package com.kfzs.duanduan.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.kfzs.duanduan.BaseCompatFragment;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.GlideImageLoader;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.MyGridview;
+import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
+import com.sheep.gamegroup.view.adapter.ArrayAdapter;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
+
+import org.afinal.simplecache.ApiKey;
+
+import java.net.URISyntaxException;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
+import rx.schedulers.Schedulers;
+
+/**
+ * 唤醒
+ * Created by ljy on 2018/8/22.
+ */
+
+public class FgtRouser extends BaseCompatFragment {
+
+    @BindView(R.id.title)
+    View title;
+    @BindView(R.id.refresh)
+    SwipeRefreshLayout refresh;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    @BindView(R.id.check_net_ll)
+    View check_net_ll;
+    @BindView(R.id.view_list)
+    RecyclerView view_list;
+
+    private Activity activity;
+    private List<RouserArticlesEntity> list = ListUtil.emptyList();
+    @Override
+    protected void initView(Bundle savedInstanceState) {
+
+        setContentView(R.layout.net_empty_fresh_list);
+        activity = getActivity();
+        ButterKnife.bind(this, mContentView);
+        initView();
+        initData();
+    }
+    private void initView(){
+        title.setVisibility(View.GONE);
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                refreshData();
+                refresh.setRefreshing(false);
+            }
+        });
+
+        view_list.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
+        view_list.setAdapter(new AdbCommonRecycler<RouserArticlesEntity>(SheepApp.getInstance(), list){
+
+            @Override
+            public int getItemViewType(int position) {
+                return position;
+            }
+            @Override
+            public int getViewIdByType(int type) {//type来源于 getItemViewType 返回的值
+                if(type == -1 + list.size()){
+                    return R.layout.find_item_bottom;
+                }
+                return R.layout.rouser_item;
+            }
+
+            @Override
+            public void convert(ViewHolder holder, final RouserArticlesEntity item) {
+                if(item == null){
+                    return;
+                }
+                View rootConvertView = holder.itemView;
+                View padding = rootConvertView.findViewById(R.id.padding);
+                padding.setVisibility(holder.getAdapterPosition() == 0 ? View.GONE : View.VISIBLE);
+                TextView gridview_item_tag_tv = (TextView)rootConvertView.findViewById(R.id.gridview_item_tag_tv);
+                final TextView item_name = (TextView)rootConvertView.findViewById(R.id.rouser_item_name);
+                TextView time_tv = (TextView)rootConvertView.findViewById(R.id.time_tv);
+                ImageView one_img_iv = (ImageView)rootConvertView.findViewById(R.id.one_img_iv);
+                MyGridview home_list_gridview_gv = (MyGridview)rootConvertView.findViewById(R.id.home_list_gridview_gv);
+                switch (item.getIdentifier()){
+                    default:
+                        gridview_item_tag_tv.setVisibility(View.GONE);
+                        break;
+                    case 2:
+                        gridview_item_tag_tv.setVisibility(View.VISIBLE);
+                        gridview_item_tag_tv.setText("火热");
+                        gridview_item_tag_tv.setBackgroundResource(R.drawable.shape_red_stroke_rectangle_10_radius);
+                        gridview_item_tag_tv.setTextColor(activity.getResources().getColor(R.color.red_FD2D54));
+                        break;
+                    case 3:
+                        gridview_item_tag_tv.setVisibility(View.VISIBLE);
+                        gridview_item_tag_tv.setText("最新");
+                        gridview_item_tag_tv.setBackgroundResource(R.drawable.shape_blue_stroke_rectangle_10_radius);
+                        gridview_item_tag_tv.setTextColor(activity.getResources().getColor(R.color.btn_color_main_stroke));
+                        break;
+                }
+
+                item_name.setText(item.getTitle()+"");
+                time_tv.setText(item.getContent()+"");
+                if (!TextUtils.isEmpty(item.getImg())) {
+                    final String[] images = item.getImg().split(";");
+                    String[] images1 = new String[3];
+                    if(images.length > 1){
+                        if(images.length > 3){
+                            for(int i=0;i<3;i++){
+                                images1[i] = images[i];
+                            }
+                        }
+                        one_img_iv.setVisibility(View.GONE);
+                        home_list_gridview_gv.setVisibility(View.VISIBLE);
+                        home_list_gridview_gv.setAdapter(new ArrayAdapter<String>(activity, R.layout.rouser_image_adp ,images1){
+                            @Override
+                            public boolean convert(int position, View convertView, ViewGroup parent, String item) {
+                                ImageView imageView = convertView.findViewById(R.id.item_image_iv);
+                                Glide.with(activity)
+                                        .load(item+"")
+                                        .apply(new RequestOptions().dontAnimate().override(G.WIDTH  /3, G.WIDTH  /3))
+                                        .into(imageView);
+                                return true;
+                            }
+                        });
+                    }else {
+                        one_img_iv.setVisibility(View.VISIBLE);
+                        home_list_gridview_gv.setVisibility(View.GONE);
+                        GlideImageLoader.setImage(one_img_iv, images[0]);
+                    }
+
+                }else {
+                    one_img_iv.setVisibility(View.GONE);
+                    home_list_gridview_gv.setVisibility(View.GONE);
+                }
+
+
+                //snssdk143://detail?groupid=6584333623434936835&gd_label=click_schema_hxhg15
+                rootConvertView.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        try {
+                            boolean isInstalled = PackageUtil.isAppInstalled(SheepApp.getInstance(), item.getPackage_name());
+                            if(!isInstalled && !BuildConfig.DEBUG){
+                                G.showToast("还未安装"+item.getApp_name());
+                                return;
+                            }
+
+                            String deeplink;
+                            if(BuildConfig.DEBUG){
+                                deeplink = "snssdk143://detail?groupid=6584333623434936835&gd_label=click_schema_hxhg15";
+                            }else {
+                                deeplink = item.getDeeplink()+"";
+                            }
+                            Intent intent = Intent.parseUri(deeplink, Intent.URI_INTENT_SCHEME);
+
+                            intent.setComponent(null);
+                            startActivity(intent);
+                            CommonUtil.getInstance().awakenDetail(item);
+                        } catch (URISyntaxException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+            }
+        });
+    }
+    public void initData(){
+        //先尝试获取缓存数据
+        List<RouserArticlesEntity> newList = DataUtil.getInstance().getCacheList(ApiKey.awakenApp(), RouserArticlesEntity.class);
+        loadList(newList);
+        refreshData();
+    }
+    public void refreshData(){
+        empty_view.setVisibility(View.INVISIBLE);
+        SysAppUtil.checkNet(new Action1<Integer>() {
+            @Override
+            public void call(Integer result) {
+                if(result != 0){//无网络
+                    if(check_net_ll != null)
+                        check_net_ll.setVisibility(View.VISIBLE);
+                } else {
+                    if(check_net_ll != null)
+                        check_net_ll.setVisibility(View.GONE);
+                }
+            }
+        });
+        SheepApp.getInstance().getNetComponent().getApiService().awakenApparticle(1, 100)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.awakenApp());
+                        if(isNewData) {
+                            List<RouserArticlesEntity> newList = baseMessage.getDatas(RouserArticlesEntity.class);
+                            loadList(newList);
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        notifyDataSetChanged();
+                    }
+                });
+    }
+
+    private void loadList(List<RouserArticlesEntity> newList){
+        if(!ListUtil.isEmpty(newList)){
+            list.clear();
+            ListUtil.addAll(list, newList);
+            if(!list.isEmpty())
+                list.add(null);//底部部分----我是有底线的
+            notifyDataSetChanged();
+        }
+    }
+
+    private void notifyDataSetChanged(){
+        CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
+        refresh.setRefreshing(false);
+        view_list.getAdapter().notifyDataSetChanged();
+    }
+}

+ 15 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -819,4 +819,19 @@ public interface ApiService {
      */
     @GET("app/accepted_task/static_audit")
     Observable<BaseMessage> staticAudit();
+    /**
+     * 唤醒业务APP列表
+     */
+    @GET("app/awaken/app")
+    Observable<BaseMessage> awakenApp(@Query("page") int page, @Query("per_page") int per_page);
+    /**
+     * 唤醒业务APP列表
+     */
+    @GET("app/awaken/article")
+    Observable<BaseMessage> awakenApparticle(@Query("page") int page, @Query("per_page") int per_page);
+    /**
+     * 唤醒业务打开app内容成功后回调
+     */
+    @POST("app/awaken/detail")
+    Observable<BaseMessage> awakenDetail(@Body JSONObject jsonObject);
 }

+ 154 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RouserArticlesEntity.java

@@ -0,0 +1,154 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/8/22.
+ */
+
+public class RouserArticlesEntity implements Serializable {
+    private int is_delete;//integer ($int32)软删除状态 1:已删除 2:正常
+    private int update_time;//integer ($int64)更新时间
+    private String img;//string宣传图 多张 ; 隔开
+    private String package_name;//string包名
+    private String deeplink;//string唤醒连接地址:deeplink
+    private int identifier;//integer ($int32)标识字样 0:无 1:!惊 2:火热 3:最新
+    private double price;//number ($double)单价
+    private String app_name;//stringapp名称
+    private int create_time;//integer ($int64)创建时间
+    private int awaken_apps_id;//integer ($int64)唤醒app id
+    private int status;//integer ($int32)状态 1:展示 2:未展示
+    private int is_force;//integer ($int32)是否强制 1:强制 2:不强制
+    private String title;//string标题
+    private String content;//string案
+    private int type;//integer ($int32)0:当日非活跃 ; 1-30:1~30日沉默
+    private int id;//integer ($int64)
+
+    public int getIs_delete() {
+        return is_delete;
+    }
+
+    public void setIs_delete(int is_delete) {
+        this.is_delete = is_delete;
+    }
+
+    public int getUpdate_time() {
+        return update_time;
+    }
+
+    public void setUpdate_time(int update_time) {
+        this.update_time = update_time;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public String getPackage_name() {
+        return package_name;
+    }
+
+    public void setPackage_name(String package_name) {
+        this.package_name = package_name;
+    }
+
+    public String getDeeplink() {
+        return deeplink;
+    }
+
+    public void setDeeplink(String deeplink) {
+        this.deeplink = deeplink;
+    }
+
+    public int getIdentifier() {
+        return identifier;
+    }
+
+    public void setIdentifier(int identifier) {
+        this.identifier = identifier;
+    }
+
+    public double getPrice() {
+        return price;
+    }
+
+    public void setPrice(double price) {
+        this.price = price;
+    }
+
+    public String getApp_name() {
+        return app_name;
+    }
+
+    public void setApp_name(String app_name) {
+        this.app_name = app_name;
+    }
+
+    public int getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(int create_time) {
+        this.create_time = create_time;
+    }
+
+    public int getAwaken_apps_id() {
+        return awaken_apps_id;
+    }
+
+    public void setAwaken_apps_id(int awaken_apps_id) {
+        this.awaken_apps_id = awaken_apps_id;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public int getIs_force() {
+        return is_force;
+    }
+
+    public void setIs_force(int is_force) {
+        this.is_force = is_force;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+}

+ 92 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RouserEntity.java

@@ -0,0 +1,92 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/8/22.
+ */
+
+public class RouserEntity implements Serializable {
+    private double DefaultPrice;//	number ($double)默认单价
+    private int CreateTime;//	integer ($int64)创建时间
+    private String Name;//	string应用名称
+    private String PackageName;//	string包名
+    private int UpdateTime;//	integer ($int64)更新时间
+    private String Icon;//	string应用图标ICON
+    private int Id;//	integer ($int64)
+
+    private String DowloadUrl;//	string应用下载地址
+    private RouserArticlesEntity articles;//	[awakenarticles{}]
+
+    public double getDefaultPrice() {
+        return DefaultPrice;
+    }
+
+    public void setDefaultPrice(double defaultPrice) {
+        DefaultPrice = defaultPrice;
+    }
+
+    public int getCreateTime() {
+        return CreateTime;
+    }
+
+    public void setCreateTime(int createTime) {
+        CreateTime = createTime;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getPackageName() {
+        return PackageName;
+    }
+
+    public void setPackageName(String packageName) {
+        PackageName = packageName;
+    }
+
+    public int getUpdateTime() {
+        return UpdateTime;
+    }
+
+    public void setUpdateTime(int updateTime) {
+        UpdateTime = updateTime;
+    }
+
+    public String getIcon() {
+        return Icon;
+    }
+
+    public void setIcon(String icon) {
+        Icon = icon;
+    }
+
+    public int getId() {
+        return Id;
+    }
+
+    public void setId(int id) {
+        Id = id;
+    }
+
+    public String getDowloadUrl() {
+        return DowloadUrl;
+    }
+
+    public void setDowloadUrl(String dowloadUrl) {
+        DowloadUrl = dowloadUrl;
+    }
+
+    public RouserArticlesEntity getArticles() {
+        return articles;
+    }
+
+    public void setArticles(RouserArticlesEntity articles) {
+        this.articles = articles;
+    }
+}

+ 34 - 3
app/src/main/java/com/sheep/gamegroup/usage/AppUsageManager.java

@@ -22,6 +22,7 @@ import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.model.entity.AppRecord;
 import com.sheep.gamegroup.model.entity.AppUsage;
 import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.model.entity.UserAssets;
 import com.sheep.gamegroup.model.util.AutoTaskListUtil;
 import com.sheep.gamegroup.util.ActivityManager;
 import com.sheep.gamegroup.util.ListUtil;
@@ -32,10 +33,14 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.TreeMap;
 
+import static android.content.Context.USAGE_STATS_SERVICE;
+
 /**
  * Created by realicing on 2018/6/27.
  * realicing@sina.com
@@ -132,7 +137,7 @@ public class AppUsageManager {
     public  boolean needOpenLookAppUsageStatsPermisson(boolean isSaveData){
         if(android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){   // 如果大于等于5.1 再做判断
             long time = System.currentTimeMillis();
-            UsageStatsManager usageStatsManager=(UsageStatsManager)SheepApp.getInstance().getSystemService(Service.USAGE_STATS_SERVICE);
+            UsageStatsManager usageStatsManager=(UsageStatsManager)SheepApp.getInstance().getSystemService(USAGE_STATS_SERVICE);
             List<UsageStats> queryUsageStats = usageStatsManager != null ? usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, 0, time) : null;
             boolean isEmpty = ListUtil.isEmpty(queryUsageStats);
             if(!isEmpty && isSaveData){
@@ -215,7 +220,7 @@ public class AppUsageManager {
     public long getTotalTimeInForeground(AppUsage appUsage) {
         String packageName = appUsage.getPackageName();
         if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){
-            UsageStatsManager mUsageStatsManager = (UsageStatsManager) SheepApp.getInstance().getSystemService(Context.USAGE_STATS_SERVICE);//usagestats
+            UsageStatsManager mUsageStatsManager = (UsageStatsManager) SheepApp.getInstance().getSystemService(USAGE_STATS_SERVICE);//usagestats
             long time = System.currentTimeMillis();
             if(mUsageStatsManager != null) {
                 List<UsageStats> usageStatsList = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, AutoTaskListUtil.getInstance().getReceiveTaskTime(), time);
@@ -290,7 +295,7 @@ public class AppUsageManager {
 
     public void println() {
         if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){
-            UsageStatsManager mUsageStatsManager = (UsageStatsManager) SheepApp.getInstance().getSystemService(Context.USAGE_STATS_SERVICE);//usagestats
+            UsageStatsManager mUsageStatsManager = (UsageStatsManager) SheepApp.getInstance().getSystemService(USAGE_STATS_SERVICE);//usagestats
             long time = System.currentTimeMillis();
             if(mUsageStatsManager != null) {
                 List<UsageStats> usageStatsList = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, AutoTaskListUtil.getInstance().getReceiveTaskTime(), time);
@@ -305,4 +310,30 @@ public class AppUsageManager {
             }
         }
     }
+
+    /**
+     * 获取应用最后使用时间
+     * 24*60*60*1000
+     */
+    public long getAppLastUseTime(String pakageName, long intervalTime){
+        if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){
+            Calendar calendar=Calendar.getInstance();
+            calendar.setTime(new Date());
+            long endt = calendar.getTimeInMillis();//结束时间
+            calendar.add(Calendar.DAY_OF_MONTH, -1);//时间间隔为一个月
+            long statt = calendar.getTimeInMillis();//开始时间
+            long time =System.currentTimeMillis()-intervalTime;
+            UsageStatsManager usageStatsManager=(UsageStatsManager) SheepApp.getInstance().getSystemService(USAGE_STATS_SERVICE);
+            //获取一个月内的信息
+            List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST,statt,endt);
+            if(queryUsageStats != null && queryUsageStats.size() > 0){
+                for(UsageStats usageStats: queryUsageStats){
+                    if(usageStats.getPackageName().equals(pakageName)){
+                        return usageStats.getLastTimeUsed();
+                    }
+                }
+            }
+        }
+        return 0;
+    }
 }

+ 41 - 0
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -42,6 +42,7 @@ import com.sheep.gamegroup.model.entity.GameAccountEntity;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
+import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
 import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskDescEntity;
 import com.sheep.gamegroup.model.entity.TaskEty;
@@ -1912,4 +1913,44 @@ public class CommonUtil {
         int padding = textView.getContext().getResources().getDimensionPixelSize(R.dimen.content_padding_2);
         textView.setPadding(4*padding, padding, 4*padding, padding);
     }
+
+    /**
+     * 唤醒业务打开app内容成功后回调
+     */
+    public void awakenDetail(RouserArticlesEntity item){
+        long longTime = AppUsageManager.getInstance().getAppLastUseTime(item.getPackage_name(),0);
+        int status = 2;
+        if(longTime <= 0){
+            status = 1;
+        }else {
+            for(int i=0;i<31;i++){
+                if(item.getType() == i){
+                    if (System.currentTimeMillis() - i * 24 * 60 * 60 * 1000 >longTime) {
+                        status = 2;
+                    } else {
+                        status = 1;
+                    }
+                }
+            }
+        }
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("awaken_articles_id", item.getId());
+        jsonObject.put("invitation_code", DataUtil.getInstance().getInvitationCode());
+        jsonObject.put("status",status);
+        SheepApp.getInstance().getNetComponent().getApiService().awakenDetail(jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+
+                    }
+                });
+    }
 }

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskListItemAdp.java

@@ -3,6 +3,7 @@ package com.sheep.gamegroup.view.adapter;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -89,7 +90,7 @@ public class TaskListItemAdp extends BaseAdapter {
             return convertView;
         }
         ViewUtil.setText(holder.name_tv, ety.getRelease_task().getName());
-        ViewUtil.setText(holder.date_tv, "提交时间:"+TimeUtil.getDate(TimeUtil.FORMAT, NumberFormatUtils.parseLong(ety.getUpdate_time())));
+        ViewUtil.setText(holder.date_tv, TimeUtil.getDate(TimeUtil.FORMAT, NumberFormatUtils.parseLong(ety.getUpdate_time())));
         String stateStr = "";
         if(ety.getStatus() == 3){
             stateStr = "+"+ ety.getRelease_task().getBonus() +"元";
@@ -99,7 +100,7 @@ public class TaskListItemAdp extends BaseAdapter {
             holder.price_tv.setTextColor(context.getResources().getColor(R.color.time_created));
         }
         holder.price_tv.setText(stateStr);
-        holder.desc_tv.setText(ety.getRemarks());
+        holder.desc_tv.setText(TextUtils.isEmpty(ety.getRemarks())?"":"失败原因:"+ety.getRemarks());
         convertView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -710,6 +710,8 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
      * @param taskReleaseEty
      */
     private void setCommonViewData(View itemView, TaskReleaseEty taskReleaseEty) {
+        if(!TextUtils.isEmpty(show_type))
+            from = 1;
         switch (from) {
             case 1://来自主页
                 TaskHelper.setTaskTypeText((TextView) itemView.findViewById(R.id.item_num_tv), taskReleaseEty);

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMainAudit.java

@@ -113,7 +113,7 @@ public class FgtMainAudit extends BaseCompatFragment {
     }
 
     private void new_tab(){
-//        indicator.newTab();
+        TabLayout.Tab tab = indicator.getTabAt(2);
         pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(indicator));
         indicator.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager));
         pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -339,6 +339,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                 notifyDataSetChanged();
             }
         }
+        refresh.setRefreshing(false);
     }
 
     @Override
@@ -347,6 +348,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             acceptedEtyList.clear();
             notifyDataSetChanged();
         }
+        refresh.setRefreshing(false);
     }
 
     /**

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

@@ -85,4 +85,9 @@ public class ApiKey {
         return key+"oldEqualsNew";
     }
 
+    //获取任务详情
+    public static String awakenApp(){
+        return "app/awaken/article";
+    }
+
 }

+ 8 - 0
app/src/main/res/layout/rouser_image_adp.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/item_image_iv"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:src="@drawable/icon">
+
+</ImageView>

+ 94 - 0
app/src/main/res/layout/rouser_item.xml

@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <View
+        android:id="@+id/padding"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/content_padding_10" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="@dimen/content_padding"
+        android:layout_marginStart="@dimen/content_padding"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:orientation="vertical"
+        android:paddingBottom="15dp"
+        android:paddingEnd="@dimen/content_padding"
+        android:paddingStart="@dimen/content_padding"
+        android:paddingTop="14dp">
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal">
+            <LinearLayout
+                android:id="@+id/content_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:layout_toLeftOf="@+id/one_img_iv">
+
+                <TextView
+                    android:id="@+id/gridview_item_tag_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="试玩"
+                    android:textSize="11sp"
+                    android:textColor="@color/black_6_3"
+                    android:padding="@dimen/content_padding_1"
+                    android:layout_toRightOf="@+id/linearlayout"
+                    android:layout_marginRight="@dimen/content_padding_3"/>
+                <TextView
+                    android:id="@+id/rouser_item_name"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/app_name"
+                    android:textColor="@color/black_6_3"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:textSize="15sp" />
+            </LinearLayout>
+            <TextView
+                android:id="@+id/time_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="@string/app_name"
+                android:textColor="#9B9B9B"
+                android:textSize="11sp"
+                android:layout_below="@+id/content_tv"
+                android:layout_toLeftOf="@+id/one_img_iv"
+                android:singleLine="true"
+                android:ellipsize="end"/>
+            <ImageView
+                android:id="@+id/one_img_iv"
+                android:layout_width="75dp"
+                android:layout_height="60dp"
+                android:src="@drawable/icon"
+                android:layout_alignParentRight="true"
+                android:visibility="gone"/>
+        </RelativeLayout>
+
+        <com.sheep.gamegroup.util.MyGridview
+            android:layout_marginTop="@dimen/content_padding_13"
+            android:id="@+id/home_list_gridview_gv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:scrollbars="none"
+            android:numColumns="3"
+            android:listSelector="@color/transparent"
+            android:verticalSpacing="@dimen/content_padding_5"
+            android:horizontalSpacing="@dimen/content_padding_5"
+            android:layout_marginBottom="@dimen/content_padding_5"/>
+
+    </LinearLayout>
+
+</LinearLayout>

+ 2 - 1
app/src/main/res/layout/title.xml

@@ -32,6 +32,7 @@
     <!--右边按钮-->
 
     <RelativeLayout
+        android:id="@+id/btn_baseactivity_right_layout"
         android:layout_width="@dimen/app_nav_toolbar_height"
         android:layout_height="@dimen/app_nav_toolbar_height"
         android:layout_alignParentRight="true"
@@ -81,7 +82,7 @@
         android:background="@color/translate"
         android:gravity="center"
         android:minWidth="?attr/actionBarSize"
-        android:layout_toLeftOf="@+id/ibtn_baseactivity_right"
+        android:layout_toLeftOf="@+id/btn_baseactivity_right_layout"
         android:visibility="gone"/>
 
     <TextView

+ 1 - 1
app/src/main/res/layout/try_makemoney_item_recommend.xml

@@ -80,7 +80,7 @@
             android:gravity="center"
             android:text="+10元"
             android:textColor="@color/txt_red"
-            android:textSize="20sp"
+            android:textSize="15sp"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 

+ 2 - 2
gradle.properties

@@ -17,8 +17,8 @@
 # org.gradle.parallel=true
 #android.injected.build.model.only.versioned = 3
 
-VERSION_NAME=2.9.6
-VERSION_CODE=2009006
+VERSION_NAME=3.0.0
+VERSION_CODE=3000000
 ANDROID_COMPILE_SDK_VERSION=27
 ANDROID_BUILD_TOOLS_VERSION=27.0.2
 ANDROID_MIN_SDK_VERSION=18