diff --git a/app/build.gradle b/app/build.gradle
index 60ddb43..f93d579 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -35,6 +35,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+ implementation 'com.google.android.exoplayer:exoplayer:2.18.1'
implementation("io.minio:minio:8.4.3")
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 568d18b..956011a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="asgardius.page.s3manager">
+
+
= 30) {
- mContentView.getWindowInsetsController().hide(
- WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
- } else {
- // Note that some of these constants are new as of API 16 (Jelly Bean)
- // and API 19 (KitKat). It is safe to use them, as they are inlined
- // at compile-time and do nothing on earlier devices.
- mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
- | View.SYSTEM_UI_FLAG_FULLSCREEN
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
- }
- }
- };
- private View mControlsView;
- private final Runnable mShowPart2Runnable = new Runnable() {
- @Override
- public void run() {
- // Delayed display of UI elements
- ActionBar actionBar = getSupportActionBar();
- if (actionBar != null) {
- actionBar.show();
- }
- mControlsView.setVisibility(View.VISIBLE);
- }
- };
- private boolean mVisible;
- private final Runnable mHideRunnable = new Runnable() {
- @Override
- public void run() {
- hide();
- }
- };
- /**
- * Touch listener to use for in-layout UI controls to delay hiding the
- * system UI. This is to prevent the jarring behavior of controls going away
- * while interacting with activity UI.
- */
- private final View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent motionEvent) {
- switch (motionEvent.getAction()) {
- case MotionEvent.ACTION_DOWN:
- if (AUTO_HIDE) {
- delayedHide(AUTO_HIDE_DELAY_MILLIS);
- }
- break;
- case MotionEvent.ACTION_UP:
- view.performClick();
- break;
- default:
- break;
- }
- return false;
- }
- };
- private ActivityVideoPlayerBinding binding;
+
+ // url of video which we are loading.
+ String videoURL = "https://video.asgardius.company/download/videos/41780585-a935-4d53-84c8-45ce97141231-480.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_video_player);
+ playerView = findViewById(R.id.player_view);
+ try {
+ // creating a variable for exoplayer
+ ExoPlayer player = new ExoPlayer.Builder(this).build();
+ // Attach player to the view.
+ playerView.setPlayer(player);
+ MediaItem mediaItem = MediaItem.fromUri(videoURL);
- binding = ActivityVideoPlayerBinding.inflate(getLayoutInflater());
- setContentView(binding.getRoot());
+ // Set the media item to be played.
+ player.setMediaItem(mediaItem);
+ // Prepare the player.
+ player.prepare();
+ // Start the playback.
+ player.play();
- mVisible = true;
- mControlsView = binding.fullscreenContentControls;
- mContentView = binding.fullscreenContent;
-
- // Set up the user interaction to manually show or hide the system UI.
- mContentView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- toggle();
- }
- });
-
- // Upon interacting with UI controls, delay any scheduled hide()
- // operations to prevent the jarring behavior of controls going away
- // while interacting with the UI.
- binding.dummyButton.setOnTouchListener(mDelayHideTouchListener);
- }
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
-
- // Trigger the initial hide() shortly after the activity has been
- // created, to briefly hint to the user that UI controls
- // are available.
- delayedHide(100);
- }
-
- private void toggle() {
- if (mVisible) {
- hide();
- } else {
- show();
+ } catch (Exception e) {
+ // below line is used for
+ // handling our errors.
+ System.out.println("Error : " + e.toString());
}
}
-
- private void hide() {
- // Hide UI first
- ActionBar actionBar = getSupportActionBar();
- if (actionBar != null) {
- actionBar.hide();
- }
- mControlsView.setVisibility(View.GONE);
- mVisible = false;
-
- // Schedule a runnable to remove the status and navigation bar after a delay
- mHideHandler.removeCallbacks(mShowPart2Runnable);
- mHideHandler.postDelayed(mHidePart2Runnable, UI_ANIMATION_DELAY);
- }
-
- private void show() {
- // Show the system bar
- if (Build.VERSION.SDK_INT >= 30) {
- mContentView.getWindowInsetsController().show(
- WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
- } else {
- mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
- }
- mVisible = true;
-
- // Schedule a runnable to display UI elements after a delay
- mHideHandler.removeCallbacks(mHidePart2Runnable);
- mHideHandler.postDelayed(mShowPart2Runnable, UI_ANIMATION_DELAY);
- }
-
- /**
- * Schedules a call to hide() in delay milliseconds, canceling any
- * previously scheduled calls.
- */
- private void delayedHide(int delayMillis) {
- mHideHandler.removeCallbacks(mHideRunnable);
- mHideHandler.postDelayed(mHideRunnable, delayMillis);
- }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_video_player.xml b/app/src/main/res/layout/activity_video_player.xml
index 63c7b20..5a7b4e1 100644
--- a/app/src/main/res/layout/activity_video_player.xml
+++ b/app/src/main/res/layout/activity_video_player.xml
@@ -3,49 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?attr/fullscreenBackgroundColor"
+ android:background="@color/black"
android:theme="@style/ThemeOverlay.AsgardiusS3Manager.FullscreenContainer"
tools:context=".VideoPlayer">
-
+
+ android:layout_height="match_parent"/>
-
-
-
-
-
-
-
-
-
\ No newline at end of file