package com.quickblox.q_municate.utils.helpers;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import com.quickblox.q_municate.R;
import com.quickblox.q_municate.utils.DeviceInfoUtils;
import com.quickblox.q_municate_core.models.InviteFriend;
import com.quickblox.q_municate_core.utils.ConstsCore;
import java.util.ArrayList;
import java.util.List;
public class EmailHelper {
public static void sendInviteEmail(Context context, String[] selectedFriends) {
Resources resources = context.getResources();
Intent intentEmail = new Intent(Intent.ACTION_SEND);
intentEmail.putExtra(Intent.EXTRA_EMAIL, selectedFriends);
intentEmail.putExtra(Intent.EXTRA_SUBJECT, resources.getText(R.string.invite_friends_subject_of_invitation));
intentEmail.putExtra(Intent.EXTRA_TEXT, resources.getText(R.string.invite_friends_body_of_invitation));
intentEmail.setType(ConstsCore.TYPE_OF_EMAIL);
context.startActivity(Intent.createChooser(intentEmail, resources.getText(
R.string.invite_friends_choose_email_provider)));
}
public static void sendFeedbackEmail(Context context, String feedbackType) {
Resources resources = context.getResources();
Intent intentEmail = new Intent(Intent.ACTION_SEND);
intentEmail.putExtra(Intent.EXTRA_EMAIL, new String[]{resources.getText(R.string.feedback_support_email)
.toString()});
intentEmail.putExtra(Intent.EXTRA_SUBJECT, feedbackType);
intentEmail.putExtra(Intent.EXTRA_TEXT,
(java.io.Serializable) DeviceInfoUtils.getDeviseInfoForFeedback());
intentEmail.setType(ConstsCore.TYPE_OF_EMAIL);
context.startActivity(Intent.createChooser(intentEmail, resources.getText(
R.string.feedback_choose_email_provider)));
}
public static List<InviteFriend> getContactsWithEmail(Context context) {
List<InviteFriend> friendsContactsList = new ArrayList<InviteFriend>();
Uri uri = null;
ContentResolver contentResolver = context.getContentResolver();
String[] PROJECTION = new String[]{ContactsContract.RawContacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.PHOTO_ID, ContactsContract.CommonDataKinds.Email.DATA, ContactsContract.CommonDataKinds.Photo.CONTACT_ID};
String order = "upper("+ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + ") ASC";
String filter = ContactsContract.CommonDataKinds.Email.DATA + " NOT LIKE ''";
Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, PROJECTION,
filter, null, order);
if (cursor != null && cursor.moveToFirst()) {
String id;
String name;
String email;
do {
name = cursor.getString(cursor.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
email = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
id = cursor.getString(cursor.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.CONTACT_ID));
if (ContactsContract.Contacts.CONTENT_URI != null) {
uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(
id));
uri = Uri.withAppendedPath(uri, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);
}
friendsContactsList.add(new InviteFriend(email, name, null, InviteFriend.VIA_CONTACTS_TYPE,
uri, false));
} while (cursor.moveToNext());
}
if (cursor != null) {
cursor.close();
}
return friendsContactsList;
}
}