Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dss.invitup.vc.homePage;
- import android.app.Activity;
- import android.graphics.Typeface;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.view.LayoutInflater;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.AdapterView;
- import android.widget.Button;
- import android.widget.FrameLayout;
- import android.widget.ImageButton;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.RelativeLayout;
- import android.widget.Toast;
- import com.dss.invitup.R;
- import com.dss.invitup.adapters.JoinEventSingleOccasionAdapter;
- import com.dss.invitup.events.AskJoinEventFinishedEvent;
- import com.dss.invitup.events.GetOccasionFromCodeFinishedEvent;
- import com.dss.invitup.events.HomePageBackButtonTapped;
- import com.dss.invitup.events.QRCodeEventButtonTapped;
- import com.dss.invitup.models.Occasion;
- import com.dss.invitup.singleton.InterfaceManager;
- import com.dss.invitup.singleton.ServerManager;
- import com.dss.invitup.view.MontserratLightTextView;
- import com.dss.invitup.view.RobotoBoldEditText;
- import com.dss.invitup.view.RobotoLightTextView;
- import de.greenrobot.event.EventBus;
- /**
- * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
- */
- public class JoinEventFragment extends Fragment{
- Button scanQRCodeButton;
- RobotoBoldEditText codeEditText;
- ImageButton backButton, submitButton;
- JoinEventSingleOccasionAdapter joinEventSingleOccasionAdapter;
- ListView singleOccasionListView;
- RobotoLightTextView completeJoinEventTextView;
- LinearLayout mainLinearLayout;
- MontserratLightTextView messageTextView;
- RelativeLayout successJoinEventRelativeLayout;
- String qrCodeString;
- FrameLayout rootFrameLayout;
- InputMethodManager inputMethodManager;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if(this.getArguments()!=null){
- Bundle bundle = this.getArguments();
- qrCodeString = bundle.getString("qrCodeString","");
- String[] qrCodeArrayString = qrCodeString.split("/");
- String occasionCode = qrCodeArrayString[qrCodeArrayString.length-1];
- ServerManager.getInstance().getOccasionFromCode(occasionCode.toString());
- }
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_join_event, container, false);
- if(!EventBus.getDefault().isRegistered(this)) {
- EventBus.getDefault().register(this);
- }
- mainLinearLayout = (LinearLayout)view.findViewById(R.id.joinEventFragment_mainLinearLayout);
- successJoinEventRelativeLayout = (RelativeLayout)view.findViewById(R.id.joinEventFragment_completeJoinEventRelativeLayout);
- rootFrameLayout = (FrameLayout)view.findViewById(R.id.joinEventFragmentRootFrameLayout);
- scanQRCodeButton = (Button)view.findViewById(R.id.joinEventFragment_scanQRButton);
- codeEditText = (RobotoBoldEditText)view.findViewById(R.id.joinEventFragment_codeEditText);
- backButton = (ImageButton)view.findViewById(R.id.joinEventFragment_backButton);
- messageTextView = (MontserratLightTextView)view.findViewById(R.id.joinEventFragment_messageTextView);
- submitButton = (ImageButton)view.findViewById(R.id.joinEventFragment_submitImageButton);
- singleOccasionListView = (ListView)view.findViewById(R.id.joinEventFragment_singleOccasionListView);
- completeJoinEventTextView = (RobotoLightTextView)view.findViewById(R.id.joinEventFragment_completeJoinText);
- joinEventSingleOccasionAdapter = new JoinEventSingleOccasionAdapter(getActivity());
- inputMethodManager = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE);
- return view;
- }
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- singleOccasionListView.setAdapter(joinEventSingleOccasionAdapter);
- Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Montserrat-Light.otf");
- scanQRCodeButton.setTypeface(font);
- codeEditText.setFocusable(false);
- codeEditText.setFocusableInTouchMode(true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- scanQRCodeButton.setLetterSpacing(0.07f);
- }
- codeEditText.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- codeEditText.setFocusable(true);
- return false;
- }
- });
- codeEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
- @Override
- public void onFocusChange(View v, boolean hasFocus) {
- if (!inputMethodManager.isActive()){
- codeEditText.clearFocus();
- codeEditText.setFocusable(false);
- inputMethodManager.hideSoftInputFromWindow(codeEditText.getWindowToken(), 0);
- }
- }
- });
- codeEditText.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- if(before>count){
- if(messageTextView.getVisibility() == View.VISIBLE){
- messageTextView.setVisibility(View.GONE);
- return;
- }
- if(singleOccasionListView.getVisibility() == View.VISIBLE){
- singleOccasionListView.setVisibility(View.GONE);
- return;
- }
- }
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- singleOccasionListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- Occasion theOccasion = (Occasion)joinEventSingleOccasionAdapter.getItem(position);
- ServerManager.getInstance().askToJoin(theOccasion.getId());
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,getActivity());
- }
- });
- submitButton.setOnClickListener(submitButtonListener);
- backButton.setOnClickListener(backButtonListener);
- scanQRCodeButton.setOnClickListener(scanQRCodeButtonListener);
- }
- ImageButton.OnClickListener submitButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
- singleOccasionListView.setVisibility(View.GONE);
- messageTextView.setVisibility(View.GONE);
- if(codeEditText.getText().equals("")){
- Toast.makeText(getActivity(),getActivity().getResources().getString(R.string.notification_no_code),Toast.LENGTH_SHORT).show();
- }else{
- InterfaceManager.sharedInstance().showLoading(rootFrameLayout,getActivity());
- ServerManager.getInstance().getOccasionFromCode(codeEditText.getText().toString());
- }
- }
- };
- ImageButton.OnClickListener backButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(codeEditText.hasFocusable()){
- inputMethodManager.hideSoftInputFromWindow(codeEditText.getWindowToken(), 0);
- }
- EventBus.getDefault().post(new HomePageBackButtonTapped());
- }
- };
- Button.OnClickListener scanQRCodeButtonListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- EventBus.getDefault().post(new QRCodeEventButtonTapped());
- }
- };
- public void onEvent(GetOccasionFromCodeFinishedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(event.isSuccess){
- if(event.occasion!=null){
- if(event.occasion.isPrivate()){
- messageTextView.setText(getActivity().getResources().getString(R.string.text_event_private));
- messageTextView.setVisibility(View.VISIBLE);
- }else{
- singleOccasionListView.setVisibility(View.VISIBLE);
- joinEventSingleOccasionAdapter.updateAdapter(event.occasion);
- }
- }else{
- messageTextView.setText(getActivity().getResources().getString(R.string.text_no_event_found));
- messageTextView.setVisibility(View.VISIBLE);
- }
- }else{
- InterfaceManager.sharedInstance().showErrorMessage(getActivity(), event.errorMessage);
- }
- }
- public void onEvent(AskJoinEventFinishedEvent event){
- InterfaceManager.sharedInstance().hideLoading();
- if(event.errorMessage.equals("")){
- mainLinearLayout.setVisibility(View.GONE);
- successJoinEventRelativeLayout.setVisibility(View.VISIBLE);
- completeJoinEventTextView.setText(getActivity().getResources().getString(R.string.text_request_to_join)
- +" "
- + event.occasionGuest.getOccasion().getName()
- +" "
- + event.occasionGuest.getOccasion().getOccasionType()
- +" "
- +getActivity().getResources().getString(R.string.text_request_has_been_sent));
- }else{
- String errorMessage = event.errorMessage;
- if(errorMessage.equalsIgnoreCase("user has asked to join before")){
- Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.notification_asked_join_event), Toast.LENGTH_LONG).show();
- }else if(errorMessage.equalsIgnoreCase("you are the occasion's owner")){
- Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.notification_owner_event), Toast.LENGTH_LONG).show();
- }else if(errorMessage.equalsIgnoreCase("user has joined the event")) {
- Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.notification_already_join_event), Toast.LENGTH_LONG).show();
- }else{
- Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
- }
- }
- }
- @Override
- public void onDestroy(){
- super.onDestroy();
- if(EventBus.getDefault().isRegistered(this)) {
- EventBus.getDefault().unregister(this);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement