Commit ef8c35ba authored by RAHUL SHARMA's avatar RAHUL SHARMA

Added MyEvent, MyEventAdapter, MyEventFragment, my_event.xml, resource_layout_my_event.xml

parent 009946d9
......@@ -47,6 +47,7 @@ import java.net.URL;
import java.util.List;
import app.insti.Constants;
import app.insti.fragment.MyEventFragment;
import app.insti.R;
import app.insti.SessionManager;
import app.insti.UpdatableList;
......@@ -565,6 +566,15 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
updateFragment(new SubActivityFragment());
break;
case R.id.nav_my_events:
updateFragment(new MyEventFragment());
break;
case R.id.nav_add_my_events:
updateFragment(new MyEventFragment());
break;
case R.id.nav_placement_blog:
openPlacementBlog();
break;
......
package app.insti.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.squareup.picasso.Picasso;
import java.util.List;
import app.insti.R;
import app.insti.api.model.MyEvent;
import app.insti.api.model.SubActivity;
public class MyEventAdapter extends RecyclerView.Adapter<MyEventAdapter.MyEventViewHolder> {
private Context context;
private List<MyEvent> myEventList;
public MyEventAdapter(Context context, List<MyEvent> myEventList) {
this.context = context;
this.myEventList = myEventList;
}
@NonNull
@Override
public MyEventViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.resource_layout_my_events,parent,false);
return new MyEventViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyEventViewHolder holder, int position) {
MyEvent myEvent = myEventList.get(position);
holder.txtViewMyEventName.setText(myEvent.getMyEventName());
holder.txtViewMyEventShortDescription.setText(myEvent.getMyEventDescription());
Picasso.get().load(myEvent.getAvatarUrl()).fit().centerCrop().into(holder.imgViewMyEvent);
holder.linearLayoutMyEvent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, myEvent.getMyEventName() + " clicked", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return myEventList.size();
}
public class MyEventViewHolder extends RecyclerView.ViewHolder {
ImageView imgViewMyEvent;
TextView txtViewMyEventName;
TextView txtViewMyEventShortDescription;
LinearLayout linearLayoutMyEvent;
public MyEventViewHolder(@NonNull View itemView) {
super(itemView);
imgViewMyEvent = itemView.findViewById(R.id.imgViewMyEvent);
txtViewMyEventName = itemView.findViewById(R.id.txtViewMyEventName);
txtViewMyEventShortDescription = itemView.findViewById(R.id.txtViewMyEventShortDescription);
linearLayoutMyEvent = itemView.findViewById(R.id.linearLayoutMyEvent);
}
}
}
......@@ -32,11 +32,17 @@ public class MyEvent implements CardInterface {
@SerializedName("image_url")
private String myEventImageURL;
// @SerializedName("start_time")
// private Timestamp myEventStartTime;
//
// @SerializedName("end_time")
// private Timestamp myEventEndTime;
@SerializedName("start_time")
private Timestamp myEventStartTime;
private String myEventStartTime;
@SerializedName("end_time")
private Timestamp myEventEndTime;
private String myEventEndTime;
@SerializedName("all_day")
private boolean allDayMyEvent;
......@@ -45,7 +51,7 @@ public class MyEvent implements CardInterface {
private String myEventVenues;
@SerializedName("parent")
private SubActivity myEventParent;
private String myEventParent;
@SerializedName("interested_count")
private int myEventInterestedCount;
......@@ -80,11 +86,19 @@ public class MyEvent implements CardInterface {
return myEventImageURL;
}
public Timestamp getMyEventStartTime() {
// public Timestamp getMyEventStartTime() {
// return myEventStartTime;
// }
//
// public Timestamp getMyEventEndTime() {
// return myEventEndTime;
// }
public String getMyEventStartTime() {
return myEventStartTime;
}
public Timestamp getMyEventEndTime() {
public String getMyEventEndTime() {
return myEventEndTime;
}
......@@ -96,7 +110,7 @@ public class MyEvent implements CardInterface {
return myEventVenues;
}
public SubActivity getMyEventParent() {
public String getMyEventParent() {
return myEventParent;
}
......@@ -137,11 +151,19 @@ public class MyEvent implements CardInterface {
this.myEventImageURL = myEventImageURL;
}
public void setMyEventStartTime(Timestamp myEventStartTime) {
// public void setMyEventStartTime(Timestamp myEventStartTime) {
// this.myEventStartTime = myEventStartTime;
// }
//
// public void setMyEventEndTime(Timestamp myEventEndTime) {
// this.myEventEndTime = myEventEndTime;
// }
public void setMyEventStartTime(String myEventStartTime) {
this.myEventStartTime = myEventStartTime;
}
public void setMyEventEndTime(Timestamp myEventEndTime) {
public void setMyEventEndTime(String myEventEndTime) {
this.myEventEndTime = myEventEndTime;
}
......@@ -149,11 +171,12 @@ public class MyEvent implements CardInterface {
this.allDayMyEvent = allDayMyEvent;
}
public void setMyEventVenues(String myEventVenues) {
this.myEventVenues = myEventVenues;
}
public void setMyEventParent(SubActivity myEventParent) {
public void setMyEventParent(String myEventParent) {
this.myEventParent = myEventParent;
}
......
package app.insti.fragment;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.storage.StorageReference;
import java.util.ArrayList;
import java.util.List;
import app.insti.R;
import app.insti.Utils;
import app.insti.adapter.MyEventAdapter;
import app.insti.adapter.SubActivitiesAdapter;
import app.insti.api.model.MyEvent;
import app.insti.api.model.SubActivity;
public class MyEventFragment extends Fragment {
private StorageReference storageReference3;
private DatabaseReference databaseReference3;
private List<MyEvent> myEventList;
private FloatingActionButton add_event;
public MyEventFragment(){
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my_event, container, false);
Toolbar toolbar = getActivity().findViewById(R.id.toolbar);
toolbar.setTitle("My Events");
Utils.setSelectedMenuItem(getActivity(), R.id.nav_my_events);
RecyclerView myEventsList = view.findViewById(R.id.myEventList);
myEventsList.setLayoutManager(new LinearLayoutManager(getContext()));
myEventList = new ArrayList<>();
databaseReference3 = FirebaseDatabase.getInstance().getReference("my_events");
databaseReference3.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot myEventSnapshot : dataSnapshot.getChildren()){
MyEvent myEvent = myEventSnapshot.getValue(MyEvent.class);
myEventList.add(myEvent);
}
MyEventAdapter myEventAdapter = new MyEventAdapter(getContext(),myEventList);
myEventsList.setAdapter(myEventAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(getContext(),"Something wrong happened", Toast.LENGTH_SHORT).show();
}
});
add_event = view.findViewById(R.id.add_event);
add_event.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "Add Event Clicked", Toast.LENGTH_SHORT).show();
}
});
return view;
}
}
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragment.MyEventFragment">
<!-- TODO: Update blank fragment layout -->
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myEventList">
</androidx.recyclerview.widget.RecyclerView>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/add_event"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/ic_edit_black_24dp"
android:tint="@android:color/black"
android:visibility="visible"
/>
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="4dp"
android:paddingLeft="18dp"
android:paddingRight="10dp"
android:paddingTop="2dp"
android:minHeight="80dp"
android:id="@+id/linearLayoutMyEvent">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/imgViewMyEvent"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_vertical"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:layout_weight="3"
android:orientation="vertical">
<TextView
android:id="@+id/txtViewMyEventName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="2"
android:ellipsize="end"
android:textColor="?attr/themeColorInverse"
android:textSize="17sp"
android:layout_marginBottom="5dp"/>
<TextView
android:id="@+id/txtViewMyEventShortDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textSize="15sp"
android:textColor="?attr/themeGray" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -29,9 +29,14 @@
android:title="Sub Activities"/>
<item
android:id="@+id/nav_events"
android:id="@+id/nav_my_events"
android:icon="@drawable/ic_dashboard_black_48dp"
android:title="Events"/>
android:title="My Events"/>
<item
android:id="@+id/nav_add_my_events"
android:icon="@drawable/ic_dashboard_black_48dp"
android:title="Add Events"/>
<item
android:id="@+id/nav_mess_menu"
......
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