Преглед на файлове

Merge remote-tracking branch 'origin/sheep_develop' into sheep_develop

# Conflicts:
#	app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
zengjiebin преди 7 години
родител
ревизия
20dbc03536
променени са 28 файла, в които са добавени 962 реда и са изтрити 31 реда
  1. 1 1
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  2. 17 1
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  3. 3 3
      app/src/main/java/com/sheep/gamegroup/util/CertificationUtil.java
  4. 57 0
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  5. 2 2
      app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java
  6. 35 0
      app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java
  7. 13 0
      app/src/main/java/com/sheep/gamegroup/util/TimeUtil.java
  8. 10 0
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  9. 7 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActDownloadMgr.java
  10. 9 2
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  11. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailCreditCardAct.java
  12. 114 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdbMidong.java
  13. 65 2
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java
  14. 122 0
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogMidong.java
  15. 2 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment2.java
  16. 22 4
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtAskGetMoneyRank.java
  17. 11 9
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMiDong.java
  18. 5 3
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtRouser.java
  19. 9 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  20. 6 0
      app/src/main/res/drawable/shape_main_solid_rectangle_bottom.xml
  21. 185 0
      app/src/main/res/layout/adp_midong_item.xml
  22. 178 0
      app/src/main/res/layout/dialog_midong_detail.xml
  23. 13 1
      app/src/main/res/layout/fgt_askgetmoney_rank.xml
  24. 1 1
      app/src/main/res/layout/fgt_personalcenter_item_center_one.xml
  25. 3 1
      app/src/main/res/layout/item_hot_welfare.xml
  26. 67 0
      app/src/main/res/layout/taskdetail_mylistview_item.xml
  27. BIN
      app/src/main/res/mipmap-xhdpi/qr_code_taskdetail_zhanwei.png
  28. 4 0
      app/src/main/res/values/strings.xml

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

@@ -870,7 +870,7 @@ public interface ApiService {
      * 获取邀请用户排名
      */
     @GET("app/user/invitation_top")
-    Observable<BaseMessage> getInvitationTop(@Query("top") int top);//top默认为5,可以不传
+    Observable<BaseMessage> getInvitationTop(@Query("top") int top,@Query("start_time") long start_time,@Query("end_time") long end_time);//top默认为5,可以不传
 
     /**
      * 获取邀请用户进两月礼物发放记录

+ 17 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -28,7 +28,7 @@ public class TaskEty implements Serializable, IDownload {
     private String remarks;//private String string",
     private String task_name;//private String string",
     private String screenshots;//private String string",
-    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1002平台游戏,1003 腾讯游戏,1004 小米游戏
+    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1002平台游戏,1003 腾讯游戏,1004 小米游戏,1006 小程序(关联字段-qr_code)
     private int open_mode;//连续任务的打开方式 1:打开应用 2:H5内部 3:H5外部
     private String update_time;// 0
     private String icon;
@@ -42,6 +42,15 @@ public class TaskEty implements Serializable, IDownload {
     private List<TaskChild> child;
     private boolean can_download;//是否可以下载
     private int appointment_time;//预约时间
+    private String qr_code;//二维码地址
+
+    public String getQr_code() {
+        return qr_code;
+    }
+
+    public void setQr_code(String qr_code) {
+        this.qr_code = qr_code;
+    }
 
     public int getOpen_mode() {
         return open_mode;
@@ -635,4 +644,11 @@ public class TaskEty implements Serializable, IDownload {
                 return true;
         }
     }
+
+    /**
+     * 是否是小程序 1006
+     */
+    public boolean isApplet(){
+        return task_type == 1006;
+    }
 }

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/util/CertificationUtil.java

@@ -63,15 +63,15 @@ public class CertificationUtil {
 
             if (TextUtils.isEmpty(ext)) {
                 intent.putExtra(context.getString(R.string.kfzs_duanduan_datashare_package_extras), "");
-            } else {
+            } else if("cancel".equals(ext)){
+                intent.putExtra(context.getString(com.kfzs.duanduan.datashare.R.string.kfzs_duanduan_datashare_certification_cancel), "cancel");
+            }else  {
                 intent.putExtra(context.getString(R.string.kfzs_duanduan_datashare_package_extras), ext);
             }
             context.startActivity(intent);
             showCertificationErrorAndExitApp("", 100);
         } catch (Exception e) {
             e.printStackTrace();
-            LogUtil.logE("game_-packgename---认证失败");
-            Log.e("game_-packgename---认证失败"+packgeName,"");
             showCertificationErrorAndExitApp("认证失败", 100);
         }
     }

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

@@ -29,6 +29,7 @@ import com.arialyy.aria.core.download.DownloadTask;
 import com.arialyy.aria.core.inf.IEntity;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.mdad.sdk.mdsdk.AdManager;
+import com.mdad.sdk.mdsdk.common.AdData;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.alipay.PayResult;
 import com.sheep.gamegroup.event.BigEvent;
@@ -76,6 +77,7 @@ import com.umeng.socialize.media.UMWeb;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
+import org.afinal.simplecache.ACache;
 import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
 
@@ -84,8 +86,10 @@ import java.lang.reflect.Field;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.security.MessageDigest;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -2307,4 +2311,57 @@ public class CommonUtil {
             action1.call(friendAndAwardEntity);
 
     }
+
+    /**
+     * 获取时间
+     */
+    public long[] getLastMonth(){
+        Calendar c=Calendar.getInstance();
+        c.add(Calendar.MONTH, -1);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
+        int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);
+        c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), lastMonthMaxDay, 23, 59, 59);
+        //按格式输出
+        String endtime = sdf.format(c.getTime()); //上月最后一天
+        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-01  00:00:00");
+        String starttime = sdf2.format(c.getTime()); //上月第一天
+        try {
+            Date dateStart = sdf.parse(starttime);
+            Date datEnd = sdf.parse(endtime);
+            return new long[]{dateStart.getTime(), datEnd.getTime()};
+        }catch (Exception e){
+
+        }
+        return null;
+    }
+
+    /**
+     * 幂动btn赋值
+     * @param activity
+     * @param btnInstall
+     * @param data
+     */
+    public void setDownloadTvText(Context activity, TextView btnInstall, AdData data) {
+        if (PackageUtil.isAppInstalled(activity, data.getPackage_name())) {
+            btnInstall.setText("继续体验");
+        } else {
+            String downloadState = ACache.get(SheepApp.getInstance()).getAsString(String.format(Locale.CHINA, "%s%s", AdManager.class.getSimpleName(), data.getId()));
+            if (downloadState == null) {
+                btnInstall.setText("立即下载");
+            } else {
+                switch (downloadState) {
+                    case "onDownloadStart":
+                        btnInstall.setText("正在下载");
+                        break;
+                    case "onDownloadSuccess":
+                        btnInstall.setText("立即安装");
+                        break;
+                    case "onDownloadFail":
+                    default:
+                        btnInstall.setText("立即下载");
+                        break;
+                }
+            }
+        }
+    }
 }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java

@@ -138,7 +138,7 @@ public enum ConnectAddress {
                 String flavor = ConfigUtil.getInstance().getItem(0);//第一行填写connectAddress的名字
                 try {
                     return ConnectAddress.valueOf(flavor);
-                } catch (IllegalArgumentException e) {
+                } catch (Exception e) {
                     e.printStackTrace();
                 }
             }
@@ -146,7 +146,7 @@ public enum ConnectAddress {
         String flavor = TestUtil.isSheep() ? "sheep" : DataUtil.getAsString("flavor", BuildConfig.FLAVOR);
         try {
             return ConnectAddress.valueOf(flavor);
-        } catch (IllegalArgumentException e) {
+        } catch (Exception e) {
             e.printStackTrace();
         }
         return this;

+ 35 - 0
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -213,6 +213,36 @@ public class SysAppUtil {
         return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()
                 + "TB";
     }
+    public static String getFileFormatSize(double size) {
+        double kiloByte = size / 1024;
+        if (kiloByte < 1) {
+            return size + "Byte";
+        }
+
+        double megaByte = kiloByte / 1024;
+        if (megaByte < 1) {
+            BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));
+            return result1.setScale(2, BigDecimal.ROUND_HALF_UP)
+                    .toPlainString() + "K";
+        }
+
+        double gigaByte = megaByte / 1024;
+        if (gigaByte < 1) {
+            BigDecimal result2 = new BigDecimal(Double.toString(megaByte));
+            return result2.setScale(2, BigDecimal.ROUND_HALF_UP)
+                    .toPlainString() + "M";
+        }
+
+        double teraBytes = gigaByte / 1024;
+        if (teraBytes < 1) {
+            BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));
+            return result3.setScale(2, BigDecimal.ROUND_HALF_UP)
+                    .toPlainString() + "GB";
+        }
+        BigDecimal result4 = new BigDecimal(teraBytes);
+        return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()
+                + "TB";
+    }
     /**
      * 返回正确的UserAgent
      * @return
@@ -391,6 +421,11 @@ public class SysAppUtil {
      * @param ignoreMd5 用户手动时传null;进入主要界面时不要传null,传保存的忽略md5值,为空字符串时传""
      */
     public static void showVersionInfo(final Activity activity, final String ignoreMd5) {
+        /**
+         *游戏认证过来的不提示升级
+         */
+        if(!TextUtils.isEmpty(SheepApp.getInstance().getGamePackgeName()))
+            return;
         showVersionInfo(activity, ignoreMd5, null);
     }
 

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/util/TimeUtil.java

@@ -147,4 +147,17 @@ public class TimeUtil {
                  return (cal.getTime()).getTime();
              }
 
+    // 将Unix时间戳转变为日期,如调用TimeStampToDate("1252639886", "yyyy-MM-dd
+    // HH:mm:ss")返回值:2009-11-09 11:31:26
+
+    public String TimeStamp2Date(Long timestamp, String formats) {
+        String date = "";
+        try {
+            date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp));
+
+        } catch (NumberFormatException e) {
+
+        }
+        return date;
+    }
 }

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

@@ -48,6 +48,7 @@ import com.bumptech.glide.request.RequestOptions;
 import com.google.gson.Gson;
 import com.jcodecraeer.xrecyclerview.CustomFooterViewCallBack;
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
+import com.mdad.sdk.mdsdk.common.AdData;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.sheep.gamegroup.dateview.DatePickerDialog;
 import com.sheep.gamegroup.dateview.DateUtil;
@@ -66,6 +67,7 @@ import com.sheep.gamegroup.view.activity.SplashAct;
 import com.sheep.gamegroup.view.activity.TaskDetailAct;
 import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
 import com.sheep.gamegroup.view.dialog.DialogAddAccount;
+import com.sheep.gamegroup.view.dialog.DialogMidong;
 import com.sheep.gamegroup.view.dialog.DialogModifyAccount;
 import com.sheep.gamegroup.view.dialog.DialogOrienteeringDetails;
 import com.sheep.gamegroup.view.dialog.DialogPayAccount;
