Commit c2671292 authored by Mrunzzz's avatar Mrunzzz

Add event layout changes

parent 894a2a30
package in.ac.iitb.gymkhana.iitbapp;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
/**
* Created by mrunz on 15/7/17.
*/
public class AddEventAdapter extends BaseAdapter {
LayoutInflater inflater;
public int publicStatus = 0;
int permission = 0;
public String location = "";
@Override
public int getCount() {
return 3;
}
@Override
public Object getItem(int position) {
return getItem(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null) {
inflater = (LayoutInflater) parent.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
int type = getItemViewType(position);
if (convertView == null) {
switch (type) {
case 0: {
convertView = inflater.inflate(R.layout.advanced_options_view, null);
CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.cb_public);
if (checkBox.isChecked()) publicStatus = 1;
break;
}
case 1: {
convertView = inflater.inflate(R.layout.advanced_options_view_2, null);
EditText editText = (EditText) convertView.findViewById(R.id.map_location);
location = editText.getText().toString();
break;
}
case 2: {
convertView = inflater.inflate(R.layout.advanced_options_view_3, null);
CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.cb_permission);
if (checkBox.isChecked()) permission = 1;
break;
}
}
}
return convertView;
}
}
package in.ac.iitb.gymkhana.iitbapp.api.model; package in.ac.iitb.gymkhana.iitbapp.api.model;
import android.media.Image;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
...@@ -28,7 +29,8 @@ public class EventCreateRequest { ...@@ -28,7 +29,8 @@ public class EventCreateRequest {
@SerializedName("public_status") @SerializedName("public_status")
private int publicStatus; private int publicStatus;
public EventCreateRequest(String eventName, String eventDescription,String eventVenue,Timestamp eventTimingFrom,Timestamp eventTimingTo,int publicStatus,@Nullable int eventVenueID,@Nullable int eventMapLocationId ) {
public EventCreateRequest(String eventName, String eventDescription,String eventVenue,Timestamp eventTimingFrom,Timestamp eventTimingTo,int publicStatus,@Nullable int eventVenueID,@Nullable int eventMapLocationId) {
this.eventName=eventName; this.eventName=eventName;
this.eventDescription=eventDescription; this.eventDescription=eventDescription;
this.eventTimingFrom=eventTimingFrom; this.eventTimingFrom=eventTimingFrom;
...@@ -104,4 +106,6 @@ public class EventCreateRequest { ...@@ -104,4 +106,6 @@ public class EventCreateRequest {
public void setPublicStatus(int publicStatus) { public void setPublicStatus(int publicStatus) {
this.publicStatus = publicStatus; this.publicStatus = publicStatus;
} }
} }
...@@ -2,10 +2,10 @@ package in.ac.iitb.gymkhana.iitbapp.fragment; ...@@ -2,10 +2,10 @@ package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.app.DatePickerDialog; import android.app.DatePickerDialog;
import android.app.TimePickerDialog; import android.app.TimePickerDialog;
import android.content.Intent; import android.media.Image;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.util.Log; import android.support.v7.widget.ListPopupWindow;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -15,6 +15,7 @@ import android.widget.DatePicker; ...@@ -15,6 +15,7 @@ import android.widget.DatePicker;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import android.widget.TimePicker; import android.widget.TimePicker;
import android.widget.Toast; import android.widget.Toast;
...@@ -24,32 +25,27 @@ import java.util.Calendar; ...@@ -24,32 +25,27 @@ import java.util.Calendar;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import in.ac.iitb.gymkhana.iitbapp.MainActivity; import in.ac.iitb.gymkhana.iitbapp.AddEventAdapter;
import in.ac.iitb.gymkhana.iitbapp.R; import in.ac.iitb.gymkhana.iitbapp.R;
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.api.model.EventCreateRequest; import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse; import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
import static android.content.ContentValues.TAG;
public class AddEventFragment extends Fragment { public class AddEventFragment extends Fragment {
@BindView(R.id.button_createEvent) @BindView(R.id.button_createEvent)
Button createEvent; Button createEvent;
@BindView(R.id.cb_public)
CheckBox publicCheckBox; @BindView(R.id.tv_start)
@BindView(R.id.tv_date) TextView start;
TextView date;
@BindView(R.id.et_eventName) @BindView(R.id.et_eventName)
EditText eventName; EditText eventName;
@BindView(R.id.tv_time) @BindView(R.id.tv_end)
TextView time; TextView end;
@BindView(R.id.et_venue) @BindView(R.id.et_venue)
EditText venue; EditText venue;
@BindView(R.id.et_eventDetails) @BindView(R.id.et_eventDetails)
...@@ -58,9 +54,15 @@ public class AddEventFragment extends Fragment { ...@@ -58,9 +54,15 @@ public class AddEventFragment extends Fragment {
ImageView eventImage; ImageView eventImage;
@BindView(R.id.ib_eventImage) @BindView(R.id.ib_eventImage)
ImageButton imageButton; ImageButton imageButton;
Timestamp timestamp; Timestamp timestamp_start;
Timestamp timestamp_end;
Image image;
@BindView(R.id.advanced_menu)
TextView advancedMenu;
int publicStatus; int publicStatus;
View view; View view;
ListPopupWindow popupWindow;
AddEventAdapter addEventAdapter;
public AddEventFragment() { public AddEventFragment() {
...@@ -76,51 +78,82 @@ public class AddEventFragment extends Fragment { ...@@ -76,51 +78,82 @@ public class AddEventFragment extends Fragment {
view = inflater.inflate(R.layout.fragment_add_event, container, false); view = inflater.inflate(R.layout.fragment_add_event, container, false);
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
date.setOnClickListener(new View.OnClickListener() { popupWindow=new ListPopupWindow(getContext());
addEventAdapter=new AddEventAdapter();
start.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
int mYear = calendar.get(Calendar.YEAR); int mYear = calendar.get(Calendar.YEAR);
int mMonth = calendar.get(Calendar.MONTH); int mMonth = calendar.get(Calendar.MONTH);
int mDay = calendar.get(Calendar.DAY_OF_MONTH); int mDay = calendar.get(Calendar.DAY_OF_MONTH);
final int mHour = calendar.get(Calendar.HOUR_OF_DAY);
final int mMin = calendar.get(Calendar.MINUTE);
long millis = calendar.getTimeInMillis(); long millis = calendar.getTimeInMillis();
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() { DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {
@Override @Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { public void onDateSet(DatePicker view, final int year, final int month, final int dayOfMonth) {
date.setText(dayOfMonth + "/" + month + "/" + year); TimePickerDialog timePickerDialog = new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
start.setText(dayOfMonth + "/" + month + "/" + year + " " + hourOfDay + ":" + minute);
}
}, mHour, mMin, true);
timePickerDialog.show();
} }
}, mYear, mMonth, mDay); }, mYear, mMonth, mDay);
datePickerDialog.show(); datePickerDialog.show();
timestamp = new Timestamp(millis); timestamp_start = new Timestamp(millis);
} }
}); });
if (publicCheckBox.isChecked()) {
publicStatus = 1;
} else
publicStatus = 0;
time.setOnClickListener(new View.OnClickListener() {
end.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
int mHour = calendar.get(Calendar.HOUR_OF_DAY); int mYear = calendar.get(Calendar.YEAR);
int mMin = calendar.get(Calendar.MINUTE); int mMonth = calendar.get(Calendar.MONTH);
int mDay = calendar.get(Calendar.DAY_OF_MONTH);
final int mHour = calendar.get(Calendar.HOUR_OF_DAY);
final int mMin = calendar.get(Calendar.MINUTE);
long millis = calendar.getTimeInMillis(); long millis = calendar.getTimeInMillis();
TimePickerDialog timePickerDialog = new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {
@Override @Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) { public void onDateSet(DatePicker view, final int year, final int month, final int dayOfMonth) {
time.setText(hourOfDay + ":" + minute); TimePickerDialog timePickerDialog = new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
end.setText(dayOfMonth + "/" + month + "/" + year + " " + hourOfDay + ":" + minute);
}
}, mHour, mMin, true);
timePickerDialog.show();
} }
}, mHour, mMin, true); }, mYear, mMonth, mDay);
timePickerDialog.show();
timestamp = new Timestamp(millis); datePickerDialog.show();
timestamp_end = new Timestamp(millis);
}
});
advancedMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createPopup();
} }
}); });
imageButton.setOnClickListener(new View.OnClickListener() { imageButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
...@@ -140,7 +173,7 @@ public class AddEventFragment extends Fragment { ...@@ -140,7 +173,7 @@ public class AddEventFragment extends Fragment {
} }
public void addEvent() { public void addEvent() {
EventCreateRequest eventCreateRequest = new EventCreateRequest(eventName.getText().toString(), details.getText().toString(), venue.getText().toString(), timestamp, timestamp, publicStatus, 0, 0); EventCreateRequest eventCreateRequest = new EventCreateRequest(eventName.getText().toString(), details.getText().toString(), venue.getText().toString(), timestamp_start, timestamp_end, addEventAdapter.publicStatus, 0, 0);
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class); RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
retrofitInterface.eventCreate(eventCreateRequest).enqueue(new Callback<EventCreateResponse>() { retrofitInterface.eventCreate(eventCreateRequest).enqueue(new Callback<EventCreateResponse>() {
@Override @Override
...@@ -155,5 +188,17 @@ public class AddEventFragment extends Fragment { ...@@ -155,5 +188,17 @@ public class AddEventFragment extends Fragment {
}); });
} }
public void createPopup() {
popupWindow.setAdapter(addEventAdapter);
popupWindow.setAnchorView(advancedMenu);
popupWindow.setHeight(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT);
popupWindow.setWidth(advancedMenu.getRight() - advancedMenu.getLeft());
popupWindow.show();
}
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<corners android:radius="50dip" /> <corners android:radius="50dip" />
<stroke android:width="0dip" android:color="#667162" /> <stroke android:width="0dip" android:color="#667162" />
<gradient android:angle="-90" android:endColor="#FFEA00" android:startColor="#FFEA00" /> <gradient android:angle="-90" android:endColor="#ecf833" android:startColor="#ecf833" />
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp">
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/cb_public"
android:text="Outsiders Allowed "/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/map_location"
android:hint="Map Location"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp">
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Request User Info"
android:id="@+id/cb_permission"/>
</LinearLayout>
\ No newline at end of file
...@@ -42,45 +42,47 @@ ...@@ -42,45 +42,47 @@
android:layout_height="40dp"> android:layout_height="40dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_weight="1"
android:paddingRight="6dp" android:paddingRight="6dp"
android:paddingLeft="6dp" android:gravity="bottom"
android:paddingBottom="5dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/tv_date" android:id="@+id/tv_start"
android:hint=" Date " android:textSize="20sp"
android:hint=" From "
android:paddingTop="8dp"/> android:paddingTop="8dp"/>
<View <View
android:layout_width="3dp" android:layout_width="3dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" android:layout_marginBottom="5dp"/>
android:background="@color/common_google_signin_btn_text_dark_disabled"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_weight="1"
android:paddingRight="6dp" android:paddingRight="6dp"
android:paddingLeft="6dp" android:paddingLeft="6dp"
android:gravity="bottom"
android:paddingBottom="5dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/tv_time" android:id="@+id/tv_end"
android:hint=" Time " android:textSize="20sp"
android:hint=" To "
android:paddingTop="8dp"/> android:paddingTop="8dp"/>
<View
android:layout_width="3dp"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/common_google_signin_btn_text_dark_disabled"/>
<EditText
android:layout_width="wrap_content"
android:paddingRight="6dp"
android:paddingLeft="6dp"
android:layout_height="match_parent"
android:id="@+id/et_venue"
android:hint="Venue"/>
</LinearLayout> </LinearLayout>
<EditText
android:layout_width="wrap_content"
android:paddingRight="6dp"
android:paddingLeft="8dp"
android:layout_marginLeft="16dp"
android:layout_height="40dp"
android:id="@+id/et_venue"
android:hint="Venue"/>
<EditText <EditText
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -93,35 +95,21 @@ ...@@ -93,35 +95,21 @@
android:paddingRight="6dp" android:paddingRight="6dp"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"/>
android:background="#E0E0E0"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
>
<TextView <TextView android:layout_height="30dp"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Advanced Options"
android:text="Public" android:id="@+id/advanced_menu"
android:textSize="18sp" android:paddingLeft="16dp"
android:layout_marginLeft="8dp" android:paddingRight="16dp"/>
android:paddingLeft="8dp"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/cb_public"
android:layout_marginRight="10dp"/>
</RelativeLayout>
<Button <Button
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="60dp" android:layout_height="40dp"
android:background="@color/colorAccent"
android:text="Create" android:text="Create"
android:layout_margin="8dp"
android:background="@drawable/round_text_box"
android:id="@+id/button_createEvent" android:id="@+id/button_createEvent"
android:gravity="center"/> android:gravity="center"/>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#FFEB3B</item> <item name="colorAccent">#ecf833</item>
<item name="android:colorBackground">?attr/colorButtonNormal</item> <item name="android:colorBackground">?attr/colorButtonNormal</item>
<item name="android:textColorPrimaryInverse">@android:color/darker_gray</item> <item name="android:textColorPrimaryInverse">@android:color/darker_gray</item>
<item name="android:windowBackground">?android:attr/colorButtonNormal</item> <item name="android:windowBackground">?android:attr/colorButtonNormal</item>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#FFEA00</item> <item name="colorAccent">#ecf833</item>
<item name="android:colorBackground">@android:color/darker_gray</item> <item name="android:colorBackground">@android:color/darker_gray</item>
<item name="android:textColorPrimaryInverse">@android:color/darker_gray</item> <item name="android:textColorPrimaryInverse">@android:color/darker_gray</item>
<item name="android:windowBackground">@android:color/darker_gray</item> <item name="android:windowBackground">@android:color/darker_gray</item>
......
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