Explorar o código

okdownload升级;
修复webView加载js不统一的问题;
小绵羊签到添加分享接口与补签功能完善

zengjiebin %!s(int64=7) %!d(string=hai) anos
pai
achega
fae04ce175
Modificáronse 23 ficheiros con 168 adicións e 669 borrados
  1. 3 3
      app/build.gradle
  2. 1 1
      app/src/main/AndroidManifest.xml
  3. 5 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  4. 5 1
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeLogEntity.java
  5. 26 0
      app/src/main/java/com/sheep/gamegroup/model/entity/UserSign.java
  6. 2 2
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  7. 3 4
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  8. 1 1
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  9. 28 1
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  10. 2 10
      app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java
  11. 13 17
      app/src/main/java/com/sheep/gamegroup/view/activity/ActXinwanWeb.java
  12. 0 6
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  13. 0 63
      app/src/main/java/com/sheep/jiuyan/samllsheep/net/Network.java
  14. 0 49
      app/src/main/java/com/sheep/jiuyan/samllsheep/net/Scheduler.java
  15. 0 55
      app/src/main/java/com/sheep/jiuyan/samllsheep/net/map/ApiService.java
  16. 0 85
      app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/PlayVideoActivity.java
  17. 60 209
      app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/SignActivity.java
  18. 0 127
      app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/UserNavActivity.java
  19. 0 25
      app/src/main/java/com/sheep/jiuyan/samllsheep/ui/adapter/SearchAdapter.java
  20. 14 4
      app/src/main/java/com/sheep/jiuyan/samllsheep/ui/view/EggView.java
  21. 2 2
      app/src/main/java/com/sheep/jiuyan/samllsheep/utils/PackageUtil.java
  22. 2 2
      app/src/main/res/layout/activity_sign.xml
  23. 1 2
      app/src/main/res/layout/item_my_list_but.xml

+ 3 - 3
app/build.gradle

@@ -277,11 +277,11 @@ dependencies {
     implementation 'org.greenrobot:greendao:3.2.2'
     //okDownload
     // core
-    implementation "com.liulishuo.okdownload:okdownload:1.0.4"
+    implementation "com.liulishuo.okdownload:okdownload:1.0.5"
     // provide sqlite to store breakpoints
-    implementation "com.liulishuo.okdownload:sqlite:1.0.4"
+    implementation "com.liulishuo.okdownload:sqlite:1.0.5"
     // provide okhttp to connect to backend
-    implementation "com.liulishuo.okdownload:okhttp:1.0.4"
+    implementation "com.liulishuo.okdownload:okhttp:1.0.5"
 
     implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2'
 

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -386,7 +386,7 @@
             android:name="com.sheep.gamegroup.view.activity.ActCreditCardWeb"
             android:screenOrientation="portrait" />
         <activity
-            android:name="com.sheep.gamegroup.view.activity.ActXinwanWeb"
+            android:name="com.sheep.gamegroup.view.activity.ActXianWanWeb"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.sheep.gamegroup.view.activity.TaskDetailCreditCardAct"

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

@@ -1333,6 +1333,11 @@ public interface ApiService {
      */
     @POST("app/user_sign/sign_in")
     Observable<BaseMessage> postUserSignSignIn();
+    /**
+     * 分享
+     */
+    @POST("app/user_sign/share")
+    Observable<BaseMessage> postUserSignShare();
 
     /**
      * 补签

+ 5 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeLogEntity.java

@@ -2,6 +2,7 @@ package com.sheep.gamegroup.model.entity;//
 
 import android.text.TextUtils;
 
+import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 
 import java.util.Calendar;
@@ -190,7 +191,10 @@ public class RechargeLogEntity implements ILog {
     //今日的数据
     public boolean isToday() {
         String format = "yyyyMMdd";
-        return TextUtils.equals(TimeUtil.TimeStamp2Date(create_time * 1000, format), TimeUtil.TimeStamp2Date(System.currentTimeMillis(), format));
+        String dateMsg = TimeUtil.TimeStamp2Date(create_time, format);
+        String todayDateMsg = TimeUtil.TimeStamp2Date(System.currentTimeMillis(), format);
+//        LogUtil.println("isToday", dateMsg, todayDateMsg);
+        return TextUtils.equals(dateMsg, todayDateMsg);
     }
 
     //空数据

+ 26 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/UserSign.java

@@ -29,6 +29,7 @@ public class UserSign implements Comparable<UserSign> {
     private int day;
     private String sign_date;
     private int is_supplement;
+    private int has_share;
 
     public int getUser_id() {
         return user_id;
@@ -62,11 +63,33 @@ public class UserSign implements Comparable<UserSign> {
         this.is_supplement = is_supplement;
     }
 
+    public int getHas_share() {
+        return has_share;
+    }
+
+    public void setHas_share(int has_share) {
+        this.has_share = has_share;
+    }
+
+
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj instanceof UserSign && ((UserSign) obj).day == day;//这里认为,day相同, 就是同一天的数据
+    }
 
     public boolean isToday() {
         return TextUtils.equals(sign_date, getSignDateByTime(System.currentTimeMillis()));
     }
 
+    //当天是否进行过补签
+    public boolean signSupplemented(){
+        return has_share >= SHARE_TYPE_SIGN_SUPPLEMENT;
+    }
+    //当天是否进行过分享
+    public boolean signShared(){
+        return has_share >= SHARE_TYPE_SHARE;
+    }
     @Override
     public int compareTo(@NonNull UserSign userSign) {
         return day - userSign.getDay();
@@ -91,4 +114,7 @@ public class UserSign implements Comparable<UserSign> {
     public static String getSignDateByTime(long time) {
         return TimeUtil.TimeStamp2Date(time, "yyyy-MM-dd");
     }
+
+    public static final int SHARE_TYPE_SHARE = 1;//已经分享
+    public static final int SHARE_TYPE_SIGN_SUPPLEMENT = 2;//已经补签
 }

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

@@ -514,7 +514,7 @@ public class CommonUtil {
                 Jump2View.getInstance().goGameMakeMoney(context, 0);
                 break;
             case JUMP_XIAN_WAN://闲玩任务
-                Jump2View.getInstance().goXianwanWeb(context, null, null);
+                Jump2View.getInstance().goXianWanWeb(context, null);
                 break;
             case JUMP_GAME_RECHARGE://游戏代充(游戏充值)
                 Jump2View.getInstance().goGameRecharge(activity, null);
@@ -2409,7 +2409,7 @@ public class CommonUtil {
                 Jump2View.getInstance().goGameMakeMoney(activity, 0);
                 break;
             case 12://闲玩任务
-                Jump2View.getInstance().goXianwanWeb(activity, null, null);
+                Jump2View.getInstance().goXianWanWeb(activity, null);
                 break;
             case 13://游戏代充
                 Jump2View.getInstance().goGameRecharge(activity, null);

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

@@ -88,8 +88,8 @@ import com.sheep.gamegroup.view.activity.ActUserCommentDetail;
 import com.sheep.gamegroup.view.activity.ActUserLabelList;
 import com.sheep.gamegroup.view.activity.ActUserNoviceGuidance;
 import com.sheep.gamegroup.view.activity.ActWeb;
+import com.sheep.gamegroup.view.activity.ActXianWanWeb;
 import com.sheep.gamegroup.view.activity.ActXiaomiGame;
-import com.sheep.gamegroup.view.activity.ActXinwanWeb;
 import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
 import com.sheep.gamegroup.view.activity.BindOrChangeWeixinAct;
 import com.sheep.gamegroup.view.activity.ChangeTelAct;
@@ -1544,8 +1544,7 @@ public class Jump2View {
      * @param context
      * @param
      */
-    public void goXianwanWeb(final Context context, XianWanEntity xianWanEntity, final Action1<String> action1) {
-
+    public void goXianWanWeb(final Context context, final Action1<String> action1) {
         SheepApp.getInstance().getNetComponent()
                 .getApiService()
                 .commonConfig("xianwan")
@@ -1565,7 +1564,7 @@ public class Jump2View {
                         if (action1 != null)
                             action1.call(null);
 
-                        Intent intent = new Intent(context, ActXinwanWeb.class);
+                        Intent intent = new Intent(context, ActXianWanWeb.class);
                         intent.putExtra("xianwan_enty", xianWanEntity);
                         context.startActivity(intent);
                     }

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

@@ -449,7 +449,7 @@ public class TestUtil {
                                 AppUsageManager.getInstance().openLookAppUsageStatsPermission();
                                 break;
                             case "h5跳转":
-                                Jump2View.getInstance().goXianwanWeb(activity,null,null);
+                                Jump2View.getInstance().goXianWanWeb(activity, null);
                                 break;
                             case "新手对话框":
                                 DialogNewbieTaskList.tryShowDialog(activity);

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

@@ -35,6 +35,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
+import android.webkit.ValueCallback;
 import android.webkit.WebView;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
@@ -86,7 +87,6 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
-import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.umeng.socialize.ShareAction;
 import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
@@ -231,6 +231,33 @@ public class ViewUtil {
         }
     }
 
+    //加载js
+    public static void loadJs(com.tencent.smtt.sdk.WebView mWebView, String js) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+            mWebView.evaluateJavascript("javascript:" + js, new com.tencent.smtt.sdk.ValueCallback<String>() {
+                @Override
+                public void onReceiveValue(String value) {
+                    //此处为 js 返回的结果
+                }
+            });
+        } else {
+            mWebView.loadUrl("javascript:" + js);
+        }
+    }
+    //加载js
+    public static void loadJs(WebView mWebView, String js) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+            mWebView.evaluateJavascript("javascript:" + js, new ValueCallback<String>() {
+                @Override
+                public void onReceiveValue(String value) {
+                    //此处为 js 返回的结果
+                }
+            });
+        } else {
+            mWebView.loadUrl("javascript:" + js);
+        }
+    }
+
     /**
      * 主页抢任务,更换任务时,获取新的任务
      *

+ 2 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java

@@ -22,6 +22,7 @@ import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.QQUtil;
 import com.sheep.gamegroup.util.TestUtil;
+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;
@@ -451,16 +452,7 @@ public class ActWeb extends BaseActivity {
     }
 
     private void loadJs(String js) {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
-            mWebView.evaluateJavascript("javascript:" + js, new ValueCallback<String>() {
-                @Override
-                public void onReceiveValue(String value) {
-                    //此处为 js 返回的结果
-                }
-            });
-        } else {
-            mWebView.loadUrl("javascript:" + js);
-        }
+        ViewUtil.loadJs(mWebView, js);
     }
 
     @Override

+ 13 - 17
app/src/main/java/com/sheep/gamegroup/view/activity/ActXinwanWeb.java

@@ -24,6 +24,8 @@ import com.tencent.smtt.sdk.WebViewClient;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.StringCallback;
 
+import java.util.Locale;
+
 import butterknife.BindView;
 import okhttp3.Call;
 
@@ -35,7 +37,7 @@ import static com.sheep.gamegroup.util.Jump2View.EXTRA_WEBVIEW_NO_TITLE;
  * Created by ljy on 2018/6/25.
  */
 
