Hi every one i am trying to making a video player app which is getting video links from Realtime database in recycler view my app is good with me till user clicking on recycler view item. But i want if user want to play videos automatically what code / method should be done by me when user select AutoPlay then videos should play automatically on countdown timer finish method listener. Timer will set by already stored value in database which will come with video link.
// Here is my recycler view adapter code if need more details i will provide
package com.shahabtech.ytbooster;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ViewAdapterModel extends RecyclerView.Adapter<ViewAdapterModel.MyViewholder>
{
Context context;
ArrayList<model>list;
int Pos;
private SelectListner selectListner;
public ViewAdapterModel(Context context, ArrayList<model> list,SelectListner selectListner) {
this.context = context;
this.list = list;
this.selectListner = selectListner;
}
@NonNull
@Override
public MyViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.public_video_layout,parent,false);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, "You clicked on "+Pos, Toast.LENGTH_SHORT).show();
}
});
return new MyViewholder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewholder holder, @SuppressLint("RecyclerView") int position) {
model model =list.get(position);
String YT_ID = getYouTubeId(model.getYT_LINK());
holder.name.setText("Duration : "+model.getWATCH_TIME()+" Sec");
holder.email.setText("Reward : "+model.getWATCH_TIME()+" Coins");
String thumbnailul = "https://img.youtube.com/vi/" +YT_ID+ "/hqdefault.jpg";
Glide.with(context).load(thumbnailul).into(holder.Public_preview);
model.setPostion(position);
model.setList_size(list.size());
holder.constraintLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectListner.onItemCkicked(list.get(position));
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class MyViewholder extends RecyclerView.ViewHolder{
TextView name,email,city,mobile;
ImageView Public_preview;
ConstraintLayout constraintLayout;
public MyViewholder(@NonNull View itemView) {
super(itemView);
name=itemView.findViewById(R.id.nametv);
email=itemView.findViewById(R.id.emailtv);
Public_preview=itemView.findViewById(R.id.public_preview);
constraintLayout=itemView.findViewById(R.id.cardView);
// city=itemView.findViewById(R.id.citytv);
// mobile=itemView.findViewById(R.id.mobiletv);
}
}
private String getYouTubeId (String youTubeUrl) {
String pattern = "(?<=youtu.be/|watch\\?v=|/videos/|embed\\/)[^#\\&\\?]*";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(youTubeUrl);
if (matcher.find()) {
return matcher.group();
} else {
return "error";
}
}}