package com.ijoomer.components.jomsocial; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RadioGroup; import android.widget.SeekBar; import com.ijoomer.common.classes.IjoomerUtilities; import com.ijoomer.common.configuration.IjoomerApplicationConfiguration; import com.ijoomer.common.configuration.IjoomerGlobalConfiguration; import com.ijoomer.customviews.IjoomerButton; import com.ijoomer.customviews.IjoomerEditText; import com.ijoomer.customviews.IjoomerTextView; import com.ijoomer.library.jomsocial.JomEventDataProvider; import com.ijoomer.src.R; import com.ijoomer.weservice.WebCallListener; import com.smart.framework.CustomAlertNeutral; import java.util.ArrayList; import java.util.HashMap; /** * This Class Contains All Method Related To JomEventActivity. * * @author tasol * */ public class JomEventActivity extends JomMasterActivity { private LinearLayout lnrEventHeader; private IjoomerTextView txtEventAll; private IjoomerTextView txtEventMy; private IjoomerTextView txtEventPast; private IjoomerTextView txtEventPending; private ImageView imgSearch; private IjoomerEditText editEventSearch; private IjoomerButton btnEventCreate; private JomEventDataProvider provider; private JomEventAllFragment allEventsFragment; private JomEventMyFragment myEventsFragment; private JomEventPastFragment pastEventsFragment; private JomEventPendingFragment pendingEventsFragment; private JomEventSearchFragment searchEventsFragment; private JomEventGroupFragment groupEventsFragment; final private String ALLEVENT = "allevent"; final private String MYEVENT = "myevent"; final private String PASTEVENT = "pastevent"; final private String PENDINGEVENT = "pendingevent"; @SuppressWarnings("unused") private String IN_USERID; private String IN_GROUP_ID; private String IN_GROUP_CREATE_EVENT; private String currentList = MYEVENT; /** * Overrides method */ @Override public int setLayoutId() { return R.layout.jom_event_list; } @Override public void initComponents() { lnrEventHeader = (LinearLayout) findViewById(R.id.lnrEventHeader); txtEventAll = (IjoomerTextView) findViewById(R.id.txtEventAll); txtEventMy = (IjoomerTextView) findViewById(R.id.txtEventMy); txtEventPast = (IjoomerTextView) findViewById(R.id.txtEventPast); txtEventPending = (IjoomerTextView) findViewById(R.id.txtEventPending); imgSearch = (ImageView) findViewById(R.id.imgSearch); editEventSearch = (IjoomerEditText) findViewById(R.id.editEventSearch); btnEventCreate = (IjoomerButton) findViewById(R.id.btnEventCreate); provider = new JomEventDataProvider(this); getIntentData(); } @Override public void prepareViews() { if (!IN_GROUP_ID.equals("0")) { if (IN_GROUP_CREATE_EVENT.equals("1")) { btnEventCreate.setVisibility(View.VISIBLE); } txtEventMy.setVisibility(View.GONE); txtEventPending.setVisibility(View.GONE); if (txtEventAll.getVisibility() == View.VISIBLE || txtEventMy.getVisibility() == View.VISIBLE || txtEventPast.getVisibility() == View.VISIBLE || txtEventPending.getVisibility() == View.VISIBLE) { lnrEventHeader.setVisibility(View.VISIBLE); } editEventSearch.setVisibility(View.GONE); imgSearch.setVisibility(View.GONE); currentList = ALLEVENT; txtEventAll.setTextColor(getResources().getColor(R.color.jom_blue)); if (groupEventsFragment == null) { groupEventsFragment = new JomEventGroupFragment(); } addFragment(R.id.lnrFragment, groupEventsFragment); } else { btnEventCreate.setVisibility(View.VISIBLE); lnrEventHeader.setVisibility(View.VISIBLE); txtEventMy.setTextColor(getResources().getColor(R.color.jom_blue)); if (myEventsFragment == null) { myEventsFragment = new JomEventMyFragment(); } addFragment(R.id.lnrFragment, myEventsFragment); } if (!IjoomerGlobalConfiguration.isEventCreate()) { btnEventCreate.setVisibility(View.GONE); } } @Override protected void onResume() { super.onResume(); if (IjoomerApplicationConfiguration.isReloadRequired()) { IjoomerApplicationConfiguration.setReloadRequired(false); if (currentList.equals(ALLEVENT)) { if (!IN_GROUP_ID.equals("0")) { groupEventsFragment.update(); } else { allEventsFragment.update(); } } else if (currentList.equals(MYEVENT)) { myEventsFragment.update(); } else if (currentList.equals(PASTEVENT)) { pastEventsFragment.update(); } else if (currentList.equals(PENDINGEVENT)) { pendingEventsFragment.update(); } } } @Override public void setActionListeners() { imgSearch.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { hideSoftKeyboard(); if (editEventSearch.getText().toString().trim().length() > 0) { searchEventsFragment = new JomEventSearchFragment(); searchEventsFragment.setSerachKeyword(editEventSearch.getText().toString()); addFragment(R.id.lnrFragment, searchEventsFragment); } else { editEventSearch.setError(getString(R.string.validation_value_required)); } } }); editEventSearch.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence c, int arg1, int arg2, int count) { } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void afterTextChanged(Editable edit) { if (edit.length() == 0) { if (currentList.equals(ALLEVENT)) { if (!IN_GROUP_ID.equals("0")) { if (groupEventsFragment == null) { groupEventsFragment = new JomEventGroupFragment(); } addFragment(R.id.lnrFragment, groupEventsFragment); } else { if (allEventsFragment == null) { allEventsFragment = new JomEventAllFragment(); } addFragment(R.id.lnrFragment, allEventsFragment); } } else if (currentList.equals(MYEVENT)) { if (myEventsFragment == null) { myEventsFragment = new JomEventMyFragment(); } addFragment(R.id.lnrFragment, myEventsFragment); } else if (currentList.equals(PASTEVENT)) { if (pastEventsFragment == null) { pastEventsFragment = new JomEventPastFragment(); } addFragment(R.id.lnrFragment, pastEventsFragment); } else if (currentList.equals(PENDINGEVENT)) { if (pendingEventsFragment == null) { pendingEventsFragment = new JomEventPendingFragment(); } addFragment(R.id.lnrFragment, pendingEventsFragment); } } } }); btnEventCreate.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.addOrEditEventFieldList("0", IN_GROUP_ID, new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); try { loadNew(JomEventCreateActivity.class, JomEventActivity.this, false, "IN_FIELD_LIST", data1, "IN_EVENT_ID", "0", "IN_GROUP_ID", IN_GROUP_ID); } catch (Throwable e) { e.printStackTrace(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); txtEventMy.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!currentList.equals(MYEVENT)) { txtEventPast.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventPending.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventAll.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventMy.setTextColor(getResources().getColor(R.color.jom_blue)); currentList = MYEVENT; if (myEventsFragment == null) { myEventsFragment = new JomEventMyFragment(); } addFragment(R.id.lnrFragment, myEventsFragment); } } }); txtEventAll.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!currentList.equals(ALLEVENT)) { txtEventPast.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventPending.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventAll.setTextColor(getResources().getColor(R.color.jom_blue)); txtEventMy.setTextColor(getResources().getColor(R.color.jom_txt_color)); currentList = ALLEVENT; if (!IN_GROUP_ID.equals("0")) { if (groupEventsFragment == null) { groupEventsFragment = new JomEventGroupFragment(); } addFragment(R.id.lnrFragment, groupEventsFragment); } else { if (allEventsFragment == null) { allEventsFragment = new JomEventAllFragment(); } addFragment(R.id.lnrFragment, allEventsFragment); } } } }); txtEventPast.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!currentList.equals(PASTEVENT)) { txtEventPast.setTextColor(getResources().getColor(R.color.jom_blue)); txtEventPending.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventAll.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventMy.setTextColor(getResources().getColor(R.color.jom_txt_color)); currentList = PASTEVENT; if (pastEventsFragment == null) { pastEventsFragment = new JomEventPastFragment(); } addFragment(R.id.lnrFragment, pastEventsFragment); } } }); txtEventPending.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!currentList.equals(PENDINGEVENT)) { txtEventPending.setTextColor(getResources().getColor(R.color.jom_blue)); txtEventPast.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventAll.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtEventMy.setTextColor(getResources().getColor(R.color.jom_txt_color)); currentList = PENDINGEVENT; if (pendingEventsFragment == null) { pendingEventsFragment = new JomEventPendingFragment(); } addFragment(R.id.lnrFragment, pendingEventsFragment); } } }); } @Override public void onCheckedChanged(RadioGroup arg0, int arg1) { } /** * Class methods */ /** * This method used to get intent data. */ private void getIntentData() { IN_USERID = getIntent().getStringExtra("IN_USERID") == null ? "0" : getIntent().getStringExtra("IN_USERID"); IN_GROUP_ID = getIntent().getStringExtra("IN_GROUP_ID") == null ? "0" : getIntent().getStringExtra("IN_GROUP_ID"); IN_GROUP_CREATE_EVENT = getIntent().getStringExtra("IN_GROUP_CREATE_EVENT") == null ? "1" : getIntent().getStringExtra("IN_GROUP_CREATE_EVENT"); } /** * This method used to shown response message. * @param responseCode represented response code * @param finishActivityOnConnectionProblem represented finish activity on connection problem */ private void responseErrorMessageHandler(final int responseCode, final boolean finishActivityOnConnectionProblem) { IjoomerUtilities.getCustomOkDialog(getString(R.string.event), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { if (IjoomerGlobalConfiguration.isEventCreate()) { btnEventCreate.setVisibility(View.VISIBLE); } } }); } }