@@ -1389,6 +1391,14 @@ public class ViewUtil {
     public void showAddAccount(Activity activity, Action1<Integer> action1) {
         new DialogAddAccount(activity).showAddAccount(action1);
     }
+    /**
+     * 幂动详情diaolog
+     * @param activity
+     * @param action1
+     */
+    public void showMidongDialog(Activity activity, boolean isSign, final AdData data, Action1<Integer> action1) {
+        new DialogMidong(activity).showMidongDialog(isSign, data);
+    }
 
     public static void showShareDialog(final Activity activity, final String url, final String description){
         View dialog_parent = View.inflate(activity, R.layout.ask_to_share, null);

+ 7 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActDownloadMgr.java

@@ -418,6 +418,13 @@ public class ActDownloadMgr extends BaseActivity {
         }
         return df.format(fileDownloadSize) + "MB / " + fileTotalSize.intValue() + "MB";
     }
+    public static String strFormat(Context context, Double fileDownloadSize) {
+        DecimalFormat df = new DecimalFormat("######0.0");
+        if (fileDownloadSize == null) {
+            return context.getString(R.string.calculating);
+        }
+        return df.format(fileDownloadSize) + "MB" ;
+    }
 
     private void showDownloadTaskList(boolean isShow) {
         CommonUtil.getInstance().updateEmptyView(empty_view, !isShow);

+ 9 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -341,6 +341,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     break;
                 case 2:
                 case 1001://信用卡与畅思任务不考虑
+                case 1006://小程序
                     bottom_btn_layout.setVisibility(View.GONE);
                     break;
                 case 1000://连续任务
@@ -385,8 +386,14 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             } else {//有任务记录
                 switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1004 小米游戏任务
                     case 4://h5业务
-                        type = TASK_TYPE_H5;
-                        btnTaskItem.setText(START_TASK);
+                    case 1006://h5业务
+                        if(taskEty.getTask_type() == 1006){
+                            btnTaskItem.setVisibility(View.GONE);
+                        }else {
+                            type = TASK_TYPE_H5;
+                            btnTaskItem.setText(START_TASK);
+                        }
+
                         switch (gettaskAcceptedEty.getStatus()) {
                             case 1://"已接受任务";
                             case 2:// "正在进行中";

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

@@ -146,7 +146,7 @@ public class TaskDetailCreditCardAct extends AbsChooseImageActivity {
         nameTv.setText(taskReleaseEty.getName());
         priceTv.setText(String.format(Locale.CHINA, "+%s元", taskReleaseEty.getBonusText()));
         if(!taskReleaseEty.getDeadline().equals("永久")){
-            dateTv.setText(TimeUtil.TimeStamp2Date(Long.valueOf(taskReleaseEty.getDeadline()), "yyyy/MM/dd HH:mm"));
+            dateTv.setText(TimeUtil.newInstance().TimeStamp2Date(Long.valueOf(taskReleaseEty.getDeadline()), "yyyy/MM/dd HH:mm"));
         }else {
             dateTv.setText("截至日期:"+taskReleaseEty.getDeadline());
         }

+ 114 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdbMidong.java

@@ -0,0 +1,114 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.app.Activity;
+import android.content.Context;
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.mdad.sdk.mdsdk.AdManager;
+import com.mdad.sdk.mdsdk.common.AdData;
+import com.sheep.gamegroup.model.entity.AdDataSon;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
+
+import org.afinal.simplecache.ACache;
+
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Created by ljy on 2018/9/17.
+ */
+
+public class AdbMidong extends AdbCommonRecycler<AdDataSon> {
+    private Context context;
+    private boolean isSign = false;
+    public AdbMidong(Context context, List<AdDataSon> list) {
+        super(context, list);
+        this.context = context;
+    }
+
+    public void setSign(boolean isSign){
+        this.isSign = isSign;
+    }
+    @Override
+    public int getViewIdByType(int type) {
+        return R.layout.adp_midong_item;
+    }
+
+    @Override
+    public void convert(ViewHolder holder, AdDataSon adDataSon) {
+        final AdData data = adDataSon.getAdData();
+        if(data == null)
+            return;
+        TextView btnInstall = holder.itemView.findViewById(R.id.task_type_tv);
+        TextView tv_date = holder.itemView.findViewById(R.id.tv_date);
+        RelativeLayout task_top = holder.itemView.findViewById(R.id.task_top);
+        ViewUtil.setText((TextView) holder.itemView.findViewById(R.id.item_name_tv), data.getName());
+        Glide.with(context).load(data.getLogo()).into((ImageView) holder.itemView.findViewById(R.id.item_icon_iv));
+        try{
+            ViewUtil.setText((TextView) holder.itemView.findViewById(R.id.item_money), TextUtils.isEmpty(data.getSize())?"0":data.getSize() +"M");
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+        ViewUtil.setText(btnInstall, "安装");
+        if (!isSign) {
+            CommonUtil.getInstance().setDownloadTvText(context,btnInstall, data);
+        } else {
+            String todayTask = data.getDate();
+            if (todayTask != null && todayTask.equals(TimeUtil.newInstance().TimeStamp2Date(System.currentTimeMillis(), "yyyy-MM-dd"))) {
+                CommonUtil.getInstance().setDownloadTvText(context,btnInstall, data);
+                btnInstall.setEnabled(true);
+                btnInstall.setBackground(context.getResources().getDrawable(R.drawable.sp_bg_gradient_rectangle_blue));
+            } else {
+                btnInstall.setEnabled(false);
+                btnInstall.setText("时间还没到喔");
+                btnInstall.setBackground(context.getResources().getDrawable(R.drawable.sp_rectangle_bg_gray_radius));
+            }
+        }
+
+        if (!TextUtils.isEmpty(data.getTodayTask())) {
+            ((TextView) holder.itemView.findViewById(R.id.item_date_tv)).setText(Html.fromHtml(String.format(Locale.CHINA, "签到可获得<font color='#ff4a5f'>%s</font>", data.getPrice())));
+            tv_date.setText(data.getTodayTask());
+            if(TimeUtil.newInstance().big2Today(data.getTodayTask(), TimeUtil.FORMAT_DD_LINE)){
+                task_top.setEnabled(true);
+            }else {
+                task_top.setEnabled(false);
+            }
+            task_top.setVisibility(View.VISIBLE);
+        } else {
+            ((TextView) holder.itemView.findViewById(R.id.item_date_tv)).setText(Html.fromHtml(String.format(Locale.CHINA, "安装可获得<font color='#ff4a5f'>%s</font>", data.getPrice())));
+            task_top.setVisibility(View.GONE);
+        }
+
+        btnInstall.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View view) {
+                /**
+                 * 签到任务传1,非签到任务传0
+                 */
+                AdManager.getInstance(context).openOrDownLoadApps((Activity) context, data, isSign ? 1 : 0);
+            }
+        });
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                ViewUtil.newInstance().showMidongDialog((Activity) context, isSign, data, null);
+            }
+        });
+    }
+
+}

