Merge pull request #298 from okcaptain/dev

Dev
pull/299/head^2
okcaptain 2 years ago committed by GitHub
commit 0d94c173f5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      app/build.gradle
  2. 13
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  3. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 30
      app/src/leanback/res/layout/activity_setting_custom.xml
  5. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  6. 23
      app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java
  7. 6
      app/src/main/res/values-zh-rCN/strings.xml
  8. 6
      app/src/main/res/values-zh-rTW/strings.xml
  9. 6
      app/src/main/res/values/strings.xml
  10. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  11. 1
      app/src/mobile/res/values-zh-rCN/strings.xml
  12. 1
      app/src/mobile/res/values-zh-rTW/strings.xml
  13. 1
      app/src/mobile/res/values/strings.xml

@ -11,7 +11,7 @@ android {
minSdk 21
targetSdk 28
versionCode 227
versionName "2.2.7"
versionName "0219"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]

@ -20,6 +20,7 @@ public class SettingCustomActivity extends BaseActivity {
private String[] size;
private String[] episode;
private String[] fullscreenMenuKey;
private String[] smallWindowBackKey;
@Override
protected ViewBinding getBinding() {
@ -48,6 +49,7 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.fullscreenMenuKeyText.setText((fullscreenMenuKey = ResUtil.getStringArray(R.array.select_fullscreen_menu_key))[Setting.getFullscreenMenuKey()]);
mBinding.homeSiteLockText.setText(getSwitch(Setting.isHomeSiteLock()));
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.smallWindowBackKeyText.setText((smallWindowBackKey = ResUtil.getStringArray(R.array.select_small_window_back_key))[Setting.getSmallWindowBackKey()]);
}
@Override
@ -61,9 +63,10 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.displayMiniProgress.setOnClickListener(this::setDisplayMiniProgress);
mBinding.speed.setOnClickListener(this::setSpeed);
mBinding.speed.setOnLongClickListener(this::resetSpeed);
mBinding.fullscreenMenuKey.setOnClickListener(this::setfullscreenMenuKey);
mBinding.fullscreenMenuKey.setOnClickListener(this::setFullscreenMenuKey);
mBinding.homeSiteLock.setOnClickListener(this::setHomeSiteLock);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.smallWindowBackKey.setOnClickListener(this::setSmallWindowBackKey);
}
private void setQuality(View view) {
@ -120,7 +123,7 @@ public class SettingCustomActivity extends BaseActivity {
return true;
}
private void setfullscreenMenuKey(View view) {
private void setFullscreenMenuKey(View view) {
int index = Setting.getFullscreenMenuKey();
Setting.putFullscreenMenuKey(index = index == fullscreenMenuKey.length - 1 ? 0 : ++index);
mBinding.fullscreenMenuKeyText.setText(fullscreenMenuKey[index]);
@ -136,4 +139,10 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
}
private void setSmallWindowBackKey(View view) {
int index = Setting.getSmallWindowBackKey();
Setting.putSmallWindowBackKey(index = index == smallWindowBackKey.length - 1 ? 0 : ++index);
mBinding.smallWindowBackKeyText.setText(smallWindowBackKey[index]);
}
}

@ -378,7 +378,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
getEpisodeView().addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
@Override
public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) {
if (child != null && mBinding.video != mFocus1) mFocus1 = child.itemView;
if (child != null) mFocus1 = child.itemView;
}
});
mBinding.array.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
@ -1583,6 +1583,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
hasKeyEvent = true;
if (!isFullscreen() && KeyUtil.isBackKey(event) && Setting.getSmallWindowBackKey() == 1 && getCurrentFocus() != mBinding.video) {
mFocus1 = mBinding.video;
getFocus1().requestFocus();
return true;
}
if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 0) onToggle();
if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 1) onEpisodes();
if (isVisible(mBinding.control.getRoot())) setR1Callback();

@ -352,6 +352,36 @@
android:layout_marginTop="16dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/smallWindowBackKey"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_small_window_back_key"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/smallWindowBackKeyText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="返回" />
</LinearLayout>
<LinearLayout
android:id="@+id/incognito"
android:layout_width="0dp"

@ -405,4 +405,12 @@ public class Setting {
Prefers.put("incognito", incognito);
}
public static void putSmallWindowBackKey(int key) {
Prefers.put("small_window_back_key", key);
}
public static int getSmallWindowBackKey() {
return Prefers.getInt("small_window_back_key", 0);
}
}

@ -3,15 +3,19 @@ package com.fongmi.android.tv.player.extractor;
import android.net.Uri;
import com.fongmi.android.tv.player.Source;
import com.github.catvod.utils.Path;
import com.p2p.P2PClass;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class JianPian implements Source.Extractor {
private P2PClass p2p;
private String path;
private Map<String, Boolean> pathPaused;
@Override
public boolean match(String scheme, String host) {
@ -20,6 +24,7 @@ public class JianPian implements Source.Extractor {
private void init() {
if (p2p == null) p2p = new P2PClass();
if (pathPaused == null) pathPaused = new HashMap<>();
}
@Override
@ -37,9 +42,12 @@ public class JianPian implements Source.Extractor {
path = path.replace("jianpian://pathtype=url&path=", "");
path = path.replace("tvbox-xg://", "").replace("tvbox-xg:", "");
path = path.replace("xg://", "ftp://").replace("xgplay://", "ftp://");
if (lastPath != null && !lastPath.equals(path)) p2p.P2Pdoxdel(lastPath.getBytes("GBK"));
boolean isDiff = lastPath != null && !lastPath.equals(path);
if (isDiff) p2p.P2Pdoxdel(lastPath.getBytes("GBK"));
p2p.P2Pdoxstart(path.getBytes("GBK"));
p2p.P2Pdoxadd(path.getBytes("GBK"));
if (lastPath == null || isDiff) p2p.P2Pdoxadd(path.getBytes("GBK"));
if (isDiff && pathPaused.containsKey(lastPath)) pathPaused.remove(lastPath);
pathPaused.put(path, false);
} catch (Exception e) {
e.printStackTrace();
}
@ -48,7 +56,10 @@ public class JianPian implements Source.Extractor {
@Override
public void stop() {
try {
if (p2p != null && path != null) p2p.P2Pdoxpause(path.getBytes("GBK"));
if (p2p == null || path == null) return;
if (pathPaused.containsKey(path) && pathPaused.get(path)) return;
p2p.P2Pdoxpause(path.getBytes("GBK"));
pathPaused.put(path, true);
} catch (Exception e) {
e.printStackTrace();
}
@ -56,10 +67,6 @@ public class JianPian implements Source.Extractor {
@Override
public void exit() {
try {
if (p2p != null && path != null) p2p.P2Pdoxpause(path.getBytes("GBK"));
} catch (Exception e) {
e.printStackTrace();
}
Path.clear(Path.jpa());
}
}

@ -79,6 +79,7 @@
<string name="setting_fullscreen_menu_key">全屏菜单键</string>
<string name="setting_home_site_lock">首页源锁定</string>
<string name="setting_incognito">无痕模式</string>
<string name="setting_small_window_back_key">小窗返回键</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">缓存</string>
@ -219,6 +220,11 @@
<item>选集</item>
</string-array>
<string-array name="select_small_window_back_key">
<item>返回</item>
<item>焦点移动</item>
</string-array>
<string-array name="select_caption">
<item>预设</item>
<item>系统</item>

@ -79,6 +79,7 @@
<string name="setting_fullscreen_menu_key">全屏選單鍵</string>
<string name="setting_home_site_lock">首頁源鎖定</string>
<string name="setting_incognito">無痕模式</string>
<string name="setting_small_window_back_key">小窗返回鍵</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">暫存</string>
@ -219,6 +220,11 @@
<item>選集</item>
</string-array>
<string-array name="select_small_window_back_key">
<item>返回</item>
<item>焦點移動</item>
</string-array>
<string-array name="select_caption">
<item>預設</item>
<item>系統</item>

@ -79,6 +79,7 @@
<string name="setting_fullscreen_menu_key">Fullscreen menu key</string>
<string name="setting_home_site_lock">Home site lock</string>
<string name="setting_incognito">Incognito mode</string>
<string name="setting_small_window_back_key">Small window back key</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">Cache</string>
@ -224,6 +225,11 @@
<item>Episodes</item>
</string-array>
<string-array name="select_small_window_back_key">
<item>Back</item>
<item>Focus move</item>
</string-array>
<string-array name="select_caption">
<item>Default</item>
<item>System</item>

@ -721,6 +721,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private boolean onCopy() {
Util.copy(mBinding.content.getText().toString());
Notify.show(getString(R.string.copy_success));
return true;
}

@ -47,6 +47,7 @@
<!-- Hint -->
<string name="shortcut"> 已于主萤幕新增捷径。</string>
<string name="copy_success">复制成功</string>
<string-array name="select_background">
<item>关闭</item>

@ -47,6 +47,7 @@
<!-- Hint -->
<string name="shortcut"> 已於主螢幕新增捷徑。</string>
<string name="copy_success">拷貝成功</string>
<string-array name="select_background">
<item>關閉</item>

@ -47,6 +47,7 @@
<!-- Hint -->
<string name="shortcut">Shortcut has been added.</string>
<string name="copy_success">Copy success</string>
<string-array name="select_background">
<item>Off</item>

Loading…
Cancel
Save