-public class ActXinwanWeb extends BaseActivity {
+public class ActXianWanWeb extends BaseActivity {
     @BindView(R.id.webview)
     WebView mWebView;
     @BindView(R.id.tv_next)
@@ -164,7 +166,7 @@ public class ActXinwanWeb extends BaseActivity {
 
     @Override
     public void onBackPressed() {
-        if(mWebView.canGoBack()){
+        if(mWebView != null && mWebView.canGoBack()){
             mWebView.goBack();
             return;
         }
@@ -172,7 +174,7 @@ public class ActXinwanWeb extends BaseActivity {
     }
     // 注入js函数监听
     public void loadJs() {
-        mWebView.loadUrl("javascript:"+getJs());
+        ViewUtil.loadJs(mWebView, getJs());
     }
     private String js;
     private String getJs(){
@@ -185,20 +187,14 @@ public class ActXinwanWeb extends BaseActivity {
      * https://h5.51xianwan.com/try/try_list_plus_browser.aspx?ptype=2&deviceid=8883300242xw&appid=1010&appsign=1000&keycode=07688c3e9a783b245e59311
      */
     private String assemblyData(){
+        String baseUrl = xianWanEntity.getUrl();
+        int pType = 2;
+        String deviceId = DeviceIDUtil.getimei(activity);
+        String appId =  xianWanEntity.getAndroid().getAppid();
         String userId = DataUtil.getInstance().getUserId();
-        StringBuffer stringBuffer = new StringBuffer();
-        stringBuffer.append(xianWanEntity.getUrl()+"?");
-        stringBuffer.append("ptype="+"2");
-        stringBuffer.append("&deviceid="+ DeviceIDUtil.getimei(activity));
-        stringBuffer.append("&appid="+ xianWanEntity.getAndroid().getAppid());
-        stringBuffer.append("&appsign="+ userId);
-        stringBuffer.append("&keycode="+CommonUtil.getInstance().encrypt2Md5(
-                xianWanEntity.getAndroid().getAppid()+""+
-                        DeviceIDUtil.getimei(activity) +
-                        2 +
-                        userId +
-                        xianWanEntity.getAndroid().getAppsecret()
-        ));
-        return stringBuffer.toString();
+        String appSecret = xianWanEntity.getAndroid().getAppsecret();
+        String keyCodeBefore = String.format(Locale.CHINA, "%s%s%d%s%s", appId, deviceId, pType, userId, appSecret);
+        String keyCode = CommonUtil.getInstance().encrypt2Md5(keyCodeBefore);
+        return String.format(Locale.CHINA, "%s?ptype=%d&deviceid=%s&appid=%s&appsign=%s&keycode=%s", baseUrl, pType, deviceId, appId, userId, keyCode);
     }
 }

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

@@ -10,18 +10,14 @@ import android.support.multidex.MultiDex;
 import android.support.multidex.MultiDexApplication;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
-import android.widget.ImageView;
 
 import com.baidu.location.BDAbstractLocationListener;
 import com.baidu.location.BDLocation;
 import com.baidu.location.LocationClient;
 import com.baidu.location.LocationClientOption;
 import com.bumptech.glide.Glide;
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.bumptech.glide.request.RequestOptions;
 import com.liulishuo.okdownload.OkDownload;
 import com.liulishuo.okdownload.core.dispatcher.DownloadDispatcher;
-import com.lqr.emoji.EmotionLayout;
 import com.sheep.gamegroup.di.components.DaggerNetComponent;
 import com.sheep.gamegroup.di.components.NetComponent;
 import com.sheep.gamegroup.di.modules.NetModule;
@@ -41,7 +37,6 @@ import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.view.activity.GameCertificationActivity;
 import com.sheep.gamegroup.view.activity.LoginAct;
-import com.sheep.jiuyan.samllsheep.net.Network;
 import com.sheep.jiuyan.samllsheep.service.AutoCheckService;
 import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.service.FloatShotScreenService;
@@ -355,7 +350,6 @@ public class SheepApp extends MultiDexApplication {
     }
 
     private void initNet() {
-        Network.init();
         netComponent = DaggerNetComponent.builder().netModule(new NetModule()).build();
     }
 

+ 0 - 63
app/src/main/java/com/sheep/jiuyan/samllsheep/net/Network.java

@@ -1,63 +0,0 @@
-package com.sheep.jiuyan.samllsheep.net;
-
-import com.sheep.gamegroup.model.cookie.CookieManager;
-import com.sheep.gamegroup.model.util.AddPublicParamsIntercept;
-import com.sheep.gamegroup.model.util.CacheInterceptor;
-import com.sheep.gamegroup.model.util.LogInterceptor;
-import com.sheep.gamegroup.util.TestUtil;
-import com.sheep.jiuyan.samllsheep.BuildConfig;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.net.map.ApiService;
-
-import java.util.concurrent.TimeUnit;
-
-import okhttp3.OkHttpClient;
-import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
-import retrofit2.converter.gson.GsonConverterFactory;
-
-import static com.sheep.jiuyan.samllsheep.net.map.ApiService.BASE_URL;
-import static com.sheep.jiuyan.samllsheep.net.map.ApiService.TIME_OUT;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/10/30.
- * Description: 网络访问工具类
- */
-public class Network {
-
-    /* 网络接口 */
-    private static ApiService api;
-
-    /**
-     * 初始化
-     */
-    public static void init() {
-        LogInterceptor loggingInterceptor = new LogInterceptor(BuildConfig.XXTEA_ENCRYPT);
-        loggingInterceptor.setLevel(TestUtil.isSheep() ? LogInterceptor.ELevel.NONE : LogInterceptor.ELevel.BODY);
-        OkHttpClient.Builder builder = new OkHttpClient.Builder()
-                .connectTimeout(TIME_OUT, TimeUnit.SECONDS)
-                .readTimeout(TIME_OUT, TimeUnit.SECONDS)
-                .writeTimeout(TIME_OUT, TimeUnit.SECONDS)
-                .cookieJar(new CookieManager(SheepApp.getInstance()))
-                .addInterceptor(new AddPublicParamsIntercept())
-                .addInterceptor(new CacheInterceptor())
-                .addInterceptor(loggingInterceptor);
-        api = new Retrofit.Builder()
-                .baseUrl(BASE_URL)
-                .client(builder.build())
-                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
-                .addConverterFactory(GsonConverterFactory.create())
-                .build()
-                .create(ApiService.class);
-    }
-
-    /**
-     * 获取网路接口
-     *
-     * @return 返回一个ApiService接口对象
-     */
-    public static ApiService api() {
-        return api;
-    }
-}

+ 0 - 49
app/src/main/java/com/sheep/jiuyan/samllsheep/net/Scheduler.java

@@ -1,49 +0,0 @@
-package com.sheep.jiuyan.samllsheep.net;
-
-import com.trello.rxlifecycle2.LifecycleTransformer;
-
-import io.reactivex.Observable;
-import io.reactivex.ObservableSource;
-import io.reactivex.ObservableTransformer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/10/30.
- * Description: 线程调度封装
- */
-public class Scheduler<T> implements ObservableTransformer<T, T> {
-
-    /* 生命周期管理 */
-    private LifecycleTransformer<T> provider;
-
-    /**
-     * 构造方法
-     *
-     * @param provider 生命周期管理
-     */
-    private Scheduler(LifecycleTransformer<T> provider) {
-        this.provider = provider;
-    }
-
-    @Override
-    public ObservableSource<T> apply(Observable<T> upstream) {
-        return upstream
-                .subscribeOn(Schedulers.io())
-                .unsubscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .compose(provider);
-    }
-
-    /**
-     * 应用线程调度并绑定生命周期管理
-     *
-     * @param provider 生命周期管理
-     * @param <T>      泛型
-     * @return 返回转换操作
-     */
-    public static <T> ObservableTransformer<T, T> apply(LifecycleTransformer<T> provider) {
-        return new Scheduler<>(provider);
-    }
-}

+ 0 - 55
app/src/main/java/com/sheep/jiuyan/samllsheep/net/map/ApiService.java

@@ -1,55 +0,0 @@
-package com.sheep.jiuyan.samllsheep.net.map;
-
-import com.sheep.jiuyan.samllsheep.bean.NavBean;
-import com.sheep.jiuyan.samllsheep.bean.SignDay;
-import com.sheep.jiuyan.samllsheep.bean.SignsBean;
-import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
-
-import java.util.List;
-
-import io.reactivex.Observable;
-import retrofit2.http.GET;
-import retrofit2.http.POST;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/10/30.
- * Description: 服务器接口映射
- */
-public interface ApiService {
-
-    /* 服务器地址 */
-    String BASE_URL = "http://test.sheep.kfzs.com/";
-    /* 超时 */
-    int TIME_OUT = 15;
-
-    /**
-     * 新手引导
-     */
-    @GET("/v1/app/user/novice_guidance")
-    Observable<List<NavBean>> userGuide();
-
-    /**
-     * 每日签到
-     */
-    @POST("/v1/app/user_sign/sign_in")
-    Observable<SignDay> signEveryDay();
-
-    /**
-     * 签到状态获取
-     */
-    @GET("/v1/app/user_sign/signs")
-    Observable<SignsBean> getSigns();
-
-    /**
-     * 补签
-     */
-    @POST("/v1/app/user_sign/sign_in_supplement")
-    Observable<SignDay> signInSupplement();
-
-    /**
-     * 刮奖
-     */
-    @POST("/v1/app/user_sign/scratch_card")
-    Observable<SignDay> signScratchCard();
-}

+ 0 - 85
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/PlayVideoActivity.java

@@ -1,85 +0,0 @@
-package com.sheep.jiuyan.samllsheep.ui.activity;
-
-import android.content.res.Configuration;
-import android.os.Bundle;
-import android.view.Surface;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.RelativeLayout;
-import android.widget.VideoView;
-
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.ui.base.BaseActivity;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/11/5.
- * Description: 全屏播放视频
- */
-public class PlayVideoActivity extends BaseActivity {
-
-    @BindView(R.id.videoView)
-    VideoView videoView;
-    @BindView(R.id.video_layout)
-    RelativeLayout videoLayout;
-    private ViewGroup.LayoutParams params;
-
-    @Override
-    protected int onLayout() {
-        return R.layout.activity_play_video;
-    }
-
-    @Override
-    protected void onObject() {
-
-    }
-
-    @Override
-    protected void onView() {
-
-    }
-
-    @Override
-    protected void onData() {
-
-    }
-
-    @Override
-    public void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-        int rot = getWindowManager().getDefaultDisplay().getRotation();
-        if (rot == Surface.ROTATION_90 || rot == Surface.ROTATION_270) {
-            params = videoLayout.getLayoutParams();
-            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
-            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
-            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
-            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
-            videoLayout.setLayoutParams(layoutParams);
-            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
-
-        } else if (rot == Surface.ROTATION_0) {
-            videoLayout.setLayoutParams(params);
-        }
-    }
-
-    @OnClick(R.id.videoView)
-    public void onViewClicked() {
-        if (videoView.isPlaying()) {
-            videoView.pause();
-        } else if (!videoView.isPlaying()) {
-            videoView.start();
-        }
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        // TODO: add setContentView(...) invocation
-        ButterKnife.bind(this);
-    }
-}

+ 60 - 209
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/SignActivity.java

@@ -24,7 +24,6 @@ import com.sheep.gamegroup.util.DataKey;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
@@ -76,10 +75,10 @@ public class SignActivity extends BaseActivity implements UMShareListener {
 //    ImageView sheep_sign_egg;//中奖的球
     @BindView(R.id.sheep_sign_egg_msg)
     TextView sheep_sign_egg_msg;//中奖的球的文本
-    @BindView(R.id.sign_guajiangqu)
-    RelativeLayout signGuajiang;
+    @BindView(R.id.sign_gua_jiang_qu)
+    RelativeLayout signGuaJiang;
     /* 是否有漏签 */
-    private boolean attech = false;
+    private boolean hasMissSign = false;
 
     @Override
     protected int onLayout() {
@@ -172,7 +171,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                             public void onNext(BaseMessage baseMessage) {
                                 rechargeLogEntity = baseMessage.getData(RechargeLogEntity.class);
                                 isFinishInitLastScratch = true;
-                                updateGignGuajiang();
+                                updateSignGuaJiang();
 
                             }
 
@@ -199,7 +198,9 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                 });
     }
 
-    private List<UserSign> userSignList;
+    //签到记录列表
+    private List<UserSign> userSignList = ListUtil.emptyList();
+    //最后一次签到记录
     private UserSign lastUserSign;
 
     private void initSigns() {
@@ -211,8 +212,9 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                     public void onNext(BaseMessage baseMessage) {
                         List<UserSign> data = baseMessage.getDataList(UserSign.class);
                         if (data != null) {
-                            userSignList = data;
-                            ViewUtil.setText(signInfoText, String.format(Locale.CHINA, "已签到%d天,连续%d天打卡可参与刮奖", data.size(), SIGN_PERIOD));
+                            userSignList.clear();
+                            ListUtil.addAll(userSignList, data);
+                            ViewUtil.setText(signInfoText, String.format(Locale.CHINA, "已签到%d天,连续%d天签到可参与刮奖", data.size(), SIGN_PERIOD));
                             int max = 0;
                             lastUserSign = null;
                             /* 遍历最大签到周期 */
@@ -231,16 +233,13 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                                 }
                             }
                             /* 判断是否有漏签 */
-                            if (max > data.size()) {
-                                attech = true;
-                                signNowBut.setText("复活补签");
-                            } else {//没有漏签就设置今日签到状态
-                                //设置今日签到状态
-                                boolean isSignToday = lastUserSign != null && lastUserSign.isToday();
-                                ViewUtil.setText(signNowBut, isSignToday ? "已签到" : "签到");
-//                                        ViewUtil.setEnabled(signNowBut, !isSignToday);
-                            }
-                            updateGignGuajiang();
+                            hasMissSign = max > userSignList.size();
+                            //设置今日签到状态
+                            boolean isSignToday = lastUserSign != null && lastUserSign.isToday();
+                            ViewUtil.setText(signNowBut, isSignToday ? "已签到" : "签到");
+                            if(canSignInSupplement())//今日已经签到,并且有漏签、且今日没有进行补签,就设置复活补签
+                                ViewUtil.setText(signNowBut, "复活补签");
+                            updateSignGuaJiang();
                         } else {
                             G.showToast(R.string.service_data_error);
                         }
@@ -251,66 +250,13 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                         G.showToast(baseMessage);
                     }
                 });
-//        Network.api().getSigns()
-//                .compose(Scheduler.apply(this.<SignsBean>bindUntilEvent(ActivityEvent.DESTROY)))
-//                .subscribe(new Observer<SignsBean>() {
-//                    @Override
-//                    public void onSubscribe(Disposable d) {
-//                    }
-//
-//                    @SuppressLint("SetTextI18n")
-//                    @Override
-//                    public void onNext(SignsBean signsBean) {
-//                        List<SignsBean.DataBean> data = signsBean.getData();
-//                        signInfoText.setText("已签到" + data.size() + "天,连续6天打卡可参与刮奖");
-//                        int max = 0;
-//                        /* 遍历最大签到周期 */
-//                        for (SignsBean.DataBean bean : data) {
-//                            if (max == 0) {
-//                                max = bean.getDay();
-//                            } else {
-//                                max = Math.max(max, bean.getDay());
-//                            }
-//                        }
-//                        /* 判断是否有漏签 */
-//                        if (max > data.size()) {
-//                            attech = true;
-//                            signNowBut.setText("复活补签");
-//                            /* 设置从第一天到最后一天的状态为未签到 */
-//                            for (int i = 0; i < max - 1; i++) {
-//                                UserSign dataBean = data.get(i);
-//                                TextView childAt = (TextView) signDayList.getChildAt(dataBean.getDay() - 1);
-//                                childAt.setBackground(getResources().getDrawable(R.drawable.shape_sign_bg_select));
-//                            }
-//                        }
-//                        /* 设置已签到的天数状态 */
-//                        for (int i = 0; i < data.size(); i++) {
-//                            SignsBean.DataBean dataBean = data.get(i);
-//                            TextView childAt = (TextView) signDayList.getChildAt(dataBean.getDay() - 1);
-//                            childAt.setBackground(getResources().getDrawable(R.drawable.shape_sign_bg_select));
-//                            if (dataBean.getDay() == 6) {
-//                                childAt.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, null, getResources().getDrawable(R.drawable.giftbox_open));
-//                            } else {
-//                                childAt.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, null, getResources().getDrawable(R.drawable.qiandao));
-//                            }
-//                        }
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//                    }
-//
-//                    @Override
-//                    public void onComplete() {
-//                    }
-//                });
     }
 
     //更新刮奖显示状态