+ 65 - 2
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java

@@ -2,7 +2,10 @@ package com.sheep.gamegroup.view.adapter;
 
 import android.app.Activity;
 import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
 import android.support.annotation.NonNull;
+import android.support.constraint.ConstraintLayout;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
@@ -19,18 +22,26 @@ import com.bumptech.glide.request.RequestOptions;
 import com.sheep.gamegroup.model.entity.ScreenshotsEntity;
 import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskDescEntity;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
 import me.iwf.photopicker.PhotoPreview;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_SAVE;
+
 /**
  * Created by ljy on 2018/6/14.
  */
@@ -38,6 +49,7 @@ import me.iwf.photopicker.PhotoPreview;
 public class TaskdetailSonListviewAdp extends BaseAdapter {
     private List<TaskChild> descEntityArrayList;
     private Context context;
+    private TaskReleaseEty taskReleaseEty;
     int with;
 
     public TaskdetailSonListviewAdp(List<TaskChild> descEntityArrayList, Context context) {
@@ -46,6 +58,10 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
         with = G.WIDTH > G.HEIGHT ? G.HEIGHT / 3 - 50 :G.WIDTH / 3 - 50;
     }
 
+    public void addTaskEntity(TaskReleaseEty taskReleaseEty){
+        this.taskReleaseEty = taskReleaseEty;
+    }
+
     @Override
     public int getCount() {
         return descEntityArrayList== null? 0:descEntityArrayList.size();
@@ -82,6 +98,12 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
             holder.item_show_layout = convertView.findViewById(R.id.item_show_layout);
             holder.title_item_price_tv = convertView.findViewById(R.id.title_item_price_tv);
             holder.item_detail_show_layout = convertView.findViewById(R.id.item_detail_show_layout);
+
+            holder.ar_code_layout = convertView.findViewById(R.id.ar_code_layout);
+            holder.qr_code_iv = convertView.findViewById(R.id.qr_code_iv);
+            holder.qr_code_notice_tv = convertView.findViewById(R.id.qr_code_notice_tv);
+            holder.btn_task_item = convertView.findViewById(R.id.btn_task_item);
+
             convertView.setTag(holder);
         }
         final TaskChild descEntity = descEntityArrayList.get(position);
@@ -108,6 +130,8 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
             }
             holder.item_detail_show_layout.setBackgroundResource(R.drawable.sp_bg_white_solid_bottom);
         }
+        //task_type 1006
+        qrCodeView(holder.ar_code_layout,holder.btn_task_item,holder.qr_code_notice_tv,holder.qr_code_iv);
 
 
         if(descEntity.getScreenshotsList() != null && descEntity.getScreenshotsList().size() > 0){
@@ -237,10 +261,49 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
     }
 
     class ViewHolder{
-        TextView  title_item_tv, item_remaining_time_tv, title_item_price_tv, num_item_textview;
-        ImageView select_tab_iv;
+        TextView  title_item_tv, item_remaining_time_tv, title_item_price_tv, num_item_textview, btn_task_item, qr_code_notice_tv;
+        ImageView select_tab_iv, qr_code_iv;
         LinearLayout title_item_layout, taskdetail_screenshot_layout, item_show_layout, item_detail_show_layout;
         MyListview item_detail_listview;
         RecyclerView recycler_screenshot_view;
+        ConstraintLayout ar_code_layout;
+    }
+
+    /**
+     * 1006 小程序 item 显示
+     */
+    private void qrCodeView(View ar_code_layout, final View btn_task_item, View qr_code_notice_tv, View qr_code_iv){
+        //task_type 1006
+        if(taskReleaseEty == null || taskReleaseEty.getTask() == null || !taskReleaseEty.getTask().isApplet()){
+            ar_code_layout.setVisibility(View.GONE);
+        }else {
+
+            if(taskReleaseEty.isIs_running()){
+
+                GlideImageLoader.setGameImage((ImageView) qr_code_iv, taskReleaseEty.getTask().getQr_code());
+                btn_task_item.setVisibility(View.VISIBLE);
+                qr_code_notice_tv.setVisibility(View.GONE);
+                btn_task_item.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        QR_SAVE.onEvent();
+                        File file = ViewUtil.saveImage(btn_task_item, ClassFileHelper.DIR, System.currentTimeMillis() + ".jpg");
+                        if (file != null) {
+                            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
+                            Uri uri = Uri.fromFile(file);
+                            intent.setData(uri);
+                            context.sendBroadcast(intent); // 发送广播通知相册
+                        } else {
+                            ViewUtil.sysSaveImage(btn_task_item, "小绵羊", "二维码展示");
+                        }
+                        G.showToast("已保存");
+                    }
+                });
+            }else {
+                btn_task_item.setVisibility(View.GONE);
+                qr_code_notice_tv.setVisibility(View.VISIBLE);
+            }
+            ar_code_layout.setVisibility(View.VISIBLE);
+        }
     }
 }

+ 122 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogMidong.java

