admin
2021-12-22 0a1336cd2b95126d66d6f3126cb48a446cdbfad1
app/src/com/hanju/video/app/ui/recommend/RecommendFragment.java
@@ -16,6 +16,7 @@
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.greenrobot.event.EventBus;
import android.util.Log;
import android.view.LayoutInflater;
@@ -42,6 +43,7 @@
import com.hanju.lib.library.util.common.StorageUtils;
import com.hanju.lib.library.util.common.StringUtils;
import com.hanju.lib.library.widget.RatioLayout;
import com.hanju.video.app.util.JsonUtil;
import com.lzj.gallery.library.views.BannerViewPager;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.umeng.analytics.MobclickAgent;
@@ -67,6 +69,8 @@
import com.hanju.video.app.util.ui.GlideUtil;
import com.hanju.update.appupdate.GoReview;
import com.hanju.update.appupdate.service.DownLoadFileService;
import com.video.youth.entity.YouthModeChange;
import com.video.youth.util.YouthUtil;
import org.apache.http.Header;
import org.json.JSONArray;
@@ -134,6 +138,21 @@
    private Set<String> emptyHomeTypes = new HashSet<>();
    private SwipeRefreshLayout.OnRefreshListener refreshListener = new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            if (position == 0) {
                getHotStars();
            }
            page = 1;
            //加载广告
            loadAd();
            getHomeAd();
            getRecommendSearchSpecial();
            Log.i("mResult", "onCreate---setOnRefreshListener---loadAD1");
        }
    };
    public static Fragment newInstance(HomeNav type, String position) {
        if (Integer.parseInt(position) < 2) {
            RecommendFragment fragment = new RecommendFragment();
@@ -155,6 +174,7 @@
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EventBus.getDefault().register(this);
        context = getActivity().getApplicationContext();
        try {
            cache = DiskLruCache.open(
@@ -316,7 +336,7 @@
                int last = manager.findLastVisibleItemPosition();
                int total = manager.getItemCount();
                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
                    if ((!isLoad) && last == total - 1 && mHomeTypes.size() > 0 && totalCount > mHomeTypes.size() + (emptyHomeTypes==null?0: emptyHomeTypes.size())) {
                    if ((!isLoad) && last == total - 1 && mHomeTypes.size() > 0 && totalCount > mHomeTypes.size() + (emptyHomeTypes == null ? 0 : emptyHomeTypes.size())) {
                        Log.i("RecommendFragment", "加载更多");
                        page++;
                        isLoad = true;
@@ -354,20 +374,7 @@
        mHomeAds = new ArrayList<>();
        mHomeSpecials = new ArrayList<>();
        rl_recommend.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                if (position == 0) {
                    getHotStars();
                }
                page = 1;
                //加载广告
                loadAd();
                getHomeAd();
                getRecommendSearchSpecial();
                Log.i("mResult", "onCreate---setOnRefreshListener---loadAD1");
            }
        });
        rl_recommend.setOnRefreshListener(refreshListener);
        if (mHomeTypes == null)
            mHomeTypes = new ArrayList();
@@ -625,9 +632,8 @@
                try {
                    snapshot = cache.get(getKey("getHomeType") + type.getId());
                    if (snapshot != null) {
                        Gson gson = new GsonBuilder().setFieldNamingPolicy(
                                FieldNamingPolicy.UPPER_CAMEL_CASE).create();
                        List<HomeType> homeTypes = gson.fromJson(
                        List<HomeType> homeTypes =  JsonUtil.videoGson.fromJson(
                                snapshot.getString(0),
                                new TypeToken<List<HomeType>>() {
                                }.getType());
@@ -650,9 +656,8 @@
                try {
                    snapshot = cache.get(getKey("getRecommendSearchSpecial") + type.getId());
                    if (snapshot != null) {
                        Gson gson = new GsonBuilder().setFieldNamingPolicy(
                                FieldNamingPolicy.UPPER_CAMEL_CASE).create();
                        List<HomeSpecial> homeSpecials = gson.fromJson(
                        List<HomeSpecial> homeSpecials =  JsonUtil.videoGson.fromJson(
                                snapshot.getString(0),
                                new TypeToken<List<HomeSpecial>>() {
                                }.getType());
@@ -738,18 +743,32 @@
        return new Md5FileNameGenerator().generate(method);
    }
    private static boolean needRefresh = false;
    public void onEventMainThread(YouthModeChange youth) {
        needRefresh = true;
    }
    @Override
    public void onResume() {
        super.onResume();
        mChangeHelper.registerReceiver();
        MobclickAgent.onPageStart("主页面—推荐");
        if (needRefresh) {
            needRefresh = false;
            if (refreshListener != null) {
                rl_recommend.setRefreshing(true);
                refreshListener.onRefresh();
            }
        }
    }
    @Override
    public void onPause() {
        super.onPause();
        mChangeHelper.unregisterReceiver();
        MobclickAgent.onPageEnd("主页面—推荐");
    }
    private String content;
@@ -808,12 +827,8 @@
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            Gson gson = new GsonBuilder()
                                    .setPrettyPrinting()
                                    .setFieldNamingPolicy(
                                            FieldNamingPolicy.UPPER_CAMEL_CASE)
                                    .create();
                            List<HomeAd> homeAds = gson.fromJson(jsonObject
                            List<HomeAd> homeAds =  JsonUtil.videoGson.fromJson(jsonObject
                                    .getJSONObject("Data").getJSONArray("data")
                                    .toString(), new TypeToken<List<HomeAd>>() {
                            }.getType());
@@ -908,9 +923,7 @@
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            Gson gson = new GsonBuilder().setVersion(1.0).setFieldNamingPolicy(
                                    FieldNamingPolicy.UPPER_CAMEL_CASE)
                                    .create();
                            JSONObject data = jsonObject.getJSONObject("Data");
                            totalCount = data.optInt("count");
                            List<HomeType> homeTypes = new ArrayList<>();
@@ -932,7 +945,7 @@
                                List<HomeVideo> homeList = new ArrayList<HomeVideo>();
                                if (homeArray != null && homeArray.length() > 0) {
                                    for (int j = 0; j < homeArray.length(); j++) {
                                        homeList.add(gson.fromJson(homeArray
                                        homeList.add( JsonUtil.videoGson.fromJson(homeArray
                                                        .optJSONObject(j).toString(),
                                                HomeVideo.class));
                                    }
@@ -944,7 +957,7 @@
                                if (itemArray != null && itemArray.length() > 0) {
                                    for (int k = 0; k < itemArray.length(); k++) {
                                        if (itemArray.optJSONObject(k) != null) {
                                            itemList.add(gson.fromJson(
                                            itemList.add(JsonUtil.videoGson.fromJson(
                                                    itemArray.optJSONObject(k)
                                                            .toString(),
                                                    HomeTypeItem.class));
@@ -1019,6 +1032,7 @@
    @Override
    public void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }
    private List<HomeVideo> adList1 = new ArrayList<>();
@@ -1038,10 +1052,8 @@
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            hotStars.clear();
                            Gson gson = new GsonBuilder().setFieldNamingPolicy(
                                    FieldNamingPolicy.UPPER_CAMEL_CASE)
                                    .create();
                            List<HotStar> hotStarList = gson.fromJson(
                            List<HotStar> hotStarList =  JsonUtil.videoGson.fromJson(
                                    jsonObject.getJSONObject("Data")
                                            .getJSONArray("data").toString(),
                                    new TypeToken<List<HotStar>>() {