Bläddra i källkod

幂动任务列表界面统一为一种样式;
跳转网页前,检查是否http或者https开头,没有则添加http://

zengjiebin 7 år sedan
förälder
incheckning
c149dcef9a

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

@@ -693,6 +693,8 @@
             android:name="com.sheep.gamegroup.view.activity.GameCertificationActivity"
             android:exported="true"
             android:screenOrientation="portrait" />
+        <activity android:name="com.sheep.gamegroup.view.activity.ActPay"
+            android:screenOrientation="portrait" />
 
         <service
             android:name="com.mdad.sdk.mdsdk.monitor.MonitorService"

+ 8 - 3
app/src/main/java/com/sheep/gamegroup/model/util/SheepSubscriber.java

@@ -8,10 +8,12 @@ import android.widget.Toast;
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.BaseMessageConverter;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.util.ActivityManager;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.NetUtil;
 import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.activity.LoginAct;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
@@ -69,9 +71,12 @@ public abstract class SheepSubscriber<T> extends Subscriber<T> {
                 }
                 //token 过期
                 if(throwable.code == 401){
-                    SpUtils.saveToken(SheepApp.getInstance(), "");
-                    Jump2View.getInstance().gotoLoginAgain(baseMessage.getMsg());
-                    return;
+                    if(ActivityManager.getInstance().currentActivity() instanceof LoginAct){//本身就是登录界面
+                    } else {
+                        SpUtils.saveToken(SheepApp.getInstance(), "");
+                        Jump2View.getInstance().gotoLoginAgain(baseMessage.getMsg());
+                        return;
+                    }
                 }
                 //未绑定手机号
                 if(throwable.code == 302 && baseMessage.getCode() == 30001){

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

@@ -9,6 +9,7 @@ import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
 
@@ -855,6 +856,10 @@ public class Jump2View {
             G.showToast(R.string.service_data_error);
             return;
         }
+        //检查url是否是http或者https开头并添加
+        if (!url.startsWith("http") && !url.startsWith("https") && !url.contains("://")) {
+            url = "http://"+url;
+        }
         try {
             Uri uri = Uri.parse(url);
             Intent intent = new Intent(Intent.ACTION_VIEW, uri);
@@ -876,6 +881,10 @@ public class Jump2View {
             G.showToast(R.string.service_data_error);
             return;
         }
+        //检查url是否是http或者https开头并添加
+        if (!url.startsWith("http") && !url.startsWith("https") && !url.contains("://")) {
+            url = "http://"+url;
+        }
         Intent intent = new Intent(context, ActWeb.class);
         intent.putExtra("url", url);
         intent.putExtra("title", TextUtils.isEmpty(title) ? "加载中..." : title);

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

@@ -208,7 +208,7 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"复制token","复制打点数据","从jenkins下载小绵羊安装包","龙猫竞猜","龙猫竞猜-scheme",
+        final String[] items = {"复制token","复制打点数据","从jenkins下载小绵羊安装包","龙猫竞猜","龙猫竞猜-scheme", "测试内部h5", "测试外部h5",
                 "会长推广游戏","移动积分兑换","审核中心","检查正版","crc32","loading","progress","查看截图",
                 "复制IMEI","小米游戏","测试可用金额","测试定位信息","测试apk的渠道","幂动科技","游戏搜索",
                 "游戏帐号","游戏代充","尝试开启第三方应用使用情况","测试代理页面","第三方应用使用情况",
@@ -222,6 +222,12 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "测试内部h5":
+                                Jump2View.getInstance().goWeb(activity, "www.17xmy.com/", "小绵羊官网");
+                                break;
+                            case "测试外部h5":
+                                Jump2View.getInstance().goWeb(activity, "www.17xmy.com/");
+                                break;
                             case "龙猫竞猜":
                                 try {
                                     PackageUtil.startApp(SheepApp.getInstance(), LONG_MAO_APP_PACKAGE_NAME);

+ 7 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/ActMiDong.java

@@ -19,7 +19,9 @@ import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
-import com.sheep.gamegroup.view.fragment.FgtMiDong;
+import com.sheep.gamegroup.view.fragment.BaseListFragment;
+import com.sheep.gamegroup.view.fragment.FgtMiDongAdTskList;
+import com.sheep.gamegroup.view.fragment.FgtMiDongSignTskList;
 import com.sheep.gamegroup.view.fragment.FgtMiDongWeChatTaskList;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -78,8 +80,8 @@ public class ActMiDong extends BaseActivity {
     @Override
     public void initData() {
         mAdapter = new TitleFragmentListAdapter(getSupportFragmentManager());
-        fgtMiDongList.add(FgtMiDong.newInstance(0));
-        fgtMiDongList.add(FgtMiDong.newInstance(1));
+        fgtMiDongList.add(new FgtMiDongAdTskList());
+        fgtMiDongList.add(new FgtMiDongSignTskList());
         fgtMiDongList.add(new FgtMiDongWeChatTaskList());
         mAdapter.add(fgtMiDongList.get(0), "普通任务");
         mAdapter.add(fgtMiDongList.get(1), "签到任务");
@@ -170,8 +172,8 @@ public class ActMiDong extends BaseActivity {
         switch (event.getEventTypes()){
             case REFRESH_MING_DONG:
                 BaseFragment item = ListUtil.getItem(fgtMiDongList, curPosition);
-                if(item instanceof FgtMiDong){
-                    ((FgtMiDong) item).refreshData();
+                if(item instanceof FgtMiDongAdTskList || item instanceof FgtMiDongSignTskList){
+                    ((BaseListFragment) item).refreshData();
                 }
                 break;
         }

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

@@ -22,21 +22,22 @@ import com.sheep.jiuyan.samllsheep.R;
 
 import java.util.List;
 import java.util.Locale;
-
 /**
- * Created by ljy on 2018/9/17.
+ * Created by realicing on 2018/10/18.
+ * realicing@sina.com
+ * 幂动任务--普通任务和签到任务
  */
-
-public class AdbMidong extends AdbCommonRecycler<AdDataSon> {
+public class AdpMiDong extends AdbCommonRecycler<AdData> {
     private Context context;
     private boolean isSign = false;
-    public AdbMidong(Context context, List<AdDataSon> list) {
+    public AdpMiDong(Context context, List<AdData> list) {
         super(context, list);
         this.context = context;
     }
 
-    public void setSign(boolean isSign){
+    public AdpMiDong setSign(boolean isSign){
         this.isSign = isSign;
+        return this;
     }
     @Override
     public int getViewIdByType(int type) {
@@ -44,8 +45,7 @@ public class AdbMidong extends AdbCommonRecycler<AdDataSon> {
     }
 
     @Override
-    public void convert(ViewHolder holder, AdDataSon adDataSon) {
-        final AdData data = adDataSon.getAdData();
+    public void convert(ViewHolder holder, final AdData data) {
         if(data == null)
             return;
         TextView btnInstall = holder.itemView.findViewById(R.id.task_type_tv);

+ 0 - 273
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMiDong.java

@@ -1,273 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Toast;
-
-import com.mdad.sdk.mdsdk.AdManager;
-import com.mdad.sdk.mdsdk.GetAdListListener;
-import com.mdad.sdk.mdsdk.RewardListener;
-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.ListUtil;
-import com.sheep.gamegroup.util.SysAppUtil;
-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;
-
-import java.util.List;
-
-import butterknife.BindView;
-import rx.functions.Action1;
-
-/**
- * Created by ljy on 2018/7/19.
- */
-
-public class FgtMiDong extends BaseFragment {
-
-    @BindView(R.id.title)
-    View title;
-    @BindView(R.id.refresh)
-    SwipeRefreshLayout refresh;
-    @BindView(R.id.empty_view)
-    View empty_view;
-    @BindView(R.id.check_net_ll)
-    View check_net_ll;
-    @BindView(R.id.view_list)
-    RecyclerView recyclerview;
-    private int type;
-    private Activity activity;
-    private AdbMidong adListAdapter;
-    private int pageNo = 1;
-    private int pageSize = 30;
-    private List<AdDataSon> listData = ListUtil.emptyList();
-    private int refresh_init_false = 1;
-
-    public static FgtMiDong newInstance(int type) {
-        FgtMiDong fgtMiDong = new FgtMiDong();
-        Bundle bundle = new Bundle();
-        bundle.putInt("type", type);
-        fgtMiDong.setArguments(bundle);
-        return fgtMiDong;
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        Bundle bundle = getArguments();
-        if (bundle != null) {
-            type = bundle.getInt("type", 0);
-        }
-    }
-
-    @Override
-    public int getLayoutId() {
-        return R.layout.net_empty_fresh_list_more;
-    }
-
-    @Override
-    public void onViewCreated() {
-        activity = getActivity();
-        initView();
-        initData(false);
-    }
-
-    private void initView() {
-        title.setVisibility(View.GONE);
-        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
-            @Override
-            public void onRefresh() {
-                initData(true);
-            }
-        });
-
-
-        /**
-         * recycle view
-         */
-        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
-        adListAdapter = new AdbMidong(activity, listData);
-        recyclerview.setAdapter(adListAdapter);
-
-        /**
-         * 任务完成回调
-         */
-        AdManager.getInstance(activity).setRewardListener(new RewardListener() {
-            @Override
-            public void doTaskSuccess(String packageName) {
-                // packageName 为所完成任务的包名
-                G.showToast( packageName + "", Toast.LENGTH_SHORT);
-            }
-
-            @Override
-            public void doTaskFail(String error) {
-                G.showToast( error + "", Toast.LENGTH_SHORT);
-            }
-        });
-        initListen();
-    }
-
-    private void initData(final boolean isRefresh) {
-        if(empty_view != null)
-            empty_view.setVisibility(View.INVISIBLE);
-        SysAppUtil.checkNet(new Action1<Integer>() {
-            @Override
-            public void call(Integer result) {
-                if (result != 0) {//无网络
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.VISIBLE);
-                } else {
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.GONE);
-                }
-            }
-        });
-        try {
-            loadData(false, isRefresh);
-        } catch (Exception e) {
-            e.printStackTrace();
-            new Handler().postDelayed(new Runnable() {
-                @Override
-                public void run() {
-                    loadData(false, isRefresh);
-                }
-            }, 500);
-        }
-    }
-
-    private void notifyDataSetChanged() {
-        if(refresh == null || empty_view == null){
-            return;
-        }
-        CommonUtil.getInstance().updateEmptyView(empty_view, listData.isEmpty());
-        refresh.setRefreshing(false);
-        adListAdapter.notifyDataSetChanged();
-    }
-
-    private void loadData(boolean isLoadMore, final boolean isRefresh) {
-        /**
-         * 异步获取普通任务,回调是在主线程,可以直接更新UI,加载更多的逻辑只需更新pageNo和pageSize即可。
-         */
-        if (isLoadMore)
-            pageNo++;
-        else
-            pageNo = 1;
-        if (type == 0) {
-            AdManager.getInstance(activity).getAdListAsync(activity, new GetAdListListener() {
-                @Override
-                public void onLoadAdSuccess(List<AdData> list) {
-                    if (list != null) {
-                        if (pageNo == 1)
-                            listData.clear();
-
-                        for (AdData adData : list) {
-                            AdDataSon adDataSon = new AdDataSon();
-                            adDataSon.setAdData(adData);
-                            listData.add(adDataSon);
-                        }
-//                        listData.addAll((Collection<? extends AdDataSon>) list);
-//                        adListAdapter.setData(listData);
-                    }
-                    notifyDataSetChanged();
-                }
-
-                @Override
-                public void onLoadAdFailure() {
-                    if (refresh_init_false == 1) {
-                        initData(isRefresh);
-                    }
-                    refresh_init_false++;
-
-                    if (isRefresh)
-                        G.showToast( "网络异常,请稍后再试", Toast.LENGTH_SHORT);
-                    notifyDataSetChanged();
-                }
-
-                @Override
-                public void onAdEmpty() {
-                    if (isRefresh)
-                        G.showToast( "暂无数据", Toast.LENGTH_SHORT);
-                    notifyDataSetChanged();
-
-                }
-            }, pageNo, pageSize);
-
-        } else {
-            /**
-             * 异步获取签到任务,回调是在主线程,可以直接更新UI,加载更多的逻辑只需更新pageNo和pageSize即可。
-             */
-            AdManager.getInstance(activity).getSignListAsync(activity, new GetAdListListener() {
-                @Override
-                public void onLoadAdSuccess(List<AdData> list) {
-                    if (list != null && list.size() > 0) {
-                        if (pageNo == 1)
-                            listData.clear();
-                        for (AdData adData : list) {
-                            AdDataSon adDataSon = new AdDataSon();
-                            adDataSon.setAdData(adData);
-                            listData.add(adDataSon);
-                        }
-//                        adListAdapter.setData(listData);
-                        adListAdapter.setSign(true);
-                    } else {
-                        if (isRefresh)
-                            G.showToast( "暂无数据", Toast.LENGTH_SHORT);
-                    }
-                    notifyDataSetChanged();
-                }
-
-                @Override
-                public void onLoadAdFailure() {
-                    if (isRefresh)
-                        G.showToast( "网络异常,请稍后再试", Toast.LENGTH_SHORT);
-                    notifyDataSetChanged();
-                }
-
-                @Override
-                public void onAdEmpty() {
-                    if (isRefresh)
-                        G.showToast( "暂无数据", Toast.LENGTH_SHORT);
-                    notifyDataSetChanged();
-
-                }
-            }, pageNo, pageSize);
-        }
-
-    }
-
-    private void initListen() {
-        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
-                super.onScrollStateChanged(recyclerView, newState);
-                if (newState == RecyclerView.SCROLL_STATE_IDLE) {//滑动到了底部
-                    if (listData.size() >= pageNo * pageSize) {
-                        loadData(true, false);
-                    } else {
-//                        G.showToast("没有更多数据了");
-                    }
-
-                }
-            }
-        });
-    }
-
-    /**
-     * 刷新数据
-     */
-    public void refreshData() {
-        if (adListAdapter != null)
-            adListAdapter.notifyDataSetChanged();
-    }
-}

+ 63 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMiDongAdTskList.java

@@ -0,0 +1,63 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.support.v7.widget.RecyclerView;
+
+import com.mdad.sdk.mdsdk.AdManager;
+import com.mdad.sdk.mdsdk.GetAdListListener;
+import com.mdad.sdk.mdsdk.common.AdData;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.view.adapter.AdpMiDong;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/10/18.
+ * realicing@sina.com
+ * 幂动任务--普通任务
+ */
+public class FgtMiDongAdTskList extends BaseListFragment<AdData> {
+
+    @Override
+    protected RecyclerView.Adapter getAdapter() {
+        return new AdpMiDong(activity, list);
+    }
+
+    @Override
+    public void initData() {
+        if (page == 1)
+            list.clear();
+        AdManager.getInstance(activity).getAdListAsync(activity, new GetAdListListener() {
+            @Override
+            public void onLoadAdSuccess(final List<AdData> newList) {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        ListUtil.addAll(list, newList);
+                        notifyDataSetChanged();
+                    }
+                });
+            }
+
+            @Override
+            public void onLoadAdFailure() {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        notifyDataSetChanged();
+                    }
+                });
+            }
+
+            @Override
+            public void onAdEmpty() {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        notifyDataSetChanged();
+                    }
+                });
+
+            }
+        }, page, per_page);
+    }
+}