@@ -0,0 +1,122 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.Activity;
+import android.support.v7.app.AlertDialog;
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.mdad.sdk.mdsdk.AdManager;
+import com.mdad.sdk.mdsdk.common.AdData;
+import com.sheep.gamegroup.model.entity.GiftBagApp;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.StringUtils;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+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.ACache;
+
+import java.util.Locale;
+
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_DIALOG_COPY_CODE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_DIALOG_START_APP;
+
+/**
+ * Created by ljy on 2018/9/17.
+ */
+
+public class DialogMidong {
+    private static Activity activity;
+
+    public DialogMidong(Activity activity) {
+        this.activity = activity;
+    }
+
+    public void showMidongDialog( final boolean isSign, final AdData data) {
+        if(activity == null ||data == null)
+            return;
+        View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+        final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                .setView(dialog_parent)
+                .create();
+        TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+        View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+        LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+        dialog_center_ll.setPadding(0,0,0,0);
+        View view = LayoutInflater.from(activity).inflate(R.layout.dialog_midong_detail, dialog_center_ll, true);
+        dialog_title.setVisibility(View.GONE);
+
+        ImageView item_icon_iv = view.findViewById(R.id.item_icon_iv);
+        TextView item_num_tv = view.findViewById(R.id.item_num_tv);
+        TextView item_name_tv = view.findViewById(R.id.item_name_tv);
+        TextView item_date_tv = view.findViewById(R.id.item_date_tv);
+        TextView midong_remark_tv = view.findViewById(R.id.midong_remark_tv);
+        TextView midong_btn_tv = view.findViewById(R.id.midong_btn_tv);
+
+        ViewUtil.setText(item_name_tv, data.getName());
+
+        String description = data.getDescription();
+        if (TextUtils.isEmpty(description))
+            description = data.getSign_description();
+        if (TextUtils.isEmpty(description))
+            description = "";
+        ViewUtil.setText(midong_remark_tv, description);
+
+        Glide.with(activity).load(data.getLogo()).into(item_icon_iv);
+
+
+        if (!isSign) {
+            CommonUtil.getInstance().setDownloadTvText(activity,midong_btn_tv, data);
+         } else {
+           String todayTask = data.getDate();
+            if (todayTask != null && todayTask.equals(TimeUtil.newInstance().TimeStamp2Date(System.currentTimeMillis(), "yyyy-MM-dd"))) {
+                CommonUtil.getInstance().setDownloadTvText(activity,midong_btn_tv, data);
+                midong_btn_tv.setEnabled(true);
+                midong_btn_tv.setTextColor(activity.getResources().getColor(R.color.blue_34a6e7));
+            } else {
+                midong_btn_tv.setEnabled(false);
+                midong_btn_tv.setText("时间还没到喔");
+                midong_btn_tv.setTextColor(activity.getResources().getColor(R.color.white));
+            }
+        }
+        item_date_tv.setText((TextUtils.isEmpty(data.getSize())?"0":data.getSize() +"M"));
+        if (!TextUtils.isEmpty(data.getTodayTask())) {
+            item_num_tv.setText(Html.fromHtml(String.format(Locale.CHINA, "签到可获得<font color='#ff4a5f'>+%s</font>", data.getPrice())));
+        }else {
+            item_num_tv.setText(Html.fromHtml(String.format(Locale.CHINA, "安装可获得<font color='#ff4a5f'>+%s</font>", data.getPrice())));
+        }
+
+        midong_btn_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                /**
+                 * 签到任务传1,非签到任务传0
+                 */
+                AdManager.getInstance(activity).openOrDownLoadApps(activity, data, isSign ? 1 : 0);
+
+            }
+        });
+        dialog_close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dialog.dismiss();
+            }
+        });
+
+        try {
+            dialog.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+}

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

@@ -266,6 +266,8 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
             click_tv = findViewById(R.id.click_tv);
         if(empty_view == null)
             empty_view = findViewById(R.id.empty_view);
+        if(view_list == null)
+            view_list = findViewById(R.id.empty_view);
         loadMore = false;
         if(list.isEmpty()){
             refreshLayout.setVisibility(View.GONE);

+ 22 - 4
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtAskGetMoneyRank.java

@@ -64,6 +64,8 @@ public class FgtAskGetMoneyRank extends BaseFragment {
     RelativeLayout emptyView;
     @BindView(R.id.ask_top5_list)
     RecyclerView askTop5List;
+    @BindView(R.id.this_last_tv)
+    TextView this_last_tv;
 
     private Activity activity;
     private List<AskTop> list = ListUtil.emptyList();
@@ -89,7 +91,7 @@ public class FgtAskGetMoneyRank extends BaseFragment {
     public void initData() {
 //        showProgress();
 
-        initAskTop5();
+        initAskTop5(0, 0);
     }
 
     private void initAskTop5View() {
@@ -152,8 +154,9 @@ public class FgtAskGetMoneyRank extends BaseFragment {
         };
         askTop5List.setAdapter(adapter);
     }
-    private void initAskTop5() {
-        SheepApp.getInstance().getNetComponent().getApiService().getInvitationTop(5)
+    private long start_time, end_time;
+    private void initAskTop5(long start_time, long end_time) {
+        SheepApp.getInstance().getNetComponent().getApiService().getInvitationTop(5,start_time, end_time)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
@@ -163,6 +166,8 @@ public class FgtAskGetMoneyRank extends BaseFragment {
                         if (ListUtil.isEmpty(newList)) {
                             return;
                         }
+                        list.clear();
+                        list.add(null);
                         list.addAll(newList);
                         notifyDataSetChanged();
                         String userId = DataUtil.getInstance().getUserId();
@@ -207,13 +212,26 @@ public class FgtAskGetMoneyRank extends BaseFragment {
     }
 
 
-    @OnClick({R.id.ask_top3_tip
+    @OnClick({R.id.ask_top3_tip,R.id.this_last_tv
     })
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.ask_top3_tip://提现
                 showAstTop5Tip();
                 break;
+            case R.id.this_last_tv://
+                if(this_last_tv.getText().equals(activity.getResources().getString(R.string.last_this_month_rank))){//查上月
+                    this_last_tv.setText(activity.getResources().getString(R.string.this_month_rank));
+                    long[] longs = CommonUtil.getInstance().getLastMonth();
+                    start_time = longs[0];
+                    end_time = longs[1];
+                }else {//查本月
+                    start_time = 0;
+                    end_time = 0;
+                    this_last_tv.setText(activity.getResources().getString(R.string.last_this_month_rank));
+                }
+                initAskTop5(start_time,end_time);
+                break;
         }
     }
 }

+ 11 - 9
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMiDong.java

@@ -20,7 +20,7 @@ import com.sheep.gamegroup.model.entity.AdDataSon;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
-import com.sheep.gamegroup.view.adapter.AdListAdapter;
+import com.sheep.gamegroup.view.adapter.AdbMidong;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -50,7 +50,7 @@ public class FgtMiDong extends BaseFragment {
     RecyclerView recyclerview;
     private int type;
     private Activity activity;
-    private AdListAdapter adListAdapter;
+    private AdbMidong adListAdapter;
     private int pageNo = 1;
     private int pageSize = 30;
     private List<AdDataSon> listData = ListUtil.emptyList();
@@ -72,12 +72,14 @@ public class FgtMiDong extends BaseFragment {
             type = bundle.getInt("type", 0);
         }
     }
+
     Unbinder unbinder;
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         // TODO: inflate a fragment view
         View rootView = super.onCreateView(inflater, container, savedInstanceState);
-        if(rootView != null)
+        if (rootView != null)
             unbinder = ButterKnife.bind(this, rootView);
         return rootView;
     }
@@ -115,7 +117,7 @@ public class FgtMiDong extends BaseFragment {
          * recycle view
          */
         recyclerview.setLayoutManager(new LinearLayoutManager(activity));
-        adListAdapter = new AdListAdapter(activity, listData);
+        adListAdapter = new AdbMidong(activity, listData);
         recyclerview.setAdapter(adListAdapter);
 
         /**
@@ -150,9 +152,9 @@ public class FgtMiDong extends BaseFragment {
                 }
             }
         });
-        try{
+        try {
             loadData(false, isRefresh);
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             new Handler().postDelayed(new Runnable() {
                 @Override
@@ -192,14 +194,14 @@ public class FgtMiDong extends BaseFragment {
                             listData.add(adDataSon);
                         }
 //                        listData.addAll((Collection<? extends AdDataSon>) list);
-                        adListAdapter.setData(listData);
+//                        adListAdapter.setData(listData);
                     }
                     notifyDataSetChanged();
                 }
 
                 @Override
                 public void onLoadAdFailure() {
-                    if(refresh_init_false == 1){
+                    if (refresh_init_false == 1) {
                         initData(isRefresh);
                     }
                     refresh_init_false++;
@@ -235,7 +237,7 @@ public class FgtMiDong extends BaseFragment {
                             adDataSon.setAdData(adData);
                             listData.add(adDataSon);
                         }
-                        adListAdapter.setData(listData);
+//                        adListAdapter.setData(listData);
                         adListAdapter.setSign(true);
                     } else {
                         if (isRefresh)

+ 5 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtRouser.java

@@ -281,13 +281,15 @@ public class FgtRouser extends BaseFragment {
                         boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.awakenApp());
                         if(isNewData) {
                             List<RouserArticlesEntity> newList = baseMessage.getDatas(RouserArticlesEntity.class);
+                            List<RouserArticlesEntity> newLists = new ArrayList<>();
+                            newLists.clear();
                             for(RouserArticlesEntity r: newList){
                                 boolean isInstalled = PackageUtil.isAppInstalled(SheepApp.getInstance(), r.getPackage_name());
-                                if(!isInstalled){
-                                    newList.remove(r);
+                                if(isInstalled){
+                                    newLists.add(r);
                                 }
                             }
-                            loadList(newList);
+                            loadList(newLists);
                         }
                     }
 

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

@@ -6,13 +6,16 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.support.multidex.MultiDex;
 import android.support.multidex.MultiDexApplication;
+import android.text.TextUtils;
 import android.util.DisplayMetrics;
+import android.util.Log;
 
 import com.arialyy.aria.core.Aria;
 import com.baidu.location.BDAbstractLocationListener;
 import com.baidu.location.BDLocation;
 import com.baidu.location.LocationClient;
 import com.baidu.location.LocationClientOption;
+import com.sheep.gamegroup.util.CertificationUtil;
 import com.sheep.gamegroup.util.ConfigUtil;
 import com.sheep.gamegroup.di.components.DaggerNetComponent;
 import com.sheep.gamegroup.di.components.NetComponent;
@@ -28,7 +31,9 @@ import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.ScreenShotListenManager;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.activity.ActBindMobileRegister;
 import com.sheep.gamegroup.view.activity.ActMain;
+import com.sheep.gamegroup.view.activity.GameCertificationActivity;
 import com.sheep.gamegroup.view.activity.LoginAct;
 import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.service.FloatService;
@@ -386,6 +391,10 @@ public class SheepApp extends MultiDexApplication {
 
         @Override
         public void onActivityDestroyed(Activity activity) {
+            Log.e("act_destroy_----", "in");
+            if(!TextUtils.isEmpty(gamePackgeName) && (activity instanceof GameCertificationActivity ||activity instanceof LoginAct ||activity instanceof ActBindMobileRegister)){
+                CertificationUtil.newInstance().doCertification(activity, gamePackgeName, "cancel");
+            }
             if(mActivityCount == 0) {
                 LogUtil.println("SheepApp onActivityDestroyed", mActivityCount);
                 DataUtil.getInstance().resetIsNewSmallSheep();

+ 6 - 0
app/src/main/res/drawable/shape_main_solid_rectangle_bottom.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:bottomLeftRadius="18dp" android:bottomRightRadius="18dp" />
+    <solid android:color="#ffebebeb" />
+</shape>

+ 185 - 0
app/src/main/res/layout/adp_midong_item.xml

@@ -0,0 +1,185 @@
+<?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">
+
+    <RelativeLayout
+        android:id="@+id/task_top"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:orientation="horizontal"
+        android:visibility="gone">
+
+        <ImageView
+            android:id="@+id/item_title_iv"
+            android:layout_width="@dimen/content_padding_20"
+            android:layout_height="@dimen/content_padding_20"
+            android:layout_marginStart="12dp"
+            android:src="@mipmap/task_ing_icon"
+            android:visibility="gone"/>
+
+        <TextView
+            android:id="@+id/tv_date"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/content_padding_20"
+            android:layout_marginEnd="12dp"
+            android:gravity="center_vertical"
+            android:layout_marginStart="@dimen/content_padding_small"
+            android:layout_toEndOf="@+id/item_title_iv"
+            android:text="进行中"
+            android:textColor="@color/black"
+            android:textSize="15sp" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_marginTop="33dp"
+            android:background="@color/gray_F0F0F0" />
+    </RelativeLayout>
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="12dp"
+        android:layout_marginStart="12dp"
+        android:layout_marginTop="@dimen/content_padding_10">
+
+        <ImageView
+            android:id="@+id/item_icon_iv"
+            android:layout_width="70dp"
+            android:layout_height="70dp"
+            android:src="@drawable/icon_lj"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+
+        <LinearLayout
+            android:id="@+id/item_name_tv_ll"
+            android:layout_width="0dp"
+            android:layout_height="70dp"
+            android:layout_marginStart="@dimen/content_padding"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toStartOf="@+id/task_type_tv"
+            app:layout_constraintStart_toEndOf="@+id/item_icon_iv">
+
+            <TextView
+                android:id="@+id/item_name_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:ellipsize="middle"
+                android:gravity="start"
+                android:maxLines="2"
+                android:text=""
+                android:textColor="#444444"
+                android:textSize="14sp" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="3" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/item_num_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp" />
+
+                <TextView
+                    android:id="@+id/item_num_tv1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/content_padding"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp"
+                    android:visibility="gone" />
+                <TextView
+                    android:id="@+id/item_num_tv2"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/content_padding"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp"
+                    android:visibility="gone" />
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1" />
+
+            <LinearLayout
+                android:id="@+id/item_date_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/content_padding_8"
+                android:layout_marginTop="@dimen/content_padding_2"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/item_date_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:lines="1"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp" />
+
+                <ImageView
+                    android:id="@+id/item_date_question_img"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:src="@mipmap/task_game_qustion_icon"
+                    android:visibility="gone"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toEndOf="@+id/item_date_tv" />
+            </LinearLayout>
+        </LinearLayout>
+
+
+        <TextView
+            android:id="@+id/task_type_tv"
+            style="@style/style_button_find"
+            android:text="安 装"
+            android:visibility="visible"
+            android:layout_marginTop="5dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/item_money"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text=""
+            android:textColor="@color/black_999999"
+            android:textSize="15sp"
+            android:layout_marginBottom="5dp"
+            app:layout_constraintBottom_toBottomOf="@+id/item_icon_iv"
+            app:layout_constraintStart_toStartOf="@+id/task_type_tv"
+            app:layout_constraintEnd_toEndOf="@+id/task_type_tv"/>
+    </android.support.constraint.ConstraintLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/content_padding_10"/>
+    <View
+        android:id="@+id/line_tv"
+        android:layout_width="match_parent"
+        android:layout_height="0.5dp"
+        android:layout_marginEnd="12dp"
+        android:layout_marginStart="12dp"
+        android:background="@color/gray_F0F0F0" />
+</LinearLayout>

+ 178 - 0
app/src/main/res/layout/dialog_midong_detail.xml

@@ -0,0 +1,178 @@
+<?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="match_parent"
+    android:orientation="vertical">
+
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="22dp"
+        android:layout_marginStart="22dp"
+        android:layout_marginTop="@dimen/content_padding_10">
+
+        <ImageView
+            android:id="@+id/item_icon_iv"
+            android:layout_width="70dp"
+            android:layout_height="70dp"
+            android:src="@drawable/icon_lj"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+
+        <LinearLayout
+            android:id="@+id/item_name_tv_ll"
+            android:layout_width="0dp"
+            android:layout_height="70dp"
+            android:layout_marginStart="@dimen/content_padding"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toStartOf="@+id/task_type_tv"
+            app:layout_constraintStart_toEndOf="@+id/item_icon_iv">
+
+            <TextView
+                android:id="@+id/item_name_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:ellipsize="middle"
+                android:gravity="start"
+                android:maxLines="2"
+                android:text=""
+                android:textColor="#444444"
+                android:textSize="14sp" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="3" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/item_num_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp" />
+
+                <TextView
+                    android:id="@+id/item_num_tv1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/content_padding"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp"
+                    android:visibility="gone" />
+
+                <TextView
+                    android:id="@+id/item_num_tv2"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/content_padding"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp"
+                    android:visibility="gone" />
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1" />
+
+            <LinearLayout
+                android:id="@+id/item_date_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/content_padding_8"
+                android:layout_marginTop="@dimen/content_padding_2"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/item_date_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:lines="1"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp" />
+
+                <ImageView
+                    android:id="@+id/item_date_question_img"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:src="@mipmap/task_game_qustion_icon"
+                    android:visibility="gone"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toEndOf="@+id/item_date_tv" />
+            </LinearLayout>
+        </LinearLayout>
+
+
+        <TextView
+            android:id="@+id/task_type_tv"
+            style="@style/style_button_find"
+            android:layout_marginTop="5dp"
+            android:text="安 装"
+            android:visibility="gone"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/item_money"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="5dp"
+            android:gravity="center"
+            android:text=""
+            android:textColor="@color/black_999999"
+            android:textSize="15sp"
+            app:layout_constraintBottom_toBottomOf="@+id/item_icon_iv"
+            app:layout_constraintEnd_toEndOf="@+id/task_type_tv"
+            app:layout_constraintStart_toStartOf="@+id/task_type_tv"
+            android:visibility="invisible"/>
+    </android.support.constraint.ConstraintLayout>
+
+    <TextView
+        android:id="@+id/midong_remark_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text=""
+        android:textColor="@color/black_999999"
+        android:layout_marginEnd="22dp"
+        android:layout_marginStart="22dp"
+        android:textSize="15sp"
+        android:layout_marginTop="@dimen/content_padding_15"
+        android:layout_marginBottom="@dimen/content_padding_15"/>
+
+    <TextView
+        android:id="@+id/midong_notice_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textColor="@color/blue_34a6e7"
+        android:layout_marginEnd="22dp"
+        android:layout_marginStart="22dp"
+        android:textSize="10sp"
+        android:text="小提示:安装一周不卸载。每日签到任务赚更多"
+        android:layout_marginBottom="@dimen/content_padding_20"/>
+
+    <TextView
+        android:id="@+id/midong_btn_tv"
+        android:layout_width="match_parent"
+        android:layout_height="54dp"
+        android:text="下载"
+        android:textSize="20sp"
+        android:gravity="center"
+        android:textColor="@color/blue_34a6e7"
+        android:padding="@dimen/dp_10"
+        android:background="@drawable/shape_main_solid_rectangle_bottom"
+        android:layout_gravity="bottom"/>
+
+</LinearLayout>

+ 13 - 1
app/src/main/res/layout/fgt_askgetmoney_rank.xml

@@ -9,8 +9,20 @@
     android:paddingStart="@dimen/content_padding_10">
 
     <TextView
-        android:id="@+id/ask_top5_title"
+        android:id="@+id/this_last_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/last_this_month_rank"
+        android:textColor="#FFD269"
         app:layout_constraintTop_toTopOf="parent"
+        android:paddingTop="@dimen/content_padding_10"
+        app:layout_constraintEnd_toEndOf="@+id/ask_top3_tip"
+        android:paddingEnd="3dp"
+        android:autoLink="all"/>
+
+    <TextView
+        android:id="@+id/ask_top5_title"
+        app:layout_constraintTop_toBottomOf="@+id/this_last_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:paddingBottom="@dimen/content_padding_10"

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

@@ -72,7 +72,7 @@
     <LinearLayout
         android:id="@+id/proxy_service_layout"
         style="@style/style_item_container"
-        android:visibility="visible">
+        android:visibility="gone">
 
         <ImageView
             style="@style/style_item_img"

+ 3 - 1
app/src/main/res/layout/item_hot_welfare.xml

@@ -19,12 +19,14 @@
     <TextView
         android:id="@+id/item_hot_welfare_tv"
         android:layout_width="wrap_content"
+        android:maxWidth="90dp"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="12dp"
         android:ellipsize="end"
         android:textColor="#333333"
         android:textSize="12sp"
+        android:gravity="center"
         android:lines="1"
-        android:text="1234"/>
+        android:text=""/>
 </LinearLayout>

+ 67 - 0
app/src/main/res/layout/taskdetail_mylistview_item.xml

@@ -1,5 +1,6 @@
 <?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="match_parent"
     android:orientation="vertical"
@@ -114,6 +115,72 @@
                 android:scrollbars="none" />
         </LinearLayout>
 
+        <android.support.constraint.ConstraintLayout
+            android:id="@+id/ar_code_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="@dimen/content_padding_15"
+            android:visibility="gone">
+
+            <TextView
+                android:id="@+id/qr_code_blue_line"
+                android:layout_width="4dp"
+                android:layout_height="wrap_content"
+                android:background="@color/blue_FF53BBF2"
+                android:text="1"
+                android:textColor="@color/blue_FF53BBF2"
+                android:textSize="@dimen/text_size_2"
+                app:layout_constraintBottom_toBottomOf="@+id/qr_code_tv"
+                app:layout_constraintTop_toTopOf="@+id/qr_code_tv" />
+
+            <TextView
+                android:id="@+id/qr_code_tv"
+                style="@style/txt_style_15_323232"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/content_padding_15"
+                android:text="二维码"
+                app:layout_constraintStart_toEndOf="@+id/qr_code_blue_line" />
+
+            <ImageView
+                android:id="@+id/qr_code_iv"
+                android:layout_width="@dimen/view_size_80"
+                android:layout_height="@dimen/view_size_80"
+                android:layout_marginTop="@dimen/content_padding_18"
+                android:src="@mipmap/qr_code_taskdetail_zhanwei"
+                app:layout_constraintStart_toStartOf="@+id/qr_code_tv"
+                app:layout_constraintTop_toBottomOf="@+id/qr_code_tv" />
+
+            <TextView
+                android:id="@+id/btn_task_item"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/content_padding_15"
+                android:background="@drawable/selector_button_full_main"
+                android:gravity="center"
+                android:paddingBottom="@dimen/content_padding_3"
+                android:paddingLeft="@dimen/content_padding_15"
+                android:paddingRight="@dimen/content_padding_15"
+                android:paddingTop="@dimen/content_padding_3"
+                android:text="保存二维码"
+                android:textColor="@color/white"
+                android:textSize="@dimen/text_size_12"
+                app:layout_constraintBottom_toBottomOf="@+id/qr_code_iv"
+                app:layout_constraintStart_toEndOf="@+id/qr_code_iv" />
+
+            <TextView
+                android:id="@+id/qr_code_notice_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/content_padding_15"
+                android:text="领取任务后可获得二维码"
+                android:textColor="@color/gray"
+                android:textSize="@dimen/text_size_12"
+                app:layout_constraintStart_toEndOf="@+id/qr_code_iv"
+                app:layout_constraintTop_toTopOf="@+id/qr_code_iv" />
+        </android.support.constraint.ConstraintLayout>
+
+
         <LinearLayout
             android:id="@+id/taskdetail_screenshot_layout"
             android:layout_width="match_parent"

BIN
app/src/main/res/mipmap-xhdpi/qr_code_taskdetail_zhanwei.png


+ 4 - 0
app/src/main/res/values/strings.xml

@@ -90,4 +90,8 @@
     <string name="homepage_award">你还有%s元的奖励未领取</string>
     <string name="homepage_cash">现金任务:%s元</string>
     <string name="homepage_welfare">游戏福利:%s元</string>
+
+    <string name="last_this_month_rank">上月排行</string>
+    <string name="this_month_rank">这月排行</string>
+    <string name="install_can_get_x_money">安装可获得+%s元</string>
 </resources>