-    private void updateGignGuajiang() {
+    private void updateSignGuaJiang() {
         if(isFinishInitLastScratch && ListUtil.size(userSignList) == SIGN_PERIOD && (rechargeLogEntity == null || !rechargeLogEntity.isToday())){
             //一个周期完成且今日没有刮奖时,可以进行刮奖
-            ViewUtil.setVisibility(signGuajiang, true);
+            ViewUtil.setVisibility(signGuaJiang, true);
         }
     }
 
@@ -320,7 +266,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
     /**
      * 补签
      */
-    private void attechSign() {
+    private void signInSupplement() {
         UserSign willUserSign;
         if (ListUtil.isEmpty(userSignList)) {
             willUserSign = new UserSign();
@@ -345,7 +291,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        attech = false;
+                        hasMissSign = false;
                         signNowBut.setText("签到");
                         // 重新请求签到状态接口
                         initSigns();
@@ -356,32 +302,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                         G.showToast(baseMessage);
                     }
                 });
-//        Network.api().signInSupplement()
-//                .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
-//                .subscribe(new Observer<SignDay>() {
-//                    @Override
-//                    public void onSubscribe(Disposable d) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onNext(SignDay signDay) {
-//                        attech = false;
-//                        signNowBut.setText("签到");
-//                        // 重新请求签到状态接口
-//                        initSigns();
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onComplete() {
-//
-//                    }
-//                });
     }
 
     /**
@@ -398,12 +318,10 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                         if (sheepSignResult.isSign()){
                             tryShowSignResultAndTask("签到成功", sheepSignResult.getAmount());
                         } else {
-                            eggsView.setStop(false);
                             aEggGoOut(NumberFormatUtils.retainMost2(sheepSignResult.getAmount()), new Action1<Animation>(){
 
                                 @Override
                                 public void call(Animation animation) {
-                                    signNowBut.setText("已签到");
                                     tryShowSignResultAndTask("签到成功", sheepSignResult.getAmount());
                                 }
                             });
@@ -417,33 +335,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
 //                                makeAndShowWindow("已签到", signDay.getData());
                     }
                 });
-//        Network.api().signEveryDay()
-//                .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
-//                .subscribe(new Observer<SignDay>() {
-//                    @Override
-//                    public void onSubscribe(Disposable d) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onNext(SignDay signDay) {
-//                        signNowBut.setText("已签到");
-//                        signNowBut.setClickable(false);
-//                        signNowBut.setFocusable(false);
-//                        makeAndShowWindow("已签到", signDay.getData());
-//                        initSigns();
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onComplete() {
-//
-//                    }
-//                });
     }
 
     private void showSignResultAndTask(final String title, final double money, RobTask robTask) {
@@ -475,45 +366,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
         });
     }
 
-
-//    /**
-//     * 创建并显示窗口
-//     */
-//    @SuppressLint({"InflateParams", "SetTextI18n"})
-//    private void makeAndShowWindow(String title, double money) {
-//        final View dialog = LayoutInflater.from(this).inflate(R.layout.sign_ok_dialog, null);
-//        ((TextView) dialog.findViewById(R.id.sign_window_title)).setText(title);
-//        ((TextView) dialog.findViewById(R.id.sign_money_number)).setText("+" + money);
-//        dialog.findViewById(R.id.sign_window_next).setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                // 换一个
-//            }
-//        });
-//        dialog.findViewById(R.id.sign_window_share).setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                ((ViewGroup) getWindow().getDecorView()).removeView(dialog);
-//                UMWeb web = new UMWeb("下载链接");
-//                web.setTitle(getString(R.string.app_name));
-//                web.setThumb(new UMImage(SignActivity.this, R.drawable.icon));
-//                web.setDescription("任务详情");
-//                new ShareAction(SignActivity.this)
-//                        .withMedia(web)
-//                        .setDisplayList(SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN, SHARE_MEDIA.QZONE, SHARE_MEDIA.WEIXIN_CIRCLE)
-//                        .setCallback(SignActivity.this)
-//                        .open();
-//            }
-//        });
-//        dialog.findViewById(R.id.close_but).setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                ((ViewGroup) getWindow().getDecorView()).removeView(dialog);
-//            }
-//        });
-//        ((ViewGroup) getWindow().getDecorView()).addView(dialog);
-//    }
-
     @OnClick(R.id.back_but)
     public void onBackButClicked() {
         finish();
@@ -526,17 +378,26 @@ public class SignActivity extends BaseActivity implements UMShareListener {
 
     @OnClick(R.id.sign_now_but)
     public void onSignNowButClicked() {
-        if (attech && lastUserSign != null && lastUserSign.isToday()) {//有漏签并且今日已经签到,才能进行最近的补签
-            CommonUtil.getInstance().tryShowShareDialog(new Action1<View>() {
-                @Override
-                public void call(View view) {
-                    ViewUtil.setText((TextView) view.findViewById(R.id.ask_share_title), "邀请获得复活机会");
-                }
-            }, this);
+        if (canSignInSupplement()) {
+            //该操作前提是lastUserSign是今天的数据,且没有进行过补签
+            if(lastUserSign.signShared()){//可以进行补签且进行过分享操作,可以直接补签
+                signInSupplement();
+            } else {
+                CommonUtil.getInstance().tryShowShareDialog(new Action1<View>() {
+                    @Override
+                    public void call(View view) {
+                        ViewUtil.setText((TextView) view.findViewById(R.id.ask_share_title), "邀请获得复活机会");
+                    }
+                }, this);
+            }
         } else {
             signNow();
         }
     }
+    //判断 是否可以补签
+    private boolean canSignInSupplement(){
+        return hasMissSign && lastUserSign != null && lastUserSign.isToday() && !lastUserSign.signSupplemented();//有漏签并且今日已经签到、今日没有进行过补签,才能进行最近的补签
+    }
 
     @OnClick(R.id.go_to_pack_but)
     public void onGoToPackButClicked() {
@@ -546,8 +407,8 @@ public class SignActivity extends BaseActivity implements UMShareListener {
     //默认最小奖励
     public static final float DEFAULT_FLOAT = 0.01f;
 
-    @OnClick(R.id.sign_guajiangqu)
-    public void onSignGuajiangquClicked() {
+    @OnClick(R.id.sign_gua_jiang_qu)
+    public void onSignGuaJiangquClicked() {
         SheepApp.getInstance().getNetComponent().getApiService().postUserSignScratchCard()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -555,7 +416,7 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         SheepSignResult sheepSignResult = baseMessage.getData(SheepSignResult.class);
-                        signGuajiang.setVisibility(View.GONE);
+                        signGuaJiang.setVisibility(View.GONE);
                         tryShowSignResultAndTask("刮奖成功", sheepSignResult.getAmount());
                     }
 
@@ -564,30 +425,6 @@ public class SignActivity extends BaseActivity implements UMShareListener {
                         G.showToast(baseMessage);
                     }
                 });
-//        Network.api().signScratchCard()
-//                .compose(Scheduler.apply(this.<SignDay>bindUntilEvent(ActivityEvent.DESTROY)))
-//                .subscribe(new Observer<SignDay>() {
-//                    @Override
-//                    public void onSubscribe(Disposable d) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onNext(SignDay signDay) {
-//                        signGuajiang.setVisibility(View.GONE);
-//                        makeAndShowWindow("刮奖成功", signDay.getData());
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//
-//                    }
-//
-//                    @Override
-//                    public void onComplete() {
-//
-//                    }
-//                });
     }
 
     @OnClick(R.id.go_to_yaoqing)
@@ -597,26 +434,40 @@ public class SignActivity extends BaseActivity implements UMShareListener {
 
     @Override
     public void onStart(SHARE_MEDIA share_media) {
-        LogUtil.println("SignActivity", "share", "onStart", share_media.getName());
+//        LogUtil.println("SignActivity", "share", "onStart", share_media.getName());
     }
 
     @Override
     public void onResult(SHARE_MEDIA share_media) {
-        LogUtil.println("SignActivity", "share", "onResult", share_media.getName());
-        if (attech)
-            attechSign();
+//        LogUtil.println("SignActivity", "share", "onResult", share_media.getName());
+        SheepApp.getInstance().getNetComponent().getApiService().postUserSignShare()
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                if (canSignInSupplement())
+                                    signInSupplement();
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                if (canSignInSupplement())
+                                    G.showToast(baseMessage);
+                            }
+                        });
     }
 
     @Override
     public void onError(SHARE_MEDIA share_media, Throwable throwable) {
         String msg = throwable.getMessage();
         G.showToast(msg != null && msg.contains("没有安装应用") ? "没有安装应用" : msg);
-        LogUtil.println("SignActivity", "share", "onError", share_media.getName(), throwable.getMessage());
+//        LogUtil.println("SignActivity", "share", "onError", share_media.getName(), throwable.getMessage());
     }
 
     @Override
     public void onCancel(SHARE_MEDIA share_media) {
-        LogUtil.println("SignActivity", "share", "onCancel", share_media.getName());
+//        LogUtil.println("SignActivity", "share", "onCancel", share_media.getName());
     }
 
     @Override

+ 0 - 127
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/UserNavActivity.java

@@ -1,127 +0,0 @@
-package com.sheep.jiuyan.samllsheep.ui.activity;
-
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.net.Uri;
-import android.support.v4.app.ActivityOptionsCompat;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.TextView;
-import android.widget.VideoView;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.BaseViewHolder;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.bean.NavBean;
-import com.sheep.jiuyan.samllsheep.net.Network;
-import com.sheep.jiuyan.samllsheep.net.Scheduler;
-import com.sheep.jiuyan.samllsheep.ui.base.BaseActivity;
-import com.trello.rxlifecycle2.android.ActivityEvent;
-
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/11/2.
- * Description: 新手导航界面
- */
-public class UserNavActivity extends BaseActivity {
-
-    @BindView(R.id.new_user_guide_list)
-    RecyclerView newUserGuideList;
-
-    @Override
-    protected int onLayout() {
-        return R.layout.activity_user_nav;
-    }
-
-    @Override
-    protected void onObject() {
-        Network.api().userGuide()
-                .compose(Scheduler.apply(this.<List<NavBean>>bindUntilEvent(ActivityEvent.DESTROY)))
-                .subscribe(new Observer<List<NavBean>>() {
-                    @Override
-                    public void onSubscribe(Disposable d) {
-
-                    }
-
-                    @SuppressLint("InflateParams")
-                    @Override
-                    public void onNext(List<NavBean> navBeans) {
-                        BaseQuickAdapter<NavBean, BaseViewHolder> adapter = new BaseQuickAdapter<NavBean, BaseViewHolder>(R.layout.item_new_user_guide, navBeans) {
-                            @Override
-                            protected void convert(BaseViewHolder helper, NavBean item) {
-                                helper.setText(R.id.nav_content_text, item.getTitle());
-                                if (item.getType() == 1) {
-                                    helper.getView(R.id.nav_guide_video).setVisibility(View.GONE);
-                                    helper.getView(R.id.nav_guide_video_full).setVisibility(View.GONE);
-                                    TextView textView = helper.getView(R.id.nav_content_text);
-                                    textView.setText(item.getContent());
-                                    textView.setVisibility(View.VISIBLE);
-                                } else if (item.getType() == 2) {
-                                    helper.getView(R.id.nav_content_text).setVisibility(View.GONE);
-                                    final VideoView vv = helper.getView(R.id.nav_guide_video);
-                                    vv.setVisibility(View.VISIBLE);
-                                    vv.setVideoURI(Uri.parse(item.getVideo_url()));
-                                    vv.setOnClickListener(new View.OnClickListener() {
-                                        @Override
-                                        public void onClick(View v) {
-                                            if (vv.isPlaying()) {
-                                                vv.pause();
-                                            } else if (!vv.isPlaying()) {
-                                                vv.start();
-                                            }
-                                        }
-                                    });
-                                    final TextView tv = helper.getView(R.id.nav_guide_video_full);
-                                    tv.setVisibility(View.VISIBLE);
-                                    tv.setOnClickListener(new View.OnClickListener() {
-                                        @Override
-                                        public void onClick(View v) {
-                                            startActivity(new Intent(UserNavActivity.this, PlayVideoActivity.class),
-                                                    ActivityOptionsCompat.makeSceneTransitionAnimation(UserNavActivity.this, vv, "video").toBundle());
-                                        }
-                                    });
-                                }
-                            }
-                        };
-                        adapter.addHeaderView(LayoutInflater.from(UserNavActivity.this).inflate(R.layout.header_new_user_nav, null));
-                        LinearLayoutManager manager = new LinearLayoutManager(UserNavActivity.this, LinearLayoutManager.VERTICAL, false);
-                        newUserGuideList.setLayoutManager(manager);
-                        newUserGuideList.setAdapter(adapter);
-                    }
-
-                    @Override
-                    public void onError(Throwable e) {
-
-                    }
-
-                    @Override
-                    public void onComplete() {
-
-                    }
-                });
-    }
-
-    @Override
-    protected void onView() {
-
-    }
-
-    @Override
-    protected void onData() {
-
-    }
-
-    @OnClick(R.id.back_but)
-    public void onViewClicked() {
-        finish();
-    }
-}

+ 0 - 25
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/adapter/SearchAdapter.java

@@ -1,25 +0,0 @@
-package com.sheep.jiuyan.samllsheep.ui.adapter;
-
-import android.support.annotation.Nullable;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.BaseViewHolder;
-
-import java.util.List;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/10/31.
- * Description: 搜索列表适配器
- */
-public class SearchAdapter extends BaseQuickAdapter<Object, BaseViewHolder> {
-
-    public SearchAdapter(int layoutResId, @Nullable List<Object> data) {
-        super(layoutResId, data);
-    }
-
-    @Override
-    protected void convert(BaseViewHolder helper, Object item) {
-
-    }
-}

+ 14 - 4
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/view/EggView.java

@@ -26,13 +26,13 @@ public class EggView extends View {
     /* 控件高度 */
     private int height;
     /* 扭蛋图片集合 */
-    private Bitmap[] drawables;
+    private Bitmap[] bitmaps;
     /* 扭蛋集合 */
     private Egg[] eggs;
     /* 画笔 */
     private Paint paint;
     /* 是否停止 */
-    private boolean isStop = true;
+    private boolean isStop = false;
 
     public EggView(Context context) {
         super(context);
@@ -55,7 +55,7 @@ public class EggView extends View {
         paint.setAntiAlias(true);
         paint.setStyle(Paint.Style.FILL);
         setBackgroundColor(getResources().getColor(android.R.color.transparent));
-        drawables = new Bitmap[]{
+        bitmaps = new Bitmap[]{
                 BitmapFactory.decodeResource(getResources(), R.drawable.niudan1),
                 BitmapFactory.decodeResource(getResources(), R.drawable.niudan2),
                 BitmapFactory.decodeResource(getResources(), R.drawable.niudan3),
@@ -102,10 +102,20 @@ public class EggView extends View {
     private void initEggs() {
         eggs = new Egg[8];
         for (int i = 0; i < eggs.length; i++) {
-            Egg egg = new Egg(width, height, drawables[i]);
+            Egg egg = new Egg(width, height, bitmaps[i]);
             eggs[i] = egg;
         }
     }
+    //退出时销毁
+    public void onDestroy(){
+        for (Bitmap item : bitmaps) {
+            try {
+                item.recycle();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
 
     /**
      * 扭蛋对象

+ 2 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/PackageUtil.java

@@ -57,7 +57,7 @@ public class PackageUtil {
     * 判断是否安装
     * check the app is installed
     */
-    public static boolean isAppInstalled(Context context, String packagename) {
+    public static boolean isAppInstalled(Context context, String packageName) {
         PackageInfo packageInfo;
         try {
             PackageManager  manager=context.getPackageManager();
@@ -65,7 +65,7 @@ public class PackageUtil {
                 return false;
 
             }else {
-                packageInfo = manager.getPackageInfo(packagename, 0);
+                packageInfo = manager.getPackageInfo(packageName, 0);
             }
         } catch (PackageManager.NameNotFoundException e) {
             packageInfo = null;

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

@@ -119,7 +119,7 @@
                 android:background="#ffffff"
                 android:gravity="center"
                 android:paddingTop="20dp"
-                android:text="已签到1天 ,继续6天打卡可参与刮奖"
+                android:text="已签到1天 ,继续6天签到可参与刮奖"
                 android:textColor="#999999"
                 android:textSize="12sp" />
 
@@ -226,7 +226,7 @@
                     android:textSize="16sp" />
 
                 <RelativeLayout
-                    android:id="@+id/sign_guajiangqu"
+                    android:id="@+id/sign_gua_jiang_qu"
                     android:layout_width="250dp"
                     android:layout_height="80dp"
                     android:layout_marginBottom="20dp"

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

@@ -40,11 +40,10 @@
 
     <TextView
         android:id="@+id/my_item_tag"
-        android:layout_width="wrap_content"
+        android:layout_width="26dp"
         android:layout_height="wrap_content"
         android:layout_alignEnd="@id/my_item_img_text"
         android:gravity="center"
-        android:padding="2dp"
         android:text="试玩"
         android:textColor="@color/black_6_3"
         android:textSize="7sp" />