Commit 0adab2b2 authored by Varun Patil's avatar Varun Patil

Merge branch 'master' into patch19

parents f2c027bc cf659451
......@@ -7,7 +7,7 @@ import android.content.SharedPreferences.Editor;
import android.util.Log;
import app.insti.activity.LoginActivity;
import app.insti.data.User;
import app.insti.api.model.User;
public class SessionManager {
public SharedPreferences pref;
......
package app.insti;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.User;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.User;
/**
* Created by varun on 03-Apr-18.
......
......@@ -47,11 +47,11 @@ import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.api.model.UserFCMPatchRequest;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.Notification;
import app.insti.data.Role;
import app.insti.data.User;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.Notification;
import app.insti.api.model.Role;
import app.insti.api.model.User;
import app.insti.fragment.BackHandledFragment;
import app.insti.fragment.BodyFragment;
import app.insti.fragment.CalendarFragment;
......@@ -60,7 +60,6 @@ import app.insti.fragment.ExploreFragment;
import app.insti.fragment.FeedFragment;
import app.insti.fragment.MapFragment;
import app.insti.fragment.MessMenuFragment;
import app.insti.fragment.MyEventsFragment;
import app.insti.fragment.NewsFragment;
import app.insti.fragment.NotificationsFragment;
import app.insti.fragment.PlacementBlogFragment;
......@@ -200,7 +199,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
if (response.isSuccessful()) {
if (response.body().get("version").getAsInt() > versionCode) {
showUpdateSnackBar();
showUpdateSnackBar(response.body().get("message").getAsString());
}
}
}
......@@ -215,9 +214,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
}
private void showUpdateSnackBar() {
private void showUpdateSnackBar(String message) {
View parentLayout = findViewById(android.R.id.content);
Snackbar.make(parentLayout, "New Version Available", Snackbar.LENGTH_LONG).setAction("UPDATE", new View.OnClickListener() {
Snackbar.make(parentLayout, message, Snackbar.LENGTH_LONG).setAction("UPDATE", new View.OnClickListener() {
@Override
public void onClick(View v) {
final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
......@@ -513,14 +512,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
feedFragment = new FeedFragment();
updateFragment(feedFragment);
break;
case R.id.nav_my_events:
if (session.isLoggedIn()) {
MyEventsFragment myeventsFragment = new MyEventsFragment();
updateFragment(myeventsFragment);
} else {
Toast.makeText(this, Constants.LOGIN_MESSAGE, Toast.LENGTH_LONG).show();
}
break;
case R.id.nav_explore:
updateFragment(ExploreFragment.newInstance());
......
......@@ -15,7 +15,7 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.Body;
import app.insti.api.model.Body;
public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
......
......@@ -20,8 +20,8 @@ import java.util.Calendar;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.Event;
import app.insti.data.Venue;
import app.insti.api.model.Event;
import app.insti.api.model.Venue;
public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> {
......
......@@ -11,7 +11,7 @@ import android.widget.TextView;
import java.util.List;
import app.insti.R;
import app.insti.data.MessMenu;
import app.insti.api.model.MessMenu;
public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHolder> {
private List<MessMenu> messMenus;
......
......@@ -18,7 +18,7 @@ import java.util.Locale;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.NewsArticle;
import app.insti.api.model.NewsArticle;
import app.insti.fragment.NewsFragment;
import ru.noties.markwon.Markwon;
......
......@@ -16,10 +16,10 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.Event;
import app.insti.data.NewsArticle;
import app.insti.data.Notification;
import app.insti.data.PlacementBlogPost;
import app.insti.api.model.Event;
import app.insti.api.model.NewsArticle;
import app.insti.api.model.Notification;
import app.insti.api.model.PlacementBlogPost;
public class NotificationsAdapter extends RecyclerView.Adapter<NotificationsAdapter.Viewholder> {
private List<Notification> notifications;
......
......@@ -17,7 +17,7 @@ import java.util.Locale;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.PlacementBlogPost;
import app.insti.api.model.PlacementBlogPost;
import app.insti.fragment.PlacementBlogFragment;
import ru.noties.markwon.Markwon;
......
......@@ -15,8 +15,8 @@ import java.util.List;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.Body;
import app.insti.data.Role;
import app.insti.api.model.Body;
import app.insti.api.model.Role;
public class RoleAdapter extends RecyclerView.Adapter<RoleAdapter.ViewHolder> {
......
......@@ -17,7 +17,7 @@ import java.util.Locale;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.TrainingBlogPost;
import app.insti.api.model.TrainingBlogPost;
import app.insti.fragment.TrainingBlogFragment;
import ru.noties.markwon.Markwon;
......
......@@ -14,7 +14,7 @@ import java.util.List;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.data.User;
import app.insti.api.model.User;
public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
......
......@@ -2,8 +2,6 @@ package app.insti.api;
import com.google.gson.JsonObject;
import org.json.JSONObject;
import java.util.List;
import app.insti.api.model.EventCreateRequest;
......@@ -14,14 +12,14 @@ import app.insti.api.model.ImageUploadResponse;
import app.insti.api.model.LoginResponse;
import app.insti.api.model.NewsFeedResponse;
import app.insti.api.model.UserFCMPatchRequest;
import app.insti.data.Event;
import app.insti.data.HostelMessMenu;
import app.insti.data.NewsArticle;
import app.insti.data.Notification;
import app.insti.data.PlacementBlogPost;
import app.insti.data.TrainingBlogPost;
import app.insti.data.User;
import app.insti.data.Venue;
import app.insti.api.model.Event;
import app.insti.api.model.HostelMessMenu;
import app.insti.api.model.NewsArticle;
import app.insti.api.model.Notification;
import app.insti.api.model.PlacementBlogPost;
import app.insti.api.model.TrainingBlogPost;
import app.insti.api.model.User;
import app.insti.api.model.Venue;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
......@@ -66,10 +64,10 @@ public interface RetrofitInterface {
Call<User> getUser(@Header("Cookie") String sessionId, @Path("uuid") String uuid);
@GET("bodies/{uuid}")
Call<app.insti.data.Body> getBody(@Header("Cookie") String sessionId, @Path("uuid") String uuid);
Call<app.insti.api.model.Body> getBody(@Header("Cookie") String sessionId, @Path("uuid") String uuid);
@GET("bodies")
Call<List<app.insti.data.Body>> getAllBodies(@Header("Cookie") String sessionId);
Call<List<app.insti.api.model.Body>> getAllBodies(@Header("Cookie") String sessionId);
@GET("bodies/{bodyID}/follow")
Call<Void> updateBodyFollowing(@Header("Cookie") String sessionID, @Path("bodyID") String eventID, @Query("action") int action);
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......@@ -8,33 +8,46 @@ import java.util.List;
public class Body {
@SerializedName("id")
String bodyID;
private String bodyID;
@SerializedName("str_id")
String bodyStrID;
private String bodyStrID;
@SerializedName("name")
String bodyName;
private String bodyName;
@SerializedName("short_description")
String bodyShortDescription;
private String bodyShortDescription;
@SerializedName("description")
String bodyDescription;
private String bodyDescription;
@SerializedName("image_url")
String bodyImageURL;
private String bodyImageURL;
@SerializedName("children")
List<Body> bodyChildren;
private List<Body> bodyChildren;
@SerializedName("parents")
List<Body> bodyParents;
private List<Body> bodyParents;
@SerializedName("events")
List<Event> bodyEvents;
private List<Event> bodyEvents;
@SerializedName("followers_count")
int bodyFollowersCount;
private int bodyFollowersCount;
@SerializedName("website_url")
String bodyWebsiteURL;
private String bodyWebsiteURL;
@SerializedName("blog_url")
String bodyBlogURL;
private String bodyBlogURL;
@SerializedName("user_follows")
boolean bodyUserFollows;
private boolean bodyUserFollows;
@SerializedName("roles")
List<Role> bodyRoles;
private List<Role> bodyRoles;
public Body(@NonNull String bodyID) {
this.bodyID = bodyID;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......@@ -11,54 +11,54 @@ import java.util.List;
public class Event {
@NonNull()
@SerializedName("id")
String eventID;
private String eventID;
@SerializedName("str_id")
String eventStrID;
private String eventStrID;
@SerializedName("name")
String eventName;
private String eventName;
@SerializedName("description")
String eventDescription;
private String eventDescription;
@SerializedName("image_url")
String eventImageURL;
private String eventImageURL;
@SerializedName("start_time")
Timestamp eventStartTime;
private Timestamp eventStartTime;
@SerializedName("end_time")
Timestamp eventEndTime;
private Timestamp eventEndTime;
@SerializedName("all_day")
boolean allDayEvent;
private boolean allDayEvent;
@SerializedName("venues")
List<Venue> eventVenues;
private List<Venue> eventVenues;
@SerializedName("bodies")
List<Body> eventBodies;
private List<Body> eventBodies;
@SerializedName("interested_count")
int eventInterestedCount;
private int eventInterestedCount;
@SerializedName("going_count")
int eventGoingCount;
private int eventGoingCount;
@SerializedName("interested")
List<User> eventInterested;
private List<User> eventInterested;
@SerializedName("going")
List<User> eventGoing;
private List<User> eventGoing;
@SerializedName("website_url")
String eventWebsiteURL;
private String eventWebsiteURL;
@SerializedName("user_ues")
int eventUserUes;
private int eventUserUes;
boolean eventBigImage = false;
private boolean eventBigImage = false;
public Event(String eventID, String eventStrID, String eventName, String eventDescription, String eventImageURL, Timestamp eventStartTime, Timestamp eventEndTime, boolean allDayEvent, List<Venue> eventVenues, List<Body> eventBodies, int eventInterestedCount, int eventGoingCount, List<User> eventInterested, List<User> eventGoing, String eventWebsiteURL, int eventUserUes) {
this.eventID = eventID;
......
......@@ -4,10 +4,6 @@ import com.google.gson.annotations.SerializedName;
import java.util.List;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.User;
public class ExploreResponse {
@SerializedName("bodies")
private List<Body> bodies;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
......@@ -2,8 +2,6 @@ package app.insti.api.model;
import com.google.gson.annotations.SerializedName;
import app.insti.data.User;
public class LoginResponse {
@SerializedName("sessionid")
private String sessionID;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
......@@ -4,8 +4,6 @@ import com.google.gson.annotations.SerializedName;
import java.util.List;
import app.insti.data.Event;
public class NewsFeedResponse {
@SerializedName("data")
private List<Event> events;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......@@ -9,31 +9,31 @@ import java.util.List;
public class Role {
@NonNull()
@SerializedName("id")
String roleID;
private String roleID;
@SerializedName("name")
String roleName;
private String roleName;
@SerializedName("inheritable")
boolean roleInheritable;
private boolean roleInheritable;
@SerializedName("body")
String roleBody;
private String roleBody;
@SerializedName("body_detail")
Body roleBodyDetails;
private Body roleBodyDetails;
@SerializedName("bodies")
List<Body> roleBodies;
private List<Body> roleBodies;
@SerializedName("permissions")
List<String> rolePermissions;
private List<String> rolePermissions;
@SerializedName("users")
List<String> roleUsers;
private List<String> roleUsers;
@SerializedName("users_detail")
List<User> roleUsersDetail;
private List<User> roleUsersDetail;
public Role(String roleID, String roleName, boolean roleInheritable, String roleBody, Body roleBodyDetails, List<Body> roleBodies, List<String> rolePermissions, List<String> roleUsers, List<User> roleUsersDetail) {
this.roleID = roleID;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......@@ -10,57 +10,57 @@ import java.util.List;
public class User {
@NonNull()
@SerializedName("id")
String userID;
private String userID;
@SerializedName("name")
String userName;
private String userName;
@SerializedName("profile_pic")
String userProfilePictureUrl;
private String userProfilePictureUrl;
@SerializedName("events_interested")
List<Event> userInterestedEvents;
private List<Event> userInterestedEvents;
@SerializedName("events_going")
List<Event> userGoingEvents;
private List<Event> userGoingEvents;
@SerializedName("email")
String userEmail;
private String userEmail;
@SerializedName("roll_no")
String userRollNumber;
private String userRollNumber;
@SerializedName("contact_no")
String userContactNumber;
private String userContactNumber;
@SerializedName("about")
String userAbout;
private String userAbout;
@SerializedName("followed_bodies")
List<Body> userFollowedBodies;
private List<Body> userFollowedBodies;
@SerializedName("followed_bodies_id")
List<String> userFollowedBodiesID;
private List<String> userFollowedBodiesID;
@SerializedName("roles")
List<Role> userRoles;
private List<Role> userRoles;
@SerializedName("institute_roles")
List<Role> userInstituteRoles;
private List<Role> userInstituteRoles;
@SerializedName("former_roles")
List<Role> userFormerRoles;
private List<Role> userFormerRoles;
@SerializedName("website_url")
String userWebsiteURL;
private String userWebsiteURL;
@SerializedName("ldap_id")
String userLDAPId;
private String userLDAPId;
@SerializedName("hostel")
String hostel;
private String hostel;
String currentRole;
private String currentRole;
public User(@NonNull String userID, String userName, String userProfilePictureUrl, List<Event> userInterestedEvents, List<Event> userGoingEvents, String userEmail, String userRollNumber, String userContactNumber, String userAbout, List<Body> userFollowedBodies, List<String> userFollowedBodiesID, List<Role> userRoles, List<Role> userInstituteRoles, List<Role> userFormerRoles, String userWebsiteURL, String userLDAPId, String hostel) {
this.userID = userID;
......
package app.insti.data;
package app.insti.api.model;
import android.support.annotation.NonNull;
......@@ -7,40 +7,40 @@ import com.google.gson.annotations.SerializedName;
public class Venue {
@NonNull()
@SerializedName("id")
String venueID;
private String venueID;
@SerializedName("name")
String venueName;
private String venueName;
@SerializedName("short_name")
String venueShortName;
private String venueShortName;
@SerializedName("description")
String venueDescripion;
private String venueDescripion;
@SerializedName("parent")
String venueParentId;
private String venueParentId;
@SerializedName("parent_relation")
String venueParentRelation;
private String venueParentRelation;
@SerializedName("group_id")
Integer venueGroupId;
private Integer venueGroupId;
@SerializedName("pixel_x")
Integer venuePixelX;
private Integer venuePixelX;
@SerializedName("pixel_y")
Integer venuePixelY;
private Integer venuePixelY;
@SerializedName("reusable")
Boolean venueReusable;
private Boolean venueReusable;
@SerializedName("lat")
double venueLatitude;
private double venueLatitude;
@SerializedName("lng")
double venueLongitude;
private double venueLongitude;
public Venue(String venueID, String venueName, String venueShortName, String venueDescripion, String venueParentId, String venueParentRelation, Integer venueGroupId, Integer venuePixelX, Integer venuePixelY, Boolean venueReusable, double venueLatitude, double venueLongitude) {
this.venueID = venueID;
......
......@@ -28,9 +28,8 @@ import app.insti.Constants;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -10,7 +10,6 @@ import android.graphics.Color;
import android.graphics.Point;
import android.graphics.Rect;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
......@@ -45,10 +44,10 @@ import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.Role;
import app.insti.data.User;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.Role;
import app.insti.api.model.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......@@ -133,10 +132,7 @@ public class BodyFragment extends BackHandledFragment {
body = min_body;
displayBody();
/* Check if full body was passed */
if (min_body.getBodyDescription() == null) {
updateBody();
}
bodySwipeRefreshLayout = getActivity().findViewById(R.id.body_swipe_refresh_layout);
bodySwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
......
......@@ -19,7 +19,7 @@ import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.adapter.BodyAdapter;
import app.insti.data.Body;
import app.insti.api.model.Body;
/**
* A simple {@link Fragment} subclass.
......
......@@ -33,9 +33,8 @@ import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.api.model.NewsFeedResponse;
import app.insti.data.Event;
import app.insti.api.model.Event;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -10,7 +10,6 @@ import android.graphics.Color;
import android.graphics.Point;
import android.graphics.Rect;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
......@@ -49,9 +48,9 @@ import app.insti.ShareURLMaker;
import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.Venue;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.Venue;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -18,7 +18,7 @@ import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.adapter.FeedAdapter;
import app.insti.data.Event;
import app.insti.api.model.Event;
/**
* A simple {@link Fragment} subclass.
......
......@@ -27,11 +27,10 @@ import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.api.model.ExploreResponse;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.User;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -27,7 +27,7 @@ import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.NewsFeedResponse;
import app.insti.data.Event;
import app.insti.api.model.Event;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -15,7 +15,6 @@ import android.location.LocationListener;
import android.location.LocationManager;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
......@@ -90,7 +89,7 @@ import app.insti.Constants;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.data.Venue;
import app.insti.api.model.Venue;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -2,7 +2,6 @@ package app.insti.fragment;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
......@@ -27,8 +26,8 @@ import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.MessMenuAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.HostelMessMenu;
import app.insti.data.MessMenu;
import app.insti.api.model.HostelMessMenu;
import app.insti.api.model.MessMenu;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
package app.insti.fragment;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.gson.Gson;
import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.Event;
import app.insti.data.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
/**
* A simple {@link Fragment} subclass.
*/
public class MyEventsFragment extends BaseFragment {
private RecyclerView myEventsFeedRecyclerView;
private SwipeRefreshLayout myEventsFeedSwipeRefreshLayout;
private FloatingActionButton fab;
public MyEventsFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my_events, container, false);
Toolbar toolbar = getActivity().findViewById(R.id.toolbar);
toolbar.setTitle("My Events");
fab = (FloatingActionButton) view.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEventFragment addEventFragment = new AddEventFragment();
((MainActivity) getActivity()).updateFragment(addEventFragment);
}
});
return view;
}
@Override
public void onStart() {
super.onStart();
if (((MainActivity) getActivity()).createEventAccess()) {
fab.setVisibility(View.VISIBLE);
}
updateOnRefresh();
myEventsFeedSwipeRefreshLayout = getActivity().findViewById(R.id.my_events_feed_swipe_refresh_layout);
myEventsFeedSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
updateOnRefresh();
myEventsFeedSwipeRefreshLayout.setRefreshing(false);
}
});
}
private void updateOnRefresh() {
RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface();
retrofitInterface.getUserMe(((MainActivity)getActivity()).getSessionIDHeader()).enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.isSuccessful()) {
User user = response.body();
List<Event> events = user.getUserGoingEvents();
events.addAll(user.getUserInterestedEvents());
displayEvents(events);
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {}
});
}
private void displayEvents(final List<Event> events) {
/* Check if already destroyed */
if (getActivity() == null || getView() == null) return;
final FeedAdapter feedAdapter = new FeedAdapter(events, new ItemClickListener() {
@Override
public void onItemClick(View v, int position) {
String eventJson = new Gson().toJson(events.get(position));
Bundle bundle = getArguments();
if (bundle == null)
bundle = new Bundle();
bundle.putString(Constants.EVENT_JSON, eventJson);
EventFragment eventFragment = new EventFragment();
eventFragment.setArguments(bundle);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.framelayout_for_fragment, eventFragment, eventFragment.getTag());
transaction.addToBackStack(eventFragment.getTag()).commit();
}
});
getActivityBuffer().safely(new ActivityBuffer.IRunnable() {
@Override
public void run(Activity pActivity) {
try {
myEventsFeedRecyclerView = getActivity().findViewById(R.id.my_events_feed_recycler_view);
myEventsFeedRecyclerView.setAdapter(feedAdapter);
myEventsFeedRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
} catch (NullPointerException e) {
e.printStackTrace();
}
}
});
getActivity().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
}
}
\ No newline at end of file
......@@ -4,7 +4,6 @@ package app.insti.fragment;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
......@@ -30,7 +29,7 @@ import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.NewsAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.NewsArticle;
import app.insti.api.model.NewsArticle;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -23,9 +23,8 @@ import app.insti.activity.MainActivity;
import app.insti.adapter.NotificationsAdapter;
import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Notification;
import app.insti.data.PlacementBlogPost;
import app.insti.api.model.Notification;
import app.insti.api.model.PlacementBlogPost;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -4,7 +4,6 @@ package app.insti.fragment;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
......@@ -30,7 +29,7 @@ import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.PlacementBlogAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.PlacementBlogPost;
import app.insti.api.model.PlacementBlogPost;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
package app.insti.fragment;
public class RecyclerViewFragment {
}
......@@ -23,8 +23,7 @@ import app.insti.SessionManager;
import app.insti.activity.LoginActivity;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.User;
import app.insti.api.model.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -4,7 +4,6 @@ package app.insti.fragment;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
......@@ -30,7 +29,7 @@ import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.TrainingBlogAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.data.TrainingBlogPost;
import app.insti.api.model.TrainingBlogPost;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -38,11 +38,10 @@ import app.insti.activity.MainActivity;
import app.insti.adapter.RoleAdapter;
import app.insti.adapter.TabAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.Role;
import app.insti.data.User;
import app.insti.api.model.Body;
import app.insti.api.model.Event;
import app.insti.api.model.Role;
import app.insti.api.model.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -7,7 +7,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.Image;
import android.net.Uri;
import android.os.AsyncTask;
import android.support.v4.app.JobIntentService;
......@@ -28,8 +27,8 @@ import app.insti.SessionManager;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Event;
import app.insti.data.User;
import app.insti.api.model.Event;
import app.insti.api.model.User;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......
......@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import app.insti.data.Venue;
import app.insti.api.model.Venue;
public class Locations {
public HashMap<String, Marker> data = new HashMap<String, Marker>();
......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relative_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/my_events_feed_swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="app.insti.fragment.MyEventsFragment">
<android.support.v7.widget.RecyclerView
android:id="@+id/my_events_feed_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="8dp" />
</android.support.v4.widget.SwipeRefreshLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="16dp"
android:src="@drawable/ic_add_black_24dp"
android:tint="@android:color/black"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/loadingPanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:theme="@style/BlueAccent" />
</RelativeLayout>
</RelativeLayout>
......@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<!--TODO Update icons-->
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_feed"
......@@ -14,11 +13,6 @@
android:icon="@drawable/baseline_rss_feed_black_48"
android:title="News" />
<item
android:id="@+id/nav_my_events"
android:icon="@drawable/ic_event"
android:title="My Events" />
<item
android:id="@+id/nav_explore"
android:icon="@drawable/ic_search_black_24dp"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment