Skip to content

Instantly share code, notes, and snippets.

@prensmiskin
Created May 2, 2020 15:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save prensmiskin/161741f6e497a9d624258bedbddfd9d8 to your computer and use it in GitHub Desktop.
Save prensmiskin/161741f6e497a9d624258bedbddfd9d8 to your computer and use it in GitHub Desktop.
package com.sahnartsappone.sahnartsapp;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.AbsListView;
import android.widget.MediaController;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.VideoView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.klinker.android.simple_videoview.SimpleVideoView;
import com.volokh.danylo.visibility_utils.scroll_utils.ItemsPositionGetter;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static android.content.Context.MODE_PRIVATE;
public class AkisFragment extends Fragment {
private RecyclerView rv;
private ArrayList<Kelimeler> kelimelerListe = new ArrayList<>();
private KelimelerAdapterx adapter;
private LinearLayoutManager mLayoutManager;
KelimelerAdapterx kelimelerAdapter;
VideoView videoView;
SharedPreferences sharedpreferences;
// private int mScrollState = AbsListView.OnScrollListener.SCROLL_STATE_IDLE;
private int mScrollStatex = AbsListView.OnScrollListener. SCROLL_STATE_TOUCH_SCROLL;
private ItemsPositionGetter mItemsPositionGetter;
public boolean scrolldurum;
SimpleVideoView videoViewz;
// private final ListItemsVisibilityCalculator mVideoVisibilityCalculator =
// new SingleListViewItemActiveCalculator(new DefaultSingleItemCalculatorCallback(),null;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.akis_activity, container, false);
rv = rootView.findViewById(R.id.rv);
rv.setHasFixedSize(true);
rv.setLayoutManager(new LinearLayoutManager(getActivity()));
tumKelimeler();
videoView = rootView.findViewById(R.id.videoview);
videoViewz = rootView.findViewById(R.id.videoview);
rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
// mScrollState = scrollState;
if(newState == RecyclerView.SCROLL_STATE_IDLE ) {
Toast.makeText(getActivity(),"scrol stop",Toast.LENGTH_SHORT).show();
scrolldurum = false;
Log.e("scrolldurumburcu", String.valueOf(scrolldurum));
}
if(newState == RecyclerView.SCROLL_STATE_DRAGGING ) {
Toast.makeText(getActivity(),"scrol START",Toast.LENGTH_SHORT).show();
scrolldurum = true;
Log.e("scrolldurumburcu", String.valueOf(scrolldurum));
}
super.onScrollStateChanged(recyclerView, newState);
}
});
return rootView;
}
public class KelimelerAdapterx extends RecyclerView.Adapter<KelimelerAdapterx.CardTasarimTutucu> {
private Context mContext;
private List<Kelimeler> kelimelerListe;
String svvs;
Fragment fragment;
private int mScrollState = AbsListView.OnScrollListener.SCROLL_STATE_IDLE;
private RecyclerView rv;
boolean dddeere =true;
public KelimelerAdapterx(Context mContext, List<Kelimeler> kelimelerListe) {
this.mContext = mContext;
this.kelimelerListe = kelimelerListe;
}
@Override
public KelimelerAdapterx.CardTasarimTutucu onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_tasarim,parent,false);
Log.e("scrolldurumburcussv", String.valueOf(scrolldurum));
return new KelimelerAdapterx.CardTasarimTutucu(view);
}
@Override
public void onBindViewHolder(final KelimelerAdapterx.CardTasarimTutucu holder, int position) {
final Kelimeler kelime = kelimelerListe.get(position);
holder.textViewIngilizce.setText(kelime.getAkis());
holder.textViewTurkce.setText(kelime.getLikebtn());
// holder.videoView.start("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
/* holder.videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
*/
if (scrolldurum = true){
Log.e("xaxaxaxax", String.valueOf(scrolldurum));
holder.videoView.pause();
}
if (scrolldurum = false){
Log.e("xaxaxaxax", String.valueOf(scrolldurum));
}
holder.videoView.setErrorTracker(new SimpleVideoView.VideoPlaybackErrorTracker() {
@Override
public void onPlaybackError(Exception e) {
e.printStackTrace();
// Snackbar.make(holder.videoView, "Uh oh, error playing!", Snackbar.LENGTH_INDEFINITE).show();
holder.videoView.start("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
holder. videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if ( holder.videoView.isPlaying()) {
holder.videoView.pause();
}
else{
holder.videoView.play();
}
}
});
}
});
holder.videoView.start("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
holder. videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if ( holder.videoView.isPlaying()) {
Log.e("scrolldurumburcussss", String.valueOf(scrolldurum));
holder.videoView.pause();
} else {
holder.videoView.play();
}
}
});
/*
}
});
/*
holder.videoView.setVideoPath("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
holder.videoView.start();
holder.videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.videoView.start();
}
});
holder.videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// This is just to show image when loaded
mp.start();
mp.pause();
}
});
holder.videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// setLooping(true) didn't work, thats why this workaround
holder.videoView.setVideoPath("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
holder.videoView.start();
}
});
*/
}
@Override
public int getItemCount() {
return kelimelerListe.size();
}
public class CardTasarimTutucu extends RecyclerView.ViewHolder{
private TextView textViewIngilizce;
private TextView textViewTurkce;
private CardView kelime_card;
SimpleVideoView videoView;
RecyclerView.RecyclerListener recyclerListener;
View view;
ScrollView scrollView;
private RecyclerView rvx;
// JzvdStd jzvdStd;
// public PlayerView videoView;
// private SimpleExoPlayer player;
private boolean playWhenReady = true;
private int currentWindow = 0;
private long playbackPosition = 0;
public CardTasarimTutucu(View itemView) {
super(itemView);
textViewIngilizce = itemView.findViewById(R.id.textViewIngilizce);
textViewTurkce = itemView.findViewById(R.id.textViewTurkce);
kelime_card = itemView.findViewById(R.id.kelime_card);
videoView = itemView.findViewById(R.id.videoview);
scrollView = itemView.findViewById(R.id.scrollView);
// rvx = itemView.findViewById(R.id.rvx);
MediaController mediaController = new MediaController(mContext);
// videoView.setMediaController(mediaController);
// mediaController.setAnchorView(videoView);
//videoView.seekTo( 5 );
// mediaController.setAnchorView (videoView);
}
}
}
/* public void tumKelimeler(){
String url = "https://goldgym.pro/sahnartsvideoakis.php";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
kelimelerListe = new ArrayList<>();
try {
JSONObject jsonObj = new JSONObject(response);
JSONArray kelimeler = jsonObj.getJSONArray("employees");
// looping through All Contacts
for (int i = 0; i < kelimeler.length(); i++) {
JSONObject k = kelimeler.getJSONObject(i);
String akis = k.getString("username");
int id = k.getInt("id");
String likebtn = k.getString("mail");
Kelimeler kelime = new Kelimeler(akis,id,likebtn);
kelimelerListe.add(kelime);
}
adapter = new KelimelerAdapter(getActivity(),kelimelerListe);
rv.setAdapter(adapter);
} catch (JSONException e) {
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
Volley.newRequestQueue(getActivity()).add(stringRequest);
}*/
public void tumKelimeler(){
sharedpreferences = getActivity().getSharedPreferences("login",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
String mailtr = sharedpreferences.getString("mail","null");
Log.e("testloginfff",mailtr);
String url = "https://goldgym.pro/sahnartsvideoakis.php";
final String mailx = mailtr;
StringRequest istek = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("imagexxlarge",response);
kelimelerListe = new ArrayList<>();
try {
JSONObject jsonObj = new JSONObject(response);
JSONArray kelimeler = jsonObj.getJSONArray("employees");
// looping through All Contacts
for (int i = 0; i < kelimeler.length(); i++) {
JSONObject k = kelimeler.getJSONObject(i);
String akis = k.getString("username");
String id = k.getString("durum");
String likebtn = k.getString("videoname");
Kelimeler kelime = new Kelimeler(akis,id,likebtn);
kelimelerListe.add(kelime);
}
adapter = new KelimelerAdapterx(getActivity(),kelimelerListe);
rv.setAdapter(adapter);
} catch (JSONException e) {
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<>();
params.put("mailx",mailx);
return params;
}
};
Volley.newRequestQueue(getActivity()).add(istek);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment