Commit bbcc852a authored by Varun Patil's avatar Varun Patil

Add body card to event fragment

parent 1ec68569
...@@ -9,7 +9,7 @@ import com.google.gson.annotations.SerializedName; ...@@ -9,7 +9,7 @@ import com.google.gson.annotations.SerializedName;
import java.util.List; import java.util.List;
@Entity(tableName = "bodies") @Entity(tableName = "bodies")
class Body { public class Body {
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
int db_id; int db_id;
......
package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.squareup.picasso.Picasso;
import in.ac.iitb.gymkhana.iitbapp.R;
import in.ac.iitb.gymkhana.iitbapp.data.Body;
/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* to handle interaction events.
* Use the {@link BodyCardFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BodyCardFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_BODY = "body";
// TODO: Rename and change types of parameters
private Body body;
public BodyCardFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param arg_body Body passed.
* @return A new instance of fragment BodyCardFragment.
*/
// TODO: Rename and change types and number of parameters
public static BodyCardFragment newInstance(Body arg_body) {
BodyCardFragment fragment = new BodyCardFragment();
Bundle args = new Bundle();
args.putString(ARG_BODY, new Gson().toJson(arg_body));
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
body = new Gson().fromJson(getArguments().getString(ARG_BODY), Body.class);
}
}
@Override
public void onStart() {
super.onStart();
ImageView bodyAvatar = (ImageView) getView().findViewById(R.id.body_avatar);
TextView bodyName = (TextView) getView().findViewById(R.id.body_name);
TextView bodyDescription = (TextView) getView().findViewById(R.id.body_description);
bodyName.setText(body.getBodyName());
bodyDescription.setText(body.getBodyName());
Picasso.with(getContext()).load(body.getBodyImageURL()).into(bodyAvatar);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_body_card, container, false);
}
}
...@@ -4,6 +4,8 @@ package in.ac.iitb.gymkhana.iitbapp.fragment; ...@@ -4,6 +4,8 @@ package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -11,22 +13,27 @@ import android.view.ViewGroup; ...@@ -11,22 +13,27 @@ import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.squareup.picasso.Picasso; import com.squareup.picasso.Picasso;
import org.w3c.dom.Text;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import in.ac.iitb.gymkhana.iitbapp.Constants; import in.ac.iitb.gymkhana.iitbapp.Constants;
import in.ac.iitb.gymkhana.iitbapp.MainActivity;
import in.ac.iitb.gymkhana.iitbapp.R; import in.ac.iitb.gymkhana.iitbapp.R;
import in.ac.iitb.gymkhana.iitbapp.ShareURLMaker; import in.ac.iitb.gymkhana.iitbapp.ShareURLMaker;
import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface; import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface;
import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator; import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator;
import in.ac.iitb.gymkhana.iitbapp.data.Event; import in.ac.iitb.gymkhana.iitbapp.data.Event;
import in.ac.iitb.gymkhana.iitbapp.data.Body;
import in.ac.iitb.gymkhana.iitbapp.data.Venue; import in.ac.iitb.gymkhana.iitbapp.data.Venue;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
...@@ -89,10 +96,20 @@ public class EventFragment extends BaseFragment implements View.OnClickListener ...@@ -89,10 +96,20 @@ public class EventFragment extends BaseFragment implements View.OnClickListener
eventDate.setText(simpleDateFormatDate.format(Date)); eventDate.setText(simpleDateFormatDate.format(Date));
eventTime.setText(simpleDateFormatTime.format(Date)); eventTime.setText(simpleDateFormatTime.format(Date));
StringBuilder eventVenueName = new StringBuilder(); StringBuilder eventVenueName = new StringBuilder();
for (Venue venue : event.getEventVenues()) { for (Venue venue : event.getEventVenues()) {
eventVenueName.append(", ").append(venue.getVenueName()); eventVenueName.append(", ").append(venue.getVenueName());
} }
LinearLayout myRoot = (LinearLayout) getActivity().findViewById(R.id.body_container);
for (Body body : event.getEventBodies()) {
Fragment bodyCardFragment = BodyCardFragment.newInstance(body);
getChildFragmentManager().beginTransaction()
.add(R.id.body_container, bodyCardFragment, getTag())
.disallowAddToBackStack()
.commit();
}
if (!eventVenueName.toString().equals("")) if (!eventVenueName.toString().equals(""))
eventVenue.setText(eventVenueName.toString().substring(2)); eventVenue.setText(eventVenueName.toString().substring(2));
goingButton.setOnClickListener(this); goingButton.setOnClickListener(this);
......
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="4dp"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/body_avatar"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="match_parent"
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/body_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Organization"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/body_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
\ No newline at end of file
...@@ -179,8 +179,6 @@ ...@@ -179,8 +179,6 @@
</View> </View>
<TextView <TextView
android:id="@+id/event_page_description" android:id="@+id/event_page_description"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -189,6 +187,14 @@ ...@@ -189,6 +187,14 @@
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:textColor="#777" android:textColor="#777"
android:textSize="16sp" /> android:textSize="16sp" />
<LinearLayout
android:id="@+id/body_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</LinearLayout> </LinearLayout>
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