Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dss.invitup.vc.occasionPage.guestlist;
- import android.content.Intent;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.app.FragmentStatePagerAdapter;
- import android.support.v4.view.ViewPager;
- import android.util.TypedValue;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.FrameLayout;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import com.dss.invitup.MainActivity;
- import com.dss.invitup.R;
- import com.dss.invitup.events.GetGuestListFinishedEvent;
- import com.dss.invitup.events.UpdateGuestStatusByAdminFinishedEvent;
- import com.dss.invitup.models.Occasion;
- import com.dss.invitup.models.serverResponses.OccasionGuestResponse;
- import com.dss.invitup.singleton.AppController;
- import com.dss.invitup.singleton.InterfaceManager;
- import com.dss.invitup.singleton.ServerManager;
- import com.dss.invitup.singleton.SettingsManager;
- import com.dss.invitup.view.RobotoRegularTextView;
- import com.dss.invitup.view.dynamicFont.PageTitleDynamicTextView;
- import com.facebook.share.model.AppInviteContent;
- import com.facebook.share.widget.AppInviteDialog;
- import de.greenrobot.event.EventBus;
- import io.realm.Realm;
- /**
- * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
- */
- public class GuestListFragment extends Fragment {
- LinearLayout headerLinearLayout;
- FrameLayout attendingFrameLayout, invitedFrameLayout, requestsFrameLayout;
- RobotoRegularTextView attendingTextView, invitedTextView, requestsTextView;
- ViewPager guestListViewPager;
- LinearLayout imageButtonLinearLayout, emailLinearLayout, facebookLinearLayout;
- ImageView emailImageView, facebookImageView;
- ImageView addNewGuestImageView;
- GuestListPagerAdapter guestListPagerAdapter;
- FragmentManager fragmentManager;
- boolean isImageButtonOpened = false;
- FrameLayout containerFrameLayout;
- PageTitleDynamicTextView emailTitle, facebookTitle;
- OccasionGuestResponse occasionGuestResponse;
- Realm realm;
- Occasion currentOccasion;
- String currentOccasionId;
- MainActivity mainActivity;
- int currentPosition = 0;
- String dynamicColor = "#FC00FF";
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_guest_list, container, false);
- if(!EventBus.getDefault().isRegistered(this)){
- EventBus.getDefault().register(this);
- }
- headerLinearLayout = (LinearLayout) view.findViewById(R.id.fragment_occasion_guest_list_headerLinearLayout);
- attendingFrameLayout = (FrameLayout) view.findViewById(R.id.fragment_occasion_guest_list_attendingFrameLayout);
- invitedFrameLayout = (FrameLayout) view.findViewById(R.id.fragment_occasion_guest_list_invitedFrameLayout);
- requestsFrameLayout = (FrameLayout) view.findViewById(R.id.fragment_occasion_guest_list_requestsFrameLayout);
- attendingTextView = (RobotoRegularTextView) view.findViewById(R.id.fragment_occasion_guest_list_attendingTextView);
- invitedTextView = (RobotoRegularTextView) view.findViewById(R.id.fragment_occasion_guest_list_invitedTextView);
- requestsTextView = (RobotoRegularTextView) view.findViewById(R.id.fragment_occasion_guest_list_requestsTextView);
- guestListViewPager = (ViewPager) view.findViewById(R.id.fragment_occasion_guest_list_viewPager);
- imageButtonLinearLayout = (LinearLayout) view.findViewById(R.id.fragment_occasion_guest_list_imageButtonLinearLayout);
- emailLinearLayout = (LinearLayout) view.findViewById(R.id.fragment_occasion_guest_list_emailLinearLayout);
- facebookLinearLayout = (LinearLayout) view.findViewById(R.id.fragment_occasion_guest_list_facebookLinearLayout);
- addNewGuestImageView = (ImageView) view.findViewById(R.id.fragment_occasion_guest_list_addNewGuestImageView);
- emailImageView = (ImageView) view.findViewById(R.id.fragment_occasion_guest_list_emailImageView) ;
- facebookImageView = (ImageView) view.findViewById(R.id.fragment_occasion_guest_list_facebookImageView);
- emailTitle = (PageTitleDynamicTextView) view.findViewById(R.id.fragment_guest_list_emailTitle);
- facebookTitle = (PageTitleDynamicTextView) view.findViewById(R.id.fragment_guest_list_facebookTitle);
- fragmentManager = getActivity().getSupportFragmentManager();
- containerFrameLayout = (FrameLayout) view.findViewById(R.id.fragment_occasion_guest_list_container);
- mainActivity = (MainActivity)getActivity();
- realm = AppController.getInstance().getRealm();
- fragmentManager.beginTransaction()
- .replace(R.id.fragment_occasion_guest_list_container, new GuestListAttendingFragment())
- .commitAllowingStateLoss();
- return view;
- }
- @Override
- public void onViewCreated(final View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- mainActivity.position = 5;
- if(SettingsManager.getInstance().getCurrentTypefaceHashMap()!=null){
- emailTitle.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- facebookTitle.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- }else{
- emailTitle.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- facebookTitle.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- }
- if(SettingsManager.getInstance().getCurrentTheme()!=null){
- emailTitle.setTextColor(Color.parseColor(SettingsManager.getInstance().getCurrentTheme().getPageTitleFontTheme().getColor()));
- emailTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
- facebookTitle.setTextColor(Color.parseColor(SettingsManager.getInstance().getCurrentTheme().getPageTitleFontTheme().getColor()));
- facebookTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
- if(SettingsManager.getInstance().getCurrentTheme().getButtonColor()!=null){
- if(!SettingsManager.getInstance().getCurrentTheme().getButtonColor().equalsIgnoreCase("")){
- dynamicColor = SettingsManager.getInstance().getCurrentTheme().getButtonColor();
- }
- }
- }else{
- emailTitle.setTextColor(Color.parseColor("#FFFFFF"));
- emailTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);
- facebookTitle.setTextColor(Color.parseColor("#FFFFFF"));
- facebookTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
- }
- guestListPagerAdapter = new GuestListPagerAdapter(fragmentManager);
- guestListViewPager.setAdapter(guestListPagerAdapter);
- guestListViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
- @Override
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
- currentPosition = position;
- switch (position){
- case 0 :
- attendingSelected();
- break;
- case 1 :
- invitedSelected();
- break;
- case 2 :
- requestsSelected();
- break;
- }
- }
- @Override
- public void onPageSelected(int position) {
- }
- @Override
- public void onPageScrollStateChanged(int state) {
- }
- });
- attendingFrameLayout.setOnClickListener(attendingFrameLayoutListener);
- invitedFrameLayout.setOnClickListener(invitedFrameLayoutListener);
- requestsFrameLayout.setOnClickListener(requestsFrameLayoutListener);
- addNewGuestImageView.setOnClickListener(addNewGuestImageViewListener);
- emailImageView.setOnClickListener(emailImageViewListener);
- facebookImageView.setOnClickListener(facebookImageViewListener);
- attendingFrameLayout.setVisibility(View.VISIBLE);
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.HOST){
- addNewGuestImageView.setVisibility(View.VISIBLE);
- invitedFrameLayout.setVisibility(View.VISIBLE);
- requestsFrameLayout.setVisibility(View.VISIBLE);
- attendingTextView.setText(getActivity().getResources().getString(R.string.attending));
- }else{
- addNewGuestImageView.setVisibility(View.GONE);
- invitedFrameLayout.setVisibility(View.GONE);
- requestsFrameLayout.setVisibility(View.GONE);
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- if(mainActivity.isFromPushNotif){
- switch (mainActivity.gotoColumn){
- case "attending" :
- currentPosition = 0;
- break;
- case "requests" :
- currentPosition = 2;
- break;
- }
- }
- isImageButtonOpened = false;
- imageButtonLinearLayout.setVisibility(View.GONE);
- reloadLocalData();
- }
- @Override
- public void onDestroy(){
- super.onDestroy();
- if(EventBus.getDefault().isRegistered(this)) {
- EventBus.getDefault().unregister(this);
- }
- }
- FrameLayout.OnClickListener attendingFrameLayoutListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- currentPosition = 0;
- guestListViewPager.setCurrentItem(currentPosition, true);
- }
- };
- FrameLayout.OnClickListener invitedFrameLayoutListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- currentPosition = 1;
- guestListViewPager.setCurrentItem(currentPosition, true);
- }
- };
- FrameLayout.OnClickListener requestsFrameLayoutListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- currentPosition = 2;
- guestListViewPager.setCurrentItem(currentPosition, true);
- }
- };
- ImageButton.OnClickListener addNewGuestImageViewListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!SettingsManager.getInstance().getCurrentUser().getLoginWithFacebook() || currentOccasion.isPrivate()) {
- emailImageView.performClick();
- }else{
- if(isImageButtonOpened){
- isImageButtonOpened = false;
- imageButtonLinearLayout.setVisibility(View.GONE);
- }else{
- isImageButtonOpened = true;
- imageButtonLinearLayout.setVisibility(View.VISIBLE);
- }
- }
- }
- };
- ImageView.OnClickListener emailImageViewListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity(), AddNewGuestActivity.class);
- startActivity(intent);
- }
- };
- ImageView.OnClickListener facebookImageViewListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String appLinkUrl, previewImageUrl, promotionDetails;
- appLinkUrl = "https://fb.me/220844961658384";
- previewImageUrl = "http://viralhipster.com/wp-content/uploads/2013/03/corgy.jpg";
- if(currentOccasion.getThumbnailImageURL()!=null){
- if(!currentOccasion.getThumbnailImageURL().equalsIgnoreCase("")){
- previewImageUrl = currentOccasion.getThumbnailImageURL();
- }
- }
- promotionDetails = SettingsManager.getInstance().getCurrentUser().getFirstName() + " has created an event and invited you through Invitup";
- if(AppInviteDialog.canShow()){
- AppInviteContent content = new AppInviteContent.Builder()
- .setApplinkUrl(appLinkUrl)
- .setPreviewImageUrl(previewImageUrl)
- .setPromotionDetails(promotionDetails, currentOccasion.getCode())
- .build();
- AppInviteDialog.show(getActivity(), content);
- }
- }
- };
- public void attendingSelected(){
- int attendingCount = 0;
- if(occasionGuestResponse!=null){
- if(occasionGuestResponse.getJoinedGuest()!=null){
- attendingCount = occasionGuestResponse.getJoinedGuest().size();
- }
- }
- mainActivity.guestAmountTextView.setText(attendingCount + " " + getResources().getString(R.string.attending));
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.HOST) {
- attendingFrameLayout.setBackgroundColor(Color.parseColor(dynamicColor));
- attendingTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- }else{
- attendingFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- attendingTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- }
- invitedFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- invitedTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- requestsFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- requestsTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- }
- public void invitedSelected(){
- int invitedCount = 0;
- if(occasionGuestResponse!=null) {
- if (occasionGuestResponse.getInvitedGuest() != null) {
- invitedCount = occasionGuestResponse.getInvitedGuest().size();
- }
- }
- mainActivity.guestAmountTextView.setText(invitedCount + " " + getResources().getString(R.string.invited));
- attendingFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- attendingTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- invitedFrameLayout.setBackgroundColor(Color.parseColor(dynamicColor));
- invitedTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- requestsFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- requestsTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- }
- public void requestsSelected(){
- int requestsCount = 0;
- if(occasionGuestResponse!=null) {
- if (occasionGuestResponse.getPendingGuest() != null) {
- requestsCount = occasionGuestResponse.getPendingGuest().size();
- }
- }
- mainActivity.guestAmountTextView.setText(requestsCount + " " + getResources().getString(R.string.requests));
- attendingFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- attendingTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- invitedFrameLayout.setBackgroundColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- invitedTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appGrey1));
- requestsFrameLayout.setBackgroundColor(Color.parseColor(dynamicColor));
- requestsTextView.setTextColor(InterfaceManager.sharedInstance().getColor(getActivity(), R.color.appWhite));
- }
- public void reloadLocalData(){
- if(SettingsManager.getInstance().getCurrentOccasion()!=null){
- currentOccasion = SettingsManager.getInstance().getCurrentOccasion();
- currentOccasionId = currentOccasion.getId();
- }else{
- currentOccasionId = mainActivity.currentOccasionId;
- Occasion occasion = realm.where(Occasion.class).equalTo("id", currentOccasionId).findFirst();
- if(occasion!=null){
- currentOccasion = occasion;
- }
- }
- occasionGuestResponse = realm.where(OccasionGuestResponse.class)
- .equalTo("id", currentOccasionId).findFirst();
- if(occasionGuestResponse!=null){
- SettingsManager.getInstance().setOccasionGuestResponse(occasionGuestResponse);
- guestListViewPager.setCurrentItem(currentPosition, false);
- }
- ServerManager.getInstance().getGuestListFromOccasion(currentOccasionId);
- }
- public void onEvent(GetGuestListFinishedEvent event){
- if(event.errorMessage.equalsIgnoreCase("")){
- occasionGuestResponse = event.occasionGuestResponse;
- SettingsManager.getInstance().setOccasionGuestResponse(event.occasionGuestResponse);
- guestListViewPager.setCurrentItem(currentPosition, false);
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.GUEST){
- attendingTextView.setText(event.occasionGuestResponse.getJoinedGuest().size() + " " + getActivity().getResources().getString(R.string.attending));
- }
- }
- }
- public void onEvent(UpdateGuestStatusByAdminFinishedEvent event){
- if(event.occasionGuest!=null){
- reloadLocalData();
- }else{
- InterfaceManager.sharedInstance().showErrorMessage(getActivity(), event.errorMessage);
- }
- }
- public class GuestListPagerAdapter extends FragmentStatePagerAdapter{
- public GuestListPagerAdapter(FragmentManager fm) {
- super(fm);
- }
- @Override
- public Fragment getItem(int position) {
- currentPosition = position;
- if (position == 0){
- return new GuestListAttendingFragment();
- } else if (position == 1){
- return new GuestListInvitedFragment();
- } else {
- return new GuestListRequestsFragment();
- }
- }
- @Override
- public int getCount() {
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.HOST){
- return 3;
- }else{
- return 1;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment