fongmi
FongMi 6 days ago
parent fb49e67806
commit 935c77fe06
  1. 1
      app/src/leanback/res/layout/activity_keep.xml
  2. 2
      app/src/leanback/res/layout/activity_search.xml
  3. 2
      app/src/leanback/res/layout/dialog_buffer.xml
  4. 7
      app/src/leanback/res/layout/dialog_danmaku.xml
  5. 8
      app/src/leanback/res/layout/dialog_danmaku_search.xml
  6. 3
      app/src/leanback/res/layout/dialog_doh.xml
  7. 3
      app/src/leanback/res/layout/dialog_history.xml
  8. 3
      app/src/leanback/res/layout/dialog_live.xml
  9. 3
      app/src/leanback/res/layout/dialog_restore.xml
  10. 3
      app/src/leanback/res/layout/dialog_site.xml
  11. 2
      app/src/leanback/res/layout/dialog_speed.xml
  12. 7
      app/src/leanback/res/layout/dialog_title.xml
  13. 7
      app/src/leanback/res/layout/dialog_track.xml
  14. 4
      app/src/main/AndroidManifest.xml
  15. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  16. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  17. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
  18. 2
      app/src/mobile/res/color/control.xml
  19. 2
      app/src/mobile/res/layout/adapter_config.xml
  20. 4
      app/src/mobile/res/layout/adapter_device.xml
  21. 4
      app/src/mobile/res/layout/adapter_restore.xml
  22. 12
      app/src/mobile/res/layout/dialog_control.xml
  23. 2
      app/src/mobile/res/layout/dialog_danmaku.xml
  24. 2
      app/src/mobile/res/layout/dialog_device.xml
  25. 2
      app/src/mobile/res/layout/dialog_episode_grid.xml
  26. 6
      app/src/mobile/res/layout/dialog_info.xml
  27. 4
      app/src/mobile/res/layout/dialog_receive.xml
  28. 2
      app/src/mobile/res/layout/dialog_restore.xml
  29. 14
      app/src/mobile/res/layout/dialog_timer.xml
  30. 2
      app/src/mobile/res/layout/dialog_title.xml
  31. 2
      app/src/mobile/res/layout/dialog_track.xml
  32. 2
      app/src/mobile/res/layout/dialog_update.xml
  33. 88
      docs/CONFIG.md

@ -10,6 +10,7 @@
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="24dp" />
</com.fongmi.android.tv.ui.custom.ProgressLayout>

@ -57,6 +57,8 @@
android:id="@+id/keyboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_marginTop="16dp"
android:overScrollMode="never"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="48dp">
android:paddingHorizontal="48dp">
<com.google.android.material.slider.Slider
android:id="@+id/slider"

@ -9,9 +9,11 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:paddingTop="24dp"
android:paddingBottom="16dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
@ -57,6 +59,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingStart="24dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"

@ -9,9 +9,10 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:paddingVertical="24dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/keyword"
@ -22,8 +23,8 @@
android:imeOptions="actionSearch"
android:inputType="textCapWords|textAutoCorrect|textAutoComplete"
android:maxLength="255"
android:singleLine="true"
android:nextFocusDown="@id/recycler"
android:singleLine="true"
android:textSize="14sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -47,6 +48,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingStart="24dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"

@ -5,6 +5,9 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:maxHeight="296dp"

@ -4,6 +4,9 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:maxHeight="352dp" />

@ -5,6 +5,9 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:maxHeight="296dp"

@ -4,6 +4,9 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:maxHeight="352dp" />

@ -12,6 +12,9 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
app:maxHeight="264dp"
tools:itemCount="5"
tools:listitem="@layout/adapter_site" />

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="48dp">
android:paddingHorizontal="48dp">
<com.google.android.material.slider.Slider
android:id="@+id/slider"

@ -9,9 +9,11 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:paddingTop="24dp"
android:paddingBottom="16dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
@ -30,6 +32,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingStart="24dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"

