Optimize history save

release^2
jhengazuki 2 months ago
parent 1c5e82bde6
commit 8ead13d4a9
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 1
      app/src/main/java/com/fongmi/android/tv/bean/History.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/db/dao/HistoryDao.java
  4. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -1077,6 +1077,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
setMetadata();
setTrackVisible();
mClock.setCallback(this);
App.execute(() -> mHistory.merge());
break;
case PlayerEvent.SIZE:
mBinding.widget.size.setText(mPlayers.getSizeText());
@ -1403,7 +1404,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
protected void onPause() {
super.onPause();
if (isRedirect()) onPaused();
if (mHistory != null) mHistory.merge();
}
@Override

@ -317,6 +317,7 @@ public class History implements Diffable<History> {
setVodFlag(flags.get(0).getFlag());
if (!flags.get(0).getEpisodes().isEmpty()) setVodRemarks(flags.get(0).getEpisodes().get(0).getName());
for (History item : findByName(getVodName())) {
if (getPosition() > 0) break;
for (Flag flag : flags) {
Episode episode = flag.find(item.getVodRemarks(), true);
if (episode == null) continue;

@ -19,7 +19,7 @@ public abstract class HistoryDao extends BaseDao<History> {
@Query("SELECT * FROM History WHERE cid = :cid AND `key` = :key")
public abstract History find(int cid, String key);
@Query("SELECT * FROM History WHERE cid = :cid AND vodName = :vodName AND position > 0 ORDER BY createTime DESC")
@Query("SELECT * FROM History WHERE cid = :cid AND vodName = :vodName ORDER BY createTime DESC")
public abstract List<History> findByName(int cid, String vodName);
@Query("DELETE FROM History WHERE cid = :cid AND `key` = :key")

@ -1186,6 +1186,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
setMetadata();
setTrackVisible();
mClock.setCallback(this);
App.execute(() -> mHistory.merge());
break;
case PlayerEvent.SIZE:
mBinding.video.post(this::changeHeight);
@ -1646,7 +1647,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
protected void onPause() {
super.onPause();
if (isRedirect()) onPaused();
if (mHistory != null) mHistory.merge();
}
@Override

Loading…
Cancel
Save