small window back key

pull/298/head
okjack 2 years ago
parent 39d546c1fc
commit d9aae9bcd1
  1. 13
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  2. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 30
      app/src/leanback/res/layout/activity_setting_custom.xml
  4. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  5. 6
      app/src/main/res/values-zh-rCN/strings.xml
  6. 6
      app/src/main/res/values-zh-rTW/strings.xml
  7. 6
      app/src/main/res/values/strings.xml

@ -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]);
}
}

@ -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 && getFocus1() != mBinding.video) {
mBinding.video.requestFocus();
mFocus1 = mBinding.video;
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);
}
}

@ -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>

Loading…
Cancel
Save