@ -9,9 +9,11 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:paddingTop="24dp"
android:paddingBottom="16dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
@ -51,6 +53,7 @@
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingStart="24dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"

@ -47,6 +47,10 @@
android:usesCleartextTraffic="true"
tools:replace="android:allowBackup">
<meta-data
android:name="android.max_aspect"
android:value="2.5" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"

@ -37,8 +37,8 @@ import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.service.PlaybackService;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.FragmentStateManager;
import com.fongmi.android.tv.ui.fragment.SettingFragment;
import com.fongmi.android.tv.ui.fragment.SettingDanmakuFragment;
import com.fongmi.android.tv.ui.fragment.SettingFragment;
import com.fongmi.android.tv.ui.fragment.SettingPlayerFragment;
import com.fongmi.android.tv.ui.fragment.VodFragment;
import com.fongmi.android.tv.utils.FileChooser;

@ -40,8 +40,8 @@ import com.bumptech.glide.request.transition.Transition;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Constant;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.SiteApi;
import com.fongmi.android.tv.api.DanmakuApi;
import com.fongmi.android.tv.api.SiteApi;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.CastVideo;
import com.fongmi.android.tv.bean.Danmaku;
@ -289,7 +289,6 @@ public class VideoActivity extends PlaybackActivity implements Clock.Callback, C
protected void initView(Bundle savedInstanceState) {
super.initView(savedInstanceState);
ViewCompat.setOnApplyWindowInsetsListener(mBinding.getRoot(), (v, insets) -> setStatusBar(insets));
mBinding.swipeLayout.setColorSchemeResources(R.color.accent);
mKeyDown = CustomKeyDown.create(this, mBinding.exo);
mFrameParams = mBinding.video.getLayoutParams();
mBinding.progressLayout.showProgress();

@ -13,7 +13,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Site;
@ -96,7 +95,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
@Override
protected void initView() {
mBinding.swipeLayout.setColorSchemeResources(R.color.accent);
mBinding.progressLayout.showProgress();
mScroller = new CustomScroller(this);
mExtends = getExtend();

@ -2,5 +2,5 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorControlActivated" android:state_activated="true" />
<item android:color="?attr/colorControlNormal" android:state_enabled="false" />
<item android:color="?android:attr/textColorPrimary" />
<item android:color="?attr/colorOnSurface" />
</selector>

@ -14,7 +14,7 @@
android:layout_weight="1"
android:ellipsize="middle"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp"
tools:text="https://fongmi.github.io/cat.json" />

@ -25,7 +25,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp"
tools:text="Google Chrome Cast" />
@ -35,7 +35,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="12sp"
tools:text="127.0.0.1" />

@ -18,7 +18,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
<com.google.android.material.textview.MaterialTextView
@ -26,7 +26,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?attr/colorOnSurfaceVariant"
android:textSize="12sp" />
</androidx.appcompat.widget.LinearLayoutCompat>

@ -12,7 +12,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/control_speed"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<com.google.android.material.slider.Slider
@ -34,7 +34,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="@string/parse"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp"
android:visibility="gone"
tools:visibility="visible" />
@ -56,7 +56,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="@string/control_scale"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<HorizontalScrollView
@ -133,7 +133,7 @@
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:text="@string/play"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<HorizontalScrollView
@ -208,7 +208,7 @@
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:text="@string/control_track"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp"
android:visibility="gone"
tools:visibility="visible" />
@ -265,7 +265,7 @@
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:text="@string/control_other"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<androidx.appcompat.widget.LinearLayoutCompat

@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/danmaku_select"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatImageView

@ -20,7 +20,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/device_select"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatImageView

@ -12,7 +12,7 @@
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/detail_episode"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<com.google.android.material.tabs.TabLayout

@ -16,7 +16,7 @@
android:layout_height="wrap_content"
android:ellipsize="middle"
android:linksClickable="false"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="20sp" />
<com.google.android.material.textview.MaterialTextView
@ -24,7 +24,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
<com.google.android.material.textview.MaterialTextView
@ -34,7 +34,7 @@
android:layout_marginTop="8dp"
android:autoLink="all"
android:linksClickable="false"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
</androidx.appcompat.widget.LinearLayoutCompat>

@ -47,7 +47,7 @@
android:layout_toEndOf="@+id/frame"
android:ellipsize="end"
android:maxLines="3"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp"
tools:text="狂飆" />
@ -59,7 +59,7 @@
android:layout_alignStart="@+id/name"
android:layout_marginTop="2dp"
android:singleLine="true"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?attr/colorOnSurfaceVariant"
android:textSize="14sp"
tools:text="Xiaomi 13" />

@ -17,7 +17,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/restore_select"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>

@ -11,7 +11,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/play_timer"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
<androidx.appcompat.widget.LinearLayoutCompat
@ -35,7 +35,7 @@
android:background="@drawable/shape_accent"
android:tag="5"
android:text="@string/timer_5"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
<com.google.android.material.textview.MaterialTextView
@ -47,7 +47,7 @@
android:background="@drawable/shape_accent"
android:tag="15"
android:text="@string/timer_15"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
<com.google.android.material.textview.MaterialTextView
@ -59,7 +59,7 @@
android:background="@drawable/shape_accent"
android:tag="30"
android:text="@string/timer_30"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
<com.google.android.material.textview.MaterialTextView
@ -71,7 +71,7 @@
android:background="@drawable/shape_accent"
android:tag="60"
android:text="@string/timer_60"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -91,7 +91,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="48sp"
tools:text="5:00" />
@ -113,7 +113,7 @@
android:layout_marginBottom="16dp"
android:singleLine="true"
android:text="@string/timer_cancel"
android:textColor="?android:attr/textColorPrimary" />
android:textColor="?attr/colorOnSurface" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>

@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/dialog_select_title"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>

@ -18,7 +18,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="16sp"
tools:text="選擇字幕" />

@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:letterSpacing="0.02"
android:lineSpacingExtra="8dp"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?attr/colorOnSurface"
android:textSize="14sp"
tools:text="1. 新增 ffmpeg 音頻軟解\n2. 詳情頁新增分詞快搜\n3. 修復搜尋閃退問題\n4. 設定支援渲染切換" />

@ -358,27 +358,29 @@ scheme://username:password@host:port
**範例:**
```json
[
{
"name": "指定域名代理",
"hosts": [
"googlevideo.com",
"raw.githubusercontent.com"
],
"urls": [
"http://127.0.0.1:7890"
]
},
{
"name": "全域代理",
"hosts": [
".*"
],
"urls": [
"socks5://127.0.0.1:7891"
]
}
]
{
"proxy": [
{
"name": "指定域名代理",
"hosts": [
"googlevideo.com",
"raw.githubusercontent.com"
],
"urls": [
"http://127.0.0.1:7890"
]
},
{
"name": "全域代理",
"hosts": [
".*"
],
"urls": [
"socks5://127.0.0.1:7891"
]
}
]
}
```
---
@ -398,27 +400,29 @@ scheme://username:password@host:port
**範例:**
```json
[
{
"hosts": [
"video.example.com"
],
"regex": [
"m3u8?token="
],
"exclude": [
"preview.json"
]
},
{
"hosts": [
"ads.example.com"
],
"script": [
"document.querySelector('.close-btn').click()"
]
}
]
{
"rules": [
{
"hosts": [
"video.example.com"
],
"regex": [
"m3u8?token="
],
"exclude": [
"preview.json"
]
},
{
"hosts": [
"ads.example.com"
],
"script": [
"document.querySelector('.close-btn').click()"
]
}
]
}
```
---

Loading…
Cancel
Save