浏览代码

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

liujiangyao 7 年之前
父节点
当前提交
7c39dec127

+ 1 - 1
app/build.gradle

@@ -245,7 +245,7 @@ dependencies {
     compile 'com.github.ithedan:TextViewDrawable:v1.0'
 //    compile 'com.github.zhangkexpz:LayoutScroll:v1.0'
 //    compile 'me.iwf.photopicker:PhotoPicker:0.9.12@aar'
-    compile(name: 'PhotoPicker-release', ext: 'aar')
+    compile(name: 'PhotoPicker-release-201809201501', ext: 'aar')
     compile 'com.github.bumptech.glide:glide:4.1.1'
 
     //    compile 'com.github.yalantis:ucrop:2.2.1-native'

二进制
app/libs/PhotoPicker-release-201809201501.aar


二进制
app/libs/PhotoPicker-release.aar


+ 19 - 2
app/src/main/java/com/sheep/gamegroup/absBase/AbsChooseImageActivity.java

@@ -62,7 +62,6 @@ public abstract class AbsChooseImageActivity extends BaseActivity implements UpF
     public void showChooseDialog(boolean isCrop, boolean isUpload, int photoCount, File dir) {
         LogUtil.println("showChooseDialog", dir.getAbsolutePath(), dir.exists());
         File[] files = dir.listFiles();
-        String[] filePaths = dir.list();
         if(dir.exists() && files != null && files.length > 0) {
             photoCount = Math.max(1, photoCount);
             this.isUpload = isUpload;
@@ -81,12 +80,30 @@ public abstract class AbsChooseImageActivity extends BaseActivity implements UpF
                         public String call(File file) {
                             return file.getAbsolutePath();
                         }
-                    }, dir.listFiles()))
+                    }, files))
                     .start(this, PhotoPicker.REQUEST_CODE);
         } else {
             G.showToast("暂无截图(若您已经截图,请查看是否开启查看应用使用情况等权限!)");
         }
     }
