package com.ijoomer.common.classes;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.Intent;
import android.text.Html;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import com.ijoomer.custom.interfaces.ShareListner;
import com.ijoomer.customviews.IjoomerButton;
import com.ijoomer.customviews.IjoomerEditText;
import com.ijoomer.src.R;
import com.ijoomer.theme.ThemeManager;
/**
* This Class Contains All Method Related To IJoomerTwitterShareActivity.
*
* @author tasol
*
*/
public class IJoomerMailShareActivity extends IjoomerSuperMaster {
private LinearLayout lnrSayAboutStory;
private LinearLayout lnrEmailShare;
private ImageView imgShareAddEmail;
private ImageView imgShareClose;
private IjoomerEditText edtShareEmail;
private IjoomerEditText edtShareEmailMessage;
private IjoomerButton btnSend;
private IjoomerButton btnCancel;
private RadioGroup rdgShare;
private ArrayList<HashMap<String, Object>> selectedData;
private String IN_SHARE_CAPTION;
private String IN_SHARE_DESCRIPTION;
private String IN_SHARE_SHARELINK;
/**
* Overrides methods
*/
@Override
public int setLayoutId() {
return ThemeManager.getInstance().getShare();
}
@Override
public void initComponents() {
lnrSayAboutStory = (LinearLayout) findViewById(R.id.lnrSayAboutStory);
lnrEmailShare = (LinearLayout) findViewById(R.id.lnrEmailShare);
rdgShare = (RadioGroup) findViewById(R.id.rdgShare);
imgShareAddEmail = (ImageView) findViewById(R.id.imgShareAddEmail);
imgShareClose = (ImageView) findViewById(R.id.imgShareClose);
edtShareEmail = (IjoomerEditText) findViewById(R.id.edtShareEmail);
edtShareEmailMessage = (IjoomerEditText) findViewById(R.id.edtShareEmailMessage);
btnSend = (IjoomerButton) findViewById(R.id.btnSend);
btnCancel = (IjoomerButton) findViewById(R.id.btnCancel);
selectedData = new ArrayList<HashMap<String, Object>>();
getIntentData();
rdgShare.setVisibility(View.GONE);
lnrSayAboutStory.setVisibility(View.GONE);
lnrEmailShare.setVisibility(View.VISIBLE);
}
@Override
public void setActionListeners() {
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
}
});
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (edtShareEmail.getText().toString().trim().length() > 0) {
onEmail(edtShareEmail.getText().toString(), edtShareEmailMessage.getText().toString().trim());
} else {
ting(getString(R.string.validation_value_required));
}
}
});
imgShareAddEmail.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
IjoomerUtilities.getContactDialog(selectedData, new ShareListner() {
@SuppressWarnings("unchecked")
@Override
public void onClick(String shareOn, Object value, String message) {
selectedData.clear();
selectedData.addAll((ArrayList<HashMap<String, Object>>) value);
edtShareEmail.setText(message);
}
});
}
});
imgShareClose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
}
});
}
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
}
@Override
public View setLayoutView() {
return null;
}
@Override
public int setHeaderLayoutId() {
return 0;
}
@Override
public int setFooterLayoutId() {
return 0;
}
@Override
public void prepareViews() {
}
@Override
public String[] setTabItemNames() {
return null;
}
@Override
public int setTabBarDividerResId() {
return 0;
}
@Override
public int setTabItemLayoutId() {
return 0;
}
@Override
public int[] setTabItemOnDrawables() {
return null;
}
@Override
public int[] setTabItemOffDrawables() {
return null;
}
@Override
public int[] setTabItemPressDrawables() {
return null;
}
/**
* Class methods
*/
/**
* This method used to get Intent data.
*/
private void getIntentData() {
IN_SHARE_CAPTION = getIntent().getStringExtra("IN_SHARE_CAPTION") != null ? getIntent().getStringExtra("IN_SHARE_CAPTION") : "";
IN_SHARE_DESCRIPTION = getIntent().getStringExtra("IN_SHARE_DESCRIPTION") != null ? getIntent().getStringExtra("IN_SHARE_DESCRIPTION") : "";
IN_SHARE_SHARELINK = getIntent().getStringExtra("IN_SHARE_SHARELINK") != null ? getIntent().getStringExtra("IN_SHARE_SHARELINK") : "";
}
/**
* This method used to share data on mail.
* @param value represented sender id with (,) separated
* @param message represented message share
*/
private void onEmail(String value, String message) {
String[] to = value.toString().split(",");
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/html");
i.putExtra(Intent.EXTRA_EMAIL, to);
i.putExtra(Intent.EXTRA_SUBJECT, String.format(getString(R.string.share_email_subject), IN_SHARE_CAPTION));
i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(IjoomerUtilities.prepareEmailBody(message == null ? "" : message, getSmartApplication().readSharedPreferences().getString(SP_USERNAME, "") + " " + getString(R.string.saw_this_story_on_the) + " " + getString(R.string.app_name) + " " + getString(R.string.thought_you_should_see_it), IN_SHARE_CAPTION, IN_SHARE_DESCRIPTION, IN_SHARE_SHARELINK, getString(R.string.try_ijoomeradvance), getString(R.string.site_url))));
try {
startActivity(Intent.createChooser(i, "Send mail..."));
finish();
} catch (android.content.ActivityNotFoundException ex) {
ting(getString(R.string.share_email_no_client));
}
}
}