package com.reactlibraryexoplayer;


import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.PopupMenu;

import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.ui.PlayerView;
import com.google.android.exoplayer2.ui.StyledPlayerView;

public class ExoActivity extends AppCompatActivity implements MenuItem.OnMenuItemClickListener {
    String newString="";
    ExoPlayer player;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exo);
//        Bundle extras = getIntent().getExtras();
//        if(extras == null) {
//            newString= null;android
//        } else {
//            newString= extras.getString("videourl");
//        }
//        Log.d("aaaaaa",newString);
        ImageButton exo_rew_with_amount = findViewById(R.id.exo_rewind);
        ImageButton exo_next_with_amount = findViewById(R.id.exo_nextind);
        ImageButton exo_play_pause = findViewById(R.id.exo_play_pause);
        findViewById(R.id.exo_play_pause).requestFocus();
        ImageButton android_dropdown_menu_example = findViewById(R.id.exo_settings);

        PlayerView playerView = findViewById(R.id.video_view);
       MediaItem mediaItem = MediaItem.fromUri("https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4");
        //MediaItem mediaItem = MediaItem.fromUri(newString);
        player = new ExoPlayer.Builder(this).build();
        // Attach player to the view.
        playerView.setPlayer(player);
        // Set the media item to be played.
        player.setMediaItem(mediaItem);
        // Prepare the player.
        player.prepare();
        player.play();
        exo_play_pause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                player.play();
                if(player.isPlaying()){
                    player.pause();

                }
                else {
                    player.play();
                }
            }
        });
        exo_rew_with_amount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                player.seekTo(player.getCurrentPosition() - 5000);
            }
        });

        exo_next_with_amount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                player.seekTo(player.getCurrentPosition() + 5000);
            }
        });

//        android_dropdown_menu_example.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                PopupMenu dropDownMenu = new PopupMenu(getApplicationContext(), android_dropdown_menu_example);
//                dropDownMenu.getMenuInflater().inflate(R.menu.drop_down_menu, dropDownMenu.getMenu());
//                dropDownMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
//
//                    @Override
//                    public boolean onMenuItemClick(MenuItem menuItem) {
//                        Log.d("menuitem", String.valueOf(menuItem));
//                        String str = "geekss@for@geekss";
//                        String[] arrOfStr = String.valueOf(menuItem).split("x");
//                        System.out.println(arrOfStr[0]);
//                        PlaybackParameters param = new PlaybackParameters(Float.parseFloat(arrOfStr[0]));
//                        player.setPlaybackParameters(param);
//                        return true;
//                    }
//                });
//                dropDownMenu.show();
//            }
//        });
    }

    @Override
    public boolean onMenuItemClick(MenuItem item) {
//        Log.d("Item", String.valueOf(item));
        return false;
    }
}