diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index ddf78120b..fe1c2aac5 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -153,12 +153,10 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen mControl.next.setOnClickListener(view -> checkNext()); mControl.prev.setOnClickListener(view -> checkPrev()); mControl.scale.setOnClickListener(view -> onScale()); - mControl.reset.setOnClickListener(view -> onReset()); mControl.speed.setOnClickListener(view -> onSpeed()); mControl.tracks.setOnClickListener(view -> onTracks()); mControl.ending.setOnClickListener(view -> onEnding()); mControl.opening.setOnClickListener(view -> onOpening()); - mControl.interval.setOnClickListener(view -> onInterval()); mControl.speed.setOnLongClickListener(view -> onSpeedReset()); mControl.ending.setOnLongClickListener(view -> onEndingReset()); mControl.opening.setOnLongClickListener(view -> onOpeningReset()); @@ -200,7 +198,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen getPlayerView().setVisibility(View.VISIBLE); getPlayerView().setResizeMode(Prefers.getScale()); getPlayerView().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - mControl.interval.setText(ResUtil.getString(R.string.second, Prefers.getInterval())); mControl.scale.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getScale()]); mControl.speed.setText(mPlayers.getSpeed()); } @@ -420,8 +417,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen } private void onOpening() { - mHistory.setOpening(mHistory.getOpening() + Prefers.getInterval() * 1000L); - if (mHistory.getOpening() > 5 * 60 * 1000) mHistory.setOpening(0); + mHistory.setOpening(mPlayers.getCurrentPosition()); mControl.opening.setText(mPlayers.getStringForTime(mHistory.getOpening())); } @@ -432,8 +428,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen } private void onEnding() { - mHistory.setEnding(mHistory.getEnding() + Prefers.getInterval() * 1000L); - if (mHistory.getEnding() > 5 * 60 * 1000) mHistory.setEnding(0); + mHistory.setEnding(mPlayers.getCurrentPosition()); mControl.ending.setText(mPlayers.getStringForTime(mHistory.getEnding())); } @@ -443,20 +438,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen return true; } - private void onInterval() { - int interval = Prefers.getInterval() * 2; - if (interval > 60) interval = 15; - Prefers.putInterval(interval); - mControl.interval.setText(ResUtil.getString(R.string.second, Prefers.getInterval())); - } - - private void onReset() { - mHistory.setEnding(0); - mHistory.setOpening(0); - mControl.ending.setText(mPlayers.getStringForTime(mHistory.getEnding())); - mControl.opening.setText(mPlayers.getStringForTime(mHistory.getOpening())); - } - private void onTracks() { mHandler.postDelayed(() -> getPlayerView().hideController(), 150); TrackSelectionDialog.createForPlayer(mPlayers.exo(), dialog -> { @@ -548,10 +529,9 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen @Override public void onTimeChanged() { - long duration = mPlayers.getDuration(); long current = mPlayers.getCurrentPosition(); if (mHistory.getOpening() >= current) mPlayers.seekTo(mHistory.getOpening()); - if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + current >= duration) { + if (mHistory.getEnding() > 0 && mHistory.getEnding() <= current) { Clock.get().setCallback(null); checkNext(); } diff --git a/app/src/leanback/res/layout/view_controller_bottom.xml b/app/src/leanback/res/layout/view_controller_bottom.xml index 81f9db5f5..bef8cb8f1 100644 --- a/app/src/leanback/res/layout/view_controller_bottom.xml +++ b/app/src/leanback/res/layout/view_controller_bottom.xml @@ -121,7 +121,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="12dp" - android:text="@string/play_oped" + android:text="@string/play_op" android:textColor="@color/grey_700" android:textSize="18sp" /> @@ -139,20 +139,15 @@ tools:text="00:00" /> + android:text="@string/play_ed" + android:textColor="@color/grey_700" + android:textSize="18sp" /> - - + tools:text="00:00" /> diff --git a/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java b/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java index 16dce0ea0..ee8f66cca 100644 --- a/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java +++ b/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java @@ -22,7 +22,7 @@ import com.fongmi.android.tv.db.dao.SiteDao; @Database(entities = {Config.class, Site.class, History.class, Keep.class}, version = AppDatabase.VERSION, exportSchema = false) public abstract class AppDatabase extends RoomDatabase { - public static final int VERSION = 9; + public static final int VERSION = 10; public static final String SYMBOL = "@@@"; private static volatile AppDatabase instance; @@ -33,7 +33,7 @@ public abstract class AppDatabase extends RoomDatabase { } private static AppDatabase create(Context context) { - return Room.databaseBuilder(context, AppDatabase.class, "tv").addMigrations(MIGRATION_8_9).allowMainThreadQueries().fallbackToDestructiveMigration().build(); + return Room.databaseBuilder(context, AppDatabase.class, "tv").addMigrations(MIGRATION_8_9).addMigrations(MIGRATION_9_10).allowMainThreadQueries().fallbackToDestructiveMigration().build(); } public abstract KeepDao getKeepDao(); @@ -50,4 +50,11 @@ public abstract class AppDatabase extends RoomDatabase { database.execSQL("CREATE TABLE IF NOT EXISTS `Keep` (`key` TEXT NOT NULL, `siteName` TEXT, `vodName` TEXT, `vodPic` TEXT, `createTime` INTEGER NOT NULL, `cid` INTEGER NOT NULL, PRIMARY KEY(`key`))"); } }; + + static final Migration MIGRATION_9_10 = new Migration(9, 10) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase database) { + database.execSQL("UPDATE `History` SET ending = 0;"); + } + }; } diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Prefers.java b/app/src/main/java/com/fongmi/android/tv/utils/Prefers.java index db770f506..d315fa806 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Prefers.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Prefers.java @@ -116,14 +116,6 @@ public class Prefers { put("scale", scale); } - public static int getInterval() { - return getInt("interval", 15); - } - - public static void putInterval(int interval) { - put("interval", interval); - } - public static boolean getUpdate() { return getBoolean("update", true); } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 50e8f8203..86389e00a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -35,7 +35,8 @@ 重播 重置 轨道 - 片头片尾 + 片头 + 片尾 倒序 @@ -85,7 +86,6 @@ 全部 - %s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 67ae82e2f..bc3878682 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -35,7 +35,8 @@ 重播 重置 軌道 - 片頭片尾 + 片頭 + 片尾 倒序 @@ -85,7 +86,6 @@ 全部 - %s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5b23109e1..12939b973 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -35,7 +35,8 @@ Replay Reset Tracks - OP&ED + OP + OP Reverse @@ -85,7 +86,6 @@ All - %s s Surface