Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dss.invitup;
- import android.app.AlarmManager;
- import android.app.PendingIntent;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.graphics.Color;
- import android.graphics.PorterDuff;
- import android.graphics.Typeface;
- import android.os.Build;
- import android.os.Bundle;
- import android.provider.Settings;
- import android.support.annotation.NonNull;
- import android.support.design.widget.NavigationView;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.PopupMenu;
- import android.support.v7.widget.Toolbar;
- import android.telephony.TelephonyManager;
- import android.text.Spannable;
- import android.text.SpannableString;
- import android.util.Log;
- import android.util.TypedValue;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.SubMenu;
- import android.view.View;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.FrameLayout;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- import com.bumptech.glide.Glide;
- import com.bumptech.glide.load.resource.drawable.GlideDrawable;
- import com.bumptech.glide.request.RequestListener;
- import com.bumptech.glide.request.target.Target;
- import com.dss.invitup.events.AddPicturePermissionEvent;
- import com.dss.invitup.events.GalleryFullImageCloseButtonEvent;
- import com.dss.invitup.events.GalleryFullImageItemClickedEvent;
- import com.dss.invitup.events.GetThemeFinishedEvent;
- import com.dss.invitup.events.GetUserOccasionGuestIdFinishedEvent;
- import com.dss.invitup.events.LeaveOccasionEvent;
- import com.dss.invitup.events.MainActivityHideLoadingEvent;
- import com.dss.invitup.events.MainActivityShowLoadingEvent;
- import com.dss.invitup.events.RefreshHomePageOccasionEvent;
- import com.dss.invitup.events.ReturnToEventFragmentEvent;
- import com.dss.invitup.events.UpdateGuestStatusByGuestFinishedEvent;
- import com.dss.invitup.models.Occasion;
- import com.dss.invitup.models.Theme;
- 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.vc.homePage.HomePageActivity;
- import com.dss.invitup.vc.occasionPage.contact.ContactFragment;
- import com.dss.invitup.vc.occasionPage.event.EventsFragment;
- import com.dss.invitup.vc.occasionPage.forum.ForumFragment;
- import com.dss.invitup.vc.occasionPage.gallery.GalleryFragment;
- import com.dss.invitup.vc.occasionPage.guestbook.GuestBookFragment;
- import com.dss.invitup.vc.occasionPage.guestlist.GuestListFragment;
- import com.dss.invitup.view.CustomTypefaceSpan;
- import com.dss.invitup.view.MontserratLightTextView;
- import com.dss.invitup.view.dynamicFont.PageTitleDynamicTextView;
- import java.util.Calendar;
- import java.util.HashMap;
- import java.util.Random;
- import de.greenrobot.event.EventBus;
- import io.realm.Realm;
- import it.sephiroth.android.library.imagezoom.ImageViewTouch;
- /**
- * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
- */
- public class MainActivity extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener {
- NavigationView navigationView;
- DrawerLayout drawer;
- FragmentManager fragmentManager;
- Realm realm;
- MontserratLightTextView leaveEventButton;
- Occasion currentOccasion;
- public String currentOccasionId;
- ImageView backgroundImageView,galleryFullScreenCloseImageView, galleryFullScreenEditImageView;
- EventsFragment eventsFragment;
- ContactFragment contactFragment;
- String currentOccasionGuestId = "";
- HashMap<InterfaceManager.DynamicTextView,Typeface>currentThemeTypeface = new HashMap<>();
- LinearLayout invitedActionLinearLayout;
- Button joinEventButton,declineEventButton;
- Theme currentTheme;
- PageTitleDynamicTextView titleTextView;
- public PageTitleDynamicTextView guestAmountTextView;
- Toolbar toolbar;
- FrameLayout rootFrameLayout,galleryFullScreenImageFrameLayout;
- ImageViewTouch galleryFullScreenImageViewTouch;
- ProgressBar galleryFullScreenProgressBar;
- ActionBarDrawerToggle toggle;
- boolean isImageFromGalleryOpened;
- boolean isEligibleToTakePicture = false;
- String currentGalleryEntryId;
- public boolean isFromPushNotif;
- public String gotoColumn = "attending";
- String title= "";
- public int position = 0;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- super.onCreate(savedInstanceState);
- if(!EventBus.getDefault().isRegistered(this)){
- EventBus.getDefault().register(this);
- }
- setContentView(R.layout.activity_main);
- SettingsManager.getInstance().setActivityJustMade(true);;
- realm = AppController.getInstance().getRealm();
- backgroundImageView = (ImageView)findViewById(R.id.mainActivity_background);
- backgroundImageView.setBackgroundColor(Color.parseColor("#000000"));
- drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- toolbar = (Toolbar) findViewById(R.id.toolbar);
- rootFrameLayout = (FrameLayout)findViewById(R.id.mainActivityRootFrameLayout);
- titleTextView = (PageTitleDynamicTextView)findViewById(R.id.titleToolBar);
- guestAmountTextView = (PageTitleDynamicTextView)findViewById(R.id.guestAmmountInToolBar);
- toolbar.setBackgroundColor(getResources().getColor(android.R.color.transparent));
- invitedActionLinearLayout = (LinearLayout)findViewById(R.id.mainActivity_invitedButtonLinearLayout);
- joinEventButton = (Button)findViewById(R.id.mainActivity_joinEventButton);
- declineEventButton = (Button)findViewById(R.id.mainActivity_declineEventButton);
- galleryFullScreenCloseImageView = (ImageView)findViewById(R.id.eventGalleryFullScreenCloseImageView);
- galleryFullScreenEditImageView = (ImageView)findViewById(R.id.eventGalleryFullScreenEditImageView);
- galleryFullScreenImageViewTouch = (ImageViewTouch)findViewById(R.id.eventGalleryFullScreenImageViewTouch);
- galleryFullScreenImageFrameLayout = (FrameLayout)findViewById(R.id.eventGalleryFullScreenImageFrameLayout);
- galleryFullScreenProgressBar = (ProgressBar)findViewById(R.id.eventGalleryFullScreenImageProgressBar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setDisplayShowTitleEnabled(false);
- getSupportActionBar().setHomeAsUpIndicator(getResources().getDrawable(R.drawable.profile));
- getSupportActionBar().setDisplayShowCustomEnabled(true);
- fragmentManager = getSupportFragmentManager();
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- Window window = getWindow();
- window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
- window.setStatusBarColor(Color.parseColor("#4B76A9"));
- }
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.setDrawerListener(toggle);
- toggle.syncState();
- navigationView = (NavigationView) findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- View headerLayout = navigationView.getHeaderView(0);
- LinearLayout switchEventTextViewButton = (LinearLayout) headerLayout.findViewById(R.id.nav_header_switchEvent);
- switchEventTextViewButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- eventsFragment = new EventsFragment();
- contactFragment = new ContactFragment();
- Menu m = navigationView.getMenu();
- for (int i=0;i<m.size();i++) {
- MenuItem mi = m.getItem(i);
- SubMenu subMenu = mi.getSubMenu();
- if (subMenu!=null && subMenu.size() >0 ) {
- for (int j=0; j <subMenu.size();j++) {
- MenuItem subMenuItem = subMenu.getItem(j);
- applyFontToMenuItem(subMenuItem);
- }
- }
- applyFontToMenuItem(mi);
- }
- leaveEventButton = (MontserratLightTextView) navigationView.findViewById(R.id.mainActivity_leaveEventButton);
- leaveEventButton.setOnClickListener(leaveButtonListener);
- declineEventButton.setOnClickListener(declineButtonListener);
- joinEventButton.setOnClickListener(joinButtonListener);
- galleryFullScreenCloseImageView.setOnClickListener(galleryFullScreenCloseImageViewListener);
- galleryFullScreenEditImageView.setOnClickListener(galleryFullScreenEditImageViewListener);
- if (getIntent().hasExtra("isFromPushNotif")) {
- isFromPushNotif = true;
- if (getIntent().hasExtra("occasionId")) {
- currentOccasionId = getIntent().getExtras().getString("occasionId");
- Occasion theOccasion = realm.where(Occasion.class).equalTo("id", currentOccasionId).findFirst();
- if (theOccasion != null) {
- currentOccasion = theOccasion;
- SettingsManager.getInstance().setCurrentOccasion(currentOccasion);
- }
- }
- guestAmountTextView.setVisibility(View.GONE);
- if(getIntent().hasExtra("gotoFragment")){
- switch (getIntent().getExtras().getString("gotoFragment")){
- case "events":
- position = 0;
- if(getIntent().hasExtra("notificationType")){
- switch (getIntent().getExtras().getString("notificationType")){
- case "eventsUpdated":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.GUEST);
- break;
- case "newInvitation":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.INVITED);
- break;
- case "totalResponseToday":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.HOST);
- break;
- case "requestApproved":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.GUEST);
- break;
- case "notAnsweredYet":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.GUEST);
- break;
- }
- }
- break;
- case "gallery":
- position = 2;
- if(getIntent().hasExtra("notificationType")){
- switch (getIntent().getExtras().getString("notificationType")){
- case "gallery":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.HOST);
- break;
- }
- }
- break;
- case "forum":
- position = 3;
- break;
- case "guestbook":
- position = 4;
- if(getIntent().hasExtra("notificationType")){
- switch (getIntent().getExtras().getString("notificationType")){
- case "guestbook":
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.HOST);
- break;
- }
- }
- break;
- case "guestlist":
- position = 5;
- if(getIntent().hasExtra("notificationType")) {
- if (getIntent().getExtras().getString("notificationType").equalsIgnoreCase("newRequest") || getIntent().getExtras().getString("notificationType").equalsIgnoreCase("invitationAccepted")){
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.HOST);
- }
- }
- break;
- }
- }
- if(getIntent().hasExtra("gotoColumn")){
- gotoColumn = getIntent().getExtras().getString("gotoColumn");
- }
- }else{
- isFromPushNotif = false;
- if(SettingsManager.getInstance().getCurrentOccasion()!=null){
- currentOccasion = SettingsManager.getInstance().getCurrentOccasion();
- currentOccasionId = currentOccasion.getId();
- }
- }
- galleryFullScreenEditImageView.setVisibility(View.GONE);
- initButtonForInvitedUser();
- initThemeAndTypeface();
- ServerManager.getInstance().getUserOccasionGuestId(currentOccasionId);
- }
- MontserratLightTextView.OnClickListener leaveButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(MainActivity.this);
- builder.setTitle(getResources().getString(R.string.app_name));
- builder.setMessage(getResources().getString(R.string.builder_leave_event));
- builder.setPositiveButton(getResources().getString(R.string.builder_yes), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,MainActivity.this);
- ServerManager.getInstance().leaveOccasion(currentOccasionId);
- }
- });
- builder.setNegativeButton(getResources().getString(R.string.builder_no), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- InterfaceManager.sharedInstance().setBuilderButtonTextColor(builder).show();
- }
- };
- Button.OnClickListener declineButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(MainActivity.this);
- builder.setTitle(getResources().getString(R.string.app_name));
- builder.setMessage(getResources().getString(R.string.builder_decline_event));
- builder.setPositiveButton(getResources().getString(R.string.builder_yes), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if(!currentOccasionGuestId.equals("")) {
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,MainActivity.this);
- ServerManager.getInstance().updateGuestStatusByGuest(currentOccasionGuestId,"declined");
- }else{
- ServerManager.getInstance().getUserOccasionGuestId(currentOccasionId);
- }
- }
- });
- builder.setNegativeButton(getResources().getString(R.string.builder_no), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- InterfaceManager.sharedInstance().setBuilderButtonTextColor(builder).show();
- }
- };
- Button.OnClickListener joinButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
- Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
- notificationIntent.addCategory("android.intent.category.DEFAULT");
- PendingIntent broadcast = PendingIntent.getBroadcast(MainActivity.this, getRandomNumber(), notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.HOUR, 24);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- alarmManager.setExact(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);
- }
- navigationView.setVisibility(View.VISIBLE);
- drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
- toggle.setDrawerIndicatorEnabled(true);
- if(!currentOccasionGuestId.equals("")) {
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,MainActivity.this);
- ServerManager.getInstance().updateGuestStatusByGuest(currentOccasionGuestId,"joined");
- }else{
- ServerManager.getInstance().getUserOccasionGuestId(currentOccasionId);
- }
- }
- };
- ImageView.OnClickListener galleryFullScreenCloseImageViewListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- galleryFullScreenImageFrameLayout.setVisibility(View.GONE);
- isImageFromGalleryOpened = false;
- }
- };
- ImageView.OnClickListener galleryFullScreenEditImageViewListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- PopupMenu popupMenu = new PopupMenu(MainActivity.this,v);
- popupMenu.inflate(R.menu.menu_item);
- popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
- switch (item.getItemId()){
- case R.id.menu_item_delete:
- android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(MainActivity.this);
- builder.setTitle(MainActivity.this.getResources().getString(R.string.app_name));
- builder.setMessage(MainActivity.this.getResources().getString(R.string.are_you_sure_want_to_delete_gallery_picture));
- builder.setPositiveButton(MainActivity.this.getResources().getString(R.string.builder_yes), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- galleryFullScreenImageFrameLayout.setVisibility(View.GONE);
- isImageFromGalleryOpened = false;
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,MainActivity.this);
- ServerManager.getInstance().deleteOccasionGallery(currentOccasionId, currentGalleryEntryId);
- }
- });
- builder.setNegativeButton(MainActivity.this.getResources().getString(R.string.builder_no), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- InterfaceManager.sharedInstance().setBuilderButtonTextColor(builder).show();
- break;
- }
- return false;
- }
- });
- popupMenu.show();
- }
- };
- public void register(){
- TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
- String deviceId = "";
- if(telephonyManager.getDeviceId()!=null){
- deviceId = telephonyManager.getDeviceId();
- }else{
- deviceId = Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
- }
- if(!deviceId.equals("")) {
- SettingsManager.getInstance().setDeviceId(deviceId);
- }
- }
- public void initButtonForInvitedUser(){
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.INVITED) {
- navigationView.setVisibility(View.GONE);
- drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
- toggle.setDrawerIndicatorEnabled(false);
- invitedActionLinearLayout.setVisibility(View.VISIBLE);
- Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Montserrat-Light.otf");
- declineEventButton.setTypeface(font);
- joinEventButton.setTypeface(font);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- declineEventButton.setLetterSpacing(0.07f);
- joinEventButton.setLetterSpacing(0.07f);
- }
- }else {
- navigationView.setVisibility(View.VISIBLE);
- drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
- toggle.setDrawerIndicatorEnabled(true);
- invitedActionLinearLayout.setVisibility(View.GONE);
- }
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.GUEST){
- leaveEventButton.setVisibility(View.VISIBLE);
- leaveEventButton.setEnabled(true);
- }else{
- leaveEventButton.setVisibility(View.GONE);
- }
- }
- public void initThemeAndTypeface(){
- if(currentOccasion!=null){
- if(currentOccasion.getThemeId()!=null) {
- if(!currentOccasion.getThemeId().equalsIgnoreCase("")){
- currentTheme = realm.where(Theme.class).equalTo("id",currentOccasion.getThemeId()).findFirst();
- if(currentTheme!=null){
- SettingsManager.getInstance().setCurrentTheme(currentTheme);
- SettingsManager.getInstance().setCurrentTypefaceHashMap(InterfaceManager.sharedInstance().getTypefaceByCurrentTheme(this, SettingsManager.getInstance().getCurrentTheme()));
- currentThemeTypeface = SettingsManager.getInstance().getCurrentTypefaceHashMap();
- }
- }
- }
- }
- initDynamicView();
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout, this);
- ServerManager.getInstance().getThemeByOccasionId(currentOccasionId);
- }
- public void initDynamicView(){
- if(currentThemeTypeface!=null) {
- try {
- if(currentTheme.getBackgroundImageURL()!=null){
- if(!currentTheme.getBackgroundImageURL().equalsIgnoreCase("")){
- Glide.with(getApplicationContext()).load(currentTheme.getBackgroundImageURL()).into(backgroundImageView);
- }
- }
- titleTextView.setTypeface(currentThemeTypeface.get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- titleTextView.setTextColor(Color.parseColor(currentTheme.getPageTitleFontTheme().getColor()));
- titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, currentTheme.getPageTitleFontTheme().getSize());
- guestAmountTextView.setTypeface(currentThemeTypeface.get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- guestAmountTextView.setTextColor(Color.parseColor(currentTheme.getPageTitleFontTheme().getColor()));
- guestAmountTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
- } catch (Exception e) {
- titleTextView.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- titleTextView.setTextColor(Color.parseColor("#FFFFFF"));
- titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
- guestAmountTextView.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- guestAmountTextView.setTextColor(Color.parseColor("#FFFFFF"));
- guestAmountTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
- }
- }else{
- backgroundImageView.setBackgroundDrawable(getResources().getDrawable(R.drawable.floral_dark));
- titleTextView.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- titleTextView.setTextColor(Color.parseColor("#FFFFFF"));
- titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
- guestAmountTextView.setTypeface(SettingsManager.getInstance().getDefaultTypeFaceHashMap().get(InterfaceManager.DynamicTextView.PAGE_TITLE));
- guestAmountTextView.setTextColor(Color.parseColor("#FFFFFF"));
- guestAmountTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
- }
- initView();
- }
- public void initView(){
- switch (position){
- case 0:
- title = getResources().getString(R.string.title_events);
- guestAmountTextView.setVisibility(View.GONE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new EventsFragment())
- .commitAllowingStateLoss();
- break;
- case 1:
- title = getResources().getString(R.string.title_contact);
- guestAmountTextView.setVisibility(View.GONE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new ContactFragment())
- .commitAllowingStateLoss();
- break;
- case 2:
- title = getResources().getString(R.string.title_gallery);
- guestAmountTextView.setVisibility(View.GONE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GalleryFragment())
- .commitAllowingStateLoss();
- break;
- case 3:
- title = getResources().getString(R.string.title_discussion);
- guestAmountTextView.setVisibility(View.GONE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new ForumFragment())
- .commitAllowingStateLoss();
- break;
- case 4:
- title = getResources().getString(R.string.title_guestbook);
- guestAmountTextView.setVisibility(View.GONE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GuestBookFragment())
- .commitAllowingStateLoss();
- break;
- case 5:
- title = getResources().getString(R.string.title_guestlist);
- guestAmountTextView.setVisibility(View.VISIBLE);
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GuestListFragment())
- .commitAllowingStateLoss();
- break;
- }
- titleTextView.setText(title);
- navigationView.getMenu().getItem(position).setChecked(true);
- }
- @Override
- public void onBackPressed() {
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- if (drawer.isDrawerOpen(GravityCompat.START)) {
- drawer.closeDrawer(GravityCompat.START);
- }else if(isImageFromGalleryOpened){
- galleryFullScreenImageFrameLayout.setVisibility(View.GONE);
- isImageFromGalleryOpened = false;
- }else {
- super.onBackPressed();
- finish();
- }
- }
- private void applyFontToMenuItem(MenuItem mi) {
- Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Montserrat-Light.otf");
- SpannableString mNewTitle = new SpannableString(mi.getTitle());
- mNewTitle.setSpan(new CustomTypefaceSpan("" , font), 0 , mNewTitle.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
- mi.setTitle(mNewTitle);
- }
- @SuppressWarnings("StatementWithEmptyBody")
- @Override
- public boolean onNavigationItemSelected(MenuItem item) {
- int id = item.getItemId();
- if (id == R.id.nav_event) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new EventsFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_events));
- guestAmountTextView.setVisibility(View.GONE);
- } else if (id == R.id.nav_contact) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new ContactFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_contact));
- guestAmountTextView.setVisibility(View.GONE);
- } else if (id == R.id.nav_gallery) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GalleryFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_gallery));
- guestAmountTextView.setVisibility(View.GONE);
- } else if (id == R.id.nav_discussion) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new ForumFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_discussion));
- guestAmountTextView.setVisibility(View.GONE);
- } else if (id == R.id.nav_guestbook) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GuestBookFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_guestbook));
- guestAmountTextView.setVisibility(View.GONE);
- } else if (id == R.id.nav_guestlist) {
- fragmentManager.beginTransaction()
- .replace(R.id.mainPageContainer, new GuestListFragment())
- .commit();
- drawer.closeDrawers();
- titleTextView.setText(MainActivity.this.getResources().getString(R.string.title_guestlist));
- if(SettingsManager.getInstance().getCurrentUserRole() == SettingsManager.UserRole.GUEST) {
- guestAmountTextView.setVisibility(View.GONE);
- }else{
- guestAmountTextView.setVisibility(View.VISIBLE);
- }
- }
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
- public void onEvent(GetUserOccasionGuestIdFinishedEvent event){
- if(event.occasionGuest!=null){
- currentOccasionGuestId = event.occasionGuest.getId();
- }
- }
- public void onEvent(GetThemeFinishedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(event.theme!=null){
- currentTheme = event.theme;
- SettingsManager.getInstance().setCurrentTheme(currentTheme);
- SettingsManager.getInstance().setCurrentTypefaceHashMap(
- InterfaceManager.sharedInstance().getTypefaceByCurrentTheme(this, SettingsManager.getInstance().getCurrentTheme()));
- currentThemeTypeface = SettingsManager.getInstance().getCurrentTypefaceHashMap();
- }
- initDynamicView();
- }
- public void onEvent(UpdateGuestStatusByGuestFinishedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(event.errorMessage.equals("")){
- if(event.userStatus.equalsIgnoreCase("joined")){
- SettingsManager.getInstance().setCurrentUserRole(SettingsManager.UserRole.GUEST);
- initButtonForInvitedUser();
- EventBus.getDefault().post(new ReturnToEventFragmentEvent());
- Toast.makeText(this, MainActivity.this.getResources().getString(R.string.notification_success_join_event),Toast.LENGTH_SHORT).show();
- }else if(event.userStatus.equals("declined")){
- finish();
- Toast.makeText(this, MainActivity.this.getResources().getString(R.string.notification_success_decline_event),Toast.LENGTH_SHORT).show();
- }
- }
- }
- public void onEvent(GalleryFullImageCloseButtonEvent event){
- }
- public void onEvent(GalleryFullImageItemClickedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- galleryFullScreenImageFrameLayout.setVisibility(View.VISIBLE);
- galleryFullScreenProgressBar.setVisibility(View.VISIBLE);
- if (SettingsManager.getInstance().getCurrentUser().getId().equalsIgnoreCase(event.ownerId) || SettingsManager.getInstance().getCurrentUserRole().equals(SettingsManager.UserRole.HOST)) {
- galleryFullScreenEditImageView.setVisibility(View.VISIBLE);
- }
- currentGalleryEntryId = event.galleryEntryId;
- galleryFullScreenProgressBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#FC00FF"), PorterDuff.Mode.MULTIPLY);
- Glide.with(MainActivity.this).load(event.imageURL).listener(new RequestListener<String, GlideDrawable>() {
- @Override
- public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
- return false;
- }
- @Override
- public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
- galleryFullScreenProgressBar.setVisibility(View.GONE);
- return false;
- }
- }).into(galleryFullScreenImageViewTouch);
- isImageFromGalleryOpened = true;
- }
- public void onEvent(MainActivityShowLoadingEvent event){
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,this);
- }
- public void onEvent(MainActivityHideLoadingEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- }
- public void onEvent(LeaveOccasionEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(event.errorMessage.equalsIgnoreCase("")){
- SettingsManager.getInstance().setCurrentOccasion(null);
- Intent i = new Intent(this, HomePageActivity.class);
- startActivity(i);
- finish();
- }else{
- InterfaceManager.sharedInstance().showErrorMessage(this,event.errorMessage);
- }
- }
- @Override
- public void onDestroy(){
- EventBus.getDefault().post(new RefreshHomePageOccasionEvent());
- super.onDestroy();
- if(EventBus.getDefault().isRegistered(this)){
- EventBus.getDefault().unregister(this);
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- switch (requestCode){
- case 0:
- int flag=0;
- if(grantResults.length>0){
- for(int i=0; i<grantResults.length; i++){
- if(grantResults[i] == PackageManager.PERMISSION_GRANTED){
- flag++;
- }
- }
- Log.v("login_flag", flag+"");
- if(flag==permissions.length){
- isEligibleToTakePicture = true;
- }else{
- isEligibleToTakePicture = false;
- }
- EventBus.getDefault().post(new AddPicturePermissionEvent(isEligibleToTakePicture, requestCode));
- }
- break;
- case 1:
- if(grantResults.length>0) {
- if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- isEligibleToTakePicture = true;
- }else{
- isEligibleToTakePicture = false;
- }
- EventBus.getDefault().post(new AddPicturePermissionEvent(isEligibleToTakePicture, requestCode));
- }
- break;
- }
- }
- public int getRandomNumber(){
- Random random = new Random();
- int mid = random.nextInt(9999 - 1000) + 1000;
- return mid;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement