Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.content.Context;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.design.widget.Snackbar;
- import android.support.v4.app.Fragment;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.FrameLayout;
- import android.widget.TextView;
- import com.dev.pingr.R;
- import com.dev.pingr.networking.ConnectionDetector;
- import com.dev.pingr.twitterData.adapter.TwMessageAdapter;
- import com.dev.pingr.twitterData.model.MyTwitterApiClient;
- import com.dev.pingr.twitterData.model.TwMessageModel;
- import com.dev.pingr.twitterData.model.TwModel;
- import com.twitter.sdk.android.core.Callback;
- import com.twitter.sdk.android.core.Result;
- import com.twitter.sdk.android.core.TwitterCore;
- import com.twitter.sdk.android.core.TwitterException;
- import com.twitter.sdk.android.core.TwitterSession;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * A simple {@link Fragment} subclass.
- */
- public class TwMessageFragment extends Fragment {
- Context context;
- RecyclerView recyclerView;
- ConnectionDetector detector;
- FrameLayout frameLayout;
- TwMessageAdapter adapter;
- ArrayList<TwMessageModel> arrayList = new ArrayList<>();
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- this.context = context;
- detector = new ConnectionDetector(context);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_tw_message, container, false);
- }
- @Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- frameLayout = (FrameLayout) view.findViewById(R.id.frame_layout);
- }
- @Override
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- if (detector.isConnectingToInternet()) {
- TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession();
- MyTwitterApiClient apiClient = new MyTwitterApiClient(session);
- apiClient.getCustomService().DirectMessages(0L, 999999999999999999L, 200, true, true,
- new Callback<List<TwModel>>() {
- @Override
- public void success(Result<List<TwModel>> result) {
- Log.e("Get Messages", result.data.get(0).sender_id + "");
- for (int i = 0; i < result.data.size(); i++) {
- String sender_id = result.data.get(i).sender_id;
- String receipent_id = result.data.get(i).recipient_id;
- String text = result.data.get(i).text;
- String recipient_name = result.data.get(i).recipient.recipient_name;
- String sender_name = result.data.get(i).sender.sender_name;
- String created_at = result.data.get(i).created_at;
- String sender_profile_url = result.data.get(i).sender.profile_image_url;
- if (i + 1 < result.data.size()) {
- if (!result.data.get(i).sender_id.equals(result.data.get(i + 1).sender_id)) {
- Log.e("Sender Id", result.data.get(i).sender_id + " " + result.data.get(i + 1).sender_id);
- TwMessageModel model = new TwMessageModel();
- model.setCreated_at(created_at);
- model.setRecipient_id(receipent_id);
- model.setSender_id(sender_id);
- model.setText(text);
- model.setRecipient_name(recipient_name);
- model.setSender_name(sender_name);
- model.setSender_profile_url(sender_profile_url);
- arrayList.add(model);
- }
- }
- if (i == result.data.size() - 1) {
- if (!result.data.get(i - 1).sender_id.equals(result.data.get(i).sender_id)) {
- TwMessageModel model = new TwMessageModel();
- model.setCreated_at(result.data.get(i).created_at);
- model.setRecipient_id(result.data.get(i).recipient_id);
- model.setSender_id(result.data.get(i).sender_id);
- model.setText(result.data.get(i).text);
- model.setRecipient_name(result.data.get(i).recipient.recipient_name);
- model.setSender_name(result.data.get(i).sender.sender_name);
- model.setSender_profile_url(result.data.get(i).sender.profile_image_url);
- arrayList.add(model);
- }
- }
- }
- adapter = new TwMessageAdapter(getContext(), arrayList);
- recyclerView.setAdapter(adapter);
- adapter.notifyDataSetChanged();
- }
- @Override
- public void failure(TwitterException e) {
- }
- }
- );
- apiClient.getCustomService().DirectSentMessages(999999999999999999L, 999999999999999999L, 200, 0, true,
- new Callback<List<TwModel>>() {
- @Override
- public void success(Result<List<TwModel>> result) {
- if (result.data.size() > 0) {
- Log.e("Sent Messages", result.data.get(0).recipient + "");
- }
- }
- @Override
- public void failure(TwitterException e) {
- }
- });
- } else {
- showError(R.string.internet_error);
- }
- }
- private void showError(int error) {
- Snackbar snackbar = Snackbar.make(frameLayout, error, Snackbar.LENGTH_SHORT);
- ViewGroup group = (ViewGroup) snackbar.getView();
- group.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimaryDark));
- TextView textView = (TextView) group.findViewById(android.support.design.R.id.snackbar_text);
- textView.setTextColor(Color.WHITE);
- snackbar.show();
- }
- }
Add Comment
Please, Sign In to add comment