diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java index 3ed230a05..1f63e7ea3 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java @@ -47,6 +47,7 @@ public class SettingCustomActivity extends BaseActivity { mBinding.speedText.setText(Setting.getPlaySpeed() + "x"); 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())); } @Override @@ -62,6 +63,7 @@ public class SettingCustomActivity extends BaseActivity { mBinding.speed.setOnLongClickListener(this::resetSpeed); mBinding.fullscreenMenuKey.setOnClickListener(this::setfullscreenMenuKey); mBinding.homeSiteLock.setOnClickListener(this::setHomeSiteLock); + mBinding.incognito.setOnClickListener(this::setIncognito); } private void setQuality(View view) { @@ -129,4 +131,9 @@ public class SettingCustomActivity extends BaseActivity { mBinding.homeSiteLockText.setText(getSwitch(Setting.isHomeSiteLock())); } + private void setIncognito(View view) { + Setting.putIncognito(!Setting.isIncognito()); + mBinding.incognitoText.setText(getSwitch(Setting.isIncognito())); + } + } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 4ab876cbe..94f910368 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1186,6 +1186,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mHistory = History.find(getHistoryKey()); mHistory = mHistory == null ? createHistory(item) : mHistory; if (!TextUtils.isEmpty(getMark())) mHistory.setVodRemarks(getMark()); + if (Setting.isIncognito() && mHistory.getKey().equals(getHistoryKey())) mHistory.delete(); mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening())); mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding())); mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); @@ -1244,6 +1245,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List long position, duration; mHistory.setPosition(position = mPlayers.getPosition()); mHistory.setDuration(duration = mPlayers.getDuration()); + if (position >= 0 && duration > 0 && !Setting.isIncognito()) App.execute(() -> mHistory.update()); if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + position >= duration) { mClock.setCallback(null); checkNext(); diff --git a/app/src/leanback/res/layout/activity_setting_custom.xml b/app/src/leanback/res/layout/activity_setting_custom.xml index 7638d2ac4..75b0718c6 100644 --- a/app/src/leanback/res/layout/activity_setting_custom.xml +++ b/app/src/leanback/res/layout/activity_setting_custom.xml @@ -345,5 +345,42 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java index 34fbb18c6..d7c32099c 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -397,4 +397,12 @@ public class Setting { Prefers.put("home_site_lock", lock); } + public static boolean isIncognito() { + return Prefers.getBoolean("incognito"); + } + + public static void putIncognito(boolean incognito) { + Prefers.put("incognito", incognito); + } + } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e3fb216cc..598346413 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -78,6 +78,7 @@ 图片尺寸 全屏菜单键 首页源锁定 + 無痕模式 DoH Proxy 缓存 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4c7d063af..e346a2394 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -78,6 +78,7 @@ 圖片尺寸 全屏選單鍵 首頁源鎖定 + 無痕模式 DoH Proxy 暫存 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 097deeeb8..d6369cef6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -78,6 +78,7 @@ Image size Fullscreen menu key Home site lock + Incognito mode DoH Proxy Cache diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index aa2381a98..f75043e2d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1120,6 +1120,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mHistory = History.find(getHistoryKey()); mHistory = mHistory == null ? createHistory(item) : mHistory; if (!TextUtils.isEmpty(getMark())) mHistory.setVodRemarks(getMark()); + if (Setting.isIncognito() && mHistory.getKey().equals(getHistoryKey())) mHistory.delete(); mBinding.control.action.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening())); mBinding.control.action.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding())); mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); @@ -1192,6 +1193,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo long position, duration; mHistory.setPosition(position = mPlayers.getPosition()); mHistory.setDuration(duration = mPlayers.getDuration()); + if (position >= 0 && duration > 0 && !Setting.isIncognito()) App.execute(() -> mHistory.update()); if (position >= 0 && duration > 0) App.execute(() -> mHistory.update()); if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + position >= duration) { mClock.setCallback(null); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java index 11f4d9637..fbc211d84 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java @@ -39,6 +39,7 @@ public class SettingCustomFragment extends BaseFragment { mBinding.sizeText.setText((size = ResUtil.getStringArray(R.array.select_size))[Setting.getSize()]); mBinding.danmuSyncText.setText(getSwitch(Setting.isDanmuSync())); mBinding.speedText.setText(Setting.getPlaySpeed() + "x"); + mBinding.incognitoText.setText(getSwitch(Setting.isIncognito())); } @Override @@ -48,6 +49,7 @@ public class SettingCustomFragment extends BaseFragment { mBinding.danmuSync.setOnClickListener(this::setDanmuSync); mBinding.speed.setOnClickListener(this::setSpeed); mBinding.speed.setOnLongClickListener(this::resetSpeed); + mBinding.incognito.setOnClickListener(this::setIncognito); } private boolean onTitle(View view) { @@ -83,4 +85,9 @@ public class SettingCustomFragment extends BaseFragment { return true; } + private void setIncognito(View view) { + Setting.putIncognito(!Setting.isIncognito()); + mBinding.incognitoText.setText(getSwitch(Setting.isIncognito())); + } + } diff --git a/app/src/mobile/res/layout/fragment_setting_custom.xml b/app/src/mobile/res/layout/fragment_setting_custom.xml index 2c566b0c2..1d167db5c 100644 --- a/app/src/mobile/res/layout/fragment_setting_custom.xml +++ b/app/src/mobile/res/layout/fragment_setting_custom.xml @@ -126,6 +126,33 @@ + + + + + + + + \ No newline at end of file