package eoc.studio.voicecard.card.viewer;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.TextView;
import android.widget.Toast;
import com.facebook.FacebookException;
import com.facebook.Session;
import eoc.studio.voicecard.BaseActivity;
import eoc.studio.voicecard.R;
import eoc.studio.voicecard.animation.FlipView;
import eoc.studio.voicecard.animation.FlipView.FlipListener;
import eoc.studio.voicecard.card.Card;
import eoc.studio.voicecard.card.Constant;
import eoc.studio.voicecard.card.editor.CardCategorySelectorActivity;
import eoc.studio.voicecard.card.editor.CardEditorActivity;
import eoc.studio.voicecard.facebook.FacebookManager;
import eoc.studio.voicecard.facebook.enetities.FriendInfo;
import eoc.studio.voicecard.facebook.friends.SelectFriendActivity;
import eoc.studio.voicecard.facebook.utils.BundleTag;
import eoc.studio.voicecard.mailbox.Mail;
import eoc.studio.voicecard.mainmenu.MainMenuActivity;
import eoc.studio.voicecard.utils.FileUtility;
public class CardViewerActivity extends BaseActivity
{
public static final String EXTRA_KEY_MODE = "card_viewer_mode";
public static final String MODE_VIEWER = "mode_viewer";
public static final String MODE_SENDER = "mode_sender";
public static final String EXTRA_KEY_MAIL = "mail_to_view";
public static final String EXTRA_KEY_CARD_WITH_USER_DATA_FOR_SEND = "card_with_user_data_for_send";
public static final String EXTRA_KEY_CARD_LEFT_SCREENSHOT_FILEPATH = "card_left_screenshot_filepath";
public static final String EXTRA_KEY_CARD_RIGHT_SCREENSHOT_FILEPATH = "card_right_screenshot_filepath";
public static final String EXTRA_KEY_CARD_VOICE_DURATION_TEXT = "card_voice_duraiton";
private static final String TAG = "CardViewerActivity";
private FacebookManager facebookManager;
private Mail mail;
private Bitmap leftScreenshotBitmap;
private Bitmap rightScreenshotBitmap;
private Card card;
private String sendBackId;
private String leftScreenshotFilePath;
private String rightScreenshotFilePath;
private String voiceDurationText;
private View back;
private ImageView sendFacebookToSingle;
private ImageView sendFacebook;
private ImageView sendContact;
private TextView mailInfo;
private ImageView backToMailbox;
private ImageView sendCardBack;
private View rightBlock; // a workaround in order to push
// cardWrapper to the middle at
// beginning
private FrameLayout cardWrapper;
private HorizontalScrollView animationScrollView;
private FlipView flipView;
private FrameLayout flipViewWrapper;
private ImageView shadowOpen;
private HorizontalScrollView cardScrollView;
private ImageView cardInnerBackground;
private ImageView cardImageView;
private AudioMessageView cardVoice;
private TextView cardTextView;
private ImageView cardSignatureView;
private ProgressDialog progressDialog;
private Context context;
private static String singleFriendID = "";
@Override
protected void onCreate(Bundle savedInstanceState)
{
facebookManager = FacebookManager.getInstance(this);
context = getApplicationContext();
if (isSenderMode())
{
initSendBackId();
initSenderModeLayout();
getCardFromSenderModeIntent();
setupSenderModeWithCardData();
}
else
{
initViewerModeLayout();
getCardFromViewerModeIntent();
}
super.onCreate(savedInstanceState);
}
@Override
protected void onDestroy()
{
if (leftScreenshotBitmap != null && !leftScreenshotBitmap.isRecycled())
{
leftScreenshotBitmap.recycle();
}
if (rightScreenshotBitmap != null && !rightScreenshotBitmap.isRecycled())
{
rightScreenshotBitmap.recycle();
}
super.onDestroy();
}
@Override
protected void onPause()
{
super.onPause();
}
@Override
protected void onResume()
{
super.onResume();
}
@Override
public void onBackPressed()
{
finish();
super.onBackPressed();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Session session = Session.getActiveSession();
if (session != null)
{
session.onActivityResult(this, requestCode, resultCode, data);
}
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
switch (requestCode)
{
case eoc.studio.voicecard.contact.DataProcess.PROCESS_SELECTION_FRIEND:
onContactSelectorResult(data);
break;
case eoc.studio.voicecard.facebook.enetities.FriendInfo.GET_FRIEND_REQUEST_CODE:
Log.d(TAG, "GET_FRIEND_REQUEST_CODE");
if (data != null)
{
Bundle bundle = data.getExtras();
if (bundle != null)
{
ArrayList<FriendInfo> friendList = bundle
.getParcelableArrayList(FriendInfo.GET_FRIEND);
if (friendList != null)
{
for (int i = 0; i < friendList.size(); i++)
{
Log.d(TAG, "ID is " + friendList.get(i).getFriendId());
Log.d(TAG, "Name is " + friendList.get(i).getFriendName());
Log.d(TAG, "Birthday is " + friendList.get(i).getFriendBirthday());
Log.d(TAG, "ImgLink is " + friendList.get(i).getFriendImgLink());
if(i == 0){
singleFriendID = friendList.get(i).getFriendId();
FacebookManager.getInstance(context).publishNews(this, singleFriendID,
FacebookManager.getInstance(context).new PublishListener()
{
@Override
public void onComplete(Bundle values, FacebookException error)
{
if (error != null)
{
Log.d(TAG, "publishTimeline onComplete Error: "+error );
/* Toast.makeText(context, getResources().getString(R.string.news_send_fail),
Toast.LENGTH_LONG).show();*/
}
else
{
Log.d(TAG, "publishTimeline onComplete ok ");
/* Toast.makeText(context, getResources().getString(R.string.news_send_ok),
Toast.LENGTH_LONG).show();*/
ArrayList<String> friendList = new ArrayList<String>();
friendList.add(singleFriendID);
sendCardToServer(friendList);
goBackToMainMenuAndFinish();
singleFriendID = "";
}
}
});
// FacebookManager.getInstance(context).publishTimeline(context, friendList.get(i).getFriendId(), facebookManager.new PublishListener()
// {
// @Override
// public void onComplete(Bundle values, FacebookException error) {
// if (error != null)
// {
//
// Log.d(TAG, "publishTimeline onComplete Error: "+error );
// Toast.makeText(CardViewerActivity.this, getResources().getString(R.string.news_send_fail),
// Toast.LENGTH_LONG).show();
// }
// else
// {
//
// Log.d(TAG, "publishTimeline onComplete ok ");
// Toast.makeText(CardViewerActivity.this, getResources().getString(R.string.news_send_ok),
// Toast.LENGTH_LONG).show();
// }
//
//// goBackToMainMenuAndFinish();
// }
// });
//
}
}
}
}
}
break;
}
}
}
private boolean isSenderMode()
{
Intent intent = getIntent();
String mode = intent.getStringExtra(EXTRA_KEY_MODE);
Log.d(TAG, "mode: " + mode);
return MODE_SENDER.equals(mode);
}
private void getCardFromSenderModeIntent()
{
Intent intent = getIntent();
card = intent.getParcelableExtra(EXTRA_KEY_CARD_WITH_USER_DATA_FOR_SEND);
leftScreenshotFilePath = intent.getStringExtra(EXTRA_KEY_CARD_LEFT_SCREENSHOT_FILEPATH);
rightScreenshotFilePath = intent.getStringExtra(EXTRA_KEY_CARD_RIGHT_SCREENSHOT_FILEPATH);
voiceDurationText = intent.getStringExtra(EXTRA_KEY_CARD_VOICE_DURATION_TEXT);
Log.d(TAG, "Card to send : " + card);
Log.d(TAG, "leftScreenshotFilePath : " + leftScreenshotFilePath);
Log.d(TAG, "rightScreenshotFilePath : " + rightScreenshotFilePath);
Log.d(TAG, "voiceDurationText : " + voiceDurationText);
}
private void getCardFromViewerModeIntent()
{
Intent intent = getIntent();
progressDialog = ProgressDialog.show(this, getString(R.string.processing),
getString(R.string.please_wait), true, false);
mail = intent.getParcelableExtra(EXTRA_KEY_MAIL);
Log.d(TAG, "getCardFromViewerModeIntent : " + mail.toString());
setMailInfoView();
new Thread("getCardFromMail")
{
@Override
public void run()
{
Log.d(TAG, "start getCardFromMail");
card = Card.getCardFromMail(CardViewerActivity.this, mail);
Log.d(TAG, "Card to view : " + card);
runOnUiThread(new Runnable()
{
@Override
public void run()
{
setupViewerModeWithCardData();
}
});
progressDialog.dismiss();
}
}.start();
}
private void initSendBackId()
{
Intent intent = getIntent();
sendBackId = intent.getStringExtra(Constant.EXTRA_KEY_SENDBACK_ID);
if (sendBackId != null)
{
Log.d(TAG, "We are going to SEND BACK TO " + sendBackId);
}
}
private void initSenderModeLayout()
{
setContentView(R.layout.activity_card_viewer);
setViewsVisibilityForSenderMode();
findViews();
hideSendButtonAccordingToSendBackId();
}
private void initViewerModeLayout()
{
setContentView(R.layout.activity_card_viewer);
setViewsVisibilityForViewerMode();
findViews();
}
private void setupSenderModeWithCardData()
{
initCardView();
initFlipAndShadow();
setListenersForSenderMode();
}
private void setupViewerModeWithCardData()
{
initCardView();
generateScreenshotBitmap();
initFlipAndShadow();
setListenersForViewerMode();
}
private void hideSendButtonAccordingToSendBackId()
{
if (sendBackId != null)
{
// if (sendBackId.startsWith("0") && sendBackId.length() == 10)
// {
// Log.d(TAG, "hide Send Facebook button");
// sendFacebook.setVisibility(View.GONE);
// }
// else
// {
// Log.d(TAG, "hide Send Contact button");
// sendContact.setVisibility(View.GONE);
// }
sendFacebookToSingle.setVisibility(View.GONE);
sendFacebook.setVisibility(View.GONE);
sendContact.setImageResource(R.drawable.btn_send_card_back_selector);
}
}
private void setMailInfoView()
{
mailInfo.setText(mail.getSendedTime() + " FROM : " + mail.getSendedFromName());
}
private void setViewsVisibilityForSenderMode()
{
findViewById(R.id.act_card_viewer_rlyt_header_for_sender).setVisibility(View.VISIBLE);
findViewById(R.id.act_card_viewer_rlyt_header_for_viewer).setVisibility(View.INVISIBLE);
findViewById(R.id.act_card_viewer_iv_tip_for_sender).setVisibility(View.VISIBLE);
findViewById(R.id.act_card_viewer_tv_mail_info_for_viewer).setVisibility(View.INVISIBLE);
findViewById(R.id.act_card_viewer_llyt_footer_for_sender).setVisibility(View.VISIBLE);
findViewById(R.id.act_card_viewer_llyt_footer_for_viewer).setVisibility(View.INVISIBLE);
}
private void setViewsVisibilityForViewerMode()
{
findViewById(R.id.act_card_viewer_rlyt_header_for_sender).setVisibility(View.INVISIBLE);
findViewById(R.id.act_card_viewer_rlyt_header_for_viewer).setVisibility(View.VISIBLE);
findViewById(R.id.act_card_viewer_iv_tip_for_sender).setVisibility(View.INVISIBLE);
findViewById(R.id.act_card_viewer_tv_mail_info_for_viewer).setVisibility(View.VISIBLE);
findViewById(R.id.act_card_viewer_llyt_footer_for_sender).setVisibility(View.INVISIBLE);
findViewById(R.id.act_card_viewer_llyt_footer_for_viewer).setVisibility(View.VISIBLE);
}
private void findViews()
{
back = findViewById(R.id.act_card_viewer_iv_back);
sendFacebookToSingle= (ImageView) findViewById(R.id.act_card_viewer_iv_send_fb_single);
sendFacebook = (ImageView) findViewById(R.id.act_card_viewer_iv_send_fb);
sendContact = (ImageView) findViewById(R.id.act_card_viewer_iv_send_contact);
mailInfo = (TextView) findViewById(R.id.act_card_viewer_tv_mail_info_for_viewer);
backToMailbox = (ImageView) findViewById(R.id.act_card_viewer_iv_back_to_mailbox);
sendCardBack = (ImageView) findViewById(R.id.act_card_viewer_iv_send_card_back);
rightBlock = findViewById(R.id.act_card_viewer_v_right_block);
cardWrapper = (FrameLayout) findViewById(R.id.act_card_viewer_flyt_card_wrapper);
flipViewWrapper = (FrameLayout) findViewById(R.id.glb_card_animation_flyt_card_flipview_wrapper);
animationScrollView = (HorizontalScrollView) findViewById(R.id.glb_card_animation_hsv_root);
shadowOpen = (ImageView) findViewById(R.id.glb_card_animation_iv_card_open_shadow);
cardScrollView = (HorizontalScrollView) findViewById(R.id.act_card_viewer_hsv_card_scroll_view);
cardInnerBackground = (ImageView) findViewById(R.id.act_card_viewer_iv_card_inner_page);
cardImageView = (ImageView) findViewById(R.id.glb_card_iv_editable_image);
cardVoice = (AudioMessageView) findViewById(R.id.glb_card_amv_editable_voice);
cardTextView = (TextView) findViewById(R.id.glb_card_tv_editable_text);
cardSignatureView = (ImageView) findViewById(R.id.glb_card_iv_editable_signature_image);
Log.d(TAG, "hide tips");
findViewById(R.id.glb_card_tv_editable_image_tip).setVisibility(View.INVISIBLE);
findViewById(R.id.glb_card_tv_editable_signature_tip).setVisibility(View.INVISIBLE);
findViewById(R.id.glb_card_tv_editable_text_tip).setVisibility(View.INVISIBLE);
findViewById(R.id.glb_card_tv_editable_voice_tip).setVisibility(View.INVISIBLE);
}
private void initCardView()
{
Bitmap img3dOpenBitmap = FileUtility.getBitmapFromPath(card.getImage3dOpenPath());
FileUtility.setImageViewBackgroundWithBitmap(cardInnerBackground, img3dOpenBitmap);
cardImageView.setImageURI(card.getImage());
cardTextView.setText(card.getMessage());
cardTextView.setTextColor(card.getMessageTextColor());
cardTextView
.setTextSize(CardEditorActivity.getTextSizeByType(card.getMessageTextSizeType()));
cardTextView.setVisibility(View.VISIBLE);
cardSignatureView.setImageURI(card.getSignDraftImage());
Uri source = card.getSound();
if (source != null)
{
cardVoice.setDurationText(voiceDurationText);
cardVoice.setVisibility(View.VISIBLE);
try
{
Log.d(TAG, "initCardView");
cardVoice.setPlayerSourcceAndPrepare(new MediaPlayer(), card.getSound(), false);
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
Log.d(TAG, "initCardView IllegalArgumentException:"+e.toString());
}
catch (SecurityException e)
{
e.printStackTrace();
Log.d(TAG, "initCardView SecurityException:"+e.toString());
}
catch (IllegalStateException e)
{
Log.d(TAG, "initCardView IllegalStateException:"+e.toString());
e.printStackTrace();
}
catch (IOException e)
{
Log.d(TAG, "initCardView IOException:"+e.toString());
e.printStackTrace();
}
}
}
private void generateScreenshotBitmap()
{
View wholeCard = findViewById(R.id.act_card_viewer_rlyt_card);
wholeCard.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a dimension of 0,0
// and the bitmap will be null
wholeCard.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
wholeCard.layout(0, 0, wholeCard.getMeasuredWidth(), wholeCard.getMeasuredHeight());
wholeCard.buildDrawingCache(true);
Bitmap wholeScreenshot = wholeCard.getDrawingCache();
Log.d(TAG, "wholeScreenshot " + wholeScreenshot);
int pageWidth = wholeScreenshot.getWidth() / 2;
int pageHeight = wholeScreenshot.getHeight();
leftScreenshotBitmap = Bitmap.createBitmap(wholeScreenshot, 0, 0, pageWidth, pageHeight);
rightScreenshotBitmap = Bitmap.createBitmap(wholeScreenshot, pageWidth, 0, pageWidth,
pageHeight);
wholeCard.setDrawingCacheEnabled(false);
}
private void initFlipAndShadow()
{
// Bitmap img2dSecondPageBitmap =
// FileUtility.getBitmapFromPath(card.getImageInnerRightPath());
// FileUtility.setImageViewBackgroundWithBitmap(cardInnerSecondPage,
// img2dSecondPageBitmap);
cardWrapper.bringToFront();
final int cardOpenWidth = (int) getResources().getDimensionPixelSize(
R.dimen.card_open_page_width);
final int cardOpenHeight = (int) getResources().getDimensionPixelSize(
R.dimen.card_open_page_height);
final int cardFlipViewHeight = (int) (cardOpenHeight * 7.7f / 5.f);
shadowOpen.setVisibility(View.INVISIBLE);
flipView = new FlipView(this, cardOpenWidth, cardFlipViewHeight, -10f, 0f,
cardFlipViewHeight / 2.f);
flipViewWrapper.addView(flipView);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
ImageView front = new ImageView(this);
front.setLayoutParams(params);
front.setScaleType(ScaleType.FIT_START);
Bitmap imgCoverBitmap = FileUtility.getBitmapFromPath(card.getImageCoverPath());
Bitmap resizedCoverBitmap = Bitmap.createScaledBitmap(imgCoverBitmap,
imgCoverBitmap.getWidth() * 4 / 5, imgCoverBitmap.getHeight(), true);
imgCoverBitmap.recycle();
FileUtility.setImageViewWithBitmap(front, resizedCoverBitmap);
ImageView back = new ImageView(this);
back.setLayoutParams(params);
back.setScaleType(ScaleType.FIT_XY);
if (leftScreenshotBitmap != null)
{
back.setImageBitmap(leftScreenshotBitmap);
}
else
{
back.setImageURI(Uri.fromFile(new File(leftScreenshotFilePath)));
}
ImageView inner = new ImageView(this);
inner.setLayoutParams(params);
inner.setScaleType(ScaleType.FIT_XY);
if (rightScreenshotBitmap != null)
{
inner.setImageBitmap(rightScreenshotBitmap);
}
else
{
inner.setImageURI(Uri.fromFile(new File(rightScreenshotFilePath)));
}
flipView.setFrontPage(front);
flipView.setBackPage(back);
flipView.setInnerPage(inner);
flipView.setDuration(300);
flipView.setLockAfterOpened(true);
flipView.setTouchFlipEnabled(false);
flipView.setFlipListener(new FlipListener()
{
@Override
public void onOpened()
{
shadowOpen.setVisibility(View.VISIBLE);
flipView.setVisibility(View.INVISIBLE);
animationScrollView.setVisibility(View.GONE);
cardScrollView.setVisibility(View.VISIBLE);
cardScrollView.bringToFront();
}
@Override
public void onClosed()
{
}
@Override
public void onStartOpening()
{
rightBlock.setVisibility(View.GONE);
animationScrollView.postDelayed(new Runnable()
{
public void run()
{
animationScrollView.smoothScrollTo(0, 0);
}
}, 200L);
}
@Override
public void onStartClosing()
{
// shadowOpen.setVisibility(View.INVISIBLE);
// animationScrollView.postDelayed(new Runnable()
// {
// public void run()
// {
// animationScrollView.smoothScrollTo(cardOpenWidth * 2, 0);
// }
// }, 200L);
}
});
animationScrollView.postDelayed(new Runnable()
{
public void run()
{
animationScrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);
animationScrollView.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (!flipView.isOpened())
{
flipView.requestFlip();
return true;
}
return false;
}
});
}
private void setListenersForSenderMode()
{
back.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
});
sendFacebook.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if (sendBackId == null)
{
startFacebookInviter();
}
else
{
Log.d(TAG, "sendFacebook onClick sendBackId != null,sendBack()");
sendBack();
goBackToMainMenuAndFinish();
}
}
});
sendFacebookToSingle.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if (sendBackId == null)
{
startSelectFriend();
}
else
{
// sendBack();
// goBackToMainMenuAndFinish();
}
}
});
sendContact.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if (sendBackId == null)
{
startContactSelector();
}
else
{
sendBack();
goBackToMainMenuAndFinish();
}
}
});
}
private void setListenersForViewerMode()
{
backToMailbox.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
});
sendCardBack.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(CardViewerActivity.this,
CardCategorySelectorActivity.class);
intent.putExtra(Constant.EXTRA_KEY_SENDBACK_ID, mail.getSendedFrom());
startActivity(intent);
finish();
}
});
}
private void startSelectFriend(){
Intent intent = new Intent(this, SelectFriendActivity.class);
Bundle bundle = new Bundle();
bundle.putBoolean(BundleTag.SELECTED_OPTION, true);
intent.putExtras(bundle);
startActivityForResult(intent, FriendInfo.GET_FRIEND_REQUEST_CODE);
}
private void startFacebookInviter()
{
Log.d(TAG, "startFacebookSender");
facebookManager.inviteFriend(this, null, card, facebookManager.new InviteListener()
{
@Override
public void onComplete(Bundle values, FacebookException error)
{
onFacebookInviterResult(values, error);
}
});
}
private void onFacebookInviterResult(Bundle values, FacebookException error)
{
if (error != null)
{
Log.d(TAG, "Invite had error is " + error.getMessage());
}
else
{
Log.d(TAG, "Invite no error, send card to server");
sendCardToServer(facebookManager.fetchInvitedFriends(values));
goBackToMainMenuAndFinish();
}
}
private void startContactSelector()
{
Intent SendContactSender = new Intent();
SendContactSender.setClass(this, eoc.studio.voicecard.contact.ContactActivity.class);
startActivityForResult(SendContactSender,
eoc.studio.voicecard.contact.DataProcess.PROCESS_SELECTION_FRIEND);
overridePendingTransition(0, 0);
}
private void onContactSelectorResult(Intent data)
{
if (data == null)
{
Log.d(TAG, "onContactSelectorResult - NO DATA");
return;
}
Bundle extras = data.getExtras();
if (extras == null)
{
Log.d(TAG, "onContactSelectorResult - NO BUNDLE");
return;
}
ArrayList list = extras
.getParcelableArrayList(eoc.studio.voicecard.contact.DataProcess.PROCESS_SELECTION_FRIEND_LIST);
List<Map<String, Object>> lists = (List<Map<String, Object>>) list.get(0);
if (lists == null || lists.isEmpty())
{
Log.d(TAG, "onContactSelectorResult - lists is null or empty");
}
else
{
Log.d(TAG, "onContactSelectorResult - lists size: " + lists.size());
ArrayList<String> phoneList = new ArrayList<String>();
Object phoneNum;
for (Map<String, Object> map : lists)
{
phoneNum = map.get(eoc.studio.voicecard.contact.DataProcess.PHONE_NUMBER_INDEX);
Log.d(TAG, "onContactSelectorResult - TEL: " + phoneNum);
String phoneString = phoneNum.toString().replace(" ", "");
Log.d(TAG, "onContactSelectorResult - (after remove white space)TEL: "
+ phoneString);
phoneString = phoneString.toString().replace("-", "");
Log.d(TAG, "onContactSelectorResult - (after remove minus sign)TEL: " + phoneString);
if (phoneString.toLowerCase().startsWith("09") && phoneString.length() == 10)
{
phoneString = phoneString.replaceFirst("09", "+8869");
Log.d(TAG, "onContactSelectorResult - (after replace with +8869)TEL: "
+ phoneString);
}
if(!phoneString.equals("")){
phoneList.add(phoneString);
}
else{
Log.d(TAG, "onContactSelectorResult phoneString == white space");
}
}
if (!phoneList.isEmpty())
{
sendCardToServer(phoneList);
goBackToMainMenuAndFinish();
}
else
{
Log.e(TAG, "onContactSelectorResult - phoneList empty");
Toast.makeText(this, getResources().getString(R.string.phone_list_empty), Toast.LENGTH_SHORT).show();
}
}
// for (int i = 0; i < lists.size(); i++)
// {
// Log.d(TAG,
// "NAME: "
// + lists.get(i)
// .get(eoc.studio.voicecard.contact.DataProcess.USER_NAME_INDEX)
// .toString());
// Log.d(TAG,
// "TEL: "
// + lists.get(i)
// .get(eoc.studio.voicecard.contact.DataProcess.PHONE_NUMBER_INDEX)
// .toString());
// }
}
private void sendBack()
{
ArrayList<String> list = new ArrayList<String>();
list.add(sendBackId);
Log.d(TAG, "sendBack to " + sendBackId);
sendCardToServer(list);
}
private void sendCardToServer(ArrayList<String> receivers)
{
Log.d(TAG, "!! sendCardToServer !!");
Log.d(TAG, "card: " + card);
Log.d(TAG, "receivers " + receivers.size());
facebookManager.sendCardtoServer(receivers, card);
}
private void goBackToMainMenuAndFinish()
{
Log.d(TAG, "back to MainMenu and finish");
Intent intent = new Intent(CardViewerActivity.this, MainMenuActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
}