use of app.insti.activity.MainActivity in project IITB-App by wncc.
the class FeedFragment method initFab.
/**
* Initialize the add event fab if the user has permission
*/
private void initFab() {
if (((MainActivity) getActivity()).createEventAccess()) {
fab.show();
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebViewFragment webViewFragment = new WebViewFragment();
Bundle bundle = new Bundle();
bundle.putString(Constants.WV_TYPE, Constants.WV_TYPE_ADD_EVENT);
webViewFragment.setArguments(bundle);
((MainActivity) getActivity()).updateFragment(webViewFragment);
}
});
feedRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
if (dy > 0)
fab.hide();
else if (dy < 0)
fab.show();
}
});
}
}
use of app.insti.activity.MainActivity in project IITB-App by wncc.
the class RecyclerViewFragment method onCreateOptionsMenu.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.search_view_menu, menu);
MenuItem item = menu.findItem(R.id.action_search);
SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItem.SHOW_AS_ACTION_IF_ROOM);
item.setActionView(sv);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
performSearch(query);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
searchQuery = null;
updateData();
showLoader = true;
return true;
} else if (newText.length() >= 3) {
performSearch(newText);
return true;
}
return false;
}
});
}
use of app.insti.activity.MainActivity in project IITB-App by wncc.
the class EventFragment method inflateViews.
private void inflateViews(final Event event) {
if (getActivity() == null || getView() == null)
return;
eventPicture = (ImageView) getActivity().findViewById(R.id.event_picture_2);
final TextView eventTitle = (TextView) getActivity().findViewById(R.id.event_page_title);
final TextView eventDate = (TextView) getActivity().findViewById(R.id.event_page_date);
final TextView eventDescription = (TextView) getActivity().findViewById(R.id.event_page_description);
goingButton = getActivity().findViewById(R.id.going_button);
interestedButton = getActivity().findViewById(R.id.interested_button);
final ImageButton navigateButton = getActivity().findViewById(R.id.navigate_button);
final ImageButton webEventButton = getActivity().findViewById(R.id.web_event_button);
final ImageButton shareEventButton = getActivity().findViewById(R.id.share_event_button);
if (event.isEventBigImage() || !creatingView) {
Picasso.get().load(event.getEventImageURL()).into(eventPicture);
} else {
Picasso.get().load(Utils.resizeImageUrl(event.getEventImageURL())).into(eventPicture);
}
eventTitle.setText(event.getEventName());
Timestamp timestamp = event.getEventStartTime();
Date Date = new Date(timestamp.getTime());
SimpleDateFormat simpleDateFormatDate = new SimpleDateFormat("dd MMM");
SimpleDateFormat simpleDateFormatTime = new SimpleDateFormat("HH:mm");
// Check for minimal event
if (event.getEventDescription() == null) {
refreshEvent(event);
return;
}
Utils.getMarkwon().setMarkdown(eventDescription, event.getEventDescription());
final List<CardInterface> cardList = new ArrayList<>(event.getEventOfferedAchievements());
cardList.addAll(event.getEventBodies());
final RecyclerView bodyRecyclerView = getActivity().findViewById(R.id.body_card_recycler_view);
GenericAdapter genericAdapter = new GenericAdapter(cardList, this);
bodyRecyclerView.setAdapter(genericAdapter);
bodyRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
// Common
final String timing = simpleDateFormatDate.format(Date) + " | " + simpleDateFormatTime.format(Date);
StringBuilder eventVenueName = new StringBuilder();
for (Venue venue : event.getEventVenues()) {
eventVenueName.append(", ").append(venue.getVenueShortName());
}
// Make the venues clickable
if (eventVenueName.length() > 0) {
// Get the whole string
SpannableString ss = new SpannableString(eventVenueName.toString().substring(2));
// Make each venue clickable
int i = 0;
for (final Venue venue : event.getEventVenues()) {
int length = venue.getVenueShortName().length();
ClickableSpan cs = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
MapFragment mapFragment = MapFragment.newInstance(MapFragment.getPassableName(venue.getVenueShortName()));
((MainActivity) getActivity()).updateFragment(mapFragment);
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
if (getActivity() == null || !isAdded())
return;
ds.setColor(getResources().getColor(R.color.primaryTextColor));
ds.setUnderlineText(false);
}
};
ss.setSpan(cs, i, i + length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
i += length + 2;
}
// Setup the text view
eventDate.setText(TextUtils.concat(timing + " | ", ss));
eventDate.setMovementMethod(LinkMovementMethod.getInstance());
} else {
eventDate.setText(TextUtils.concat(timing));
}
interestedButton.setOnClickListener(getInterestedButtonOnClickListener());
goingButton.setOnClickListener(getGoingButtonOnClickListener());
updateGoingInterestedButtonsAppearance(event.getEventUserUes());
if (!event.getEventVenues().isEmpty()) {
if (event.getEventVenues().get(0).getVenueLatitude() == 0) {
navigateButton.setVisibility(View.GONE);
} else {
navigateButton.setOnClickListener(v -> {
Venue primaryVenue = event.getEventVenues().get(0);
Uri gmmIntentUri = Uri.parse("google.navigation:q=" + primaryVenue.getVenueLatitude() + "," + primaryVenue.getVenueLongitude() + "(" + primaryVenue.getVenueName() + ")");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
});
}
} else {
navigateButton.setVisibility(View.GONE);
}
shareEventButton.setOnClickListener(new View.OnClickListener() {
String shareUrl = ShareURLMaker.getEventURL(event);
@Override
public void onClick(View view) {
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "Sharing URL");
i.putExtra(Intent.EXTRA_TEXT, shareUrl);
startActivity(Intent.createChooser(i, "Share URL"));
}
});
if (event.getEventWebsiteURL() != null && !event.getEventWebsiteURL().isEmpty()) {
webEventButton.setVisibility(View.VISIBLE);
webEventButton.setOnClickListener(new View.OnClickListener() {
String eventwebURL = event.getEventWebsiteURL();
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(eventwebURL));
startActivity(browserIntent);
}
});
}
eventPicture.setOnClickListener(v -> zoomImageFromThumb(eventPicture));
mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime);
final FloatingActionButton fab = getView().findViewById(R.id.edit_fab);
if (((MainActivity) getActivity()).editEventAccess(event)) {
fab.show();
NestedScrollView nsv = getView().findViewById(R.id.event_scrollview);
nsv.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
if (scrollY > oldScrollY)
fab.hide();
else
fab.show();
});
}
fab.setOnClickListener(v -> {
WebViewFragment webViewFragment = new WebViewFragment();
Bundle bundle = new Bundle();
bundle.putString(Constants.WV_TYPE, Constants.WV_TYPE_UPDATE_EVENT);
bundle.putString(Constants.WV_ID, event.getEventID());
webViewFragment.setArguments(bundle);
((MainActivity) getActivity()).updateFragment(webViewFragment);
});
}
use of app.insti.activity.MainActivity in project IITB-App by wncc.
the class BodyFragment method displayBody.
private void displayBody() {
/* Skip if we're already destroyed */
if (getActivity() == null || getView() == null)
return;
if (body != min_body)
bodyDisplayed = true;
bodyPicture = (ImageView) getActivity().findViewById(R.id.body_picture);
/* Load only low res image if transition is not completed */
if (transitionEnded) {
Utils.loadImageWithPlaceholder(bodyPicture, body.getBodyImageURL());
} else {
Picasso.get().load(Utils.resizeImageUrl(body.getBodyImageURL())).into(bodyPicture);
}
/* Skip for min body */
if (body == min_body) {
return;
}
bodyPicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
zoomImageFromThumb(bodyPicture);
final FloatingActionButton fab = getView().findViewById(R.id.edit_fab);
fab.hide();
}
});
mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime);
final List<Role> roles = body.getBodyRoles();
final List<User> users = new ArrayList<>();
for (Role role : roles) {
if (role.getRoleUsersDetail() != null) {
for (User user : role.getRoleUsersDetail()) {
user.setCurrentRole(role.getRoleName());
users.add(user);
}
}
}
final List<CardInterface> cards = new ArrayList<>();
cards.add(new BodyHeadCard(body));
addWithTitleCard(cards, body.getBodyEvents(), "Events");
addWithTitleCard(cards, users, "People");
addWithTitleCard(cards, body.getBodyChildren(), "Organizations");
addWithTitleCard(cards, body.getBodyParents(), "Part of");
final RecyclerView recyclerView = (RecyclerView) getActivity().findViewById(R.id.body_recycler_view);
GenericAdapter genericAdapter = new GenericAdapter(cards, this);
recyclerView.setAdapter(genericAdapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
getActivity().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
/* Show update button if role */
if (((MainActivity) getActivity()).editBodyAccess(body)) {
final FloatingActionButton fab = getView().findViewById(R.id.edit_fab);
fab.show();
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0)
fab.hide();
else
fab.show();
}
});
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebViewFragment webViewFragment = new WebViewFragment();
Bundle bundle = new Bundle();
bundle.putString(Constants.WV_TYPE, Constants.WV_TYPE_UPDATE_BODY);
bundle.putString(Constants.WV_ID, body.getBodyID());
webViewFragment.setArguments(bundle);
((MainActivity) getActivity()).updateFragment(webViewFragment);
}
});
}
}
use of app.insti.activity.MainActivity in project IITB-App by wncc.
the class BodyFragment method onBackPressed.
@Override
public boolean onBackPressed() {
if (zoomMode) {
zoomOut(expandedImageView, startBounds, startScaleFinal, bodyPicture);
zoomMode = false;
/* Show fab if the user has access */
if (((MainActivity) getActivity()).editBodyAccess(body)) {
final FloatingActionButton fab = getView().findViewById(R.id.edit_fab);
fab.show();
}
return true;
}
return false;
}
Aggregations