Add incognito mode setting

pull/282/head
okjack 2 years ago
parent b422d1718c
commit d45cd4cf60
  1. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 37
      app/src/leanback/res/layout/activity_setting_custom.xml
  4. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  5. 1
      app/src/main/res/values-zh-rCN/strings.xml
  6. 1
      app/src/main/res/values-zh-rTW/strings.xml
  7. 1
      app/src/main/res/values/strings.xml
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  9. 7
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java
  10. 27
      app/src/mobile/res/layout/fragment_setting_custom.xml

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

@ -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();

@ -345,5 +345,42 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/incognito"
android:layout_width="0dp"
android:layout_height="wrap_content"
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_incognito"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/incognitoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="Off" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>

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

@ -78,6 +78,7 @@
<string name="setting_size">图片尺寸</string>
<string name="setting_fullscreen_menu_key">全屏菜单键</string>
<string name="setting_home_site_lock">首页源锁定</string>
<string name="setting_incognito">無痕模式</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">缓存</string>

@ -78,6 +78,7 @@
<string name="setting_size">圖片尺寸</string>
<string name="setting_fullscreen_menu_key">全屏選單鍵</string>
<string name="setting_home_site_lock">首頁源鎖定</string>
<string name="setting_incognito">無痕模式</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">暫存</string>

@ -78,6 +78,7 @@
<string name="setting_size">Image size</string>
<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_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">Cache</string>

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

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

@ -126,6 +126,33 @@
</LinearLayout>
<LinearLayout
android:id="@+id/incognito"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_incognito"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/incognitoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="Off" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Loading…
Cancel
Save