/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android;
import java.io.File;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import WriteReviewOperation.MediaRef;
import android.app.PendingIntent;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import com.galaxy.meetup.client.android.analytics.EsAnalytics;
import com.galaxy.meetup.client.android.analytics.OzActions;
import com.galaxy.meetup.client.android.analytics.OzViews;
import com.galaxy.meetup.client.android.content.AccountSettingsData;
import com.galaxy.meetup.client.android.content.AudienceData;
import com.galaxy.meetup.client.android.content.DbEmotishareMetadata;
import com.galaxy.meetup.client.android.content.DbLocation;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsEventData.EventActivity;
import com.galaxy.meetup.client.android.content.EsPeopleData;
import com.galaxy.meetup.client.android.hangout.HangoutActivity;
import com.galaxy.meetup.client.android.hangout.HangoutParticipantListActivity;
import com.galaxy.meetup.client.android.hangout.HangoutRingingActivity;
import com.galaxy.meetup.client.android.hangout.HangoutTile;
import com.galaxy.meetup.client.android.oob.OutOfBoxResponseParcelable;
import com.galaxy.meetup.client.android.realtimechat.Data;
import com.galaxy.meetup.client.android.service.EventFinishedReceiver;
import com.galaxy.meetup.client.android.service.Hangout;
import com.galaxy.meetup.client.android.ui.activity.AccountSelectionActivity;
import com.galaxy.meetup.client.android.ui.activity.AddedToCircleActivity;
import com.galaxy.meetup.client.android.ui.activity.CirclesMembershipActivity;
import com.galaxy.meetup.client.android.ui.activity.ContactsSyncConfigActivity;
import com.galaxy.meetup.client.android.ui.activity.ConversationActivity;
import com.galaxy.meetup.client.android.ui.activity.EditAudienceActivity;
import com.galaxy.meetup.client.android.ui.activity.EditCommentActivity;
import com.galaxy.meetup.client.android.ui.activity.EditEventActivity;
import com.galaxy.meetup.client.android.ui.activity.EditPostActivity;
import com.galaxy.meetup.client.android.ui.activity.EventLocationActivity;
import com.galaxy.meetup.client.android.ui.activity.EventThemePickerActivity;
import com.galaxy.meetup.client.android.ui.activity.HomeActivity;
import com.galaxy.meetup.client.android.ui.activity.HostAlbumsActivity;
import com.galaxy.meetup.client.android.ui.activity.HostEmotiShareChooserActivity;
import com.galaxy.meetup.client.android.ui.activity.HostEventInviteeListActivity;
import com.galaxy.meetup.client.android.ui.activity.HostPhotosActivity;
import com.galaxy.meetup.client.android.ui.activity.HostSquareSearchActivity;
import com.galaxy.meetup.client.android.ui.activity.HostSquareStreamActivity;
import com.galaxy.meetup.client.android.ui.activity.InvitationActivity;
import com.galaxy.meetup.client.android.ui.activity.LicenseActivity;
import com.galaxy.meetup.client.android.ui.activity.LocalReviewActivity;
import com.galaxy.meetup.client.android.ui.activity.LocationPickerActivity;
import com.galaxy.meetup.client.android.ui.activity.NetworkStatisticsActivity;
import com.galaxy.meetup.client.android.ui.activity.NetworkTransactionsActivity;
import com.galaxy.meetup.client.android.ui.activity.NewConversationActivity;
import com.galaxy.meetup.client.android.ui.activity.NewEventActivity;
import com.galaxy.meetup.client.android.ui.activity.OobContactsSyncActivity;
import com.galaxy.meetup.client.android.ui.activity.OobInstantUploadActivity;
import com.galaxy.meetup.client.android.ui.activity.OobSelectPlusPageActivity;
import com.galaxy.meetup.client.android.ui.activity.OobSuggestedPeopleActivity;
import com.galaxy.meetup.client.android.ui.activity.OutOfBoxActivity;
import com.galaxy.meetup.client.android.ui.activity.PanoramaViewerActivity;
import com.galaxy.meetup.client.android.ui.activity.ParticipantListActivity;
import com.galaxy.meetup.client.android.ui.activity.PeopleSearchActivity;
import com.galaxy.meetup.client.android.ui.activity.PhotoComposeActivity;
import com.galaxy.meetup.client.android.ui.activity.PhotoOneUpActivity;
import com.galaxy.meetup.client.android.ui.activity.PhotoPickerActivity;
import com.galaxy.meetup.client.android.ui.activity.PhotosSelectionActivity;
import com.galaxy.meetup.client.android.ui.activity.PlusOneActivity;
import com.galaxy.meetup.client.android.ui.activity.PostActivity;
import com.galaxy.meetup.client.android.ui.activity.PostSearchActivity;
import com.galaxy.meetup.client.android.ui.activity.PostTextActivity;
import com.galaxy.meetup.client.android.ui.activity.ProfileActivity;
import com.galaxy.meetup.client.android.ui.activity.ProfileEditActivity;
import com.galaxy.meetup.client.android.ui.activity.ReshareActivity;
import com.galaxy.meetup.client.android.ui.activity.SelectSquareCategoryActivity;
import com.galaxy.meetup.client.android.ui.activity.ShareActivity;
import com.galaxy.meetup.client.android.ui.activity.StreamOneUpActivity;
import com.galaxy.meetup.client.android.ui.activity.VideoViewActivity;
import com.galaxy.meetup.client.android.ui.activity.setting.InstantUploadSettingsActivity;
import com.galaxy.meetup.client.android.ui.activity.setting.SettingsActivity;
import com.galaxy.meetup.client.android.ui.fragments.PhotoComposeFragment;
import com.galaxy.meetup.client.android.ui.fragments.PhotoOneUpFragment;
import com.galaxy.meetup.client.android.ui.widget.EsWidgetCameraLauncherActivity;
import com.galaxy.meetup.client.util.MediaStoreUtils;
import com.galaxy.meetup.client.util.PrimitiveUtils;
import com.galaxy.meetup.server.client.domain.response.MobileOutOfBoxResponse;
import com.galaxy.meetup.server.client.util.JsonUtil;
import com.galaxy.meetup.server.client.v2.domain.Location;
/**
*
* @author sihai
*
*/
public class Intents {
private static final List INTERNAL_URLS = Arrays.asList(new String[] {
"youtube.com", "google.com"
});
public static PhotosIntentBuilder newPhotosActivityIntentBuilder(Context context)
{
return new PhotosIntentBuilder(context, HostPhotosActivity.class);
}
public static boolean isInitialOobIntent(Intent intent)
{
OobIntents oobintents = (OobIntents)intent.getParcelableExtra("oob_intents");
boolean flag;
if(oobintents == null)
flag = true;
else
flag = oobintents.isInitialIntent();
return flag;
}
public static boolean isLastOobIntent(Context context, EsAccount esaccount, AccountSettingsData accountsettingsdata, Intent intent)
{
OobIntents oobintents = (OobIntents)intent.getParcelableExtra("oob_intents");
boolean flag;
if(oobintents == null)
flag = true;
else
flag = oobintents.isLastIntent(context, esaccount, accountsettingsdata);
return flag;
}
public static String makeProfileUrl(String s)
{
return (new StringBuilder("#~loop:svt=person&view=stream&pid=")).append(s).toString();
}
public static boolean isProfileUrl(String s)
{
boolean flag;
if(s.startsWith("#~loop:svt=person&") || s.matches("^https://plus\\.google\\.com/[0-9]*$"))
flag = true;
else
flag = false;
return flag;
}
public static boolean isCameraIntentRegistered(Context context)
{
Intent intent = getCameraIntentPhoto("camera-photo.jpg");
boolean flag;
if(context.getPackageManager().queryIntentActivities(intent, 0x10000).size() > 0)
flag = true;
else
flag = false;
return flag;
}
public static Intent getEditCommentActivityIntent(Context context, EsAccount esaccount, String s, String s1, String s2, Long long1, String s3)
{
Intent intent = new Intent(context, EditCommentActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("comment_id", s1);
intent.putExtra("comment", s2);
if(long1 != null)
intent.putExtra("photo_id", long1);
if(s3 != null)
intent.putExtra("gaia_id", s3);
return intent;
}
public static Intent getNetworkRequestsIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, NetworkTransactionsActivity.class);
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getNetworkStatisticsIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, NetworkStatisticsActivity.class);
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getWidgetCameraLauncherActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, EsWidgetCameraLauncherActivity.class);
intent.putExtra("account", (String)null);
return intent;
}
public static Intent getMessengerActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("destination", 4);
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getLicenseActivityIntent(Context context)
{
return new Intent(context, LicenseActivity.class);
}
public static Intent getEventsActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("destination", 2);
return intent;
}
public static PendingIntent getEventFinishedIntent(Context context, String s)
{
Intent intent = new Intent(EventFinishedReceiver.sIntent);
if(s != null)
intent.putExtra("event_id", s);
return PendingIntent.getBroadcast(context, 0, intent, 0);
}
public static Intent getNewHangoutActivityIntent(Context context, EsAccount esaccount, boolean flag, AudienceData audiencedata)
{
Intent intent = new Intent(context, HangoutActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("audience", audiencedata);
intent.putExtra("hangout_ring_invitees", flag);
intent.putExtra("hangout_skip_green_room", true);
return intent;
}
public static Intent getLocalReviewActivityIntent(Context context, EsAccount esaccount, String s, int i, int j)
{
Intent intent = new Intent(context, LocalReviewActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("local_review_type", i);
intent.putExtra("local_review_index", j);
return intent;
}
public static Intent getNotificationsIntent(Context context, EsAccount esaccount, Cursor cursor)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("show_notifications", true);
if(cursor != null && cursor.moveToFirst())
{
ArrayList arraylist = new ArrayList();
ArrayList arraylist1 = new ArrayList();
do
{
arraylist.add(Integer.valueOf(cursor.getInt(15)));
arraylist1.add(cursor.getString(2));
} while(cursor.moveToNext());
if(!arraylist.isEmpty())
{
intent.putIntegerArrayListExtra("notif_types", arraylist);
intent.putStringArrayListExtra("coalescing_codes", arraylist1);
}
}
return intent;
}
public static PendingIntent getViewEventActivityNotificationIntent(Context context, EsAccount esaccount, String s, String s1)
{
return PendingIntent.getActivity(context, 0, getHostedEventIntent(context, esaccount, s, s1, null), 0x8000000);
}
public static Intent getFakeConversationActivityIntent(Context context, EsAccount esaccount, Data.Participant participant, boolean flag)
{
Intent intent = new Intent(context, ConversationActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("participant", participant);
intent.putExtra("is_group", false);
return intent;
}
public static Intent getEditPostActivityIntent(Context context, EsAccount esaccount, String s, String s1, boolean flag)
{
Intent intent = new Intent(context, EditPostActivity.class);
intent.setAction("android.intent.action.EDIT");
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("content", s1);
intent.putExtra("reshare", flag);
return intent;
}
public static Intent getHomeOobActivityIntent(Context context, EsAccount esaccount, Intent intent, MobileOutOfBoxResponse mobileoutofboxresponse, AccountSettingsData accountsettingsdata)
{
Intent intent1 = new Intent(context, HomeActivity.class);
intent1.setAction("android.intent.action.VIEW");
intent1.putExtra("account", esaccount);
intent1.putExtra("run_oob", true);
if(mobileoutofboxresponse != null)
intent1.putExtra("network_oob", new OutOfBoxResponseParcelable(mobileoutofboxresponse));
if(accountsettingsdata != null)
intent1.putExtra("plus_pages", accountsettingsdata);
if(intent != null)
intent1.putExtra("intent", intent);
return intent1;
}
public static Intent getEditEventActivityIntent(Context context, EsAccount esaccount, String s, String s1)
{
Intent intent = new Intent(context, EditEventActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("event_id", s);
intent.putExtra("auth_key", s1);
return intent;
}
public static Intent getEventInviteeListActivityIntent(Context context, EsAccount esaccount, String s, String s1, String s2)
{
Intent intent = new Intent(context, HostEventInviteeListActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("event_id", s);
intent.putExtra("owner_id", s2);
intent.putExtra("auth_key", s1);
return intent;
}
public static Intent getOobIntent(Context context, EsAccount esaccount, MobileOutOfBoxResponse mobileoutofboxresponse, AccountSettingsData accountsettingsdata, String s) {
return OobIntents.getInitialIntent(context, esaccount, mobileoutofboxresponse, accountsettingsdata, s);
}
public static Intent getAccountsActivityIntent(Context context, Intent intent) {
Intent intent1 = new Intent(context, AccountSelectionActivity.class);
intent1.setAction("android.intent.action.VIEW");
if(intent != null)
intent1.putExtra("intent", intent);
return intent1;
}
public static Intent getHostNavigationActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getStreamActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("destination", 0);
return intent;
}
public static Intent getStreamOneUpActivityIntent(Context context, EsAccount esaccount, String s)
{
Intent intent = new Intent(context, StreamOneUpActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("refresh", false);
return intent;
}
public static Intent getCirclePostsActivityIntent(Context context, EsAccount esaccount, String s)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("destination", 0);
intent.putExtra("circle_id", s);
return intent;
}
public static Intent getPostActivityIntent(Context context, EsAccount esaccount, ArrayList arraylist)
{
return getPostActivityIntent(context, esaccount, arraylist, null);
}
public static Intent getContactsSyncConfigActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, ContactsSyncConfigActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getPostActivityIntent(Context context, EsAccount esaccount, ArrayList arraylist, AudienceData audiencedata)
{
Intent intent = new Intent(context, PostActivity.class);
intent.setAction("android.intent.action.SEND_MULTIPLE");
if(arraylist != null && !arraylist.isEmpty())
intent.putExtra("android.intent.extra.STREAM", arraylist);
intent.putExtra("account", esaccount);
intent.putExtra("is_internal", true);
if(audiencedata != null)
intent.putExtra("audience", audiencedata);
return intent;
}
public static Intent getChooseEmotiShareObjectIntent(Context context, EsAccount esaccount, DbEmotishareMetadata dbemotisharemetadata)
{
Intent intent = new Intent(context, HostEmotiShareChooserActivity.class);
intent.putExtra("account", esaccount);
if(dbemotisharemetadata != null)
intent.putExtra("typed_image_embed", dbemotisharemetadata);
intent.setAction("android.intent.action.PICK");
return intent;
}
public static Intent getChooseLocationIntent(Context context, EsAccount esaccount, boolean flag, DbLocation dblocation)
{
Intent intent = new Intent(context, LocationPickerActivity.class);
intent.setAction("android.intent.action.PICK");
intent.putExtra("account", esaccount);
intent.putExtra("places_only", flag);
if(dblocation != null)
intent.putExtra("location", dblocation);
return intent;
}
public static Intent getEditAudienceActivityIntent(Context context, EsAccount esaccount, String s, AudienceData audiencedata, int i, boolean flag, boolean flag1, boolean flag2,
boolean flag3)
{
return getEditAudienceActivityIntent(context, esaccount, s, audiencedata, i, flag, flag1, flag2, flag3, false);
}
public static Intent getEditAudienceActivityIntent(Context context, EsAccount esaccount, String s, AudienceData audiencedata, int i, boolean flag, boolean flag1, boolean flag2,
boolean flag3, boolean flag4)
{
Intent intent = new Intent(context, EditAudienceActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("title", s);
intent.putExtra("audience", audiencedata);
intent.putExtra("circle_usage_type", i);
intent.putExtra("search_phones_enabled", flag);
intent.putExtra("search_plus_pages_enabled", flag1);
intent.putExtra("search_pub_profiles_enabled", flag2);
intent.putExtra("filter_null_gaia_ids", flag3);
intent.putExtra("audience_is_read_only", flag4);
return intent;
}
public static Intent getPostCommentsActivityIntent(Context context, EsAccount esaccount, String s)
{
Intent intent = new Intent(context, StreamOneUpActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("refresh", false);
return intent;
}
public static Intent getPostCommentsActivityIntent(Context context, EsAccount esaccount, String s, String s1, int i, boolean flag, boolean flag1)
{
Intent intent = new Intent(context, StreamOneUpActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("com.google.plus.analytics.intent.extra.FROM_NOTIFICATION", true);
if(s1 != null)
intent.putExtra("notif_id", s1);
intent.putExtra("notif_category", i);
intent.putExtra("refresh", true);
intent.putExtra("enable_comment_action", flag1);
return intent;
}
public static Intent getCreateEventActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, NewEventActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getEventLocationActivityIntent(Context context, EsAccount esaccount, Location location)
{
Intent intent = new Intent(context, EventLocationActivity.class);
intent.setAction("android.intent.action.PICK");
intent.putExtra("account", esaccount);
if(location != null)
intent.putExtra("location", JsonUtil.toByteArray(location));
return intent;
}
public static Intent getEventThemePickerIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, EventThemePickerActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getHostedEventIntent(Context context, EsAccount esaccount, String s, int i, String s1, String s2, String s3, String s4)
{
return getHostedEventIntent(context, esaccount, s, i, s1, null, s3, null, null);
}
private static Intent getHostedEventIntent(Context context, EsAccount esaccount, String s, int i, String s1, String s2, String s3, String s4,
String s5)
{
Intent intent = new Intent(context, EventActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("event_id", s);
intent.putExtra("account", esaccount);
intent.putExtra("owner_id", s1);
intent.putExtra("invitation_token", s2);
intent.putExtra("auth_key", s5);
intent.putExtra("notif_type", i);
intent.putExtra("notif_id", s3);
intent.putExtra("rsvp", s4);
return intent;
}
public static Intent getHostedEventIntent(Context context, EsAccount esaccount, String s, String s1, String s2)
{
return getHostedEventIntent(context, esaccount, s, s1, null, null, null);
}
public static Intent getHostedEventIntent(Context context, EsAccount esaccount, String s, String s1, String s2, String s3, String s4)
{
Intent intent = getHostedEventIntent(context, esaccount, s, 0, s1, s2, null, s3, s4);
intent.addFlags(0x4000000);
return intent;
}
public static Intent getProfileActivityByGaiaIdIntent(Context context, EsAccount esaccount, String s, String s1)
{
return getProfileActivityIntent(context, esaccount, (new StringBuilder("g:")).append(s).toString(), s1, 0);
}
public static Intent getProfileActivityIntent(Context context, EsAccount esaccount, String s, String s1)
{
Intent intent = new Intent(context, ProfileActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("notif_id", (String)null);
return intent;
}
public static Intent getProfileActivityIntent(Context context, EsAccount esaccount, String s, String s1, int i)
{
Intent intent = new Intent(context, ProfileActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("notif_id", s1);
intent.putExtra("profile_view_type", i);
return intent;
}
public static Intent getProfileEditActivityIntent(Context context, EsAccount esaccount, int i, String s, String s1)
{
Intent intent = new Intent(context, ProfileEditActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("profile_edit_mode", i);
intent.putExtra("profile_edit_items_json", s);
intent.putExtra("profile_edit_roster_json", s1);
return intent;
}
public static Intent getProfilePhotosActivityIntent(Context context, EsAccount esaccount, String s)
{
Intent intent;
if(esaccount.isMyGaiaId(EsPeopleData.extractGaiaId(s)))
intent = getHostedProfileAlbumsIntent(context, esaccount, s, null);
else
intent = getProfileActivityIntent(context, esaccount, s, null, 1);
return intent;
}
public static Intent getHostedProfileAlbumsIntent(Context context, EsAccount esaccount, String s, String s1)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("destination", 7);
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("notif_id", (String)null);
intent.putExtra("photos_home", esaccount.isMyGaiaId(EsPeopleData.extractGaiaId(s)));
return intent;
}
public static Intent getReshareActivityIntent(Context context, EsAccount esaccount, String s, boolean flag)
{
Intent intent = new Intent(context, ReshareActivity.class);
intent.setAction("android.intent.action.SEND");
intent.putExtra("account", esaccount);
intent.putExtra("activity_id", s);
intent.putExtra("limited", flag);
return intent;
}
public static Intent getSelectSquareCategoryActivityIntent(Context context, EsAccount esaccount, String s, String s1, String s2)
{
Intent intent = new Intent(context, SelectSquareCategoryActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("title", s);
intent.putExtra("square_id", s1);
intent.putExtra("square_name", s2);
return intent;
}
public static Intent getSettingsActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, SettingsActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getSquareSearchActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HostSquareSearchActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getSquareStreamActivityIntent(Context context, EsAccount esaccount, String s, String s1, String s2)
{
Intent intent = new Intent(context, HostSquareStreamActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("square_id", s);
intent.putExtra("stream_id", s1);
intent.putExtra("notif_id", s2);
return intent;
}
public static Intent getSquaresActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("destination", 8);
return intent;
}
public static Intent getSuggestedPeopleActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("destination", 5);
intent.putExtra("people_view_type", 0);
return intent;
}
public static Intent getHangoutActivityAudienceIntent(Context context, EsAccount esaccount, Hangout.Info info, boolean flag, AudienceData audiencedata)
{
Intent intent = new Intent(context, HangoutActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("hangout_info", info);
intent.putExtra("hangout_skip_green_room", flag);
if(audiencedata != null)
intent.putExtra("audience", audiencedata);
return intent;
}
public static Intent getHangoutActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("destination", 3);
return intent;
}
public static Intent getHangoutActivityIntent(Context context, EsAccount esaccount, Hangout.Info info, boolean flag, List arraylist)
{
Intent intent = new Intent(context, HangoutActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("hangout_info", info);
intent.putExtra("hangout_skip_green_room", flag);
intent.putExtra("hangout_participants", (ArrayList)arraylist);
return intent;
}
public static Intent getHangoutActivityIntent(Context context, EsAccount esaccount, Hangout.RoomType roomtype, String s, String s1, String s2, String s3, Hangout.LaunchSource launchsource,
boolean flag, boolean flag1, List arraylist)
{
Intent intent = new Intent(context, HangoutActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
return getHangoutActivityIntent(context, esaccount, new Hangout.Info(roomtype, s, s1, s2, null, launchsource, false), flag1, arraylist);
}
public static Intent getHangoutParticipantListActivityIntent(Context context, EsAccount esaccount, List arraylist)
{
Intent intent = new Intent(context, HangoutParticipantListActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("conversation_row_id", -1L);
intent.putExtra("hangout_participants", (ArrayList)arraylist);
return intent;
}
public static Intent getHangoutRingingActivityIntent(Context context, EsAccount esaccount, String s, String s1, Hangout.Info info, boolean flag)
{
Intent intent = new Intent(context, HangoutRingingActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("hangout_inviter_id", s);
intent.putExtra("hangout_inviter_name", s1);
intent.putExtra("hangout_info", info);
intent.putExtra("hangout_is_lite", flag);
return intent;
}
public static Intent getNewConversationActivityIntent(Context context, EsAccount esaccount, AudienceData audiencedata)
{
Intent intent = new Intent(context, NewConversationActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("audience", audiencedata);
return intent;
}
public static Intent getConversationInvititationActivityIntent(Context context, EsAccount esaccount, long l, String s, boolean flag)
{
Intent intent = new Intent(context, InvitationActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("conversation_row_id", l);
intent.putExtra("inviter_id", s);
intent.putExtra("is_group", flag);
return intent;
}
public static Intent getConversationActivityHangoutTileIntent(Context context, EsAccount esaccount, long l, boolean flag)
{
Intent intent = getConversationActivityIntent(context, esaccount, l, flag);
intent.putExtra("tile", HangoutTile.class.getName());
return intent;
}
public static Intent getConversationActivityIntent(Context context, EsAccount esaccount, long l, boolean flag)
{
Intent intent = new Intent(context, ConversationActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("conversation_row_id", l);
intent.putExtra("is_group", flag);
return intent;
}
public static Intent getParticipantListActivityIntent(Context context, EsAccount esaccount, long l, String s, boolean flag, boolean flag1)
{
Intent intent = new Intent(context, ParticipantListActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("conversation_row_id", l);
intent.putExtra("conversation_name", s);
intent.putExtra("is_group", flag);
if(flag1)
intent.putExtra("tile", HangoutTile.class.getName());
return intent;
}
public static Intent getNextOobIntent(Context context, EsAccount esaccount, AccountSettingsData accountsettingsdata, Intent intent)
{
OobIntents oobintents = (OobIntents)intent.getParcelableExtra("oob_intents");
Intent intent1;
if(oobintents == null)
intent1 = null;
else
intent1 = oobintents.getNextIntent(context, esaccount, accountsettingsdata);
return intent1;
}
public static Intent getCircleMembershipActivityIntent(Context context, EsAccount esaccount, String s, String s1, boolean flag)
{
Intent intent = new Intent(context, CirclesMembershipActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("display_name", s1);
intent.putExtra("empty_selection_allowed", flag);
return intent;
}
public static Intent getHostedProfileIntent(Context context, EsAccount esaccount, String s, String s1, int i)
{
Intent intent;
intent = new Intent(context, HomeActivity.class);
intent.setAction("android.intent.action.VIEW");
if(0 == i) {
intent.putExtra("destination", 1);
} else if(1 == i) {
intent.putExtra("destination", 7);
}
intent.putExtra("account", esaccount);
intent.putExtra("person_id", s);
intent.putExtra("notif_id", (String)null);
return intent;
}
public static Intent getPostSearchActivityIntent(Context context, EsAccount esaccount, String s)
{
Intent intent = new Intent(context, PostSearchActivity.class);
intent.putExtra("account", esaccount);
if(s != null)
intent.putExtra("query", s);
return intent;
}
public static Intent getOutOfBoxActivityIntent(Context context, EsAccount esaccount, OobIntents oobintents, MobileOutOfBoxResponse mobileoutofboxresponse, String s)
{
Intent intent = new Intent(context, OutOfBoxActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("oob_intents", oobintents);
intent.putExtra("network_oob", new OutOfBoxResponseParcelable(mobileoutofboxresponse));
intent.putExtra("oob_origin", s);
return intent;
}
public static Intent getOobSelectPlusPageActivityIntent(Context context, EsAccount esaccount, AccountSettingsData accountsettingsdata, OobIntents oobintents)
{
Intent intent = new Intent(context, OobSelectPlusPageActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("plus_pages", accountsettingsdata);
intent.putExtra("oob_intents", oobintents);
return intent;
}
public static Intent getOobSuggestedPeopleActivityIntent(Context context, EsAccount esaccount, OobIntents oobintents)
{
Intent intent = new Intent(context, OobSuggestedPeopleActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("oob_intents", oobintents);
return intent;
}
public static Intent getOobContactsSyncIntent(Context context, EsAccount esaccount, OobIntents oobintents)
{
Intent intent = new Intent(context, OobContactsSyncActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("oob_intents", oobintents);
return intent;
}
public static Intent getOobInstantUploadIntent(Context context, EsAccount esaccount, OobIntents oobintents)
{
Intent intent = new Intent(context, OobInstantUploadActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("oob_intents", oobintents);
return intent;
}
public static Intent getPeopleSearchActivityIntent(Context context, EsAccount esaccount, String s, boolean flag, int i, boolean flag1, boolean flag2, boolean flag3,
boolean flag4, boolean flag5)
{
Intent intent = new Intent(context, PeopleSearchActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("picker_mode", flag);
intent.putExtra("search_circles_usage", i);
intent.putExtra("search_pub_profiles_enabled", flag1);
intent.putExtra("search_phones_enabled", flag2);
intent.putExtra("search_plus_pages_enabled", flag3);
intent.putExtra("search_in_circles_enabled", flag4);
intent.putExtra("query", s);
intent.putExtra("filter_null_gaia_ids", flag5);
return intent;
}
public static Intent getVideoViewActivityIntent(Context context, EsAccount esaccount, String s, long l, byte abyte0[])
{
Intent intent = new Intent(context, VideoViewActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("owner_id", s);
intent.putExtra("photo_id", l);
intent.putExtra("data", abyte0);
return intent;
}
public static Intent getInstantUploadSettingsActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, InstantUploadSettingsActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
return intent;
}
public static Intent getAddedToCircleActivityIntent(Context context, EsAccount esaccount, byte abyte0[], String s)
{
Intent intent = new Intent(context, AddedToCircleActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("circle_actor_data", abyte0);
intent.putExtra("notif_id", s);
return intent;
}
public static Intent getEventHangoutActivityIntent(Context context, EsAccount esaccount, String s)
{
return getHangoutActivityIntent(context, esaccount, Hangout.RoomType.EXTERNAL, null, "event", s, null, Hangout.LaunchSource.Event, false, false, null);
}
public static Intent getMissedHangoutCallbackIntent(Context context, EsAccount esaccount, Hangout.Info info, AudienceData audiencedata)
{
Intent intent = new Intent(context, HangoutActivity.class);
intent.setAction((new StringBuilder("unique")).append(System.currentTimeMillis()).toString());
intent.putExtra("account", esaccount);
intent.putExtra("hangout_info", new Hangout.Info(info.getRoomType(), info.getDomain(), null, info.getId(), info.getNick(), Hangout.LaunchSource.MissedCall, true));
intent.putExtra("hangout_skip_green_room", true);
intent.putExtra("audience", audiencedata);
return intent;
}
public static Intent getPeopleSearchActivityIntent(Context context, EsAccount esaccount, boolean flag, int i, boolean flag1, boolean flag2, boolean flag3, boolean flag4,
boolean flag5)
{
return getPeopleSearchActivityIntent(context, esaccount, null, flag, i, flag1, flag2, flag3, flag4, flag5);
}
public static PhotoViewIntentBuilder newPhotoComposeActivityIntentBuilder(Context context)
{
return new PhotoViewIntentBuilder(context, PhotoComposeActivity.class);
}
public static PhotoViewIntentBuilder newPhotoViewActivityIntentBuilder(Context context)
{
return new PhotoViewIntentBuilder(context, PhotoOneUpActivity.class);
}
public static PhotoViewIntentBuilder newPhotoViewFragmentIntentBuilder(Context context)
{
return new PhotoViewIntentBuilder(context, PhotoOneUpFragment.class);
}
public static PhotosIntentBuilder newAlbumsActivityIntentBuilder(Context context)
{
return new PhotosIntentBuilder(context, HostAlbumsActivity.class);
}
public static PhotoViewIntentBuilder newPhotoComposeFragmentIntentBuilder(Context context)
{
return new PhotoViewIntentBuilder(context, PhotoComposeFragment.class);
}
public static PhotosIntentBuilder newPhotosSelectionActivityIntentBuilder(Context context)
{
return new PhotosIntentBuilder(context, PhotosSelectionActivity.class);
}
public static Intent getLocationSettingActivityIntent() {
String s;
String s1;
boolean flag = true;
if(android.os.Build.VERSION.SDK_INT >= 16) {
flag = false;
} else {
s1 = android.os.Build.VERSION.RELEASE;
if(!(TextUtils.isEmpty(s1) || s1.equals("4.1") || s1.startsWith("4.1.0") || s1.startsWith("4.1.1")))
flag = false;
}
if(flag)
s = "android.settings.LOCATION_SOURCE_SETTINGS";
else
s = "com.google.android.gsf.GOOGLE_LOCATION_SETTINGS";
return new Intent(s);
}
public static Intent getTargetIntent(Context context, Intent intent, String s)
{
Intent intent1 = new Intent(intent);
intent1.putExtra("calling_package", s);
intent1.putExtra("intent", intent);
String s1 = intent1.getAction();
if(TextUtils.isEmpty(s1))
intent1 = null;
else
if(s1.equals("com.google.android.apps.plus.action.PLUSONE"))
intent1.setComponent(new ComponentName(context, PlusOneActivity.class));
else
if(s1.equals("com.google.android.apps.plus.SHARE_GOOGLE") || s1.equals("android.intent.action.SEND") || s1.equals("android.intent.action.SEND_MULTIPLE") || s1.equals("com.google.android.apps.plus.GOOGLE_BIRTHDAY_POST") || s1.equals("com.google.android.apps.plus.GOOGLE_PLUS_SHARE"))
intent1.setComponent(new ComponentName(context, ShareActivity.class));
else
intent1 = null;
return intent1;
}
public static Intent getPostTextActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, PostTextActivity.class);
intent.setAction("android.intent.action.SEND");
intent.putExtra("account", esaccount);
intent.putExtra("is_internal", true);
intent.putExtra("start_editing", true);
return intent;
}
public static Intent getCheckinActivityIntent(Context context, EsAccount esaccount)
{
Intent intent = new Intent(context, LocationPickerActivity.class);
intent.putExtra("account", esaccount);
intent.putExtra("places_only", true);
return intent;
}
public static Intent getCameraIntentPhoto(String s)
{
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra("output", Uri.fromFile(new File(Environment.getExternalStorageDirectory(), s)));
return intent;
}
public static Intent getCameraIntentVideo()
{
return new Intent("android.media.action.VIDEO_CAPTURE");
}
public static Intent getEmotiShareActivityIntent(Context context, EsAccount esaccount, DbEmotishareMetadata dbemotisharemetadata)
{
Intent intent = new Intent(context, HostEmotiShareChooserActivity.class);
intent.putExtra("account", esaccount);
intent.setAction("android.intent.action.SEND");
return intent;
}
public static Intent getPostActivityIntent(Context context, EsAccount esaccount, MediaRef mediaref)
{
Intent intent = new Intent(context, PostActivity.class);
intent.setAction("android.intent.action.SEND");
if(mediaref != null)
intent.putExtra("android.intent.extra.STREAM", mediaref);
intent.putExtra("account", esaccount);
intent.putExtra("is_internal", true);
return intent;
}
public static Intent getPostActivityIntent(Context context, EsAccount esaccount, DbEmotishareMetadata dbemotisharemetadata)
{
Intent intent = new Intent(context, PostActivity.class);
intent.setAction("android.intent.action.SEND");
intent.putExtra("account", esaccount);
intent.putExtra("is_internal", true);
if(dbemotisharemetadata != null)
intent.putExtra("typed_image_embed", dbemotisharemetadata);
return intent;
}
public static Intent getPostActivityIntent(Context context, EsAccount esaccount, DbLocation dblocation)
{
Intent intent = new Intent(context, PostActivity.class);
intent.setAction("android.intent.action.SEND");
intent.putExtra("account", esaccount);
intent.putExtra("is_internal", true);
if(dblocation != null)
intent.putExtra("location", dblocation);
return intent;
}
public static Intent getViewPanoramaActivityIntent(Context context, EsAccount esaccount, MediaRef mediaref)
{
Intent intent = new Intent(context, PanoramaViewerActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("mediaref", mediaref);
return intent;
}
public static Intent getPhotoPickerIntent(Context context, EsAccount esaccount, String s, MediaRef mediaref, int i)
{
Intent intent = new Intent(context, PhotoPickerActivity.class);
intent.setAction("android.intent.action.VIEW");
intent.putExtra("account", esaccount);
intent.putExtra("photo_picker_mode", 1);
intent.putExtra("display_name", s);
intent.putExtra("mediarefs", mediaref);
intent.putExtra("photo_picker_crop_mode", i);
return intent;
}
public static String getPersonIdFromProfileUrl(String s)
{
String s1 = getParameter(s, "pid=");
if(s1 == null)
s1 = s.substring(1 + s.lastIndexOf('/'));
return s1;
}
public static void viewContent(Context context, EsAccount esaccount, String s)
{
viewContent(context, esaccount, s, null);
}
public static void viewContent(Context context, EsAccount esaccount, String s, String s1) {
if(!isProfileUrl(s)) {
if(s.startsWith("#~loop:svt=album&")) {
String s4 = getParameter(s, "aid=");
String s5 = getParameter(s, "eid=");
String s6 = getParameter(s, "sid=");
String s7 = getParameter(s, "oid=");
String s8 = getParameter(s, "aname=");
if(s5 != null)
context.startActivity(getHostedEventIntent(context, esaccount, Uri.decode(s5), s7, null));
else
if(s6 != null && s7 != null)
try
{
String s10 = Uri.decode(s6);
String s11 = Uri.decode(s8);
context.startActivity(newPhotosActivityIntentBuilder(context).setAccount(esaccount).setAlbumName(s11).setStreamId(s10).setGaiaId(s7).build());
}
catch(NumberFormatException numberformatexception2) { }
else
if(s4 != null && s7 != null)
try
{
String s9 = Uri.decode(s8);
context.startActivity(newPhotosActivityIntentBuilder(context).setAccount(esaccount).setAlbumName(s9).setAlbumId(s4).setGaiaId(s7).build());
}
catch(NumberFormatException numberformatexception1) { }
return;
}
List list = Uri.parse(s).getPathSegments();
if(list.size() != 4 || !"photos".equals(list.get(0)) || !"albums".equals(list.get(2))) {
viewUrl(context, esaccount, s, s1);
} else {
try
{
String s2 = (String)list.get(1);
String s3 = (String)list.get(3);
context.startActivity(newPhotosActivityIntentBuilder(context).setAccount(esaccount).setAlbumId(s3).setGaiaId(s2).build());
}
catch(NumberFormatException numberformatexception) { }
}
} else {
String s12 = getPersonIdFromProfileUrl(s);
if(null != s12) {
context.startActivity(getProfileActivityByGaiaIdIntent(context, esaccount, s12, null));
}
}
}
public static void viewUrl(Context context, EsAccount esaccount, String s)
{
viewUrl(context, esaccount, s, null);
}
private static void viewUrl(Context context, EsAccount esaccount, String s, String s1)
{
Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse(s));
intent.putExtra("com.android.browser.application_id", context.getPackageName());
intent.addFlags(0x80000);
Bundle bundle = new Bundle();
bundle.putString("Referer", "http://plus.url.google.com/mobileapp");
intent.putExtra("com.android.browser.headers", bundle);
context.startActivity(intent);
if(esaccount == null) {
return;
}
Bundle bundle1;
if(!isExternalUrl(s)) {
bundle1 = null;
} else {
bundle1 = new Bundle();
bundle1.putString("extra_external_url", s);
if(!TextUtils.isEmpty(s1))
bundle1.putString("extra_creation_source_id", s1);
}
try {
EsAnalytics.recordActionEvent(context, esaccount, OzActions.OPEN_URL, OzViews.getViewForLogging(context), bundle1);
} catch (ActivityNotFoundException activitynotfoundexception) {
Log.w("Intents", (new StringBuilder("Unable to start activity for URL: ")).append(s).toString());
}
}
public static String getParameter(String s, String s1)
{
String s2;
int i;
String s3;
if(s1.endsWith("="))
s2 = s1;
else
s2 = (new StringBuilder()).append(s1).append("=").toString();
i = s.indexOf(s2);
if(i != -1)
{
int j = i + s2.length();
int k = s.indexOf('&', j);
if(k == -1)
s3 = s.substring(j);
else
s3 = s.substring(j, k);
} else
{
s3 = null;
}
return s3;
}
private static boolean isExternalUrl(String s) {
boolean flag = TextUtils.isEmpty(s);
if(flag)
return false;
String s1 = s.toLowerCase();
for(Iterator iterator = INTERNAL_URLS.iterator(); iterator.hasNext();)
if(s1.contains((String)iterator.next()))
{
return false;
}
return true;
}
//===========================================================================
// Inner class
//===========================================================================
public static final class PhotoViewIntentBuilder
{
private EsAccount mAccount;
private String mAlbumId;
private String mAlbumName;
private Boolean mAllowPlusOne;
private String mAuthkey;
private Boolean mDisableComments;
private String mDisplayName;
private String mEventId;
private Long mForceLoadId;
private String mGaiaId;
private final Intent mIntent;
private Boolean mIsPlaceholder;
private MediaRef mMediaRefs[];
private MediaRef.MediaType mMediaType;
private String mNotificationId;
private Integer mPageHint;
private Long mPhotoId;
private Integer mPhotoIndex;
private String mPhotoOfUserId;
private Boolean mPhotoOnly;
private MediaRef mPhotoRef;
private String mPhotoUrl;
private String mRefreshAlbumId;
private String mStreamId;
private PhotoViewIntentBuilder(Context context, Class clazz) {
mIntent = new Intent(context, clazz);
}
public final Intent build() {
if(mAccount == null)
throw new IllegalArgumentException("Account must be set");
mIntent.setAction("android.intent.action.VIEW");
mIntent.putExtra("account", mAccount);
if(mAlbumId != null)
mIntent.putExtra("album_id", mAlbumId);
if(mAlbumName != null)
mIntent.putExtra("album_name", mAlbumName);
if(mAllowPlusOne != null)
mIntent.putExtra("allow_plusone", mAllowPlusOne.booleanValue());
if(mDisplayName != null)
mIntent.putExtra("display_name", mDisplayName);
if(mEventId != null)
mIntent.putExtra("event_id", mEventId);
if(mForceLoadId != null)
mIntent.putExtra("force_load_id", mForceLoadId.longValue());
if(mRefreshAlbumId != null)
mIntent.putExtra("refresh_album_id", mRefreshAlbumId);
if(mMediaRefs != null)
mIntent.putExtra("mediarefs", mMediaRefs);
if(mNotificationId != null)
mIntent.putExtra("notif_id", mNotificationId);
if(mGaiaId != null)
mIntent.putExtra("owner_id", mGaiaId);
if(mPageHint != null)
mIntent.putExtra("page_hint", mPageHint.intValue());
else
mIntent.putExtra("page_hint", -1);
if(mPhotoId != null)
mIntent.putExtra("photo_id", mPhotoId.longValue());
if(mPhotoIndex != null)
mIntent.putExtra("photo_index", mPhotoIndex.intValue());
if(mPhotoOfUserId != null)
mIntent.putExtra("photos_of_user_id", mPhotoOfUserId);
if(mPhotoOnly != null && mPhotoOnly.booleanValue() || mMediaRefs != null)
mIntent.putExtra("show_photo_only", true);
if(null != mPhotoRef) {
mIntent.putExtra("photo_ref", mPhotoRef);
} else {
if(mPhotoId != null)
{
Uri uri;
Uri uri1;
String s;
long l;
String s1;
MediaRef.MediaType mediatype;
MediaRef mediaref;
if(mPhotoUrl != null)
uri = Uri.parse(mPhotoUrl);
else
uri = null;
if(MediaStoreUtils.isMediaStoreUri(uri))
uri1 = uri;
else
uri1 = null;
s = mGaiaId;
l = mPhotoId.longValue();
s1 = mPhotoUrl;
if(mMediaType != null)
mediatype = mMediaType;
else
mediatype = MediaRef.MediaType.IMAGE;
mediaref = new MediaRef(s, l, s1, uri1, mediatype);
mIntent.putExtra("photo_ref", mediaref);
}
}
if(mPhotoUrl != null)
mIntent.putExtra("photo_url", mPhotoUrl);
if(mStreamId != null)
mIntent.putExtra("stream_id", mStreamId);
if(mAuthkey != null)
mIntent.putExtra("auth_key", mAuthkey);
if(mDisableComments != null)
mIntent.putExtra("disable_photo_comments", mDisableComments.booleanValue());
if(mIsPlaceholder != null)
mIntent.putExtra("is_placeholder", mIsPlaceholder.booleanValue());
return mIntent;
}
public final PhotoViewIntentBuilder setAccount(EsAccount esaccount) {
mAccount = esaccount;
return this;
}
public final PhotoViewIntentBuilder setAlbumId(String s)
{
mAlbumId = s;
return this;
}
public final PhotoViewIntentBuilder setAlbumName(String s)
{
mAlbumName = s;
return this;
}
public final PhotoViewIntentBuilder setAllowPlusOne(Boolean boolean1)
{
mAllowPlusOne = boolean1;
return this;
}
public final PhotoViewIntentBuilder setAuthkey(String s)
{
mAuthkey = s;
return this;
}
public final PhotoViewIntentBuilder setDisableComments(Boolean boolean1)
{
mDisableComments = boolean1;
return this;
}
public final PhotoViewIntentBuilder setDisplayName(String s)
{
mDisplayName = s;
return this;
}
public final PhotoViewIntentBuilder setEventId(String s)
{
mEventId = s;
return this;
}
public final PhotoViewIntentBuilder setForceLoadId(Long long1)
{
mForceLoadId = long1;
return this;
}
public final PhotoViewIntentBuilder setGaiaId(String s)
{
mGaiaId = s;
return this;
}
public final PhotoViewIntentBuilder setIsPlaceholder(Boolean boolean1)
{
mIsPlaceholder = boolean1;
return this;
}
public final PhotoViewIntentBuilder setMediaRefs(MediaRef amediaref[])
{
mMediaRefs = amediaref;
return this;
}
public final PhotoViewIntentBuilder setMediaType(MediaRef.MediaType mediatype)
{
mMediaType = mediatype;
return this;
}
public final PhotoViewIntentBuilder setNotificationId(String s)
{
mNotificationId = s;
return this;
}
public final PhotoViewIntentBuilder setPageHint(Integer integer)
{
mPageHint = integer;
return this;
}
public final PhotoViewIntentBuilder setPhotoId(Long long1)
{
mPhotoId = long1;
return this;
}
public final PhotoViewIntentBuilder setPhotoIndex(Integer integer)
{
mPhotoIndex = integer;
return this;
}
public final PhotoViewIntentBuilder setPhotoOfUserId(String s)
{
mPhotoOfUserId = s;
return this;
}
public final PhotoViewIntentBuilder setPhotoOnly(Boolean boolean1)
{
mPhotoOnly = boolean1;
return this;
}
public final PhotoViewIntentBuilder setPhotoRef(MediaRef mediaref)
{
mPhotoRef = mediaref;
return this;
}
public final PhotoViewIntentBuilder setPhotoUrl(String s)
{
mPhotoUrl = s;
return this;
}
public final PhotoViewIntentBuilder setRefreshAlbumId(String s)
{
mRefreshAlbumId = s;
return this;
}
public final PhotoViewIntentBuilder setStreamId(String s)
{
mStreamId = s;
return this;
}
}
public static final class PhotosIntentBuilder
{
private EsAccount mAccount;
private String mAlbumId;
private String mAlbumName;
private String mAlbumType;
private AudienceData mAudience;
private String mAuthkey;
private Integer mCropMode;
private String mGaiaId;
private final Intent mIntent;
private Map mMediaRefUserMap;
private MediaRef mMediaRefs[];
private String mNotificationId;
private String mPersonId;
private String mPhotoOfUserId;
private ArrayList mPhotoPickerMediaRefs;
private Integer mPhotoPickerMode;
private Integer mPhotoPickerTitleResourceId;
private Boolean mPhotosHome;
private Boolean mShowCameraAlbum;
private String mStreamId;
private Boolean mTakePhoto;
private Boolean mTakeVideo;
private PhotosIntentBuilder(Context context, Class clazz) {
mIntent = new Intent(context, clazz);
}
public final Intent build()
{
if(mAccount == null)
throw new IllegalArgumentException("Account must be set");
mIntent.setAction("android.intent.action.VIEW");
Bundle bundle = new Bundle();
bundle.putParcelable("account", mAccount);
if(mAlbumId != null)
bundle.putString("album_id", mAlbumId);
if(mAlbumName != null)
bundle.putString("album_name", mAlbumName);
if(mAlbumType != null)
bundle.putString("album_type", mAlbumType);
if(mMediaRefs != null)
bundle.putParcelableArray("mediarefs", mMediaRefs);
if(mNotificationId != null)
bundle.putString("notif_id", mNotificationId);
if(mGaiaId != null)
bundle.putString("owner_id", mGaiaId);
bundle.putInt("page_hint", -1);
if(mPersonId != null)
bundle.putString("person_id", mPersonId);
if(mPhotoOfUserId != null)
bundle.putString("photos_of_user_id", mPhotoOfUserId);
if(mMediaRefs != null)
bundle.putBoolean("show_photo_only", true);
if(mPhotosHome != null)
bundle.putBoolean("photos_home", mPhotosHome.booleanValue());
if(mShowCameraAlbum != null)
bundle.putBoolean("photos_show_camera_album", mShowCameraAlbum.booleanValue());
if(mStreamId != null)
bundle.putString("stream_id", mStreamId);
if(mPhotoPickerMode != null)
bundle.putInt("photo_picker_mode", mPhotoPickerMode.intValue());
if(mPhotoPickerTitleResourceId != null)
bundle.putInt("photo_picker_title", mPhotoPickerTitleResourceId.intValue());
if(mPhotoPickerMediaRefs != null)
{
MediaRef amediaref[] = new MediaRef[mPhotoPickerMediaRefs.size()];
mPhotoPickerMediaRefs.toArray(amediaref);
bundle.putParcelableArray("photo_picker_selected", amediaref);
}
if(mCropMode != null)
bundle.putInt("photo_picker_crop_mode", mCropMode.intValue());
if(mAuthkey != null)
bundle.putString("auth_key", mAuthkey);
if(PrimitiveUtils.safeBoolean(mTakePhoto))
bundle.putBoolean("take_photo", mTakePhoto.booleanValue());
if(PrimitiveUtils.safeBoolean(mTakeVideo))
bundle.putBoolean("take_video", mTakeVideo.booleanValue());
if(mMediaRefUserMap != null)
bundle.putSerializable("mediaref_user_map", (Serializable)mMediaRefUserMap);
if(mAudience != null)
bundle.putParcelable("audience", mAudience);
mIntent.putExtras(bundle);
return mIntent;
}
public final PhotosIntentBuilder setAccount(EsAccount esaccount)
{
mAccount = esaccount;
return this;
}
public final PhotosIntentBuilder setAlbumId(String s)
{
mAlbumId = s;
return this;
}
public final PhotosIntentBuilder setAlbumName(String s)
{
mAlbumName = s;
return this;
}
public final PhotosIntentBuilder setAlbumType(String s)
{
mAlbumType = s;
return this;
}
public final PhotosIntentBuilder setAudience(AudienceData audiencedata)
{
mAudience = audiencedata;
return this;
}
public final PhotosIntentBuilder setAuthkey(String s)
{
mAuthkey = s;
return this;
}
public final PhotosIntentBuilder setCropMode(Integer integer)
{
mCropMode = integer;
return this;
}
public final PhotosIntentBuilder setGaiaId(String s)
{
mGaiaId = s;
return this;
}
public final PhotosIntentBuilder setMediaRefUserMap(Map map)
{
if(map instanceof Serializable)
{
mMediaRefUserMap = map;
return this;
} else
{
throw new IllegalArgumentException("mediaRefUserMap must be serializable!");
}
}
public final PhotosIntentBuilder setMediaRefs(MediaRef amediaref[])
{
mMediaRefs = amediaref;
return this;
}
public final PhotosIntentBuilder setNotificationId(String s)
{
mNotificationId = s;
return this;
}
public final PhotosIntentBuilder setPersonId(String s)
{
mPersonId = s;
return this;
}
public final PhotosIntentBuilder setPhotoOfUserId(String s)
{
mPhotoOfUserId = s;
return this;
}
public final PhotosIntentBuilder setPhotoPickerInitiallySelected(ArrayList arraylist)
{
mPhotoPickerMediaRefs = arraylist;
return this;
}
public final PhotosIntentBuilder setPhotoPickerMode(Integer integer)
{
mPhotoPickerMode = integer;
return this;
}
public final PhotosIntentBuilder setPhotoPickerTitleResourceId(Integer integer)
{
mPhotoPickerTitleResourceId = integer;
return this;
}
public final PhotosIntentBuilder setPhotosHome(Boolean boolean1)
{
mPhotosHome = boolean1;
return this;
}
public final PhotosIntentBuilder setShowCameraAlbum(Boolean boolean1)
{
mShowCameraAlbum = boolean1;
return this;
}
public final PhotosIntentBuilder setStreamId(String s)
{
mStreamId = s;
return this;
}
public final PhotosIntentBuilder setTakePhoto(boolean flag)
{
mTakePhoto = Boolean.valueOf(true);
return this;
}
public final PhotosIntentBuilder setTakeVideo(boolean flag)
{
mTakeVideo = Boolean.valueOf(true);
return this;
}
}
}