package com.ijoomer.components.jomsocial;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.SeekBar;
import com.ijoomer.common.classes.IjoomerUtilities;
import com.ijoomer.customviews.IjoomerButton;
import com.ijoomer.customviews.IjoomerEditText;
import com.ijoomer.library.jomsocial.JomEventDataProvider;
import com.ijoomer.library.jomsocial.JomGroupDataProvider;
import com.ijoomer.src.R;
import com.ijoomer.weservice.WebCallListener;
import com.smart.framework.CustomAlertNeutral;
/**
* This Class Contains All Method Related To JomInviteFriendActivity.
*
* @author tasol
*
*/
public class JomInviteFriendActivity extends JomMasterActivity {
private IjoomerEditText edtAddFriend;
private IjoomerEditText edtMessage;
private IjoomerButton btnCancel;
private IjoomerButton btnInvite;
private JomGroupDataProvider groupProvider;
private JomEventDataProvider eventProvider;
private final int GET_FRIEND=1;
private final String SELECTEDFRIEND="selectedFriend";
private final String SELECTEDFRIENDIDS="selectedFriendIds";
private String IN_GROUP_ID;
private String IN_EVENT_ID;
/**
* Overrides methods
*/
@Override
public int setLayoutId() {
return R.layout.jom_invite_friend;
}
@Override
public void initComponents() {
getIntentData();
groupProvider = new JomGroupDataProvider(this);
eventProvider = new JomEventDataProvider(this);
edtAddFriend = (IjoomerEditText) findViewById(R.id.edtAddFriend);
edtMessage = (IjoomerEditText) findViewById(R.id.edtMessage);
btnInvite = (IjoomerButton) findViewById(R.id.btnInvite);
btnCancel = (IjoomerButton) findViewById(R.id.btnCancel);
}
@Override
public void prepareViews() {
}
@Override
public void setActionListeners() {
btnInvite.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
hideSoftKeyboard();
boolean validationFlag = true;
if (edtAddFriend.getText().toString().trim().length() <= 0) {
validationFlag = false;
edtAddFriend.setError(getString(R.string.validation_value_required));
}
if (validationFlag) {
if (!IN_GROUP_ID.equals("0")) {
final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request));
groupProvider.inviteFriend(IN_GROUP_ID, edtAddFriend.getTag().toString().trim(), edtMessage.getText().toString().trim().length() > 0 ? edtMessage.getText().toString().trim()
: null, new WebCallListener() {
@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(groupProvider.getNotificationData());
finish();
} else {
responseErrorMessageHandler(responseCode, true);
}
}
});
} else if (!IN_EVENT_ID.equals("0")) {
final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request));
eventProvider.inviteFriend(IN_EVENT_ID, edtAddFriend.getTag().toString().trim(), edtMessage.getText().toString().trim().length() > 0 ? edtMessage.getText().toString().trim()
: null, new WebCallListener() {
@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(eventProvider.getNotificationData());
finish();
} else {
responseErrorMessageHandler(responseCode, true);
}
}
});
}
} else {
edtAddFriend.setError(getString(R.string.validation_value_required));
}
}
});
edtAddFriend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String selectedFriend = edtAddFriend.getTag() != null ? edtAddFriend.getTag().toString():"";
if(!IN_EVENT_ID.equals("0")){
try {
loadNewResult(JomFriendSearchActivity.class,JomInviteFriendActivity.this,GET_FRIEND,"IN_TYPE",EVENT,"IN_SELECTEDFRIENDIDS",selectedFriend,"IN_ISMULTIPLEALLOW",true,"IN_EVENT_ID",IN_EVENT_ID);
} catch (Throwable e) {
e.printStackTrace();
}
}else{
try {
loadNewResult(JomFriendSearchActivity.class,JomInviteFriendActivity.this,GET_FRIEND,"IN_TYPE",GROUP,"IN_SELECTEDFRIENDIDS",selectedFriend,"IN_ISMULTIPLEALLOW",true,"IN_GROUP_ID",IN_GROUP_ID);
} catch (Throwable e) {
e.printStackTrace();
}
}
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
if(requestCode== GET_FRIEND){
edtAddFriend.setText(data.getStringExtra(SELECTEDFRIEND));
edtAddFriend.setTag(data.getStringExtra(SELECTEDFRIENDIDS));
}
}
}
/**
* Class methods
*/
/**
* This method used to get intent data.
*/
private void getIntentData() {
IN_GROUP_ID = getIntent().getStringExtra("IN_GROUP_ID") == null ? "0" : getIntent().getStringExtra("IN_GROUP_ID");
IN_EVENT_ID = getIntent().getStringExtra("IN_EVENT_ID") == null ? "0" : getIntent().getStringExtra("IN_EVENT_ID");
}
/**
* 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.invite_friends), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok),
R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {
@Override
public void NeutralMethod() {
}
});
}
}