Commit 99e7df5a authored by Nihal Singh's avatar Nihal Singh Committed by Varun Patil

Updated gitignore. EventFragment refactor UES

parent fed8e5aa
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
/.idea/gradle.xml
/.idea/modules.xml
/.idea/caches
.DS_Store
/build
/captures
.externalNativeBuild
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/IITB-App.iml" filepath="$PROJECT_DIR$/IITB-App.iml" />
<module fileurl="file://$PROJECT_DIR$/IITBApp.iml" filepath="$PROJECT_DIR$/IITBApp.iml" />
<module fileurl="file://$PROJECT_DIR$/InstiApp.iml" filepath="$PROJECT_DIR$/InstiApp.iml" />
<module fileurl="file://$PROJECT_DIR$/InstiApp2.iml" filepath="$PROJECT_DIR$/InstiApp2.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
</modules>
</component>
</project>
\ No newline at end of file
......@@ -11,15 +11,6 @@ import android.graphics.Point;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import com.google.android.material.appbar.AppBarLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import androidx.fragment.app.Fragment;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.appcompat.widget.Toolbar;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
......@@ -38,6 +29,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.gson.Gson;
import com.squareup.picasso.Picasso;
......@@ -46,6 +39,13 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import app.insti.Constants;
import app.insti.R;
import app.insti.ShareURLMaker;
......@@ -65,10 +65,10 @@ import ru.noties.markwon.Markwon;
* A simple {@link Fragment} subclass.
*/
public class EventFragment extends BackHandledFragment implements TransitionTargetFragment {
public String TAG = "EventFragment";
private Event event;
private Button goingButton;
private Button interestedButton;
public String TAG = "EventFragment";
private int appBarOffset = 0;
private boolean creatingView = false;
......@@ -91,12 +91,6 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
// Required empty public constructor
}
@Override
public void transitionEnd() {
if (getActivity() == null || getView() == null) return;
Utils.loadImageWithPlaceholder(eventPicture, event.getEventImageURL());
}
/**
* Get a spannable with a small count badge to set for an element text
*
......@@ -118,6 +112,12 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
return spannable;
}
@Override
public void transitionEnd() {
if (getActivity() == null || getView() == null) return;
Utils.loadImageWithPlaceholder(eventPicture, event.getEventImageURL());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
......@@ -159,7 +159,9 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
setupAppBarLayout();
}
/** Initialize app bar layout */
/**
* Initialize app bar layout
*/
private void setupAppBarLayout() {
// Set the behavior
AppBarLayout mAppBarLayout = getView().findViewById(R.id.appBar);
......@@ -182,8 +184,10 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
});
}
/** Set appbar to have an offset */
private void setAppBarOffset(int offsetPx){
/**
* Set appbar to have an offset
*/
private void setAppBarOffset(int offsetPx) {
AppBarLayout mAppBarLayout = getView().findViewById(R.id.appBar);
CoordinatorLayout mCoordinatorLayour = getView().findViewById(R.id.coordinator);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
......@@ -265,11 +269,11 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
eventDate.setText(TextUtils.concat(timing));
}
interestedButton.setOnClickListener(getUESOnClickListener(1));
interestedButton.setOnClickListener(getInterestedButtonOnClickListener());
goingButton.setOnClickListener(getUESOnClickListener(2));
goingButton.setOnClickListener(getGoingButtonOnClickListener());
setFollowButtons(event.getEventUserUes());
updateGoingInterestedButtonsAppearance(event.getEventUserUes());
if (!event.getEventVenues().isEmpty()) {
if (event.getEventVenues().get(0).getVenueLatitude() == 0) {
......@@ -348,69 +352,103 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
});
}
/** Setup button colors depending on status */
private void setFollowButtons(int status) {
// Set colors
private void updateButtonColors(int status) {
Utils.setupFollowButton(getContext(), interestedButton, status == Constants.STATUS_INTERESTED);
Utils.setupFollowButton(getContext(), goingButton, status == Constants.STATUS_GOING);
}
// Show badges
private void updateButtonBadges() {
interestedButton.setText(getCountBadgeSpannable("INTERESTED", event.getEventInterestedCount()));
goingButton.setText(getCountBadgeSpannable("GOING", event.getEventGoingCount()));
}
private View.OnClickListener getUESOnClickListener(final int status) {
private void updateGoingInterestedButtonsAppearance(int status) {
updateButtonColors(status);
updateButtonBadges();
}
private View.OnClickListener getGoingButtonOnClickListener() {
return new View.OnClickListener() {
@Override
public void onClick(View view) {
final int endStatus = event.getEventUserUes() == status ? 0 : status;
public void onClick(View v) {
int currentStatus = event.getEventUserUes();
final int finalStatus;
if (currentStatus == Constants.STATUS_GOING) {
event.setEventGoingCount(event.getEventGoingCount() - 1);
finalStatus = Constants.STATUS_NOT_GOING;
} else if (currentStatus == Constants.STATUS_INTERESTED) {
event.setEventInterestedCount(event.getEventInterestedCount() - 1);
event.setEventGoingCount(event.getEventGoingCount() + 1);
finalStatus = Constants.STATUS_GOING;
} else {
event.setEventGoingCount(event.getEventGoingCount() + 1);
finalStatus = Constants.STATUS_GOING;
}
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.updateUserEventStatus(Utils.getSessionIDHeader(), event.getEventID(), endStatus).enqueue(new Callback<Void>() {
retrofitInterface.updateUserEventStatus(Utils.getSessionIDHeader(), event.getEventID(), finalStatus).enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
if (response.isSuccessful()) {
/* TODO: Find a better way to change counts */
if (endStatus == 0) {
if (event.getEventUserUes() == 1) {
event.setEventInterestedCount(event.getEventInterestedCount() - 1);
}
if (event.getEventUserUes() == 2) {
event.setEventGoingCount(event.getEventGoingCount() - 1);
event.setEventUserUes(finalStatus);
updateGoingInterestedButtonsAppearance(finalStatus);
// Update global memory cache
Utils.eventCache.updateCache(event);
}
} else if (endStatus == 1) {
if (event.getEventUserUes() != 1) {
event.setEventInterestedCount(event.getEventInterestedCount() + 1);
@Override
public void onFailure(Call<Void> call, Throwable t) {
Toast.makeText(getContext(), "Network Error", Toast.LENGTH_LONG).show();
}
if (event.getEventUserUes() == 2) {
event.setEventGoingCount(event.getEventGoingCount() - 1);
});
}
} else if (endStatus == 2) {
if (event.getEventUserUes() != 2) {
event.setEventGoingCount(event.getEventGoingCount() + 1);
};
}
if (event.getEventUserUes() == 1) {
private View.OnClickListener getInterestedButtonOnClickListener () {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
int currentStatus = event.getEventUserUes();
final int finalStatus;
if (currentStatus == Constants.STATUS_INTERESTED) {
event.setEventInterestedCount(event.getEventInterestedCount() - 1);
}
finalStatus = Constants.STATUS_NOT_GOING;
} else if (currentStatus == Constants.STATUS_GOING) {
event.setEventInterestedCount(event.getEventInterestedCount() + 1);
event.setEventGoingCount(event.getEventGoingCount() - 1);
finalStatus = Constants.STATUS_INTERESTED;
} else {
event.setEventGoingCount(event.getEventInterestedCount() + 1);
finalStatus = Constants.STATUS_INTERESTED;
}
event.setEventUserUes(endStatus);
setFollowButtons(endStatus);
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.updateUserEventStatus(Utils.getSessionIDHeader(), event.getEventID(), finalStatus).enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
event.setEventUserUes(finalStatus);
updateGoingInterestedButtonsAppearance(finalStatus);
// Update global memory cache
Utils.eventCache.updateCache(event);
}
}
@Override
public void onFailure(Call<Void> call, Throwable t) {
Toast.makeText(getContext(), "Network Error", Toast.LENGTH_LONG).show();
}
});
}
};
}
private void zoomImageFromThumb(final ImageView thumbView) {
private void zoomImageFromThumb ( final ImageView thumbView){
// If there's an animation in progress, cancel it
// immediately and proceed with this one.
if (mCurrentAnimator != null) {
......@@ -506,7 +544,8 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
zoomMode = true;
}
private void zoomOut(final ImageView expandedImageView, Rect startBounds, float startScaleFinal, final View thumbView) {
private void zoomOut ( final ImageView expandedImageView, Rect startBounds,
float startScaleFinal, final View thumbView){
expandedImageView.setBackgroundColor(0x00000000);
if (mCurrentAnimator != null) {
mCurrentAnimator.cancel();
......@@ -546,4 +585,4 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
set.start();
mCurrentAnimator = set;
}
}
}
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