From 19e8d20fdab023c296409d8932fe3abe81bb0c95 Mon Sep 17 00:00:00 2001 From: 21561 <215613905@qq.com> Date: Fri, 11 Nov 2022 23:09:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=86=85=E7=BD=AEijk?= =?UTF-8?q?=E9=85=8D=E7=BD=AE(=E4=BC=98=E5=85=88=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=87=AA=E5=B7=B1=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?);=E4=BF=AE=E6=AD=A3=E4=B8=80=E5=A4=84=E9=9B=86=E6=95=B0?= =?UTF-8?q?=E5=88=86=E7=BB=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java | 5 +++-- .../com/github/tvbox/osc/ui/activity/DetailActivity.java | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index b94a2c8f..999c82c5 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -432,7 +432,7 @@ public class ApiConfig { } } - String defaultIJKADS="{\"ijk\":[{\"options\":[{\"name\":\"opensles\",\"category\":4,\"value\":\"0\"},{\"name\":\"overlay-format\",\"category\":4,\"value\":\"842225234\"},{\"name\":\"framedrop\",\"category\":4,\"value\":\"1\"},{\"name\":\"soundtouch\",\"category\":4,\"value\":\"1\"},{\"name\":\"start-on-prepared\",\"category\":4,\"value\":\"1\"},{\"name\":\"http-detect-rangeupport\",\"category\":1,\"value\":\"0\"},{\"name\":\"fflags\",\"category\":1,\"value\":\"fastseek\"},{\"name\":\"skip_loop_filter\",\"category\":2,\"value\":\"48\"},{\"name\":\"reconnect\",\"category\":4,\"value\":\"1\"},{\"name\":\"enable-accurate-seek\",\"category\":4,\"value\":\"1\"},{\"name\":\"probesize\",\"category\":1,\"value\":\"10240\"},{\"name\":\"mediacodec\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-auto-rotate\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-handle-resolution-change\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-hevc\",\"category\":4,\"value\":\"0\"},{\"name\":\"dns_cache_timeout\",\"category\":1,\"value\":\"600000000\"}],\"group\":\"软解码\"},{\"options\":[{\"name\":\"opensles\",\"category\":4,\"value\":\"0\"},{\"name\":\"overlay-format\",\"category\":4,\"value\":\"842225234\"},{\"name\":\"framedrop\",\"category\":4,\"value\":\"1\"},{\"name\":\"soundtouch\",\"category\":4,\"value\":\"1\"},{\"name\":\"start-on-prepared\",\"category\":4,\"value\":\"1\"},{\"name\":\"http-detect-rangeupport\",\"category\":1,\"value\":\"0\"},{\"name\":\"fflags\",\"category\":1,\"value\":\"fastseek\"},{\"name\":\"skip_loop_filter\",\"category\":2,\"value\":\"48\"},{\"name\":\"reconnect\",\"category\":4,\"value\":\"1\"},{\"name\":\"enable-accurate-seek\",\"category\":4,\"value\":\"1\"},{\"name\":\"probesize\",\"category\":1,\"value\":\"10240\"},{\"name\":\"mediacodec\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-auto-rotate\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-handle-resolution-change\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-hevc\",\"category\":4,\"value\":\"1\"},{\"name\":\"dns_cache_timeout\",\"category\":1,\"value\":\"600000000\"}],\"group\":\"硬解码\"}],\"ads\":[\"mimg.0c1q0l.cn\",\"www.googletagmanager.com\",\"www.google-analytics.com\",\"mc.usihnbcq.cn\",\"mg.g1mm3d.cn\",\"mscs.svaeuzh.cn\",\"cnzz.hhttm.top\",\"tp.vinuxhome.com\",\"cnzz.mmstat.com\",\"www.baihuillq.com\",\"s23.cnzz.com\",\"z3.cnzz.com\",\"c.cnzz.com\",\"stj.v1vo.top\",\"z12.cnzz.com\",\"img.mosflower.cn\",\"tips.gamevvip.com\",\"ehwe.yhdtns.com\",\"xdn.cqqc3.com\",\"www.jixunkyy.cn\",\"sp.chemacid.cn\",\"hm.baidu.com\",\"s9.cnzz.com\",\"z6.cnzz.com\",\"um.cavuc.com\",\"mav.mavuz.com\",\"wofwk.aoidf3.com\",\"z5.cnzz.com\",\"xc.hubeijieshikj.cn\",\"tj.tianwenhu.com\",\"xg.gars57.cn\",\"k.jinxiuzhilv.com\",\"cdn.bootcss.com\",\"ppl.xunzhuo123.com\",\"xomk.jiangjunmh.top\",\"img.xunzhuo123.com\",\"z1.cnzz.com\",\"s13.cnzz.com\",\"xg.huataisangao.cn\",\"z7.cnzz.com\",\"xg.huataisangao.cn\",\"z2.cnzz.com\",\"s96.cnzz.com\",\"q11.cnzz.com\",\"thy.dacedsfa.cn\",\"xg.whsbpw.cn\",\"s19.cnzz.com\",\"z8.cnzz.com\",\"s4.cnzz.com\",\"f5w.as12df.top\",\"ae01.alicdn.com\",\"www.92424.cn\",\"k.wudejia.com\",\"vivovip.mmszxc.top\",\"qiu.xixiqiu.com\",\"cdnjs.hnfenxun.com\",\"cms.qdwght.com\"]}"; + String defaultIJKADS="{\"ijk\":[{\"options\":[{\"name\":\"opensles\",\"category\":4,\"value\":\"0\"},{\"name\":\"overlay-format\",\"category\":4,\"value\":\"842225234\"},{\"name\":\"framedrop\",\"category\":4,\"value\":\"1\"},{\"name\":\"soundtouch\",\"category\":4,\"value\":\"1\"},{\"name\":\"start-on-prepared\",\"category\":4,\"value\":\"1\"},{\"name\":\"http-detect-rangeupport\",\"category\":1,\"value\":\"0\"},{\"name\":\"fflags\",\"category\":1,\"value\":\"fastseek\"},{\"name\":\"skip_loop_filter\",\"category\":2,\"value\":\"48\"},{\"name\":\"reconnect\",\"category\":4,\"value\":\"1\"},{\"name\":\"enable-accurate-seek\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-auto-rotate\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-handle-resolution-change\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec-hevc\",\"category\":4,\"value\":\"0\"},{\"name\":\"dns_cache_timeout\",\"category\":1,\"value\":\"600000000\"}],\"group\":\"软解码\"},{\"options\":[{\"name\":\"opensles\",\"category\":4,\"value\":\"0\"},{\"name\":\"overlay-format\",\"category\":4,\"value\":\"842225234\"},{\"name\":\"framedrop\",\"category\":4,\"value\":\"1\"},{\"name\":\"soundtouch\",\"category\":4,\"value\":\"1\"},{\"name\":\"start-on-prepared\",\"category\":4,\"value\":\"1\"},{\"name\":\"http-detect-rangeupport\",\"category\":1,\"value\":\"0\"},{\"name\":\"fflags\",\"category\":1,\"value\":\"fastseek\"},{\"name\":\"skip_loop_filter\",\"category\":2,\"value\":\"48\"},{\"name\":\"reconnect\",\"category\":4,\"value\":\"1\"},{\"name\":\"enable-accurate-seek\",\"category\":4,\"value\":\"0\"},{\"name\":\"mediacodec\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-auto-rotate\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-handle-resolution-change\",\"category\":4,\"value\":\"1\"},{\"name\":\"mediacodec-hevc\",\"category\":4,\"value\":\"1\"},{\"name\":\"dns_cache_timeout\",\"category\":1,\"value\":\"600000000\"}],\"group\":\"硬解码\"}],\"ads\":[\"mimg.0c1q0l.cn\",\"www.googletagmanager.com\",\"www.google-analytics.com\",\"mc.usihnbcq.cn\",\"mg.g1mm3d.cn\",\"mscs.svaeuzh.cn\",\"cnzz.hhttm.top\",\"tp.vinuxhome.com\",\"cnzz.mmstat.com\",\"www.baihuillq.com\",\"s23.cnzz.com\",\"z3.cnzz.com\",\"c.cnzz.com\",\"stj.v1vo.top\",\"z12.cnzz.com\",\"img.mosflower.cn\",\"tips.gamevvip.com\",\"ehwe.yhdtns.com\",\"xdn.cqqc3.com\",\"www.jixunkyy.cn\",\"sp.chemacid.cn\",\"hm.baidu.com\",\"s9.cnzz.com\",\"z6.cnzz.com\",\"um.cavuc.com\",\"mav.mavuz.com\",\"wofwk.aoidf3.com\",\"z5.cnzz.com\",\"xc.hubeijieshikj.cn\",\"tj.tianwenhu.com\",\"xg.gars57.cn\",\"k.jinxiuzhilv.com\",\"cdn.bootcss.com\",\"ppl.xunzhuo123.com\",\"xomk.jiangjunmh.top\",\"img.xunzhuo123.com\",\"z1.cnzz.com\",\"s13.cnzz.com\",\"xg.huataisangao.cn\",\"z7.cnzz.com\",\"xg.huataisangao.cn\",\"z2.cnzz.com\",\"s96.cnzz.com\",\"q11.cnzz.com\",\"thy.dacedsfa.cn\",\"xg.whsbpw.cn\",\"s19.cnzz.com\",\"z8.cnzz.com\",\"s4.cnzz.com\",\"f5w.as12df.top\",\"ae01.alicdn.com\",\"www.92424.cn\",\"k.wudejia.com\",\"vivovip.mmszxc.top\",\"qiu.xixiqiu.com\",\"cdnjs.hnfenxun.com\",\"cms.qdwght.com\"]}"; JsonObject defaultJson=new Gson().fromJson(defaultIJKADS, JsonObject.class); // 广告地址 if(AdBlocker.isEmpty()){ @@ -454,7 +454,8 @@ public class ApiConfig { ijkCodes = new ArrayList<>(); boolean foundOldSelect = false; String ijkCodec = Hawk.get(HawkConfig.IJK_CODEC, ""); - for (JsonElement opt : defaultJson.get("ijk").getAsJsonArray()) { + JsonArray ijkJsonArray = infoJson.has("ads")?infoJson.get("ijk").getAsJsonArray():defaultJson.get("ijk").getAsJsonArray(); + for (JsonElement opt : ijkJsonArray) { JsonObject obj = (JsonObject) opt; String name = obj.get("group").getAsString(); LinkedHashMap baseOpt = new LinkedHashMap<>(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java index 02970c91..17092197 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java @@ -882,6 +882,8 @@ public class DetailActivity extends BaseActivity { return; toggleFullPreview(); mGridView.requestFocus(); + List list = vodInfo.seriesMap.get(vodInfo.playFlag); + mSeriesGroupView.setVisibility(list.size()>GroupCount ? View.VISIBLE : View.GONE); return; } if (seriesSelect) { From 85a77cd5d4fad0634256b17d0f98995ab1497e3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E4=BF=8A?= <215613905@qq.com> Date: Sat, 12 Nov 2022 14:19:33 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=94=B5=E8=A7=86=E7=9B=92=E5=AD=90=E9=80=89=E9=9B=86=E7=84=A6?= =?UTF-8?q?=E7=82=B9=E4=B8=A2=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/github/tvbox/osc/api/ApiConfig.java | 2 +- .../tvbox/osc/ui/activity/DetailActivity.java | 16 ++++++++-------- app/src/main/res/layout/item_series.xml | 6 ++---- app/src/main/res/layout/item_series_group.xml | 4 ++-- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index 999c82c5..15e6f5cf 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -454,7 +454,7 @@ public class ApiConfig { ijkCodes = new ArrayList<>(); boolean foundOldSelect = false; String ijkCodec = Hawk.get(HawkConfig.IJK_CODEC, ""); - JsonArray ijkJsonArray = infoJson.has("ads")?infoJson.get("ijk").getAsJsonArray():defaultJson.get("ijk").getAsJsonArray(); + JsonArray ijkJsonArray = infoJson.has("ijk")?infoJson.get("ijk").getAsJsonArray():defaultJson.get("ijk").getAsJsonArray(); for (JsonElement opt : ijkJsonArray) { JsonObject obj = (JsonObject) opt; String name = obj.get("group").getAsString(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java index 17092197..e0508f4c 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java @@ -199,7 +199,7 @@ public class DetailActivity extends BaseActivity { seriesGroupAdapter = new BaseQuickAdapter(R.layout.item_series_group, seriesGroupOptions) { @Override protected void convert(BaseViewHolder helper, String item) { - TextView tvSeries = helper.getView(R.id.tvSeriesFlag); + TextView tvSeries = helper.getView(R.id.tvSeriesGroup); tvSeries.setText(item); } }; @@ -391,18 +391,18 @@ public class DetailActivity extends BaseActivity { mSeriesGroupView.setOnItemListener(new TvRecyclerView.OnItemListener() { @Override public void onItemPreSelected(TvRecyclerView parent, View itemView, int position) { - TextView txtView = itemView.findViewById(R.id.tvSeriesFlag); + TextView txtView = itemView.findViewById(R.id.tvSeriesGroup); txtView.setTextColor(Color.WHITE); currentSeriesGroupView = null; } @Override public void onItemSelected(TvRecyclerView parent, View itemView, int position) { - TextView txtView = itemView.findViewById(R.id.tvSeriesFlag); + TextView txtView = itemView.findViewById(R.id.tvSeriesGroup); txtView.setTextColor(mContext.getResources().getColor(R.color.color_02F8E1)); if (vodInfo != null && vodInfo.seriesMap.get(vodInfo.playFlag).size() > 0) { int targetPos = position * GroupCount; - mGridView.smoothScrollToPosition(targetPos); + mGridView.scrollToPosition(targetPos); } currentSeriesGroupView = itemView; currentSeriesGroupView.isSelected(); @@ -416,14 +416,14 @@ public class DetailActivity extends BaseActivity { public void onItemClick(BaseQuickAdapter adapter, View view, int position) { FastClickCheckUtil.check(view); if(currentSeriesGroupView != null) { - TextView txtView = currentSeriesGroupView.findViewById(R.id.tvSeriesFlag); + TextView txtView = currentSeriesGroupView.findViewById(R.id.tvSeriesGroup); txtView.setTextColor(Color.WHITE); } - TextView newTxtView = view.findViewById(R.id.tvSeriesFlag); + TextView newTxtView = view.findViewById(R.id.tvSeriesGroup); newTxtView.setTextColor(mContext.getResources().getColor(R.color.color_02F8E1)); if (vodInfo != null && vodInfo.seriesMap.get(vodInfo.playFlag).size() > 0) { int targetPos = position * GroupCount; - mGridView.smoothScrollToPosition(targetPos); + mGridView.scrollToPosition(targetPos); } currentSeriesGroupView = view; currentSeriesGroupView.isSelected(); @@ -652,8 +652,8 @@ public class DetailActivity extends BaseActivity { // startQuickSearch(); } else { mGridViewFlag.setVisibility(View.GONE); - mSeriesGroupView.setVisibility(View.GONE); mGridView.setVisibility(View.GONE); + mSeriesGroupView.setVisibility(View.GONE); tvPlay.setVisibility(View.GONE); mEmptyPlayList.setVisibility(View.VISIBLE); } diff --git a/app/src/main/res/layout/item_series.xml b/app/src/main/res/layout/item_series.xml index 84b3ff28..c661f63e 100644 --- a/app/src/main/res/layout/item_series.xml +++ b/app/src/main/res/layout/item_series.xml @@ -11,13 +11,11 @@ android:id="@+id/tvSeries" android:layout_width="match_parent" android:layout_height="@dimen/vs_50" - android:singleLine="true" android:ellipsize="marquee" - android:focusable="true" - android:focusableInTouchMode="true" - android:marqueeRepeatLimit="marquee_forever" android:gravity="center" + android:marqueeRepeatLimit="marquee_forever" android:padding="@dimen/vs_10" + android:singleLine="true" android:textColor="@android:color/white" android:textSize="@dimen/ts_20" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_series_group.xml b/app/src/main/res/layout/item_series_group.xml index 4190beca..7ff66e5f 100644 --- a/app/src/main/res/layout/item_series_group.xml +++ b/app/src/main/res/layout/item_series_group.xml @@ -13,13 +13,13 @@ android:paddingBottom="@dimen/vs_1"> \ No newline at end of file From 78a641e7a97671f0fb28df878cb5af322ff6c4e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E4=BF=8A?= <215613905@qq.com> Date: Sat, 12 Nov 2022 17:58:28 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E8=BF=94=E5=9B=9E=E7=84=A6=E7=82=B9=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1=E9=97=AE=E9=A2=98;=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20epg=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=9C=B0=E5=9D=80=E5=86=99=E5=85=A5=E9=85=8D=E7=BD=AE?= =?UTF-8?q?lives=E4=B8=8B=20"epg":"epgUrl";=E5=90=8C=E6=97=B6=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E8=9C=82=E8=9C=9C=E7=9A=84=E5=B8=A6=E5=8F=82epg?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/github/tvbox/osc/api/ApiConfig.java | 16 +- .../osc/ui/activity/LivePlayActivity.java | 9 +- .../tvbox/osc/ui/activity/SearchActivity.java | 9 +- .../github/tvbox/osc/ui/dialog/EpgDialog.java | 152 ------------------ .../osc/ui/fragment/ModelSettingFragment.java | 28 +--- app/src/main/res/layout/fragment_model.xml | 42 ----- 6 files changed, 31 insertions(+), 225 deletions(-) delete mode 100644 app/src/main/java/com/github/tvbox/osc/ui/dialog/EpgDialog.java diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index 15e6f5cf..21fd60ca 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -353,7 +353,8 @@ public class ApiConfig { // 直播源 liveChannelGroupList.clear(); //修复从后台切换重复加载频道列表 try { - String lives = infoJson.get("lives").getAsJsonArray().get(0).getAsJsonObject().toString(); + JsonObject livesOBJ = infoJson.get("lives").getAsJsonArray().get(0).getAsJsonObject(); + String lives = livesOBJ.toString(); int index = lives.indexOf("proxy://"); if (index != -1) { int endIndex = lives.lastIndexOf("\""); @@ -377,6 +378,13 @@ public class ApiConfig { url = url.replace(extUrl, extUrlFix); } // System.out.println("urlLive :"+url); + + //设置epg + if(livesOBJ.has("epg")){ + String epg =livesOBJ.get("epg").getAsString(); + Hawk.put(HawkConfig.EPG_URL,epg); + } + LiveChannelGroup liveChannelGroup = new LiveChannelGroup(); liveChannelGroup.setGroupName(url); liveChannelGroupList.add(liveChannelGroup); @@ -388,6 +396,12 @@ public class ApiConfig { String type=fengMiLives.get("type").getAsString(); if(type.equals("0")){ String url =fengMiLives.get("url").getAsString(); + //设置epg + if(fengMiLives.has("epg")){ + String epg =fengMiLives.get("epg").getAsString(); + Hawk.put(HawkConfig.EPG_URL,epg); + } + if(url.startsWith("http")){ url = Base64.encodeToString(url.getBytes("UTF-8"), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP); } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/LivePlayActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/LivePlayActivity.java index 21606f4d..c086aae1 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/LivePlayActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/LivePlayActivity.java @@ -426,7 +426,14 @@ public class LivePlayActivity extends BaseActivity { String finalChannelName = channelName; epgListAdapter.CanBack(currentLiveChannelItem.getinclude_back()); //epgListAdapter.updateData(date, new ArrayList<>()); - UrlHttpUtil.get(epgStringAddress + "?ch="+ URLEncoder.encode(epgTagName) + "&date=" + timeFormat.format(date), new CallBackUtil.CallBackString() { + + String url; + if(epgStringAddress.contains("{name}") && epgStringAddress.contains("{date}")){ + url= epgStringAddress.replace("{name}",URLEncoder.encode(epgTagName)).replace("{date}",timeFormat.format(date)); + }else { + url= epgStringAddress + "?ch="+ URLEncoder.encode(epgTagName) + "&date=" + timeFormat.format(date); + } + UrlHttpUtil.get(url, new CallBackUtil.CallBackString() { public void onFailure(int i, String str) { showEpg(date, new ArrayList()); showBottomEpg(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java index 38e87be8..68a1b0b0 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java @@ -95,12 +95,14 @@ public class SearchActivity extends BaseActivity { private static Boolean hasKeyBoard; + private static Boolean isSearchBack; @Override protected void init() { initView(); initViewModel(); initData(); hasKeyBoard = true; + isSearchBack = false; } /* @@ -144,8 +146,10 @@ public class SearchActivity extends BaseActivity { tvSearch.requestFocus(); tvSearch.requestFocusFromTouch(); }else { - etSearch.requestFocus(); - etSearch.requestFocusFromTouch(); + if(!isSearchBack){ + etSearch.requestFocus(); + etSearch.requestFocusFromTouch(); + } } } @@ -196,6 +200,7 @@ public class SearchActivity extends BaseActivity { th.printStackTrace(); } hasKeyBoard = false; + isSearchBack = true; Bundle bundle = new Bundle(); bundle.putString("id", video.id); bundle.putString("sourceKey", video.sourceKey); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/dialog/EpgDialog.java b/app/src/main/java/com/github/tvbox/osc/ui/dialog/EpgDialog.java deleted file mode 100644 index 29a43c81..00000000 --- a/app/src/main/java/com/github/tvbox/osc/ui/dialog/EpgDialog.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.github.tvbox.osc.ui.dialog; - - -import android.app.Activity; -import android.content.Context; -import android.view.View; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.annotation.NonNull; - -import com.github.tvbox.osc.R; -import com.github.tvbox.osc.event.RefreshEvent; -import com.github.tvbox.osc.server.ControlManager; -import com.github.tvbox.osc.ui.adapter.ApiHistoryDialogAdapter; -import com.github.tvbox.osc.ui.tv.QRCodeGen; -import com.github.tvbox.osc.util.HawkConfig; -import com.hjq.permissions.OnPermissionCallback; -import com.hjq.permissions.Permission; -import com.hjq.permissions.XXPermissions; -import com.orhanobut.hawk.Hawk; - -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; - -import me.jessyan.autosize.utils.AutoSizeUtils; - -/** - * 描述 - * - * @author pj567 - * @since 2020/12/27 - */ -public class EpgDialog extends BaseDialog { - private ImageView ivQRCode; - private TextView tvAddress; - private EditText inputApi; - - @Subscribe(threadMode = ThreadMode.MAIN) - public void refresh(RefreshEvent event) { - if (event.type == RefreshEvent.TYPE_EPG_URL_CHANGE) { - inputApi.setText((String) event.obj); - } - } - - public EpgDialog(@NonNull @NotNull Context context) { - super(context); - setContentView(R.layout.dialog_api); - setCanceledOnTouchOutside(false); - ivQRCode = findViewById(R.id.ivQRCode); - tvAddress = findViewById(R.id.tvAddress); - inputApi = findViewById(R.id.input); - - inputApi.setText(Hawk.get(HawkConfig.EPG_URL, "")); - findViewById(R.id.inputSubmit).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String newApi = inputApi.getText().toString().trim(); - if (!newApi.isEmpty()) { - ArrayList history = Hawk.get(HawkConfig.EPG_HISTORY, new ArrayList()); - if (!history.contains(newApi)) - history.add(0, newApi); - if (history.size() > 10) - history.remove(10); - Hawk.put(HawkConfig.EPG_HISTORY, history); - listener.onchange(newApi); - dismiss(); - } - } - }); - findViewById(R.id.apiHistory).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - ArrayList history = Hawk.get(HawkConfig.EPG_HISTORY, new ArrayList()); - if (history.isEmpty()) - return; - String current = Hawk.get(HawkConfig.EPG_URL, ""); - int idx = 0; - if (history.contains(current)) - idx = history.indexOf(current); - ApiHistoryDialog dialog = new ApiHistoryDialog(getContext()); - dialog.setTip("历史配置列表"); - dialog.setAdapter(new ApiHistoryDialogAdapter.SelectDialogInterface() { - @Override - public void click(String value) { - inputApi.setText(value); - listener.onchange(value); - dialog.dismiss(); - } - - @Override - public void del(String value, ArrayList data) { - Hawk.put(HawkConfig.EPG_HISTORY, data); - } - }, history, idx); - dialog.show(); - } - }); - findViewById(R.id.storagePermission).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (XXPermissions.isGranted(getContext(), Permission.Group.STORAGE)) { - Toast.makeText(getContext(), "已获得存储权限", Toast.LENGTH_SHORT).show(); - } else { - XXPermissions.with(getContext()) - .permission(Permission.Group.STORAGE) - .request(new OnPermissionCallback() { - @Override - public void onGranted(List permissions, boolean all) { - if (all) { - Toast.makeText(getContext(), "已获得存储权限", Toast.LENGTH_SHORT).show(); - } - } - - @Override - public void onDenied(List permissions, boolean never) { - if (never) { - Toast.makeText(getContext(), "获取存储权限失败,请在系统设置中开启", Toast.LENGTH_SHORT).show(); - XXPermissions.startPermissionActivity((Activity) getContext(), permissions); - } else { - Toast.makeText(getContext(), "获取存储权限失败", Toast.LENGTH_SHORT).show(); - } - } - }); - } - } - }); - refreshQRCode(); - } - - private void refreshQRCode() { - String address = ControlManager.get().getAddress(false); - tvAddress.setText(String.format("手机/电脑扫描上方二维码或者直接浏览器访问地址\n%s", address)); - ivQRCode.setImageBitmap(QRCodeGen.generateBitmap(address, AutoSizeUtils.mm2px(getContext(), 300), AutoSizeUtils.mm2px(getContext(), 300))); - } - - public void setOnListener(OnListener listener) { - this.listener = listener; - } - - OnListener listener = null; - - public interface OnListener { - void onchange(String api); - } -} diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java index f5f869f7..2c332f82 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java @@ -24,7 +24,6 @@ import com.github.tvbox.osc.ui.adapter.SelectDialogAdapter; import com.github.tvbox.osc.ui.dialog.AboutDialog; import com.github.tvbox.osc.ui.dialog.ApiDialog; import com.github.tvbox.osc.ui.dialog.BackupDialog; -import com.github.tvbox.osc.ui.dialog.EpgDialog; import com.github.tvbox.osc.ui.dialog.SearchRemoteTvDialog; import com.github.tvbox.osc.ui.dialog.SelectDialog; import com.github.tvbox.osc.ui.dialog.XWalkInitDialog; @@ -62,7 +61,6 @@ public class ModelSettingFragment extends BaseLazyFragment { private TextView tvRender; private TextView tvScale; private TextView tvApi; - private TextView tvEpgApi; private TextView tvHomeApi; private TextView tvDns; private TextView tvHomeRec; @@ -100,7 +98,6 @@ public class ModelSettingFragment extends BaseLazyFragment { tvRender = findViewById(R.id.tvRenderType); tvScale = findViewById(R.id.tvScaleType); tvApi = findViewById(R.id.tvApi); - tvEpgApi = findViewById(R.id.tvEpgApi); tvHomeApi = findViewById(R.id.tvHomeApi); tvDns = findViewById(R.id.tvDns); tvHomeRec = findViewById(R.id.tvHomeRec); @@ -110,7 +107,7 @@ public class ModelSettingFragment extends BaseLazyFragment { tvDebugOpen.setText(Hawk.get(HawkConfig.DEBUG_OPEN, false) ? "已打开" : "已关闭"); tvParseWebView.setText(Hawk.get(HawkConfig.PARSE_WEBVIEW, true) ? "系统自带" : "XWalkView"); tvApi.setText(Hawk.get(HawkConfig.API_URL, "")); - tvEpgApi.setText("EPG地址已隐藏"); + tvDns.setText(OkGoHelper.dnsHttpsList.get(Hawk.get(HawkConfig.DOH_URL, 0))); tvHomeRec.setText(getHomeRecName(Hawk.get(HawkConfig.HOME_REC, 0))); tvHistoryNum.setText(HistoryHelper.getHistoryNumName(Hawk.get(HawkConfig.HISTORY_NUM, 0))); @@ -296,29 +293,6 @@ public class ModelSettingFragment extends BaseLazyFragment { } }); - findViewById(R.id.epgApi).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - FastClickCheckUtil.check(v); - EpgDialog dialog = new EpgDialog(mActivity); - EventBus.getDefault().register(dialog); - dialog.setOnListener(new EpgDialog.OnListener() { - @Override - public void onchange(String api) { - Hawk.put(HawkConfig.EPG_URL, api); - tvEpgApi.setText(api); - } - }); - dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - ((BaseActivity) mActivity).hideSysBar(); - EventBus.getDefault().unregister(dialog); - } - }); - dialog.show(); - } - }); findViewById(R.id.llMediaCodec).setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/res/layout/fragment_model.xml b/app/src/main/res/layout/fragment_model.xml index ee122c12..bc9eb748 100644 --- a/app/src/main/res/layout/fragment_model.xml +++ b/app/src/main/res/layout/fragment_model.xml @@ -151,48 +151,6 @@ android:textColor="@android:color/white" android:textSize="@dimen/ts_30" /> - - - - - - - - - -