+ 63 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMiDongSignTskList.java

@@ -0,0 +1,63 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.support.v7.widget.RecyclerView;
+
+import com.mdad.sdk.mdsdk.AdManager;
+import com.mdad.sdk.mdsdk.GetAdListListener;
+import com.mdad.sdk.mdsdk.common.AdData;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.view.adapter.AdpMiDong;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/10/18.
+ * realicing@sina.com
+ * 幂动任务--签到任务
+ */
+public class FgtMiDongSignTskList extends BaseListFragment<AdData> {
+
+    @Override
+    protected RecyclerView.Adapter getAdapter() {
+        return new AdpMiDong(activity, list).setSign(true);
+    }
+
+    @Override
+    public void initData() {
+        if (page == 1)
+            list.clear();
+        AdManager.getInstance(activity).getSignListAsync(activity, new GetAdListListener() {
+            @Override
+            public void onLoadAdSuccess(final List<AdData> newList) {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        ListUtil.addAll(list, newList);
+                        notifyDataSetChanged();
+                    }
+                });
+            }
+
+            @Override
+            public void onLoadAdFailure() {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        notifyDataSetChanged();
+                    }
+                });
+            }
+
+            @Override
+            public void onAdEmpty() {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        notifyDataSetChanged();
+                    }
+                });
+
+            }
+        }, page, per_page);
+    }
+}

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

@@ -784,8 +784,10 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         RefreshUtil.newInstance().publicParameterRefresh(refresh, activity);
     }
     private void notifyDataSetChanged() {
-        refresh.finishRefresh();
-        refresh.finishLoadMore();
+        if(refresh != null) {
+            refresh.finishRefresh();
+            refresh.finishLoadMore();
+        }
     }
 
     /**