diff --git a/MediaServiceCore b/MediaServiceCore index 67ef34d82..58e585e7a 160000 --- a/MediaServiceCore +++ b/MediaServiceCore @@ -1 +1 @@ -Subproject commit 67ef34d82a52c158afd4c9bd1ba7c0d36c8ad72e +Subproject commit 58e585e7ac93d680e3d3f77c8991d2c0170d53e3 diff --git a/SharedModules b/SharedModules index e3b0e4409..33050d723 160000 --- a/SharedModules +++ b/SharedModules @@ -1 +1 @@ -Subproject commit e3b0e4409c3a8a4f62abc3353e32b86a759572cd +Subproject commit 33050d72333c7673ab7447bc09d87103679e62f7 diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java index 9de7a0b01..d2420ff88 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java @@ -65,8 +65,8 @@ public class VideoLoaderController extends BasePlayerController { private final Runnable mRebootApp = () -> { Video video = getVideo(); - if (getPlayer() != null && video != null && video.hasVideo()) { - Utils.restartTheApp(getContext(), video.videoId, getPlayer().getPositionMs()); + if (getPlayer() != null) { + Utils.restartTheApp(getContext(), video, getPlayer().getPositionMs()); } }; private final Runnable mOnApplyPlaybackMode = () -> { diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/PlaybackPresenter.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/PlaybackPresenter.java index a3d0590f8..c61fa1d61 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/PlaybackPresenter.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/PlaybackPresenter.java @@ -90,13 +90,13 @@ public class PlaybackPresenter extends BasePresenter implements Pl } public void openVideo(String videoId) { - openVideo(videoId, false, -1); + openVideo(videoId, false, -1, false); } /** * Opens video item from splash view */ - public void openVideo(String videoId, boolean finishOnEnded, long timeMs) { + public void openVideo(String videoId, boolean finishOnEnded, long timeMs, boolean incognito) { if (videoId == null) { return; } @@ -104,6 +104,7 @@ public class PlaybackPresenter extends BasePresenter implements Pl Video video = Video.from(videoId); video.finishOnEnded = finishOnEnded; video.pendingPosMs = timeMs; + video.incognito = incognito; openVideo(video); } diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/SplashPresenter.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/SplashPresenter.java index c6f93f5b0..035eea9df 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/SplashPresenter.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/SplashPresenter.java @@ -6,7 +6,7 @@ import android.content.Intent; import com.liskovsoft.mediaserviceinterfaces.oauth.Account; import com.liskovsoft.mediaserviceinterfaces.data.MediaGroup; -import com.liskovsoft.sharedutils.GlobalConstants; +import com.liskovsoft.sharedutils.helpers.GlobalConstants; import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.sharedutils.helpers.MessageHelpers; import com.liskovsoft.sharedutils.mylogger.Log; @@ -276,7 +276,9 @@ public class SplashPresenter extends BasePresenter { if (videoId != null) { long timeMs = IntentExtractor.extractVideoTimeMs(intent); PlaybackPresenter playbackPresenter = PlaybackPresenter.instance(getContext()); - playbackPresenter.openVideo(videoId, IntentExtractor.hasFinishOnEndedFlag(intent), timeMs); + boolean finishOnEnded = IntentExtractor.hasFinishOnEndedFlag(intent); + boolean incognito = intent.getBooleanExtra(GlobalConstants.INCOGNITO_INTENT, false); + playbackPresenter.openVideo(videoId, finishOnEnded, timeMs, incognito); enablePlayerOnlyModeIfNeeded(intent); diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/utils/Utils.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/utils/Utils.java index 403dcc57b..338548a0b 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/utils/Utils.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/utils/Utils.java @@ -54,13 +54,14 @@ import androidx.work.PeriodicWorkRequest; import androidx.work.WorkManager; import com.jakewharton.processphoenix.ProcessPhoenix; -import com.liskovsoft.sharedutils.GlobalConstants; +import com.liskovsoft.sharedutils.helpers.GlobalConstants; import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.sharedutils.helpers.MessageHelpers; import com.liskovsoft.sharedutils.misc.WeakHashSet; import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv2.common.BuildConfig; import com.liskovsoft.smartyoutubetv2.common.R; +import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video; import com.liskovsoft.smartyoutubetv2.common.app.models.playback.manager.PlayerConstants; import com.liskovsoft.smartyoutubetv2.common.app.models.playback.manager.PlayerManager; import com.liskovsoft.smartyoutubetv2.common.app.models.playback.service.VideoStateService; @@ -907,15 +908,20 @@ public class Utils { } } - public static void restartTheApp(Context context, String videoId, long posMs) { + public static void restartTheApp(Context context, Video video, long posMs) { + if (video == null || !video.hasVideo()) { + return; + } + try { Intent intent = new Intent( Intent.ACTION_VIEW, - Uri.parse(String.format("https://www.youtube.com/watch?v=%s&t=%ss", videoId, posMs / 1_000)), + Uri.parse(String.format("https://www.youtube.com/watch?v=%s&t=%ss", video.videoId, posMs / 1_000)), context, Class.forName(BOOTSTRAP_ACTIVITY_CLASS_NAME) ); intent.putExtra(GlobalConstants.RESTART_INTENT, true); + intent.putExtra(GlobalConstants.INCOGNITO_INTENT, video.incognito); ProcessPhoenix.triggerRebirth(context, intent); } catch (ClassNotFoundException e) { e.printStackTrace(); diff --git a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/utils/AppUtil.java b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/utils/AppUtil.java index 303fb2993..eea3167de 100644 --- a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/utils/AppUtil.java +++ b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/utils/AppUtil.java @@ -7,10 +7,11 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; -import com.liskovsoft.sharedutils.GlobalConstants; + import com.liskovsoft.sharedutils.configparser.AssetPropertyParser2; import com.liskovsoft.sharedutils.configparser.ConfigParser; import com.liskovsoft.sharedutils.helpers.AppInfoHelpers; +import com.liskovsoft.sharedutils.helpers.GlobalConstants; public class AppUtil { private final Context mContext;