SHARE
TWEET

Untitled

a guest Sep 14th, 2017 96 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package larc.ludiconprod.Activities;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Bitmap;
  6. import android.graphics.BitmapFactory;
  7. import android.graphics.Color;
  8. import android.graphics.Typeface;
  9. import android.os.Bundle;
  10. import android.util.Base64;
  11. import android.view.View;
  12. import android.view.ViewGroup;
  13. import android.widget.Button;
  14. import android.widget.ImageView;
  15. import android.widget.LinearLayout;
  16. import android.widget.RelativeLayout;
  17. import android.widget.TextView;
  18. import android.widget.Toast;
  19.  
  20. import com.android.volley.NetworkError;
  21. import com.android.volley.Response;
  22. import com.android.volley.VolleyError;
  23. import com.google.android.gms.maps.CameraUpdateFactory;
  24. import com.google.android.gms.maps.GoogleMap;
  25. import com.google.android.gms.maps.MapFragment;
  26. import com.google.android.gms.maps.OnMapReadyCallback;
  27. import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  28. import com.google.android.gms.maps.model.LatLng;
  29. import com.google.android.gms.maps.model.MarkerOptions;
  30.  
  31. import java.text.DateFormatSymbols;
  32. import java.text.SimpleDateFormat;
  33. import java.util.Calendar;
  34. import java.util.Date;
  35. import java.util.HashMap;
  36. import java.util.Set;
  37.  
  38. import de.hdodenhof.circleimageview.CircleImageView;
  39. import larc.ludiconprod.Adapters.MainActivity.AroundMeAdapter;
  40. import larc.ludiconprod.Adapters.MainActivity.MyAdapter;
  41. import larc.ludiconprod.Controller.HTTPResponseController;
  42. import larc.ludiconprod.Controller.Persistance;
  43. import larc.ludiconprod.Dialogs.ConfirmationDialog;
  44. import larc.ludiconprod.R;
  45. import larc.ludiconprod.Utils.EventDetails;
  46. import larc.ludiconprod.Utils.Friend;
  47. import larc.ludiconprod.Utils.General;
  48. import larc.ludiconprod.Utils.util.Sport;
  49.  
  50. /**
  51.  * Created by ancuta on 8/9/2017.
  52.  */
  53.  
  54. public class ActivityDetailsActivity extends Activity implements OnMapReadyCallback, Response.ErrorListener {
  55.     RelativeLayout backButton;
  56.     CircleImageView creatorImageProfile;
  57.     TextView creatorName;
  58.     TextView sportPlayed;
  59.     TextView ludicoinsNumber;
  60.     TextView pointsNumber;
  61.     TextView playerNumber;
  62.     LinearLayout imageProfileParticipantsLayout;
  63.     CircleImageView participant0;
  64.     CircleImageView participant1;
  65.     CircleImageView participant2;
  66.     CircleImageView participant3;
  67.     TextView participantLevel0;
  68.     TextView participantLevel1;
  69.     TextView participantLevel2;
  70.     TextView participantLevel3;
  71.     ImageView deleteImageView0;
  72.     ImageView deleteImageView1;
  73.     ImageView deleteImageView2;
  74.     ImageView deleteImageView3;
  75.     TextView allParticipants;
  76.     Button groupChatButton;
  77.     Button inviteFriendsButton;
  78.     TextView playTimeAndDate;
  79.     ImageView companyImage;
  80.     TextView locationName;
  81.     TextView adress;
  82.     MapFragment mapFragment;
  83.     TextView description;
  84.     Button editEventButton;
  85.     Button deleteOrCancelEventButton;
  86.     Button joinOrUnjoinButton;
  87.     ImageView backgroundImage;
  88.     GoogleMap m_gmap;
  89.     public static boolean ifFirstTimeGetParticipants = false;
  90.     double latitude;
  91.     double longitude;
  92.     int isAuthorizedPlace;
  93.     int authorizedLevel;
  94.     LinearLayout chatAndInviteLayout;
  95.     static public String eventID = null;
  96.     static ActivityDetailsActivity activity;
  97.  
  98.     public static Bitmap decodeBase64(String input) {
  99.         byte[] decodedBytes = Base64.decode(input, 0);
  100.         return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
  101.     }
  102.  
  103.     public String getMonth(int month) {
  104.         String date = new DateFormatSymbols().getMonths()[month - 1];
  105.         return date.substring(0, 1).toUpperCase().concat(date.substring(1, 3));
  106.     }
  107.  
  108.     public void getParticipants(String pageNumber, Bundle b, EventDetails eventDetails) {
  109.         HashMap<String, String> params = new HashMap<String, String>();
  110.         HashMap<String, String> headers = new HashMap<String, String>();
  111.         HashMap<String, String> urlParams = new HashMap<String, String>();
  112.         headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  113.         final String eventid = b.getString("eventId");
  114.         eventID = eventid;
  115.         urlParams.put("eventId", eventid);
  116.         urlParams.put("userId", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).id);
  117.         urlParams.put("pageNumber", pageNumber);
  118.         HTTPResponseController.getInstance().getParticipants(params, headers, ActivityDetailsActivity.this, urlParams);
  119.     }
  120.  
  121.  
  122.     @Override
  123.     public void onCreate(Bundle savedInstance) {
  124.         ifFirstTimeGetParticipants = false;
  125.         InviteFriendsActivity.isFirstTimeInviteFriends = false;
  126.         eventID = null;
  127.         InviteFriendsActivity.participantList.clear();
  128.         InviteFriendsActivity.friendsList.clear();
  129.         super.onCreate(savedInstance);
  130.         activity = this;
  131.         setContentView(R.layout.activity_details_activity);
  132.  
  133.  
  134.         final Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/Quicksand-Medium.ttf");
  135.         final Typeface typeFaceBold = Typeface.createFromAsset(getAssets(), "fonts/Quicksand-Bold.ttf");
  136.  
  137.         RelativeLayout toolbar = (RelativeLayout) findViewById(R.id.tool_bar);
  138.         TextView title = (TextView)toolbar.findViewById(R.id.titleText);
  139.         title.setTypeface(typeFace);
  140.  
  141.         findViewById(R.id.internetRefresh).setAlpha(0);
  142.         backButton = (RelativeLayout) findViewById(R.id.backButton);
  143.         TextView titleText = (TextView) findViewById(R.id.titleText);
  144.         titleText.setText("Activity Details");
  145.         creatorImageProfile = (CircleImageView) findViewById(R.id.creatorImageProfile);
  146.         creatorName = (TextView) findViewById(R.id.creatorName);
  147.         sportPlayed = (TextView) findViewById(R.id.sportPlayed);
  148.         ludicoinsNumber = (TextView) findViewById(R.id.ludicoinsNumber);
  149.         pointsNumber = (TextView) findViewById(R.id.pointsNumber);
  150.         playerNumber = (TextView) findViewById(R.id.playerNumber);
  151.         chatAndInviteLayout = (LinearLayout) findViewById(R.id.chatAndInviteLayout);
  152.         imageProfileParticipantsLayout = (LinearLayout) findViewById(R.id.imageProfileParticipantsLayout);
  153.         participant0 = (CircleImageView) findViewById(R.id.participant0);
  154.         participant1 = (CircleImageView) findViewById(R.id.participant1);
  155.         participant2 = (CircleImageView) findViewById(R.id.participant2);
  156.         participant3 = (CircleImageView) findViewById(R.id.participant3);
  157.         participantLevel0 = (TextView) findViewById(R.id.participantLevel0);
  158.         participantLevel1 = (TextView) findViewById(R.id.participantLevel1);
  159.         participantLevel2 = (TextView) findViewById(R.id.participantLevel2);
  160.         participantLevel3 = (TextView) findViewById(R.id.participantLevel3);
  161.         deleteImageView0 = (ImageView) findViewById(R.id.deleteImageView0);
  162.         deleteImageView1 = (ImageView) findViewById(R.id.deleteImageView1);
  163.         deleteImageView2 = (ImageView) findViewById(R.id.deleteImageView2);
  164.         deleteImageView3 = (ImageView) findViewById(R.id.deleteImageView3);
  165.         allParticipants = (TextView) findViewById(R.id.allParticipants);
  166.         groupChatButton = (Button) findViewById(R.id.groupChatButton);
  167.         inviteFriendsButton = (Button) findViewById(R.id.inviteFriendsButton);
  168.         playTimeAndDate = (TextView) findViewById(R.id.playTimeAndDate);
  169.         companyImage = (ImageView) findViewById(R.id.companyImage);
  170.         locationName = (TextView) findViewById(R.id.locationName);
  171.         adress = (TextView) findViewById(R.id.adress);
  172.         mapFragment = (MapFragment) getFragmentManager()
  173.                 .findFragmentById(R.id.map);
  174.         description = (TextView) findViewById(R.id.description);
  175.         editEventButton = (Button) findViewById(R.id.editEventButton);
  176.         deleteOrCancelEventButton = (Button) findViewById(R.id.deleteOrCancelEventButton);
  177.         joinOrUnjoinButton = (Button) findViewById(R.id.joinOrUnjoinButton);
  178.         backgroundImage = (ImageView) findViewById(R.id.backgroundImage);
  179.  
  180.         backButton.setOnClickListener(new View.OnClickListener() {
  181.             @Override
  182.             public void onClick(View view) {
  183.  
  184.                 finish();
  185.             }
  186.         });
  187.  
  188.  
  189.         //getDataToDisplayFromIntent
  190.         final Bundle b;
  191.         b = getIntent().getExtras();
  192.         final EventDetails eventDetails = new EventDetails();
  193.         eventDetails.eventDate = b.getInt("eventDate");
  194.         eventDetails.description = b.getString("description");
  195.         eventDetails.placeName = b.getString("placeName");
  196.         eventDetails.latitude = b.getDouble("latitude");
  197.         eventDetails.longitude = b.getDouble("longitude");
  198.         eventDetails.placeId = b.getString("placeId");
  199.         eventDetails.isAuthorized = b.getInt("isAuthorized");
  200.         eventDetails.placeAdress = b.getString("placeAdress");
  201.         eventDetails.authorizeLevel = b.getString("authorizelevel");
  202.         eventDetails.companyImage = b.getString("placeImage");
  203.         eventDetails.sportName = b.getString("sportName");
  204.         eventDetails.otherSportName = b.getString("otherSportName");
  205.         eventDetails.capacity = b.getInt("capacity");
  206.         eventDetails.numberOfParticipants = b.getInt("numberOfParticipants");
  207.         eventDetails.points = b.getInt("points");
  208.         eventDetails.chatId = b.getString("chatId");
  209.         eventDetails.privacy = b.getInt("privacy");
  210.         eventDetails.isParticipant = b.getInt("isParticipant");
  211.         eventDetails.ludicoins = b.getInt("ludicoins");
  212.         eventDetails.creatorName = b.getString("creatorName");
  213.         eventDetails.creatorLevel = b.getInt("creatorLevel");
  214.         eventDetails.creatorId = b.getString("creatorId");
  215.         eventDetails.creatorProfilePicture = b.getString("creatorProfilePicture");
  216.         for (int i = 0; i < b.getStringArrayList("participantsId").size(); i++) {
  217.             Friend friend = new Friend();
  218.             friend.userID = b.getStringArrayList("participantsId").get(i);
  219.             friend.userName = b.getStringArrayList("participantsName").get(i);
  220.             friend.profileImage = b.getStringArrayList("participantsProfileImage").get(i);
  221.             friend.level = b.getIntegerArrayList("participantsLevel").get(i);
  222.             eventDetails.listOfParticipants.add(friend);
  223.         }
  224.         if (!eventDetails.creatorProfilePicture.equals("")) {
  225.             Bitmap bitmap = decodeBase64(eventDetails.creatorProfilePicture);
  226.             creatorImageProfile.setImageBitmap(bitmap);
  227.         }
  228.  
  229.         creatorName.setText(eventDetails.creatorName);
  230.         Sport sport = new Sport(eventDetails.sportName);
  231.         String weWillPlayString = "";
  232.  
  233.         if (sport.code.equalsIgnoreCase("JOG") ||
  234.                 sport.code.equalsIgnoreCase("GYM") || sport.code.equalsIgnoreCase("CYC"))
  235.             weWillPlayString = "Will go to " + sport.sportName;
  236.         else
  237.             if (sport.code.equalsIgnoreCase("OTH")) {
  238.                 weWillPlayString = "Will play " + eventDetails.otherSportName;
  239.             } else
  240.                 weWillPlayString = "Will play " + sport.sportName;
  241.  
  242.         sportPlayed.setText(weWillPlayString);
  243.  
  244.         ludicoinsNumber.setText("+ " + String.valueOf(eventDetails.ludicoins));
  245.         pointsNumber.setText("+ " + String.valueOf(eventDetails.points));
  246.         playerNumber.setText("PLAYERS " + String.valueOf(eventDetails.numberOfParticipants + "/" + String.valueOf(eventDetails.capacity)));
  247.  
  248.         LinearLayout locationCard = (LinearLayout) findViewById(R.id.root);
  249.         TextView t = (TextView) locationCard.findViewById(R.id.ludicoinsNumber);
  250.         t.setText("+ " + String.valueOf(eventDetails.ludicoins));
  251.         t = (TextView) locationCard.findViewById(R.id.pointsNumber);
  252.         t.setText("+ " + String.valueOf(eventDetails.points));
  253.  
  254.         if (eventDetails.numberOfParticipants > 1) {
  255.  
  256.             ViewGroup.LayoutParams params = imageProfileParticipantsLayout.getLayoutParams();
  257.             params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
  258.             imageProfileParticipantsLayout.setLayoutParams(params);
  259.         }
  260.         for (int i = 0; i < eventDetails.listOfParticipants.size(); i++) {
  261.             if (i == 0) {
  262.                 participant0.setVisibility(View.VISIBLE);
  263.                 participantLevel0.setVisibility(View.VISIBLE);
  264.                 if (!eventDetails.listOfParticipants.get(i).profileImage.equals("")) {
  265.                     Bitmap bitmap = decodeBase64(eventDetails.listOfParticipants.get(i).profileImage);
  266.                     participant0.setImageBitmap(bitmap);
  267.                 }
  268.                 participantLevel0.setText(String.valueOf(eventDetails.listOfParticipants.get(i).level));
  269.                 if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id)) {
  270.                     deleteImageView0.setVisibility(View.VISIBLE);
  271.                     deleteImageView0.setEnabled(true);
  272.                     final String eventid = b.getString("eventId");
  273.                     deleteImageView0.setOnClickListener(new View.OnClickListener() {
  274.                         @Override
  275.                         public void onClick(View view) {
  276.                             HashMap<String, String> params = new HashMap<String, String>();
  277.                             HashMap<String, String> headers = new HashMap<String, String>();
  278.                             headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  279.                             params.put("eventId", eventid);
  280.                             params.put("userId", eventDetails.listOfParticipants.get(0).userID);
  281.                             HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, true);
  282.                         }
  283.                     });
  284.                 }
  285.  
  286.             }
  287.             if (i == 1) {
  288.                 participant1.setVisibility(View.VISIBLE);
  289.                 participantLevel1.setVisibility(View.VISIBLE);
  290.                 if (!eventDetails.listOfParticipants.get(i).profileImage.equals("")) {
  291.                     Bitmap bitmap = decodeBase64(eventDetails.listOfParticipants.get(i).profileImage);
  292.                     participant1.setImageBitmap(bitmap);
  293.                 }
  294.                 participantLevel1.setText(String.valueOf(eventDetails.listOfParticipants.get(i).level));
  295.                 if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id)) {
  296.                     deleteImageView1.setVisibility(View.VISIBLE);
  297.                     deleteImageView1.setEnabled(true);
  298.                     final String eventid = b.getString("eventId");
  299.                     deleteImageView1.setOnClickListener(new View.OnClickListener() {
  300.                         @Override
  301.                         public void onClick(View view) {
  302.                             HashMap<String, String> params = new HashMap<String, String>();
  303.                             HashMap<String, String> headers = new HashMap<String, String>();
  304.                             headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  305.                             params.put("eventId", eventid);
  306.                             params.put("userId", eventDetails.listOfParticipants.get(1).userID);
  307.                             HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, true);
  308.                         }
  309.                     });
  310.                 }
  311.  
  312.             }
  313.             if (i == 2) {
  314.                 participant2.setVisibility(View.VISIBLE);
  315.                 participantLevel2.setVisibility(View.VISIBLE);
  316.                 if (!eventDetails.listOfParticipants.get(i).profileImage.equals("")) {
  317.                     Bitmap bitmap = decodeBase64(eventDetails.listOfParticipants.get(i).profileImage);
  318.                     participant2.setImageBitmap(bitmap);
  319.                 }
  320.                 participantLevel2.setText(String.valueOf(eventDetails.listOfParticipants.get(i).level));
  321.                 if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id)) {
  322.                     deleteImageView2.setVisibility(View.VISIBLE);
  323.                     deleteImageView2.setEnabled(true);
  324.                     final String eventid = b.getString("eventId");
  325.                     deleteImageView2.setOnClickListener(new View.OnClickListener() {
  326.                         @Override
  327.                         public void onClick(View view) {
  328.                             HashMap<String, String> params = new HashMap<String, String>();
  329.                             HashMap<String, String> headers = new HashMap<String, String>();
  330.                             headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  331.                             params.put("eventId", eventid);
  332.                             params.put("userId", eventDetails.listOfParticipants.get(2).userID);
  333.                             HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, true);
  334.                         }
  335.                     });
  336.                 }
  337.  
  338.             }
  339.             if (i == 3) {
  340.                 participant3.setVisibility(View.VISIBLE);
  341.                 participantLevel3.setVisibility(View.VISIBLE);
  342.                 if (!eventDetails.listOfParticipants.get(i).profileImage.equals("")) {
  343.                     Bitmap bitmap = decodeBase64(eventDetails.listOfParticipants.get(i).profileImage);
  344.                     participant3.setImageBitmap(bitmap);
  345.                 }
  346.                 participantLevel3.setText(String.valueOf(eventDetails.listOfParticipants.get(i).level));
  347.                 if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id)) {
  348.                     deleteImageView3.setVisibility(View.VISIBLE);
  349.                     deleteImageView3.setEnabled(true);
  350.                     final String eventid = b.getString("eventId");
  351.                     deleteImageView3.setOnClickListener(new View.OnClickListener() {
  352.                         @Override
  353.                         public void onClick(View view) {
  354.                             HashMap<String, String> params = new HashMap<String, String>();
  355.                             HashMap<String, String> headers = new HashMap<String, String>();
  356.                             headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  357.                             params.put("eventId", eventid);
  358.                             params.put("userId", eventDetails.listOfParticipants.get(3).userID);
  359.                             HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, true);
  360.                         }
  361.                     });
  362.                 }
  363.  
  364.             }
  365.  
  366.         }
  367.         if (eventDetails.listOfParticipants.size() + (eventDetails.numberOfParticipants - eventDetails.listOfParticipants.size() - 1) >= 1) {
  368.  
  369.             participant0.setVisibility(View.VISIBLE);
  370.         }
  371.         if (eventDetails.listOfParticipants.size() + (eventDetails.numberOfParticipants - eventDetails.listOfParticipants.size() - 1) >= 2) {
  372.  
  373.             participant1.setVisibility(View.VISIBLE);
  374.         }
  375.         if (eventDetails.listOfParticipants.size() + (eventDetails.numberOfParticipants - eventDetails.listOfParticipants.size() - 1) >= 3) {
  376.  
  377.             participant2.setVisibility(View.VISIBLE);
  378.         }
  379.         if (eventDetails.listOfParticipants.size() + (eventDetails.numberOfParticipants - eventDetails.listOfParticipants.size() - 1) >= 4) {
  380.  
  381.             participant3.setVisibility(View.VISIBLE);
  382.  
  383.         }
  384.  
  385.         if (eventDetails.numberOfParticipants > 5) {
  386.             allParticipants.setVisibility(View.VISIBLE);
  387.         }
  388.  
  389.         HashMap<View, Friend> data = new HashMap<>();
  390.         try {
  391.             data.put(participant0, eventDetails.listOfParticipants.get(0));
  392.             data.put(participant1, eventDetails.listOfParticipants.get(1));
  393.             data.put(participant2, eventDetails.listOfParticipants.get(2));
  394.             data.put(participant3, eventDetails.listOfParticipants.get(3));
  395.         } catch (IndexOutOfBoundsException e) {
  396.         }
  397.         this.addParticipantsImaeListeners(data);
  398.         allParticipants.setOnClickListener(new View.OnClickListener() {
  399.             @Override
  400.             public void onClick(View view) {
  401.  
  402.                 if (!ifFirstTimeGetParticipants) {
  403.                     getParticipants("0", b, eventDetails);
  404.  
  405.                 } else {
  406.                     Intent intent = new Intent(ActivityDetailsActivity.this, InviteFriendsActivity.class);
  407.                     intent.putExtra("isParticipant", true);
  408.                     intent.putExtra("isEdit", false);
  409.                     InviteFriendsActivity.isFirstTimeInviteFriends = false;
  410.                     startActivity(intent);
  411.                 }
  412.  
  413.             }
  414.         });
  415.  
  416.         groupChatButton.setOnClickListener(new View.OnClickListener() {
  417.             @Override
  418.             public void onClick(View view) {
  419.                 if (!eventDetails.chatId.equalsIgnoreCase("")) {
  420.                     Intent intent = new Intent(activity, ChatActivity.class);
  421.                     intent.putExtra("chatId", eventDetails.chatId);
  422.                     intent.putExtra("groupChat", 1);
  423.                     startActivity(intent);
  424.                 } else {
  425.                     Toast.makeText(ActivityDetailsActivity.this, "Group chat isn't avaible yet for this event!", Toast.LENGTH_LONG).show();
  426.                 }
  427.             }
  428.         });
  429.         inviteFriendsButton.setOnClickListener(new View.OnClickListener() {
  430.             @Override
  431.             public void onClick(View view) {
  432.                 Intent goToNextActivity = new Intent(ActivityDetailsActivity.this, InviteFriendsActivity.class);
  433.                 InviteFriendsActivity.friendsList.clear();
  434.                 InviteFriendsActivity.numberOfOfflineFriends = 0;
  435.                 goToNextActivity.putExtra("isEdit", true);
  436.                 goToNextActivity.putExtra("isCustomInvite", true);
  437.                 goToNextActivity.putExtra("eventId", eventID);
  438.                 goToNextActivity.putExtra("eventId", getIntent().getStringExtra("eventId"));
  439.                 startActivity(goToNextActivity);
  440.             }
  441.         });
  442.  
  443.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  444.         String dateToDisplay = formatter.format((long) eventDetails.eventDate * 1000);
  445.         // Event details set message for date and time
  446.         Calendar c = Calendar.getInstance();
  447.         Date today = c.getTime();
  448.         int todayDay = General.getDayOfMonth(today);
  449.         int todayMonth = today.getMonth();
  450.         int todayYear = today.getYear();
  451.         String displayDate = "";
  452.         String[] stringDateAndTime = dateToDisplay.split(" ");
  453.         try {
  454.             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  455.             displayDate = format.format(format.parse(stringDateAndTime[0]));
  456.         } catch (Exception e) {
  457.             e.printStackTrace();
  458.         }
  459.         String[] stringDate = displayDate.split("-");
  460.         String date = "";
  461.  
  462.         Calendar cal = Calendar.getInstance();
  463.         cal.set(Integer.valueOf(stringDate[0]), Integer.valueOf(stringDate[1]) - 1, Integer.valueOf(stringDate[2]));
  464.         String dayName = new DateFormatSymbols().getWeekdays()[cal
  465.                 .get(Calendar.DAY_OF_WEEK)];
  466.  
  467.         if (Integer.parseInt(stringDate[1]) - 1 == todayMonth && Integer.parseInt(stringDate[2]) == todayDay) {
  468.             date = "Today " + "at " + stringDateAndTime[1].substring(0, 5);
  469.         } else
  470.             if (Integer.parseInt(stringDate[1]) - 1 == todayMonth && Integer.parseInt(stringDate[2]) - 1 == todayDay) {
  471.                 date = "Tomorrow " + "at " + stringDateAndTime[1].substring(0, 5);
  472.             } else {
  473.                 date = dayName + ", " + getMonth(Integer.parseInt(stringDate[1])) + " " + stringDate[2] + ", " + stringDate[0] + " at " + stringDateAndTime[1].substring(0, 5);
  474.             }
  475.         playTimeAndDate.setText(date);
  476.  
  477.         locationName.setText(eventDetails.placeName);
  478.         adress.setText(eventDetails.placeAdress);
  479.  
  480.         if (!eventDetails.companyImage.equals("")) {
  481.             Bitmap bitmap = decodeBase64(eventDetails.companyImage);
  482.             companyImage.setImageBitmap(bitmap);
  483.         }
  484.  
  485.         mapFragment.getMapAsync(this);
  486.         latitude = eventDetails.latitude;
  487.         longitude = eventDetails.longitude;
  488.  
  489.         description.setText(eventDetails.description);
  490.         if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id) && eventDetails.listOfParticipants.size() == 0) {
  491.  
  492.             deleteOrCancelEventButton.setText("DELETE");
  493.             final String eventid = b.getString("eventId");
  494.             deleteOrCancelEventButton.setOnClickListener(new View.OnClickListener() {
  495.                 @Override
  496.                 public void onClick(View view) {
  497.  
  498.                     final ConfirmationDialog confirmationDialog = new ConfirmationDialog(activity);
  499.                     confirmationDialog.show();
  500.                     confirmationDialog.title.setText("Confirm?");
  501.                     confirmationDialog.title.setTypeface(typeFaceBold);
  502.                     confirmationDialog.message.setText("Are you sure you want to delete this event?");
  503.                     confirmationDialog.message.setTypeface(typeFace);
  504.                     confirmationDialog.confirm.setOnClickListener(new View.OnClickListener() {
  505.                         @Override
  506.                         public void onClick(View view) {
  507.                             HashMap<String, String> params = new HashMap<String, String>();
  508.                             HashMap<String, String> headers = new HashMap<String, String>();
  509.                             headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  510.                             params.put("eventId", eventid);
  511.                             params.put("userId", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).id);
  512.                             HTTPResponseController.getInstance().deleteEvent(params, headers, ActivityDetailsActivity.this);
  513.                             deleteOrCancelEventButton.setEnabled(false);
  514.                             confirmationDialog.dismiss();
  515.                         }
  516.                     });
  517.                     confirmationDialog.dismiss.setOnClickListener(new View.OnClickListener() {
  518.                         @Override
  519.                         public void onClick(View view) {
  520.                             confirmationDialog.dismiss();
  521.                         }
  522.                     });
  523.  
  524.                 }
  525.             });
  526.  
  527.         } else
  528.             if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id) && eventDetails.listOfParticipants.size() >= 1) {
  529.                 deleteOrCancelEventButton.setText("LEAVE");
  530.                 //call join api method
  531.  
  532.                 final String eventid = b.getString("eventId");
  533.                 deleteOrCancelEventButton.setOnClickListener(new View.OnClickListener() {
  534.                     @Override
  535.                     public void onClick(View view) {
  536.                         HashMap<String, String> params = new HashMap<String, String>();
  537.                         HashMap<String, String> headers = new HashMap<String, String>();
  538.                         headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  539.                         params.put("eventId", eventid);
  540.                         params.put("userId", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).id);
  541.                         HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, false);
  542.                         deleteOrCancelEventButton.setEnabled(false);
  543.                     }
  544.                 });
  545.             } else
  546.                 if (!eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id) && eventDetails.isParticipant == 1) {
  547.                     deleteOrCancelEventButton.setVisibility(View.INVISIBLE);
  548.                     editEventButton.setVisibility(View.INVISIBLE);
  549.                     joinOrUnjoinButton.setVisibility(View.VISIBLE);
  550.                     joinOrUnjoinButton.setText("UNJOIN");
  551.                     joinOrUnjoinButton.setBackgroundResource(R.drawable.pink_stroke_rounded_button);
  552.                     joinOrUnjoinButton.setTextColor(Color.parseColor("#d4498b"));
  553.                     //call join api method
  554.  
  555.                     final String eventid = b.getString("eventId");
  556.                     joinOrUnjoinButton.setOnClickListener(new View.OnClickListener() {
  557.                         @Override
  558.                         public void onClick(View view) {
  559.                             final ConfirmationDialog confirmationDialog = new ConfirmationDialog(activity);
  560.                             confirmationDialog.show();
  561.                             confirmationDialog.title.setText("Confirm?");
  562.                             confirmationDialog.title.setTypeface(typeFaceBold);
  563.                             confirmationDialog.message.setText("Are you sure you want to unjoin this event?");
  564.                             confirmationDialog.message.setTypeface(typeFace);
  565.                             confirmationDialog.confirm.setOnClickListener(new View.OnClickListener() {
  566.                                 @Override
  567.                                 public void onClick(View view) {
  568.                                     HashMap<String, String> params = new HashMap<String, String>();
  569.                                     HashMap<String, String> headers = new HashMap<String, String>();
  570.                                     headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  571.                                     params.put("eventId", eventid);
  572.                                     params.put("userId", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).id);
  573.                                     HTTPResponseController.getInstance().leaveEvent(params, headers, ActivityDetailsActivity.this, false);
  574.                                     joinOrUnjoinButton.setEnabled(false);
  575.                                     confirmationDialog.dismiss();
  576.                                 }
  577.                             });
  578.                             confirmationDialog.dismiss.setOnClickListener(new View.OnClickListener() {
  579.                                 @Override
  580.                                 public void onClick(View view) {
  581.                                     confirmationDialog.dismiss();
  582.                                 }
  583.                             });
  584.                         }
  585.                     });
  586.  
  587.                 } else
  588.                     if (!eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id) && eventDetails.isParticipant == 0) {
  589.                         deleteOrCancelEventButton.setVisibility(View.INVISIBLE);
  590.                         editEventButton.setVisibility(View.INVISIBLE);
  591.                         joinOrUnjoinButton.setVisibility(View.VISIBLE);
  592.                         joinOrUnjoinButton.setText("JOIN");
  593.                         ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) chatAndInviteLayout.getLayoutParams();
  594.                         params.height = 0;
  595.                         params.topMargin = 0;
  596.                         chatAndInviteLayout.setLayoutParams(params);
  597.  
  598.                         final String eventid = b.getString("eventId");
  599.                         //call join api method
  600.                         joinOrUnjoinButton.setOnClickListener(new View.OnClickListener() {
  601.                             @Override
  602.                             public void onClick(View view) {
  603.                                 HashMap<String, String> params = new HashMap<String, String>();
  604.                                 HashMap<String, String> headers = new HashMap<String, String>();
  605.                                 headers.put("authKey", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).authKey);
  606.                                 params.put("eventId", eventid);
  607.                                 params.put("userId", Persistance.getInstance().getUserInfo(ActivityDetailsActivity.this).id);
  608.                                 HTTPResponseController.getInstance().joinEvent(ActivityDetailsActivity.this, params, headers, eventid, ActivityDetailsActivity.this);
  609.                                 joinOrUnjoinButton.setEnabled(false);
  610.                             }
  611.                         });
  612.  
  613.                     }
  614.         if (eventDetails.creatorId.equals(Persistance.getInstance().getUserInfo(this).id)) {
  615.             final String eventid = b.getString("eventId");
  616.             editEventButton.setOnClickListener(new View.OnClickListener() {
  617.                 @Override
  618.                 public void onClick(View view) {
  619.                     Intent intent = new Intent(ActivityDetailsActivity.this, CreateNewActivity.class);
  620.                     intent.putExtra("isParticipant", false);
  621.                     intent.putExtra("isEdit", true);
  622.                     InviteFriendsActivity.isFirstTimeInviteFriends = false;
  623.                     intent.putExtra("eventId", eventid);
  624.                     intent.putExtras(b);
  625.                     startActivity(intent);
  626.                 }
  627.             });
  628.         }
  629.  
  630.         switch (sport.code) {
  631.         case "FOT":
  632.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_football);
  633.             break;
  634.         case "BAS":
  635.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_basketball);
  636.             break;
  637.         case "VOL":
  638.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_volleyball);
  639.             break;
  640.         case "JOG":
  641.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_jogging);
  642.             break;
  643.         case "GYM":
  644.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_gym);
  645.             break;
  646.         case "CYC":
  647.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_cycling);
  648.             break;
  649.         case "TEN":
  650.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_tennis);
  651.             break;
  652.         case "PIN":
  653.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_pingpong);
  654.             break;
  655.         case "SQU":
  656.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_squash);
  657.             break;
  658.         case "OTH":
  659.             backgroundImage.setBackgroundResource(R.drawable.bg_sport_others);
  660.             break;
  661.         }
  662.  
  663.         isAuthorizedPlace = eventDetails.isAuthorized;
  664.         if (isAuthorizedPlace == 1) {
  665.             authorizedLevel = Integer.valueOf(eventDetails.authorizeLevel);
  666.         }
  667.  
  668.         findViewById(R.id.creatorLayout).setOnClickListener(new View.OnClickListener() {
  669.             @Override
  670.             public void onClick(View view) {
  671.                 String id = eventDetails.creatorId;
  672.                 Activity ac = ActivityDetailsActivity.this;
  673.                 if (Persistance.getInstance().getUserInfo(ac).id.equals(id)) {
  674.                     Toast.makeText(ac, "It's you :)", Toast.LENGTH_SHORT).show();
  675.                     return;
  676.                 }
  677.  
  678.                 Intent intent = new Intent(ActivityDetailsActivity.this, UserProfileActivity.class);
  679.                 intent.putExtra("UserId", eventDetails.creatorId);
  680.                 startActivity(intent);
  681.             }
  682.         });
  683.  
  684.         //CLOSE PROGRESS BAR FROM LISTVIEW
  685.  
  686.         if (AroundMeAdapter.progressBarCard != null) {
  687.             AroundMeAdapter.progressBarCard.setAlpha(0);
  688.         }
  689.         if (MyAdapter.progressBarCard != null) {
  690.             MyAdapter.progressBarCard.setAlpha(0);
  691.         }
  692.  
  693.  
  694.         creatorName.setTypeface(typeFace);
  695.         sportPlayed.setTypeface(typeFace);
  696.         ((TextView) findViewById(R.id.youGain)).setTypeface(typeFace);
  697.         ((TextView) findViewById(R.id.perHour)).setTypeface(typeFace);
  698.         pointsNumber.setTypeface(typeFace);
  699.         ludicoinsNumber.setTypeface(typeFace);
  700.         playerNumber.setTypeface(typeFace);
  701.         groupChatButton.setTypeface(typeFaceBold);
  702.         inviteFriendsButton.setTypeface(typeFaceBold);
  703.         playTimeAndDate.setTypeface(typeFaceBold);
  704.         joinOrUnjoinButton.setTypeface(typeFaceBold);
  705.     }
  706.  
  707.     private void addParticipantsImaeListeners(final HashMap<View, Friend> data) {
  708.         Set<View> set = data.keySet();
  709.         for (final View v : set) {
  710.             v.setOnClickListener(new View.OnClickListener() {
  711.                 @Override
  712.                 public void onClick(View view) {
  713.                     String id = data.get(v).userID;
  714.                     Activity ac = ActivityDetailsActivity.this;
  715.                     if (Persistance.getInstance().getUserInfo(ac).id.equals(id)) {
  716.                         Toast.makeText(ac, "It's you :)", Toast.LENGTH_SHORT).show();
  717.                         return;
  718.                     }
  719.  
  720.                     Intent intent = new Intent(ActivityDetailsActivity.this, UserProfileActivity.class);
  721.                     intent.putExtra("UserId", id);
  722.                     startActivity(intent);
  723.                 }
  724.             });
  725.         }
  726.     }
  727.  
  728.     @Override
  729.     public void onMapReady(GoogleMap googleMap) {
  730.         m_gmap = googleMap;
  731.         final MapFragment mapFragment = (MapFragment) getFragmentManager()
  732.                 .findFragmentById(R.id.map);
  733.         mapFragment.getMapAsync(new OnMapReadyCallback() {
  734.             @Override
  735.             public void onMapReady(GoogleMap googleMap) {
  736.                 googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 15));
  737.                 if (authorizedLevel == 0) {
  738.                     googleMap.addMarker(new MarkerOptions()
  739.                             .position(new LatLng(latitude, longitude)).icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_1_selected)));
  740.                 } else {
  741.                     switch (authorizedLevel) {
  742.                     case 0:
  743.                         m_gmap.addMarker(new MarkerOptions()
  744.                                 .position(new LatLng(latitude, longitude))
  745.                                 .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_1_selected)));
  746.                         break;
  747.                     case 1:
  748.                         m_gmap.addMarker(new MarkerOptions()
  749.                                 .position(new LatLng(latitude, longitude))
  750.                                 .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_2_selected)));
  751.                         break;
  752.                     case 2:
  753.                         m_gmap.addMarker(new MarkerOptions()
  754.                                 .position(new LatLng(latitude, longitude))
  755.                                 .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_3_selected)));
  756.                         break;
  757.  
  758.                     case 3:
  759.                         m_gmap.addMarker(new MarkerOptions()
  760.                                 .position(new LatLng(latitude, longitude))
  761.                                 .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_4_selected)));
  762.                         break;
  763.  
  764.  
  765.                     }
  766.                 }
  767.             }
  768.         });
  769.     }
  770.  
  771.     @Override
  772.     public void onErrorResponse(VolleyError error) {
  773.         Toast.makeText(this, error.getMessage(), Toast.LENGTH_LONG).show();
  774.         if (error instanceof NetworkError) {
  775.             joinOrUnjoinButton.setEnabled(true);
  776.             RelativeLayout ll = (RelativeLayout) findViewById(R.id.noInternetLayout);
  777.             final float scale = super.getResources().getDisplayMetrics().density;
  778.             int pixels = (int) (56 * scale + 0.5f);
  779.             ll.getLayoutParams().height = pixels;
  780.             ll.setLayoutParams(ll.getLayoutParams());
  781.         }
  782.     }
  783. }
RAW Paste Data
Pastebin PRO Autumn Special!
Get 40% OFF on Pastebin PRO accounts!
Top