From 443fc6b68357ba7ef02359e57bf9b0c2badebd11 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 15 Dec 2022 16:59:20 +0800 Subject: [PATCH] Fix some bug --- .../tv/ui/activity/DetailActivity.java | 6 ++-- .../android/tv/ui/activity/LiveActivity.java | 6 ++-- .../leanback/res/layout/view_widget_live.xml | 3 +- .../leanback/res/layout/view_widget_vod.xml | 3 +- .../com/fongmi/android/tv/utils/Traffic.java | 29 +++++++++---------- .../main/java/com/hiker/drpy/bean/Info.java | 14 ++++----- 6 files changed, 29 insertions(+), 32 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 03c3710fa..feee18d80 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -593,7 +593,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void showProgress() { mBinding.widget.progress.setVisibility(View.VISIBLE); - App.post(mR3, 250); + App.post(mR3, 500); } private void hideProgress() { @@ -637,8 +637,8 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void setTraffic() { - mBinding.widget.traffic.setText(Traffic.get()); - App.post(mR3, 250); + Traffic.setSpeed(mBinding.widget.traffic); + App.post(mR3, 500); } private void setR1Callback() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index a7bc55923..afa5b33b5 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -255,8 +255,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void setTraffic() { - mBinding.widget.traffic.setText(Traffic.get()); - App.post(mR5, 250); + Traffic.setSpeed(mBinding.widget.traffic); + App.post(mR5, 500); } private void onToggle() { @@ -330,7 +330,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void showProgress() { mBinding.widget.progress.setVisibility(View.VISIBLE); - App.post(mR5, 250); + App.post(mR5, 500); } private void hideProgress() { diff --git a/app/src/leanback/res/layout/view_widget_live.xml b/app/src/leanback/res/layout/view_widget_live.xml index d893b9a50..c5552b192 100644 --- a/app/src/leanback/res/layout/view_widget_live.xml +++ b/app/src/leanback/res/layout/view_widget_live.xml @@ -18,9 +18,10 @@ android:id="@+id/traffic" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="4dp" + android:layout_marginTop="8dp" android:textColor="@color/white" android:textSize="16sp" + android:visibility="gone" tools:text="120KB/s" /> diff --git a/app/src/leanback/res/layout/view_widget_vod.xml b/app/src/leanback/res/layout/view_widget_vod.xml index 70f2fc78e..94bc667c3 100644 --- a/app/src/leanback/res/layout/view_widget_vod.xml +++ b/app/src/leanback/res/layout/view_widget_vod.xml @@ -73,9 +73,10 @@ android:id="@+id/traffic" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="4dp" + android:layout_marginTop="8dp" android:textColor="@color/white" android:textSize="16sp" + android:visibility="gone" tools:text="120KB/s" /> diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Traffic.java b/app/src/main/java/com/fongmi/android/tv/utils/Traffic.java index 90d2b3d69..e115b4622 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Traffic.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Traffic.java @@ -1,7 +1,8 @@ package com.fongmi.android.tv.utils; -import android.content.pm.PackageManager; import android.net.TrafficStats; +import android.view.View; +import android.widget.TextView; import com.fongmi.android.tv.App; @@ -12,8 +13,18 @@ public class Traffic { private static long lastTotalRxBytes = 0; private static long lastTimeStamp = 0; - public static String get() { - long total = getTotalRxBytes(getUid()); + public static void setSpeed(TextView view) { + if (unsupported()) return; + view.setText(getSpeed()); + view.setVisibility(View.VISIBLE); + } + + private static boolean unsupported() { + return TrafficStats.getUidRxBytes(App.get().getApplicationInfo().uid) == TrafficStats.UNSUPPORTED; + } + + private static String getSpeed() { + long total = TrafficStats.getTotalRxBytes() / 1024; long time = System.currentTimeMillis(); long diff = (total - lastTotalRxBytes) * 1000; long speed = diff / Math.max(time - lastTimeStamp, 1); @@ -27,16 +38,4 @@ public class Traffic { lastTotalRxBytes = 0; lastTimeStamp = 0; } - - private static long getTotalRxBytes(int uid) { - return TrafficStats.getUidRxBytes(uid) == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes() / 1024); - } - - private static int getUid() { - try { - return App.get().getPackageManager().getApplicationInfo(App.get().getPackageName(), PackageManager.GET_META_DATA).uid; - } catch (Exception e) { - return 0; - } - } } diff --git a/drpy/src/main/java/com/hiker/drpy/bean/Info.java b/drpy/src/main/java/com/hiker/drpy/bean/Info.java index 619baf794..ff90fdb11 100644 --- a/drpy/src/main/java/com/hiker/drpy/bean/Info.java +++ b/drpy/src/main/java/com/hiker/drpy/bean/Info.java @@ -23,11 +23,14 @@ public class Info { String[] rules = rule.split("--"); setExcludes(rules); setRule(rules[0]); - setIndex(pos); } else if (pos.contains("--")) { String[] rules = pos.split("--"); setExcludes(rules); - setIndex(rules[0]); + pos = rules[0]; + } + try { + index = Integer.parseInt(pos.split("\\(")[1].split("\\)")[0]); + } catch (Exception ignored) { } } @@ -35,11 +38,4 @@ public class Info { excludes = new ArrayList<>(Arrays.asList(rules)); excludes.remove(0); } - - public void setIndex(String pos) { - try { - index = Integer.parseInt(pos.split("\\(")[1].split("\\)")[0]); - } catch (Exception ignored) { - } - } }