+    public void showChooseDialog(boolean isCrop, boolean isUpload, int photoCount, ArrayList<String> imageUriList) {
+        photoCount = Math.max(1,photoCount);
+        this.isUpload = isUpload;
+        this.isCrop = isCrop && photoCount == 1;
+        this.photoCount = photoCount;
+        this.photos = null;
+        this.path = null;
+        this.urls.clear();
+
+        PhotoPicker.builder()
+                .setPhotoCount(photoCount)
+                .setShowCamera(showCamera)
+                .setShowGif(false)
+                .setPreviewEnabled(true)
+                .setPickerAll(true)
+                .setPicker(imageUriList)
+                .start(this, PhotoPicker.REQUEST_CODE);
+    }
     private boolean showCamera = false;
 
     public void setShowCamera(boolean showCamera) {

+ 129 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/PunchLog.java

@@ -0,0 +1,129 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by Administrator on 2018/5/23.
+ * 我的战绩中->打卡记录对象
+ */
+
+public class PunchLog {
+    private int id;
+
+    private int user_id;
+
+    private int relate_user;
+
+    private double amount;
+
+    private int type;
+
+    private int From1;
+
+    private double surplus_amount;
+
+    private String detail_desc;
+
+    private long create_time;
+
+    private String wx_account;
+
+    private int release_task_id;
+
+    private int accept_task_id;
+
+    private int parent_id;
+
+    private String Status;
+
+    private String Title;
+
+    public void setId(int id){
+        this.id = id;
+    }
+    public int getId(){
+        return this.id;
+    }
+    public void setUser_id(int user_id){
+        this.user_id = user_id;
+    }
+    public int getUser_id(){
+        return this.user_id;
+    }
+    public void setRelate_user(int relate_user){
+        this.relate_user = relate_user;
+    }
+    public int getRelate_user(){
+        return this.relate_user;
+    }
+    public void setAmount(double amount){
+        this.amount = amount;
+    }
+    public double getAmount(){
+        return this.amount;
+    }
+    public void setType(int type){
+        this.type = type;
+    }
+    public int getType(){
+        return this.type;
+    }
+    public void setFrom1(int From1){
+        this.From1 = From1;
+    }
+    public int getFrom1(){
+        return this.From1;
+    }
+    public void setSurplus_amount(double surplus_amount){
+        this.surplus_amount = surplus_amount;
+    }
+    public double getSurplus_amount(){
+        return this.surplus_amount;
+    }
+    public void setDetail_desc(String detail_desc){
+        this.detail_desc = detail_desc;
+    }
+    public String getDetail_desc(){
+        return this.detail_desc;
+    }
+    public void setCreate_time(long create_time){
+        this.create_time = create_time;
+    }
+    public long getCreate_time(){
+        return this.create_time;
+    }
+    public void setWx_account(String wx_account){
+        this.wx_account = wx_account;
+    }
+    public String getWx_account(){
+        return this.wx_account;
+    }
+    public void setRelease_task_id(int release_task_id){
+        this.release_task_id = release_task_id;
+    }
+    public int getRelease_task_id(){
+        return this.release_task_id;
+    }
+    public void setAccept_task_id(int accept_task_id){
+        this.accept_task_id = accept_task_id;
+    }
+    public int getAccept_task_id(){
+        return this.accept_task_id;
+    }
+    public void setParent_id(int parent_id){
+        this.parent_id = parent_id;
+    }
+    public int getParent_id(){
+        return this.parent_id;
+    }
+    public void setStatus(String Status){
+        this.Status = Status;
+    }
+    public String getStatus(){
+        return this.Status;
+    }
+    public void setTitle(String Title){
+        this.Title = Title;
+    }
+    public String getTitle(){
+        return this.Title;
+    }
+}

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

@@ -31,6 +31,7 @@ import org.afinal.simplecache.ApiKey;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -341,13 +342,38 @@ public class DataUtil {
      * @return
      */
     public File getScreenShotsDir(String packageName) {
-        File dir = new File(SheepApp.getInstance().getDir("ScreenShots", Context.MODE_PRIVATE), packageName);
+        File dir = new File(getScreenShotsDir(), packageName);
         if(!dir.exists())
             dir.mkdirs();
         return dir;
     }
 
     /**
+     * 获取所有小绵羊的截图
+     *
+     * @return
+     */
+    public ArrayList<String> getAllScreenShotList() {
+        File[] dirs = getScreenShotsDir().listFiles();
+        ArrayList<String> list = ListUtil.emptyList();
+        if(dirs != null) {
+            for (File dir : dirs) {
+                if (dir.exists() && dir.isDirectory()) {
+                    File[] files = dir.listFiles();
+                    if(files != null){
+                        for (File file : files) {
+                            if(file.exists() && file.isFile()){
+                                list.add(file.getAbsolutePath());
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
      * 删除所有截图
      */
     public void clearScreenShots() {

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

@@ -936,7 +936,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 File dir = DataUtil.getInstance().getScreenShotsDir(taskEty.getPackage_names());
                 showChooseDialog(false, true, DEFAULT_MAX_COUNT, dir);
             } else {//用户手动截图方案
-                showChooseDialog(false, true, DEFAULT_MAX_COUNT);
+                ArrayList<String> imageUriList = DataUtil.getInstance().getAllScreenShotList();
+
+                showChooseDialog(false, true, DEFAULT_MAX_COUNT, imageUriList);
             }
         } else {
             G.showToast("暂无任务可以上传");

+ 11 - 5
app/src/main/java/com/sheep/gamegroup/view/customview/CalendarMonthView.java

@@ -9,6 +9,8 @@ import android.text.TextUtils;
 import com.haibin.calendarview.Calendar;
 import com.haibin.calendarview.MonthView;
 
+import java.util.Locale;
+
 /**
  * Created by realicing on 2018/9/12.
  * realicing@sina.com
@@ -20,7 +22,7 @@ public class CalendarMonthView extends MonthView {
     private Paint mCurDayPaint = new Paint();
     private Paint mSolarTermTextPaint = new Paint();
     private Paint mSchemeBasicPaint = new Paint();
-    private int mPadding;
+    private float mPadding;
 //    private float mRadio;
 //    private float mSchemeBaseLine;
 
@@ -59,7 +61,7 @@ public class CalendarMonthView extends MonthView {
     protected void onDrawScheme(Canvas canvas, Calendar calendar, int x, int y) {
         this.mSchemeBasicPaint.setColor(calendar.getSchemeColor());
 //        canvas.drawRect((float) (x + this.mPadding), (float) (y + this.mPadding), (float) (x + this.mItemWidth - this.mPadding), (float) (y + this.mItemHeight - this.mPadding), this.mSchemeBasicPaint);
-        canvas.drawRect((float) (x), (float) (y), (float) (x + this.mItemWidth), (float) (y + this.mItemHeight), this.mSchemeBasicPaint);
+        canvas.drawRect((float) (x), (float) (y - this.mPadding / 2), (float) (x + this.mItemWidth), (float) (y + this.mItemHeight - this.mPadding / 2), this.mSchemeBasicPaint);
 //        canvas.drawRoundRect((float) (x + this.mPadding), (float) (y + this.mPadding), (float) (x + this.mItemWidth - this.mPadding), (float) (y + this.mItemHeight - this.mPadding), this.mSchemeBasicPaint);
 //        canvas.drawText(calendar.getScheme(), (float) (x + this.mItemWidth - this.mPadding) - this.mRadio / 2.0F - this.getTextWidth(calendar.getScheme()) / 2.0F, (float) (y + this.mPadding) + this.mSchemeBaseLine, this.mTextPaint);
     }
@@ -91,7 +93,11 @@ public class CalendarMonthView extends MonthView {
             textPaint = this.mSolarTermTextPaint;
             lunarTextPaint = this.mSolarTermTextPaint;
         }
-        canvas.drawText(String.valueOf(calendar.getDay()), (float) cx, this.mTextBaseLine + (float) top, textPaint);
+        if(calendar.getDay() == 1){
+            canvas.drawText(String.format(Locale.CHINA, "%d月", calendar.getMonth()), (float) cx, this.mTextBaseLine + (float) top, textPaint);
+        } else {
+            canvas.drawText(String.valueOf(calendar.getDay()), (float) cx, this.mTextBaseLine + (float) top, textPaint);
+        }
         canvas.drawText(calendar.getLunar(), (float) cx, this.mTextBaseLine + (float) y + (float) (this.mItemHeight / 10), lunarTextPaint);
 
     }
@@ -109,8 +115,8 @@ public class CalendarMonthView extends MonthView {
      * @param dpValue dp
      * @return px
      */
-    static int dipToPx(Context context, float dpValue) {
+    static float dipToPx(Context context, float dpValue) {
         final float scale = context.getResources().getDisplayMetrics().density;
-        return (int) (dpValue * scale + 0.5f);
+        return dpValue * scale + 0.5f;
     }
 }

+ 26 - 20
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment.java

@@ -94,24 +94,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
 
             @Override
             public void onLoadMore() {
-                new Handler().postDelayed(new Runnable() {
-                    @Override
-                    public void run() {
-                        if(per_page != 100){
-                            if(!loadMore){
-                                loadMore = true;
-                                if(ListUtil.size(list) >= per_page*page){
-                                    page += 1;
-                                    initData();
-                                }else {
-                                    view_list.setNoMore(true);
-                                    setNoMore(true);
-                                }
-                            }
-                        }
-
-                    }
-                },1000);
+                loadMoreData();
 
             }
         });
@@ -121,6 +104,27 @@ public abstract class BaseListFragment<T> extends BaseFragment {
 
     }
 
+    protected void loadMoreData() {
+        new Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                if(per_page != 100){
+                    if(!loadMore){
+                        loadMore = true;
+                        if(ListUtil.size(list) >= per_page*page){
+                            page += 1;
+                            initData();
+                        }else {
+                            view_list.setNoMore(true);
+                            setNoMore(true);
+                        }
+                    }
+                }
+
+            }
+        },1000);
+    }
+
     public void setNoMore(boolean noMore) {
         this.noMore = noMore;
     }
@@ -207,8 +211,10 @@ public abstract class BaseListFragment<T> extends BaseFragment {
         page = 1;
         initData();
     }
-    private void loadList(List<T> newList){
-        ListUtil.addAllItem(list, newList);
+    protected List<T> newList;
+    private void loadList(List<T> addList){
+        ListUtil.addAllItem(list, addList);
+        newList = addList;
         notifyDataSetChanged();
     }
     public void notifyDataSetChanged(){

+ 38 - 26
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignCardRecord.java

@@ -12,7 +12,7 @@ import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
 import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.PunchLogEntity;
+import com.sheep.gamegroup.model.entity.PunchLog;
 import com.sheep.gamegroup.model.entity.StatisticsEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.ListUtil;
@@ -34,7 +34,7 @@ import rx.schedulers.Schedulers;
  * Created by realicing on 2018/9/17.
  * realicing@sina.com
  */
-public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
+public class FgtSignCardRecord extends  BaseListFragment<PunchLog>{
     CalendarView sign_card_record_cv;
     TextView total_award;
     TextView total_money;
@@ -42,7 +42,7 @@ public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
     TextView continue_punch_count;
     @Override
     public void initView() {
-        per_page = 50;
+        per_page = 100;
         super.initView();
         view_list.setNestedScrollingEnabled(false);
         View view = LayoutInflater.from(activity).inflate(R.layout.header_sign_card_record, null);
@@ -65,15 +65,29 @@ public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
     }
 
     @Override
+    public void initListener() {
+        super.initListener();
+        sign_card_record_cv.setOnMonthChangeListener(new CalendarView.OnMonthChangeListener() {
+            @Override
+            public void onMonthChange(int year, int month) {
+                if(isNoMore()){
+                    return;
+                }
+                loadMoreData();
+            }
+        });
+    }
+
+    @Override
     protected RecyclerView.Adapter getAdapter() {
-        return new RecyclerViewAdapter<PunchLogEntity>(SheepApp.getInstance(), R.layout.item_sign_card_record, list) {
+        return new RecyclerViewAdapter<PunchLog>(SheepApp.getInstance(), R.layout.item_sign_card_record, list) {
             @Override
-            public void convert(ViewHolder viewHolder, PunchLogEntity item, int position) {
+            public void convert(ViewHolder viewHolder, PunchLog item, int position) {
                 TextView sign_card_record_date = (TextView) viewHolder.itemView.findViewById(R.id.sign_card_record_date);
                 TextView sign_card_record_time = (TextView) viewHolder.itemView.findViewById(R.id.sign_card_record_time);
                 TextView sign_card_record_bonus = (TextView) viewHolder.itemView.findViewById(R.id.sign_card_record_bonus);
-                ViewUtil.setTextTime(sign_card_record_date, item.getCreateTime(), "yyyy/MM/dd");
-                ViewUtil.setTextTime(sign_card_record_time, item.getCreateTime(), "HH:mm");
+                ViewUtil.setTextTime(sign_card_record_date, item.getCreate_time(), "yyyy/MM/dd");
+                ViewUtil.setTextTime(sign_card_record_time, item.getCreate_time(), "HH:mm");
                 ViewUtil.setText(sign_card_record_bonus, item.getAmount() + "元");
             }
         };
@@ -90,13 +104,13 @@ public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
     }
 
     @Override
-    protected Class<PunchLogEntity> getTClass() {
-        return PunchLogEntity.class;
+    protected Class<PunchLog> getTClass() {
+        return PunchLog.class;
     }
 
     @Override
     public void notifyData() {
-        updateCalendarSchemeDate(list);
+        updateCalendarSchemeDate(newList);
     }
     private void initStatistics() {
         SheepApp.getInstance().getNetComponent().getApiService().getStatistics()
@@ -118,33 +132,31 @@ public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
                     }
                 });
     }
-    private boolean theMonthFull = false;
     /**
      * 标记日期时间
      */
-    public void updateCalendarSchemeDate(List<PunchLogEntity> newList) {
+    public void updateCalendarSchemeDate(List<PunchLog> newList) {
         if(ListUtil.isEmpty(newList)){
             return;
         }
-        if(theMonthFull){//只加载本月数据
-            return;
-        }
+        //只加载当年数据
         int year = sign_card_record_cv.getCurYear();
-        int month = sign_card_record_cv.getCurMonth();
-        Map<String, Calendar> map = new HashMap<>();
-        for (PunchLogEntity item : newList) {
-            java.util.Calendar date = java.util.Calendar.getInstance(Locale.CHINA);
-            date.setTimeInMillis(item.getCreateTime() * 1000);
-            if(year == date.get(java.util.Calendar.YEAR) && month == 1 + date.get(java.util.Calendar.MONTH)){
-                Calendar calendar = getSchemeCalendar(year, month, date.get(java.util.Calendar.DAY_OF_MONTH));
-                map.put(calendar.toString(), calendar);
-            } else {
-                theMonthFull = true;
-                break;
+        for (PunchLog item : newList) {
+            if(timeMap.contains(item.getCreate_time())){
+                continue;
             }
+            timeMap.add(item.getCreate_time());
+            java.util.Calendar date = java.util.Calendar.getInstance();
+            date.setTimeInMillis(item.getCreate_time() * 1000);
+            int month = 1 + date.get(java.util.Calendar.MONTH);
+            int day = date.get(java.util.Calendar.DAY_OF_MONTH);
+            Calendar calendar = getSchemeCalendar(year, month, day);
+            map.put(calendar.toString(), calendar);
         }
         sign_card_record_cv.setSchemeDate(map);
     }
+    private Map<String, Calendar> map = new HashMap<>();
+    private List<Long> timeMap = ListUtil.emptyList();
 
     private Calendar getSchemeCalendar(int year, int month, int day) {
         Calendar calendar = new Calendar();

+ 4 - 4
app/src/main/java/com/sheep/jiuyan/samllsheep/service/FloatShotScreenService.java

@@ -377,10 +377,10 @@ public class FloatShotScreenService extends Service {
                 bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
                 out.flush();
                 out.close();
-                Intent media = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
-                Uri contentUri = Uri.fromFile(fileImage);
-                media.setData(contentUri);
-                sendBroadcast(media);
+//                Intent media = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
+//                Uri contentUri = Uri.fromFile(fileImage);
+//                media.setData(contentUri);
+//                sendBroadcast(media);
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
                 fileImage = null;

+ 2 - 2
app/src/main/res/layout/header_sign_card_record.xml

@@ -23,8 +23,8 @@
             app:lunar_text_size="12sp"
             app:min_year="2018"
             app:month_view="com.sheep.gamegroup.view.customview.CalendarMonthView"
-            app:month_view_scrollable="false"
-            app:month_view_show_mode="mode_only_current"
+            app:month_view_scrollable="true"
+            app:month_view_show_mode="mode_all"
             app:scheme_lunar_text_color="#ffffff"
             app:scheme_month_text_color="#ffffff"
             app:week_background="#FFE866"