diff --git a/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/MainActivity.java b/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/MainActivity.java
index e96b6ae..a5809a9 100644
--- a/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/MainActivity.java
+++ b/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/MainActivity.java
@@ -370,6 +370,11 @@ public class MainActivity extends AppCompatActivity {
openFilePicker();
}
+ @Override
+ public void onTestButtonClicked() {
+ loadAndPlayTestVideo();
+ }
+
@Override
public void onPlayPauseClicked() {
VulkanVideoView.PlaybackState state = vulkanVideoView.getPlaybackState();
@@ -644,6 +649,40 @@ public class MainActivity extends AppCompatActivity {
return String.format("%02d:%02d", minutes, seconds);
}
+ private void loadAndPlayTestVideo() {
+ String testFilePath = "/storage/emulated/0/Download/output.webm";
+ String fileName = "output.webm";
+
+ android.util.Log.i(TAG, "Test button clicked: Loading " + testFilePath);
+
+ boolean success = vulkanVideoView.loadVideo(testFilePath);
+ if (success) {
+ VideoInfo info = vulkanVideoView.getVideoInfo();
+ if (info != null) {
+ statusText.setText(String.format("Test: %s (%dx%d, %.1f fps)",
+ fileName, info.width, info.height, info.frameRate));
+ vulkanVideoView.setVideoSize(info.width, info.height);
+
+ // Set video duration for progress tracking
+ videoDurationUs = info.durationUs;
+
+ // Update overlay with video info
+ videoPlayerOverlay.setVideoTitle("TEST: " + fileName);
+ videoPlayerOverlay.updateProgress(0, videoDurationUs);
+ videoPlayerOverlay.showPlaybackControls();
+ videoPlayerOverlay.show();
+
+ // Auto-start playback after a short delay
+ new android.os.Handler(android.os.Looper.getMainLooper()).postDelayed(() -> {
+ playVideo();
+ android.util.Log.i(TAG, "Test video playback started");
+ }, 200);
+ }
+ } else {
+ showError("Failed to load test video: " + testFilePath);
+ }
+ }
+
private void setupSystemBars() {
// Set up window insets listener to handle system bars properly
ViewCompat.setOnApplyWindowInsetsListener(findViewById(android.R.id.content), (v, insets) -> {
diff --git a/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/VideoPlayerOverlay.java b/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/VideoPlayerOverlay.java
index 73009e7..3d859d7 100644
--- a/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/VideoPlayerOverlay.java
+++ b/vav2/platforms/android/applications/vav2player/app/src/main/java/com/vavcore/player/VideoPlayerOverlay.java
@@ -21,6 +21,7 @@ public class VideoPlayerOverlay extends FrameLayout {
private ImageButton backButton;
private TextView videoTitle;
private ImageButton loadVideoButton;
+ private ImageButton testButton;
private ImageButton optionsButton;
private ImageButton centerPlayButton;
private ImageButton playButton;
@@ -40,6 +41,7 @@ public class VideoPlayerOverlay extends FrameLayout {
public interface OverlayListener {
void onBackClicked();
void onLoadVideoClicked();
+ void onTestButtonClicked();
void onPlayPauseClicked();
void onStopClicked();
void onSeekTo(long positionUs);
@@ -64,6 +66,7 @@ public class VideoPlayerOverlay extends FrameLayout {
backButton = findViewById(R.id.back_button);
videoTitle = findViewById(R.id.video_title);
loadVideoButton = findViewById(R.id.load_video_button);
+ testButton = findViewById(R.id.test_button);
optionsButton = findViewById(R.id.more_options);
centerPlayButton = findViewById(R.id.center_play_pause);
playButton = findViewById(R.id.overlay_play_button);
@@ -91,6 +94,12 @@ public class VideoPlayerOverlay extends FrameLayout {
}
});
+ testButton.setOnClickListener(v -> {
+ if (listener != null) {
+ listener.onTestButtonClicked();
+ }
+ });
+
optionsButton.setOnClickListener(v -> {
if (listener != null) {
listener.onOptionsClicked();
diff --git a/vav2/platforms/android/applications/vav2player/app/src/main/res/layout/video_player_overlay.xml b/vav2/platforms/android/applications/vav2player/app/src/main/res/layout/video_player_overlay.xml
index 0fb5cad..ca76092 100644
--- a/vav2/platforms/android/applications/vav2player/app/src/main/res/layout/video_player_overlay.xml
+++ b/vav2/platforms/android/applications/vav2player/app/src/main/res/layout/video_player_overlay.xml
@@ -62,6 +62,15 @@
android:contentDescription="@string/content_description_load_button"
android:tint="@android:color/white" />
+
+