From a8fad18ea31ad23c98fd77174c0cdd4bad0de8ea Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 08 四月 2021 19:11:01 +0800 Subject: [PATCH] 新版搜索过渡页优化 --- BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java | 130 ++++++++++-------------------------------- 1 files changed, 32 insertions(+), 98 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java index 34b6fe8..358b54c 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java @@ -63,6 +63,7 @@ import com.weikou.beibeivideo.util.JumpActivityUtil; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.ExpressAdManager; +import com.weikou.beibeivideo.util.ad.HomeAdUtil; import com.weikou.beibeivideo.util.ui.DividerItemDecoration; import com.yeshi.appupdate.GoReview; import com.yeshi.appupdate.service.DownLoadFileService; @@ -345,6 +346,7 @@ if (position == 0) { getAdRecommendRight(); } + loadCacheData(); } private List<ExpressAdContainer> adList; @@ -394,9 +396,6 @@ if (!vp_recommend.hasAdapter()) { - - int width = ScreenUtils.getScreenWidth(getContext()); - vp_recommend.initBanner(urlList, false, ratio)//寮�鍚�3D鐢诲粖鏁堟灉 .addPageMargin((int) (DimenUtils.dip2px(getContext(), 1) * 1.5), DimenUtils.dip2px(getContext(), 3))//鍙傛暟1page涔嬮棿鐨勯棿璺�,鍙傛暟2涓棿item璺濈杈圭晫鐨勯棿璺� // .addPointMargin(5)//鎸囩ず鍣ㄧ偣闂磋窛 @@ -410,74 +409,8 @@ public void onBannerClick(int position) { if (position >= mHomeAds.size()) return; - Intent intent = null; - if (mHomeAds.get(position).getLinkType() == 1) { - intent = new Intent(getContext(), - VideoDetailActivity.class); - intent.putExtra("video_info", mHomeAds.get(position) - .getVideo()); - } else if (mHomeAds.get(position).getLinkType() == 5) { - try { - JSONObject object = new JSONObject(mHomeAds - .get(position).getParams() - .replace("\\", "")); - String thumb = object.optString("thumb"); - String title = object.optString("title"); - String desc = object.optString("desc"); - String path = object.optString("path"); - String username = object.optString("username"); - String url = object.optString("url"); - - CustomShareDialog.Builder builder = new CustomShareDialog.Builder(getActivity()); - builder.setMessage(desc); - builder.setUrl(url); - builder.setContentImage(thumb); - builder.setTitle(title); - builder.setPath(path); - builder.setUserName(username); - builder.setNegativeButton("鍙栨秷鍒嗕韩", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } - }); - builder.create().show(); - } catch (Exception e) { - - } - - } else { - try { - intent = new Intent(getContext(), Class - .forName(mHomeAds.get(position).getClazz())); - JSONObject object = new JSONObject(mHomeAds - .get(position).getParams() - .replace("\\", "")); - if (mHomeAds.get(position).getClazz().contains("FXBrowserActivity") && object.optString("url").endsWith(".apk")) { -// startDownLoadFile(object.optString("url")); - return; - } - if (mHomeAds.get(position).getParams() != null) { - @SuppressWarnings("unchecked") - Iterator<String> its = object.keys(); - while (its.hasNext()) { - String key = its.next(); - String value = object.optString(key); - intent.putExtra(key, value); - intent.putExtra("isPush", true); - } - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - - } - if (intent != null) - getContext().startActivity(intent); + HomeAdUtil.jump(mHomeAds.get(position), getActivity()); } - }); } else { vp_recommend.notifyDataSetChanged(); @@ -490,12 +423,14 @@ { DiskLruCache.Snapshot snapshot = null; try { - snapshot = cache.get(getKey("getHomeAd") + type.getId()); + snapshot = cache.get(getKey("getHomeAdNew") + type.getId()); if (snapshot != null) { - List<HomeAd> adList = new ArrayList<HomeAd>(); + List<HomeAd> adList = new ArrayList<>(); String str = snapshot.getString(0); try { - JSONArray array = new JSONArray(str); + JSONObject jsonObject = new JSONObject(str); + String bannerRate = jsonObject.optString("bannerSizeRate"); + JSONArray array = jsonObject.optJSONArray("data"); HomeAd ad; for (int i = 0; i < array.length(); i++) { ad = new HomeAd(); @@ -529,7 +464,7 @@ if (adList != null && adList.size() > 0) { mHomeAds.clear(); mHomeAds.addAll(adList); - setHomeAdsData(0.4375f); + setHomeAdsData(StringUtils.isBlank(bannerRate) ? 0.4375f : new BigDecimal(bannerRate).floatValue()); } } catch (JSONException e) { e.printStackTrace(); @@ -544,31 +479,31 @@ } } } - { - DiskLruCache.Snapshot snapshot = null; - 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( - snapshot.getString(0), - new TypeToken<List<HomeType>>() { - }.getType()); - mHomeTypes.clear(); - if (homeTypes != null) { - mHomeTypes.addAll(homeTypes); + + DiskLruCache.Snapshot snapshot = null; + 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( + snapshot.getString(0), + new TypeToken<List<HomeType>>() { + }.getType()); + mHomeTypes.clear(); + if (homeTypes != null) { + mHomeTypes.addAll(homeTypes); // mRecommendNewAdapter.notifyDataSetChanged(); - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (snapshot != null) { - snapshot.close(); } } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (snapshot != null) { + snapshot.close(); + } } + } } @@ -743,9 +678,8 @@ if (position == 0) { DiskLruCache.Editor editor = cache - .edit(getKey("getHomeAd") + type.getId()); - editor.set(0, jsonObject.getJSONObject("Data") - .getJSONArray("data").toString()); + .edit(getKey("getHomeAdNew") + type.getId()); + editor.set(0, jsonObject.getJSONObject("Data").toString()); editor.commit(); } } -- Gitblit v1.8.0