package com.jdroid.android.firebase.invites;
import android.app.Activity;
import android.content.Intent;
import com.google.android.gms.appinvite.AppInviteInvitation;
import com.jdroid.android.application.AbstractApplication;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.utils.RandomUtils;
import java.util.List;
public class AppInviteHelper {
public static final int REQUEST_CODE = RandomUtils.get16BitsInt();
public static List<String> onActivityResult(int appInviteRequestCode, int requestCode, int resultCode, Intent data) {
if (requestCode == appInviteRequestCode) {
if (resultCode == Activity.RESULT_OK) {
// The ids array contains the unique invitation ids for each invitation sent
// (one for each contact select by the user). You can use these for analytics
// as the ID will be consistent on the sending and receiving devices.
String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data);
if (ids != null) {
for (String invitationId : ids) {
AbstractApplication.get().getAnalyticsSender().trackSendAppInvitation(invitationId);
}
List<String> invitationsIds = Lists.newArrayList(ids);
AppInviteStats.invitesSent(invitationsIds);
return invitationsIds;
}
} else if (resultCode != Activity.RESULT_CANCELED) {
AbstractApplication.get().getExceptionHandler().logWarningException("Error when sending app invite: " + resultCode);
}
}
return null;
}
public static List<String> onActivityResult(int requestCode, int resultCode, Intent data) {
return onActivityResult(REQUEST_CODE, requestCode, resultCode, data);
}
}