Optimize history save

release
FongMi 2 weeks ago
parent 501b9230bb
commit 7264a5133d
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 5
      app/src/main/java/com/fongmi/android/tv/bean/History.java
  3. 3
      app/src/main/java/com/fongmi/android/tv/browse/VodBrowse.java
  4. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -952,14 +952,14 @@ public class VideoActivity extends PlaybackActivity implements CustomKeyDownVod.
}
private void saveHistory(boolean exit) {
if (mHistory != null && mHistory.canSave()) Task.execute(() -> {
if (mHistory != null && mHistory.canSave() && !Setting.isIncognito()) Task.execute(() -> {
mHistory.merge().save();
if (exit) RefreshEvent.history();
});
}
private void syncHistory() {
if (mHistory != null) Task.execute(() -> mHistory.save());
if (mHistory != null && !Setting.isIncognito()) Task.execute(() -> mHistory.save());
}
private void updateHistory(Episode item) {

@ -12,7 +12,6 @@ import androidx.room.PrimaryKey;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Constant;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.db.AppDatabase;
import com.fongmi.android.tv.impl.Diffable;
@ -303,11 +302,11 @@ public class History implements Diffable<History> {
}
public boolean canSave() {
return getPosition() > 0 && getDuration() > 0 && !Setting.isIncognito();
return getPosition() > 0 && getDuration() > 0;
}
public boolean canSync() {
return System.currentTimeMillis() - getUpdateTime() > 5000 && !Setting.isIncognito();
return System.currentTimeMillis() - getUpdateTime() > 5000;
}
public History merge() {

@ -7,6 +7,7 @@ import androidx.annotation.Nullable;
import androidx.media3.common.C;
import androidx.media3.common.MediaItem;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.SiteApi;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Episode;
@ -118,7 +119,7 @@ class VodBrowse {
}
static boolean saveProgress(long position, long duration) {
if (browseHistory == null) return false;
if (browseHistory == null || Setting.isIncognito()) return false;
History history = browseHistory;
history.setPosition(position);
history.setDuration(duration);

@ -1060,14 +1060,14 @@ public class VideoActivity extends PlaybackActivity implements Clock.Callback, C
}
private void saveHistory(boolean exit) {
if (mHistory != null && mHistory.canSave()) Task.execute(() -> {
if (mHistory != null && mHistory.canSave() && !Setting.isIncognito()) Task.execute(() -> {
mHistory.merge().save();
if (exit) RefreshEvent.history();
});
}
private void syncHistory() {
if (mHistory != null) Task.execute(() -> mHistory.save());
if (mHistory != null && !Setting.isIncognito()) Task.execute(() -> mHistory.save());
}
private void updateHistory(Episode item) {

Loading…
Cancel
Save