/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import WriteReviewOperation.MediaRef;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.location.Location;
import android.location.LocationListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;
import android.text.Editable;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.style.URLSpan;
import android.text.util.Linkify;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import com.galaxy.meetup.client.android.EsCursorLoader;
import com.galaxy.meetup.client.android.Intents;
import com.galaxy.meetup.client.android.LocationController;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.analytics.AnalyticsInfo;
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.api.ApiUtils;
import com.galaxy.meetup.client.android.api.CallToActionData;
import com.galaxy.meetup.client.android.content.AudienceData;
import com.galaxy.meetup.client.android.content.CircleData;
import com.galaxy.meetup.client.android.content.DbAudienceData;
import com.galaxy.meetup.client.android.content.DbEmbedDeepLink;
import com.galaxy.meetup.client.android.content.DbEmbedEmotishare;
import com.galaxy.meetup.client.android.content.DbEmbedMedia;
import com.galaxy.meetup.client.android.content.DbEmbedSkyjam;
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.EsAccountsData;
import com.galaxy.meetup.client.android.content.EsApiProvider;
import com.galaxy.meetup.client.android.content.EsPeopleData;
import com.galaxy.meetup.client.android.content.EsProvider;
import com.galaxy.meetup.client.android.content.PreviewRequestData;
import com.galaxy.meetup.client.android.content.SquareTargetData;
import com.galaxy.meetup.client.android.network.ApiaryActivity;
import com.galaxy.meetup.client.android.network.ApiaryActivityFactory;
import com.galaxy.meetup.client.android.network.ApiaryApiInfo;
import com.galaxy.meetup.client.android.service.EsService;
import com.galaxy.meetup.client.android.service.EsServiceListener;
import com.galaxy.meetup.client.android.service.ServiceResult;
import com.galaxy.meetup.client.android.ui.activity.BaseActivity;
import com.galaxy.meetup.client.android.ui.activity.ShareActivity;
import com.galaxy.meetup.client.android.ui.fragments.AlertFragmentDialog.AlertDialogListener;
import com.galaxy.meetup.client.android.ui.view.AlbumColumnGridItemView;
import com.galaxy.meetup.client.android.ui.view.AudienceView;
import com.galaxy.meetup.client.android.ui.view.EmotiShareView;
import com.galaxy.meetup.client.android.ui.view.ImageResourceView;
import com.galaxy.meetup.client.android.ui.view.LinksCardView;
import com.galaxy.meetup.client.android.ui.view.MentionMultiAutoCompleteTextView;
import com.galaxy.meetup.client.android.ui.view.OneUpLinkView;
import com.galaxy.meetup.client.android.ui.view.PostAclButtonView;
import com.galaxy.meetup.client.android.ui.view.StreamOneUpSkyjamView;
import com.galaxy.meetup.client.android.ui.view.TextOnlyAudienceView;
import com.galaxy.meetup.client.util.EsLog;
import com.galaxy.meetup.client.util.GalleryUtils;
import com.galaxy.meetup.client.util.ImageUtils;
import com.galaxy.meetup.client.util.MentionTokenizer;
import com.galaxy.meetup.client.util.PeopleUtils;
import com.galaxy.meetup.client.util.PlatformContractUtils;
import com.galaxy.meetup.client.util.PrimitiveUtils;
import com.galaxy.meetup.client.util.Property;
import com.galaxy.meetup.client.util.ResourceRedirector;
import com.galaxy.meetup.client.util.SoftInput;
import com.galaxy.meetup.client.util.StringUtils;
import com.galaxy.meetup.server.client.domain.DeepLinkData;
import com.galaxy.meetup.server.client.domain.EmbedClientItem;
import com.galaxy.meetup.server.client.domain.PlayMusicAlbum;
import com.galaxy.meetup.server.client.domain.PlayMusicTrack;
import com.galaxy.meetup.server.client.domain.SharingRoster;
import com.galaxy.meetup.server.client.domain.SharingTargetId;
import com.galaxy.meetup.server.client.domain.Thing;
import com.galaxy.meetup.server.client.domain.VideoObject;
import com.galaxy.meetup.server.client.domain.WebPage;
/**
*
* @author sihai
*
*/
public class PostFragment extends Fragment implements AlertDialogListener {
private EsAccount mAccount;
private View mAclDropDown;
private String mActivityId;
private ApiaryApiInfo mApiaryApiInfo;
private List mAttachmentRefs;
private List mAttachments;
private AudienceView mAudienceView;
private CallToActionData mCallToAction;
private MentionMultiAutoCompleteTextView mCommentsView;
private String mContentDeepLinkId;
private Bundle mContentDeepLinkMetadata;
private PostAclButtonView mCreateAclButton;
private PostAclButtonView mDefaultAclButton;
private AudienceData mDefaultAudience;
private PostAclButtonView mDomainAclButton;
private CircleData mDomainCircle;
private DbEmotishareMetadata mEmotiShare;
private DbEmotishareMetadata mEmotiShareResult;
private View mEmptyMediaView;
private View mFocusOverrideView;
private String mFooterMessage;
private PostAclButtonView mHistoryAclButtonArray[];
private ArrayList mHistoryAudienceArray;
private Integer mInsertCameraPhotoRequestId;
private boolean mIsFromPlusOne;
private boolean mLoadingMediaAttachments;
private boolean mLoadingUrlPreview;
private View mLoadingView;
private DbLocation mLocation;
private boolean mLocationChecked;
private LocationController mLocationController;
private View mMediaContainer;
private TextView mMediaCount;
private MediaGallery mMediaGallery;
private ViewGroup mMediaGalleryView;
private final android.support.v4.app.LoaderManager.LoaderCallbacks mMediaRefLoaderCallbacks = new android.support.v4.app.LoaderManager.LoaderCallbacks() {
public final Loader onCreateLoader(int i, Bundle bundle) {
return new MediaRefLoader(getActivity(), mAccount, mAttachments);
}
public final void onLoadFinished(Loader loader, Object obj) {
List arraylist = (List)obj;
int i;
int j;
if(mAttachments == null)
i = 0;
else
i = mAttachments.size();
if(arraylist == null)
j = 0;
else
j = arraylist.size();
mAttachments = null;
MediaRef mediaref;
for(Iterator iterator = arraylist.iterator(); iterator.hasNext(); addToMediaGallery(mediaref))
mediaref = (MediaRef)iterator.next();
if(j < i)
Toast.makeText(getActivity(), R.string.post_invalid_photos_unsupported, 1).show();
}
public final void onLoaderReset(Loader loader) {
}
};
private final MentionTokenizer mMentionTokenizer = new MentionTokenizer();
private String mOriginalText;
private Integer mPendingPostId;
private ViewGroup mPreviewContainerView;
private ApiaryActivity mPreviewResult;
private ViewGroup mPreviewWrapperView;
private Location mProviderLocation;
private PostAclButtonView mPublicAclButton;
private CircleData mPublicCircle;
private boolean mRemoveEmotiShare;
private boolean mRemoveLocation;
private View mRemoveLocationView;
private View mRemovePreviewButton;
private AudienceData mResultAudience;
private DbLocation mResultLocation;
private ArrayList mResultMediaItems;
private AudienceData mSavedDefaultAudience;
private ScrollView mScrollView;
private final EsServiceListener mServiceListener = new ServiceListener();
private Animation mSlideInDown;
private Animation mSlideOutUp;
private PostAclButtonView mSquaresAclButton;
private final TextWatcher mTextWatcher = new TextWatcher() {
public final void afterTextChanged(Editable editable)
{
updatePostUI();
PostFragment.updateText(getView());
}
public final void beforeTextChanged(CharSequence charsequence, int i, int j, int k)
{
}
public final void onTextChanged(CharSequence charsequence, int i, int j, int k) {
if(null == mCommentsView) {
return;
}
int l = mCommentsView.getSelectionEnd();
if(mMentionTokenizer.findTokenStart(charsequence, l) + mCommentsView.getThreshold() <= l) {
int i1 = (int)getActivity().getResources().getDimension(R.dimen.plus_mention_suggestion_min_space);
int ai[] = new int[2];
mCommentsView.getLocationOnScreen(ai);
Rect rect = new Rect();
getView().getWindowVisibleDisplayFrame(rect);
int j1 = ai[1] + mCommentsView.getCursorYPosition();
if(rect.height() - j1 < i1)
mScrollView.smoothScrollTo(0, mCommentsView.getCursorYTop());
}
}
};
private String mUrl;
private CircleData mYourCircles;
private PostAclButtonView mYourCirclesAclButton;
private android.view.View.OnClickListener onClickListener;
private android.widget.TextView.OnEditorActionListener onEditorActionListener;
public PostFragment() {
mPreviewResult = null;
onClickListener = new android.view.View.OnClickListener() {
private void toggleAclOverlay() {
if(mAclDropDown.getVisibility() == 0)
hideAclOverlay();
else
PostFragment.access$1800(PostFragment.this);
}
public final void onClick(View view) {
FragmentActivity fragmentactivity;
Bundle bundle;
OzViews ozviews;
int i;
fragmentactivity = getActivity();
bundle = getExtrasForLogging();
ozviews = OzViews.getViewForLogging(fragmentactivity);
i = view.getId();
if(i != R.id.audience_button) {
if(i == R.id.chevron_icon)
toggleAclOverlay();
else
if(i == R.id.empty_media || i == R.id.choose_media)
{
hideAclOverlay();
} else
if(i == R.id.empty_emotishare)
{
ResourceRedirector.getInstance();
if(Property.ENABLE_EMOTISHARE.getBoolean())
{
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.EMOTISHARE_INSERT_CLICKED, ozviews, bundle);
Intent intent1 = Intents.getChooseEmotiShareObjectIntent(fragmentactivity, mAccount, mEmotiShare);
launchActivity(intent1, 5);
}
} else
if(i == R.id.location_view)
{
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_CLICKED_LOCATION, ozviews, bundle);
boolean flag = PostFragment.access$1300(PostFragment.this);
DbLocation dblocation;
Intent intent;
if(mLocation != null && mLocation.hasCoordinates())
dblocation = mLocation;
else
dblocation = null;
intent = Intents.getChooseLocationIntent(fragmentactivity, mAccount, flag, dblocation);
launchActivity(intent, 3);
} else
if(i == R.id.remove_location)
{
hideAclOverlay();
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_CLICKED_LOCATION, ozviews, bundle);
mRemoveLocation = true;
setLocationChecked(false);
} else
if(i == R.id.mention_scroll_view || i == R.id.compose_text)
{
hideAclOverlay();
} else
{
Intents.PhotoViewIntentBuilder photoviewintentbuilder = Intents.newPhotoComposeActivityIntentBuilder(fragmentactivity);
MediaRef amediaref[] = new MediaRef[mAttachmentRefs.size()];
MediaRef amediaref1[] = (MediaRef[])mAttachmentRefs.toArray(amediaref);
MediaRef mediaref = (MediaRef)view.getTag();
if(mediaref != null)
{
int j = 0;
for(int k = 0; k < amediaref1.length; k++)
if(mediaref.equals(amediaref1[k]))
j = k;
photoviewintentbuilder.setAccount(mAccount).setPhotoIndex(Integer.valueOf(j)).setMediaRefs(amediaref1);
launchActivity(photoviewintentbuilder.build(), 4);
}
}
} else {
if(mAudienceView.getAudience().isEmpty())
toggleAclOverlay();
else
if(mAudienceView.getAudience().getSquareTargetCount() > 0)
// TODO
;
else
launchAclPicker();
}
}
};
onEditorActionListener = new android.widget.TextView.OnEditorActionListener() {
public final boolean onEditorAction(TextView textview, int i, KeyEvent keyevent) {
if(textview != mCommentsView) {
return false;
}
if(6 == i) {
SoftInput.hide(textview);
return true;
}
return false;
}
};
}
private void addLocationListener() {
if(mLocationController == null && LocationController.isProviderEnabled(getActivity()))
mLocationController = new LocationController(getActivity(), mAccount, true, 3000L, mProviderLocation, new PostLocationListener());
}
private void addToMediaGallery(MediaRef mediaref) {
mAttachmentRefs.add(mediaref);
mMediaGallery.add(mediaref);
getView();
updatePreviewContainer();
updatePostUI();
}
private static boolean compareAudiences(AudienceData audiencedata, AudienceData audiencedata1) {
boolean flag = false;
if(audiencedata == null || audiencedata1 == null) {
return false;
}
SharingRoster sharingroster = EsPeopleData.convertAudienceToSharingRoster(audiencedata);
HashSet hashset = new HashSet(sharingroster.sharingTargetId.size());
SharingTargetId sharingtargetid1;
for(Iterator iterator = sharingroster.sharingTargetId.iterator(); iterator.hasNext(); hashset.add(sharingtargetid1.toJsonString()))
sharingtargetid1 = (SharingTargetId)iterator.next();
for(Iterator iterator1 = EsPeopleData.convertAudienceToSharingRoster(audiencedata1).sharingTargetId.iterator(); iterator1.hasNext();)
{
SharingTargetId sharingtargetid = (SharingTargetId)iterator1.next();
if(!hashset.remove(sharingtargetid.toJsonString()))
{
return false;
}
}
flag = hashset.isEmpty();
return flag;
}
private void createDefaultAclButton(View view, AudienceData audiencedata)
{
mSavedDefaultAudience = audiencedata;
PostAclButtonView postaclbuttonview = (PostAclButtonView)view.findViewById(R.id.default_acl_button);
if(!isValidCustomAudience(audiencedata))
{
mDefaultAclButton = null;
mDefaultAudience = null;
postaclbuttonview.setVisibility(8);
} else
{
boolean flag;
PostAclButtonView postaclbuttonview1;
String s;
int i;
int j;
if(audiencedata.getSquareTargetCount() > 0)
flag = true;
else
flag = false;
mDefaultAclButton = postaclbuttonview;
mDefaultAudience = audiencedata;
postaclbuttonview1 = mDefaultAclButton;
s = audiencedata.toNameList(getActivity());
if(flag)
i = R.drawable.ic_nav_communities;
else
i = R.drawable.ic_person_active;
if(flag)
j = R.drawable.ic_communities_grey;
else
j = R.drawable.ic_acl_custom_inactive;
postaclbuttonview1.initialize(s, i, j, R.drawable.ic_done_save_ok_blue);
mDefaultAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view1)
{
updateAudienceUI(null);
updateAudienceUI(mSavedDefaultAudience);
updatePostUI();
hideAclOverlay();
}
});
mDefaultAclButton.setVisibility(0);
}
}
private void createDomainAclButton(View view, CircleData circledata)
{
mDomainCircle = circledata;
PostAclButtonView postaclbuttonview = (PostAclButtonView)view.findViewById(R.id.domain_acl_button);
if(circledata == null)
{
mDomainAclButton = null;
postaclbuttonview.setVisibility(8);
} else
{
mDomainAclButton = postaclbuttonview;
mDomainAclButton.initialize(circledata.getName(), R.drawable.ic_acl_domain_active, R.drawable.ic_acl_domain_inactive, R.drawable.ic_done_save_ok_green);
mDomainAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view1)
{
updateAudienceUI(new AudienceData(mDomainCircle));
updatePostUI();
hideAclOverlay();
}
});
mDomainAclButton.setVisibility(0);
}
}
private void createPublicAclButton(View view, CircleData circledata)
{
mPublicCircle = circledata;
PostAclButtonView postaclbuttonview = (PostAclButtonView)view.findViewById(R.id.public_acl_button);
if(circledata == null)
{
mPublicAclButton = null;
postaclbuttonview.setVisibility(8);
} else
{
mPublicAclButton = postaclbuttonview;
mPublicAclButton.initialize(circledata.getName(), R.drawable.ic_public_active, R.drawable.ic_public, R.drawable.ic_done_save_ok_green);
mPublicAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view1)
{
updateAudienceUI(new AudienceData(mPublicCircle));
updatePostUI();
hideAclOverlay();
}
});
mPublicAclButton.setVisibility(0);
}
}
private void createYourCirclesAclButton(View view, CircleData circledata)
{
mYourCircles = circledata;
PostAclButtonView postaclbuttonview = (PostAclButtonView)view.findViewById(R.id.your_circles_acl_button);
if(circledata == null)
{
mYourCirclesAclButton = null;
postaclbuttonview.setVisibility(8);
} else
{
mYourCirclesAclButton = postaclbuttonview;
mYourCirclesAclButton.initialize(circledata.getName(), R.drawable.ic_circles_active, R.drawable.ic_circles, R.drawable.ic_done_save_ok_blue);
mYourCirclesAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view1)
{
updateAudienceUI(new AudienceData(mYourCircles));
updatePostUI();
hideAclOverlay();
}
});
mYourCirclesAclButton.setVisibility(0);
}
}
private boolean getCityLevelLocationPreference()
{
SharedPreferences sharedpreferences = getActivity().getSharedPreferences("streams", 0);
boolean flag;
if(sharedpreferences.contains("city_level_sharebox_location"))
flag = sharedpreferences.getBoolean("city_level_sharebox_location", false);
else
flag = sharedpreferences.getBoolean("city_level_location", false);
return flag;
}
private Bundle getExtrasForLogging() {
BaseActivity instrumentedactivity = (BaseActivity)getActivity();
if(null == instrumentedactivity) {
return null;
}
Bundle bundle = new Bundle();
if(BaseActivity.isFromThirdPartyApp(instrumentedactivity.getIntent()))
bundle.putBoolean("extra_platform_event", true);
if(mAudienceView != null && mAudienceView.getAudience().getSquareTargetCount() > 0)
bundle.putString("extra_square_id", mAudienceView.getAudience().getSquareTarget(0).getSquareId());
Bundle bundle1 = EsAnalytics.addExtrasForLogging(bundle, mEmotiShare);
if(bundle1.isEmpty())
bundle1 = null;
return bundle1;
}
private static DbLocation getLocationFromExtras(Bundle bundle) {
DbLocation dblocation = (DbLocation)bundle.getParcelable("location");
if(null != dblocation) {
return dblocation;
}
if(!bundle.containsKey("location_name") && !bundle.containsKey("cid")) {
return null;
}
// TODO
return null;
}
private void handlePostResult(int i, ServiceResult serviceresult)
{
if(mPendingPostId != null && mPendingPostId.intValue() == i)
{
mPendingPostId = null;
FragmentActivity fragmentactivity = getActivity();
DialogFragment dialogfragment = (DialogFragment)getFragmentManager().findFragmentByTag("req_pending");
if(dialogfragment != null)
dialogfragment.dismiss();
if(serviceresult != null && serviceresult.hasError())
{
Toast.makeText(getActivity(), R.string.post_create_activity_error, 0).show();
} else
{
Toast.makeText(fragmentactivity, R.string.share_post_success, 0).show();
android.content.SharedPreferences.Editor editor = getActivity().getSharedPreferences("streams", 0).edit();
editor.putBoolean("want_sharebox_locations", mLocationChecked);
editor.putBoolean("city_level_sharebox_location", getCityLevelLocationPreference());
editor.commit();
fragmentactivity.setResult(-1);
fragmentactivity.finish();
}
}
}
private void handlePreviewResult(ServiceResult serviceresult, ApiaryActivity apiaryactivity)
{
if(serviceresult.hasError())
{
if(EsLog.isLoggable("PostFragment", 3))
Log.d("PostFragment", (new StringBuilder("Could not retrieve preview: errorCode: ")).append(serviceresult.getErrorCode()).toString());
getActivity().showDialog(28199);
}
mPreviewResult = apiaryactivity;
(new Handler(Looper.getMainLooper())).post(new Runnable() {
public final void run()
{
updateViews(getView());
}
});
}
private boolean hasContentDeepLinkMetadata()
{
boolean flag;
if(mContentDeepLinkMetadata != null && !TextUtils.isEmpty(mContentDeepLinkMetadata.getString("title")) && !TextUtils.isEmpty(mContentDeepLinkMetadata.getString("description")))
flag = true;
else
flag = false;
return flag;
}
private void hideAclOverlay()
{
if(mAclDropDown != null && mAclDropDown.getVisibility() == 0)
mAclDropDown.startAnimation(mSlideOutUp);
}
private void insertCameraPhoto(String s)
{
FragmentActivity fragmentactivity = getActivity();
if(s != null)
{
Uri uri = Uri.parse(s);
MediaRef mediaref = new MediaRef(mAccount.getGaiaId(), 0L, null, uri, MediaRef.MediaType.IMAGE);
mResultMediaItems = new ArrayList();
mResultMediaItems.add(mediaref);
updateResultMediaItems();
} else
{
Toast.makeText(fragmentactivity, getString(R.string.camera_photo_error), 1).show();
}
if(fragmentactivity instanceof ImageUtils.InsertCameraPhotoDialogDisplayer)
((ImageUtils.InsertCameraPhotoDialogDisplayer)fragmentactivity).hideInsertCameraPhotoDialog();
}
private static boolean isAudienceCircle(AudienceData audiencedata, int i)
{
boolean flag = true;
if(audiencedata.getUserCount() != 0 || audiencedata.getCircleCount() != 1 || audiencedata.getCircle(0).getType() != i)
flag = false;
return flag;
}
private static boolean isValidCustomAudience(AudienceData audiencedata) {
boolean flag = false;
if(audiencedata == null)
return false;
boolean flag1;
flag1 = audiencedata.isEmpty();
if(flag1)
return false;
int i = audiencedata.getCircleCount();
int j = audiencedata.getUserCount();
int k = audiencedata.getSquareTargetCount();
if(j == 0 && k == 0 && i == 1)
{
int l = audiencedata.getCircle(0).getType();
if(l == 5)
return false;
if(l == 8)
return false;
if(l == 9)
return false;
}
if(k > 0)
{
boolean flag2 = Property.ENABLE_SQUARES.getBoolean();
if(!flag2)
return false;
}
return true;
}
private void launchAclPicker()
{
FragmentActivity fragmentactivity = getActivity();
Bundle bundle = getExtrasForLogging();
OzViews ozviews = OzViews.getViewForLogging(fragmentactivity);
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_CLICKED_ACL, ozviews, bundle);
launchActivity(Intents.getEditAudienceActivityIntent(fragmentactivity, mAccount, getString(R.string.post_edit_audience_activity_title), mAudienceView.getAudience(), 5, false, true, true, false), 2);
}
private void launchActivity(Intent intent, int i)
{
if(mFocusOverrideView != null)
mFocusOverrideView.requestFocus();
hideAclOverlay();
SoftInput.hide(getView());
if(i == 0)
startActivity(intent);
else
startActivityForResult(intent, i);
}
private String makeLinkTitle(String s, boolean flag) {
try {
String s1;
PackageManager packagemanager;
if(!flag || TextUtils.isEmpty(s))
return s;
s1 = mApiaryApiInfo.getSourceInfo().getPackageName();
if(TextUtils.isEmpty(s1))
return s;
packagemanager = getActivity().getPackageManager();
String s2;
CharSequence charsequence = packagemanager.getApplicationLabel(packagemanager.getApplicationInfo(s1, 0));
if(TextUtils.isEmpty(charsequence))
return s;
s2 = getResources().getString(R.string.stream_app_invite_title, new Object[] {
charsequence, s
});
s = s2;
} catch (android.content.pm.PackageManager.NameNotFoundException namenotfoundexception) {
// FIXME
}
return s;
}
private void maybeExtractUrlFromString(String s) {
if(!mLoadingMediaAttachments && mUrl == null && s != null) {
SpannableString spannablestring = new SpannableString(s);
Linkify.addLinks(spannablestring, 1);
URLSpan aurlspan[] = (URLSpan[])spannablestring.getSpans(0, spannablestring.length(), URLSpan.class);
if(aurlspan.length > 0)
mUrl = aurlspan[0].getURL();
}
}
private void removeFromMediaGallery(MediaRef mediaref) {
mAttachmentRefs.remove(mediaref);
mMediaGallery.remove(mediaref);
getView();
updatePreviewContainer();
updatePostUI();
}
private void removeFromMediaGallery(List list)
{
for(Iterator iterator = list.iterator(); iterator.hasNext(); removeFromMediaGallery((MediaRef)iterator.next()));
}
private void removeLocationListener()
{
if(mLocationController != null)
{
mLocationController.release();
mLocationController = null;
}
}
private static void setLocationText(View view, String s, String s1)
{
TextView textview = (TextView)view.findViewById(0x1020016);
TextView textview1;
if(s == null)
{
textview.setVisibility(4);
} else
{
textview.setVisibility(0);
textview.setText(s);
}
textview1 = (TextView)view.findViewById(R.id.centered_text);
if(s1 == null)
{
textview1.setVisibility(8);
} else
{
textview1.setVisibility(0);
textview1.setText(s1);
}
}
private void updateAudienceUI(AudienceData audiencedata)
{
mAudienceView.replaceAudience(audiencedata);
}
private void updateLocation(View view)
{
View view1 = view.findViewById(R.id.location_progress);
ImageView imageview = (ImageView)view.findViewById(R.id.location_marker);
byte byte0 = 4;
byte byte1 = 4;
View view2;
if(mLocationChecked)
{
if(mLocation != null)
{
imageview.setVisibility(0);
imageview.setImageResource(R.drawable.ic_location_active);
byte0 = 0;
String s = mLocation.getName();
String s1 = mLocation.getBestAddress();
if(!TextUtils.isEmpty(s) && !TextUtils.isEmpty(s1))
{
setLocationText(view, s, null);
} else
{
setLocationText(view, mLocation.getLocationName(), null);
byte0 = 0;
}
} else
{
imageview.setVisibility(4);
setLocationText(view, null, getString(R.string.finding_your_location));
byte1 = 0;
}
} else
{
imageview.setVisibility(0);
imageview.setImageResource(R.drawable.ic_location_grey);
setLocationText(view, null, getString(R.string.no_location_attached));
}
view1.setVisibility(byte1);
if(mRemoveLocationView != null)
mRemoveLocationView.setVisibility(byte0);
view2 = view.findViewById(R.id.location_marker_progress_container);
if(view2 != null)
{
int i;
if(byte1 == 0 || byte0 == 0)
i = 0;
else
i = 8;
view2.setVisibility(i);
}
}
private void updatePostUI() {
// TODO
/* FragmentActivity fragmentactivity = getActivity();
if(!(fragmentactivity instanceof PostActivity)) {
if(fragmentactivity instanceof ShareActivity)
((ShareActivity)fragmentactivity).invalidateMenu();
else {
((PostActivity)fragmentactivity).invalidateMenu();
}*/
}
private void updatePreviewContainer() {
mPreviewContainerView.removeAllViews();
final FragmentActivity activity = getActivity();
boolean flag = false;
Object obj;
int i;
byte byte1;
int j;
byte byte0;
int k;
TextView textview;
Resources resources;
int l;
Object aobj[];
EmbedClientItem embedclientitem1;
DbEmbedDeepLink dbembeddeeplink;
DbEmbedMedia dbembedmedia;
DbEmbedSkyjam dbembedskyjam;
if(mPreviewResult != null)
{
EmbedClientItem embedclientitem = mPreviewResult.getEmbed(null);
mPreviewContainerView.setBackgroundResource(R.drawable.compose_item_background);
if(embedclientitem != null && embedclientitem.appInvite != null && embedclientitem.appInvite.callToAction != null && embedclientitem.appInvite.callToAction.deepLink != null)
{
DeepLinkData deeplinkdata = embedclientitem.appInvite.callToAction.deepLink;
String s9 = embedclientitem.appInvite.callToAction.renderedLabel;
dbembeddeeplink = new DbEmbedDeepLink(deeplinkdata, s9);
embedclientitem1 = embedclientitem.appInvite.about;
} else
{
embedclientitem1 = embedclientitem;
dbembeddeeplink = null;
}
dbembedmedia = null;
dbembedskyjam = null;
if(embedclientitem1 != null)
if(embedclientitem1.webPage != null)
{
WebPage webpage = embedclientitem1.webPage;
dbembedmedia = new DbEmbedMedia(webpage);
} else
if(embedclientitem1.videoObject != null)
{
VideoObject videoobject = embedclientitem1.videoObject;
dbembedmedia = new DbEmbedMedia(videoobject);
dbembedskyjam = null;
} else
if(embedclientitem1.playMusicAlbum != null)
{
PlayMusicAlbum playmusicalbum = embedclientitem1.playMusicAlbum;
dbembedskyjam = new DbEmbedSkyjam(playmusicalbum);
dbembedmedia = null;
} else
if(embedclientitem1.playMusicTrack != null)
{
PlayMusicTrack playmusictrack = embedclientitem1.playMusicTrack;
dbembedskyjam = new DbEmbedSkyjam(playmusictrack);
dbembedmedia = null;
} else
if(embedclientitem1.thing != null)
{
Thing thing = embedclientitem1.thing;
dbembedmedia = new DbEmbedMedia(thing);
dbembedskyjam = null;
} else
{
EsLog.writeToLog(6, "PostFragment", "Found an embed we don't understand without a THING!");
dbembedmedia = null;
dbembedskyjam = null;
}
if(dbembedskyjam != null)
{
StreamOneUpSkyjamView streamoneupskyjamview = new StreamOneUpSkyjamView(activity);
streamoneupskyjamview.bind(dbembedskyjam.getAlbum(), dbembedskyjam.getSong(), dbembedskyjam.getImageUrl(), dbembedskyjam.getPreviewUrl(), dbembedskyjam.getMarketUrl(), mActivityId);
obj = streamoneupskyjamview;
mPreviewContainerView.setBackgroundResource(R.drawable.bg_taco_mediapattern);
} else
if(dbembedmedia != null)
{
String s = dbembedmedia.getTitle();
boolean flag1;
String s1;
String s2;
String s3;
String s4;
String s5;
MediaRef mediaref;
byte byte2;
String s7;
LinkPreviewView linkpreviewview;
OneUpLinkView.BackgroundViewLoadedListener backgroundviewloadedlistener;
if(dbembeddeeplink != null)
flag1 = true;
else
flag1 = false;
s1 = makeLinkTitle(s, flag1);
if(dbembedmedia.isVideo())
s2 = dbembedmedia.getVideoUrl();
else
s2 = dbembedmedia.getContentUrl();
s3 = LinksCardView.makeLinkUrl(s2);
s4 = dbembedmedia.getImageUrl();
s5 = dbembedmedia.getVideoUrl();
if(dbembedmedia.isVideo())
{
String s8 = ImageUtils.rewriteYoutubeMediaUrl(s5);
if(!TextUtils.equals(s5, s8))
s4 = s8;
}
if(TextUtils.isEmpty(s4))
{
mediaref = null;
byte2 = 3;
} else
{
String s6 = dbembedmedia.getOwnerId();
long l1 = PrimitiveUtils.safeLong(Long.valueOf(dbembedmedia.getPhotoId()));
Uri uri;
if(dbembedmedia.isVideo())
uri = Uri.parse(s5);
else
uri = null;
mediaref = new MediaRef(s6, l1, s4, uri, dbembedmedia.getMediaType());
if(mediaref.getType() == MediaRef.MediaType.IMAGE)
byte2 = 3;
else
byte2 = 2;
}
if(dbembeddeeplink != null)
s7 = dbembeddeeplink.getLabelOrDefault(activity);
else
s7 = null;
linkpreviewview = new LinkPreviewView(activity);
backgroundviewloadedlistener = null;
flag = false;
if(mediaref != null)
{
flag = true;
backgroundviewloadedlistener = new OneUpLinkView.BackgroundViewLoadedListener() {
public final void onBackgroundViewLoaded(OneUpLinkView oneuplinkview)
{
if(!mLoadingUrlPreview)
mLoadingView.setVisibility(8);
}
};
}
linkpreviewview.init(mediaref, byte2, backgroundviewloadedlistener, s1, s7, null, s3);
obj = linkpreviewview;
} else
{
activity.showDialog(28199);
flag = false;
obj = null;
}
} else
if(mEmotiShare != null) {
EmotiShareView emotishareview = new EmotiShareView(activity);
emotishareview.setMediaRef(mEmotiShare.getImageRef());
emotishareview.setOnClickListener(new View.OnClickListener() {
public final void onClick(View view) {
Intent intent = Intents.getChooseEmotiShareObjectIntent(activity, mAccount, mEmotiShare);
EsAnalytics.recordActionEvent(activity, mAccount, OzActions.EMOTISHARE_INSERT_CLICKED, OzViews.getViewForLogging(activity), getExtrasForLogging());
launchActivity(intent, 5);
}
});
emotishareview.getMissingImageView().setImageResource(R.drawable.ic_error_gold_40);
ImageResourceView imageresourceview = emotishareview.getImageView();
emotishareview.getView().setBackgroundResource(R.drawable.bg_taco_mediapattern);
android.view.ViewGroup.LayoutParams layoutparams = mPreviewWrapperView.getLayoutParams();
layoutparams.width = -1;
layoutparams.height = getResources().getDimensionPixelOffset(R.dimen.emotishare_preview_height);
mPreviewWrapperView.setLayoutParams(layoutparams);
if(getResources().getConfiguration().orientation != 2)
imageresourceview.setScaleMode(1);
if(mRemovePreviewButton != null)
{
mRemovePreviewButton.setVisibility(0);
mRemovePreviewButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view)
{
view.setVisibility(8);
view.setOnClickListener(null);
mEmotiShare = null;
if(mCommentsView != null)
mCommentsView.setText(null);
EsAnalytics.recordActionEvent(activity, mAccount, OzActions.EMOTISHARE_REMOVED, OzViews.getViewForLogging(activity), getExtrasForLogging());
updatePreviewContainer();
updatePostUI();
}
});
}
obj = emotishareview.getView();
flag = false;
} else
{
flag = false;
obj = null;
}
if(mLoadingUrlPreview || flag)
i = 0;
else
i = 8;
j = i;
if(obj != null)
{
mPreviewContainerView.addView(((View) (obj)));
j = 0;
}
mPreviewContainerView.setVisibility(j);
mLoadingView.setVisibility(i);
mPreviewWrapperView.setVisibility(j);
byte0 = 8;
byte1 = 8;
if(j != 0)
{
k = mMediaGalleryView.getChildCount();
textview = mMediaCount;
resources = getResources();
l = R.plurals.share_photo_count;
aobj = new Object[1];
aobj[0] = Integer.valueOf(k);
textview.setText(resources.getQuantityString(l, k, aobj));
if(k > 0)
byte0 = 0;
else
byte1 = 0;
}
mMediaContainer.setVisibility(byte0);
mEmptyMediaView.setVisibility(byte1);
}
private void updateResultMediaItems()
{
if(mResultMediaItems != null && mResultMediaItems.size() > 0)
{
if(mResultMediaItems.size() + mAttachmentRefs.size() > 250)
{
FragmentActivity fragmentactivity = getActivity();
int i = R.string.post_max_photos;
Object aobj[] = new Object[1];
aobj[0] = Integer.valueOf(250);
Toast.makeText(fragmentactivity, getString(i, aobj), 1).show();
} else
{
Iterator iterator = mResultMediaItems.iterator();
while(iterator.hasNext())
addToMediaGallery((MediaRef)iterator.next());
}
mResultMediaItems.clear();
mResultMediaItems = null;
updatePostUI();
}
}
private static void updateText(View view) {
if(null == view) {
return;
}
ImageView imageview = (ImageView)view.findViewById(R.id.text_marker);
MentionMultiAutoCompleteTextView mentionmultiautocompletetextview = (MentionMultiAutoCompleteTextView)view.findViewById(R.id.compose_text);
if(imageview != null && mentionmultiautocompletetextview != null) {
int i;
if(TextUtils.isEmpty(mentionmultiautocompletetextview.getText().toString()))
i = R.drawable.ic_text_grey;
else
i = R.drawable.ic_text_active;
imageview.setImageResource(i);
}
}
private void updateViews(View view)
{
if(view != null)
{
View view1 = view.findViewById(R.id.footer_separator);
TextView textview = (TextView)view.findViewById(R.id.footer_message);
byte byte0 = 8;
if(mFooterMessage != null)
{
byte0 = 0;
textview.setText(mFooterMessage);
}
view1.setVisibility(byte0);
textview.setVisibility(byte0);
updatePreviewContainer();
updateText(view);
}
}
public final boolean canPost() {
Integer integer;
boolean flag = false;
if(null != mPendingPostId) {
return false;
}
boolean flag1;
flag1 = mLoadingUrlPreview;
flag = false;
if(flag1) {
return false;
}
boolean flag2 = PeopleUtils.isEmpty(mAudienceView.getAudience());
if(flag2)
return false;
boolean flag3;
boolean flag4;
boolean flag5;
boolean flag6;
boolean flag7;
boolean flag8;
if(mEmotiShare != null)
flag3 = true;
else
flag3 = false;
if(!TextUtils.isEmpty(mUrl))
flag4 = true;
else
flag4 = false;
if(!TextUtils.isEmpty(mContentDeepLinkId))
flag5 = true;
else
flag5 = false;
if(mCommentsView.getText().length() > 0)
flag6 = true;
else
flag6 = false;
if(mLocation != null)
flag7 = true;
else
flag7 = false;
if(!mAttachmentRefs.isEmpty())
flag8 = true;
else
flag8 = false;
if(!flag3 && !flag4 && !flag5 && !flag6 && !flag7)
{
if(!flag8) {
return false;
}
}
return true;
}
public final void onActivityCreated(Bundle bundle) {
boolean flag = true;
super.onActivityCreated(bundle);
if(bundle != null) {
return;
}
boolean flag1;
boolean flag2;
if(mLocation != null)
flag1 = flag;
else
flag1 = false;
if(flag1) {
if(!LocationController.isProviderEnabled(getActivity())) {
flag = false;
}
setLocationChecked(flag);
} else {
if(mAccount.isChild())
{
flag2 = false;
} else
{
SharedPreferences sharedpreferences = getActivity().getSharedPreferences("streams", 0);
if(sharedpreferences.contains("want_sharebox_locations"))
flag2 = sharedpreferences.getBoolean("want_sharebox_locations", false);
else
flag2 = sharedpreferences.getBoolean("want_locations", false);
}
if(!flag2) {
flag = false;
setLocationChecked(flag);
} else {
if(!LocationController.isProviderEnabled(getActivity())) {
flag = false;
}
setLocationChecked(flag);
}
}
}
public final void onActivityResult(int i, int j, Intent intent) {
if(-1 != j) {
return;
}
switch(i)
{
case 1: // '\001'
if(j == -1 && intent != null)
if(intent.hasExtra("insert_photo_request_id"))
{
FragmentActivity fragmentactivity = getActivity();
mInsertCameraPhotoRequestId = Integer.valueOf(intent.getIntExtra("insert_photo_request_id", 0));
if(fragmentactivity instanceof ImageUtils.InsertCameraPhotoDialogDisplayer)
((ImageUtils.InsertCameraPhotoDialogDisplayer)fragmentactivity).showInsertCameraPhotoDialog();
} else
{
mResultMediaItems = new ArrayList();
ArrayList arraylist = intent.getParcelableArrayListExtra("mediarefs");
int j1 = arraylist.size();
int k1 = 0;
while(k1 < j1)
{
mResultMediaItems.add(arraylist.get(k1));
k1++;
}
}
break;
case 2: // '\002'
if(intent != null)
{
mResultAudience = (AudienceData)intent.getParcelableExtra("audience");
if(mResultAudience != null && EsLog.isLoggable("PostFragment", 3))
{
CircleData acircledata[] = mResultAudience.getCircles();
int l = acircledata.length;
int i1 = 0;
while(i1 < l)
{
CircleData circledata = acircledata[i1];
Log.d("PostFragment", (new StringBuilder("Out circle id: ")).append(circledata.getId()).toString());
i1++;
}
}
}
break;
case 3: // '\003'
if(intent != null)
{
mResultLocation = (DbLocation)intent.getParcelableExtra("location");
boolean flag1;
if(mResultLocation == null)
flag1 = true;
else
flag1 = false;
mRemoveLocation = flag1;
}
break;
case 5: // '\005'
mEmotiShareResult = (DbEmotishareMetadata)intent.getParcelableExtra("typed_image_embed");
boolean flag;
if(mEmotiShareResult == null)
flag = true;
else
flag = false;
mRemoveEmotiShare = flag;
break;
case 4: // '\004'
if(j == -1 && intent.hasExtra("photo_remove_from_compose"))
{
android.os.Parcelable aparcelable[] = intent.getParcelableArrayExtra("photo_remove_from_compose");
MediaRef amediaref[] = new MediaRef[aparcelable.length];
for(int k = 0; k < aparcelable.length; k++)
amediaref[k] = (MediaRef)aparcelable[k];
removeFromMediaGallery(Arrays.asList(amediaref));
}
break;
}
}
public final void onCreate(Bundle bundle) {
super.onCreate(bundle);
Bundle bundle1 = getArguments();
mAccount = (EsAccount)bundle1.getParcelable("account");
if(bundle != null) {
mActivityId = bundle.getString("activity_id");
if(bundle.containsKey("location"))
{
mLocation = (DbLocation)bundle.getParcelable("location");
mLocationChecked = true;
}
if(bundle.containsKey("prov_location"))
mProviderLocation = (Location)bundle.getParcelable("prov_location");
if(bundle.containsKey("pending_request_id"))
mPendingPostId = Integer.valueOf(bundle.getInt("pending_request_id"));
if(bundle.containsKey("insert_camera_photo_req_id"))
mInsertCameraPhotoRequestId = Integer.valueOf(bundle.getInt("insert_camera_photo_req_id"));
if(bundle.containsKey("preview_result"))
mPreviewResult = (ApiaryActivity)bundle.getParcelable("preview_result");
if(bundle.containsKey("emotishare_result"))
mEmotiShareResult = (DbEmotishareMetadata)bundle.getParcelable("emotishare_result");
if(bundle.containsKey("emotishare"))
mEmotiShare = (DbEmotishareMetadata)bundle.getParcelable("emotishare");
if(bundle.containsKey("api_info"))
mApiaryApiInfo = (ApiaryApiInfo)bundle.getSerializable("api_info");
if(bundle.containsKey("footer"))
mFooterMessage = bundle.getString("footer");
mAttachmentRefs = bundle.getParcelableArrayList("l_attachments");
mLoadingMediaAttachments = bundle.getBoolean("loading_attachments", false);
if(bundle.containsKey("url"))
mUrl = bundle.getString("url");
if(bundle.containsKey("content_deep_link_id"))
mContentDeepLinkId = bundle.getString("content_deep_link_id");
if(bundle.containsKey("content_deep_link_metadata"))
mContentDeepLinkMetadata = bundle.getBundle("content_deep_link_metadata");
if(bundle.containsKey("call_to_action"))
mCallToAction = (CallToActionData)bundle.getParcelable("call_to_action");
if(bundle.containsKey("text"))
mOriginalText = bundle.getString("text");
mIsFromPlusOne = bundle.getBoolean("is_from_plusone", false);
if(bundle.containsKey("public_circle"))
mPublicCircle = (CircleData)bundle.getParcelable("public_circle");
if(bundle.containsKey("domain_circle"))
mDomainCircle = (CircleData)bundle.getParcelable("domain_circle");
if(bundle.containsKey("your_circles"))
mYourCircles = (CircleData)bundle.getParcelable("your_circles");
if(bundle.containsKey("saved_default_audience"))
mSavedDefaultAudience = (AudienceData)bundle.getParcelable("saved_default_audience");
if(bundle.containsKey("default_audience"))
mDefaultAudience = (AudienceData)bundle.getParcelable("default_audience");
if(bundle.containsKey("audience_history"))
mHistoryAudienceArray = bundle.getParcelableArrayList("audience_history");
} else {
if(bundle1.containsKey("external_id"))
mActivityId = bundle1.getString("external_id");
if(mActivityId == null)
mActivityId = (new StringBuilder()).append(System.currentTimeMillis()).append(".").append(StringUtils.randomString(32)).toString();
mLocation = getLocationFromExtras(bundle1);
mAttachmentRefs = new ArrayList();
if(bundle1.containsKey("android.intent.extra.STREAM"))
{
mAttachments = bundle1.getParcelableArrayList("android.intent.extra.STREAM");
getLoaderManager().initLoader(R.id.post_fragment_media_ref_loader_id, null, mMediaRefLoaderCallbacks);
mLoadingMediaAttachments = true;
}
if(bundle1.containsKey("url"))
mUrl = bundle1.getString("url");
if(bundle1.containsKey("content_deep_link_id"))
{
mContentDeepLinkId = bundle1.getString("content_deep_link_id");
maybeExtractUrlFromString(mContentDeepLinkId);
}
if(bundle1.containsKey("content_deep_link_metadata"))
mContentDeepLinkMetadata = bundle1.getBundle("content_deep_link_metadata");
if(bundle1.containsKey("call_to_action"))
mCallToAction = (CallToActionData)bundle1.getParcelable("call_to_action");
if(bundle1.containsKey("footer"))
mFooterMessage = bundle1.getString("footer");
if(bundle1.containsKey("api_info"))
{
mApiaryApiInfo = (ApiaryApiInfo)bundle1.getSerializable("api_info");
} else
{
PackageManager packagemanager = getActivity().getPackageManager();
String s = Property.PLUS_CLIENTID.get();
ApiaryApiInfo apiaryapiinfo = new ApiaryApiInfo(null, s, "com.google.android.apps.social", PlatformContractUtils.getCertificate("com.google.android.apps.social", packagemanager), null);
String s1 = getActivity().getPackageName();
mApiaryApiInfo = new ApiaryApiInfo(null, s, s1, PlatformContractUtils.getCertificate(s1, packagemanager), "", apiaryapiinfo);
}
if(bundle1.containsKey("typed_image_embed"))
mEmotiShareResult = (DbEmotishareMetadata)bundle1.getParcelable("typed_image_embed");
mResultAudience = (AudienceData)bundle1.getParcelable("audience");
if(bundle1.containsKey("android.intent.extra.TEXT"))
{
mOriginalText = bundle1.getString("android.intent.extra.TEXT");
maybeExtractUrlFromString(mOriginalText);
if(mUrl != null && mOriginalText != null && mOriginalText.trim().equals(mUrl))
mOriginalText = null;
}
if(bundle1.containsKey("insert_photo_request_id"))
{
mInsertCameraPhotoRequestId = Integer.valueOf(bundle1.getInt("insert_photo_request_id"));
FragmentActivity fragmentactivity = getActivity();
if(fragmentactivity instanceof ImageUtils.InsertCameraPhotoDialogDisplayer)
((ImageUtils.InsertCameraPhotoDialogDisplayer)fragmentactivity).showInsertCameraPhotoDialog();
}
if(mContentDeepLinkId == null || mUrl != null || hasContentDeepLinkMetadata()) {
mIsFromPlusOne = bundle1.getBoolean("is_from_plusone", false);
if(mSavedDefaultAudience == null)
getLoaderManager().restartLoader(2, null, new CursorLoaderCallbacks());
if(mPublicCircle == null && mDomainCircle == null && mYourCircles == null)
getLoaderManager().initLoader(1, null, new CursorLoaderCallbacks());
} else {
if(EsLog.isLoggable("PostFragment", 5))
Log.w("PostFragment", "Mobile deep-link IDs must specify metadata.");
getActivity().setResult(0);
getActivity().finish();
}
}
}
public final View onCreateView(LayoutInflater layoutinflater, ViewGroup viewgroup, Bundle bundle) {
View view = layoutinflater.inflate(R.layout.post_fragment, viewgroup, false);
FragmentActivity fragmentactivity = getActivity();
mLoadingView = view.findViewById(R.id.list_empty_progress);
mMediaGalleryView = (ViewGroup)view.findViewById(R.id.photos_gallery);
mMediaCount = (TextView)view.findViewById(R.id.media_count);
mAudienceView = (AudienceView)view.findViewById(R.id.audience_view);
mScrollView = (ScrollView)view.findViewById(R.id.mention_scroll_view);
mCommentsView = (MentionMultiAutoCompleteTextView)view.findViewById(R.id.compose_text);
mPreviewContainerView = (ViewGroup)view.findViewById(R.id.share_preview_container);
mEmptyMediaView = view.findViewById(R.id.empty_media_container);
mMediaContainer = view.findViewById(R.id.photos_container);
mRemoveLocationView = view.findViewById(R.id.remove_location);
mFocusOverrideView = view.findViewById(R.id.focus_override);
mPreviewWrapperView = (ViewGroup)view.findViewById(R.id.share_preview_wrapper);
mAclDropDown = view.findViewById(R.id.acl_overlay);
mRemovePreviewButton = view.findViewById(R.id.remove_preview_button);
createPublicAclButton(view, mPublicCircle);
createYourCirclesAclButton(view, mYourCircles);
createDomainAclButton(view, mDomainCircle);
createDefaultAclButton(view, mSavedDefaultAudience);
mCreateAclButton = (PostAclButtonView)view.findViewById(R.id.create_acl_button);
mCreateAclButton.initialize(getString(R.string.post_create_custom_acl), R.drawable.ic_right);
mCreateAclButton.setActive();
mCreateAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view2)
{
hideAclOverlay();
launchAclPicker();
}
});
mCreateAclButton.setVisibility(0);
if(Property.ENABLE_SQUARES.getBoolean())
{
mSquaresAclButton = (PostAclButtonView)view.findViewById(R.id.squares_acl_button);
mSquaresAclButton.initialize(getString(R.string.square_member_item_text), R.drawable.ic_communities_grey, R.drawable.ic_communities_grey, R.drawable.ic_right);
mSquaresAclButton.setActive();
mSquaresAclButton.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view2)
{
hideAclOverlay();
FragmentActivity fragmentactivity = getActivity();
}
});
mSquaresAclButton.setVisibility(0);
}
mAclDropDown.setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view2)
{
hideAclOverlay();
}
});
mSlideInDown = AnimationUtils.loadAnimation(fragmentactivity, R.anim.slide_in_down_self);
mSlideInDown.setInterpolator(fragmentactivity, R.anim.decelerate_interpolator);
mSlideInDown.setDuration(250L);
mSlideOutUp = AnimationUtils.loadAnimation(fragmentactivity, R.anim.slide_out_up_self);
mSlideOutUp.setInterpolator(fragmentactivity, R.anim.accelerate_interpolator);
mSlideOutUp.setDuration(250L);
mSlideInDown.setAnimationListener(new android.view.animation.Animation.AnimationListener() {
public final void onAnimationEnd(Animation animation) {
}
public final void onAnimationRepeat(Animation animation) {
}
public final void onAnimationStart(Animation animation) {
if(mAudienceView instanceof TextOnlyAudienceView)
((TextOnlyAudienceView)mAudienceView).setChevronDirection(TextOnlyAudienceView.ChevronDirection.POINT_UP);
if(mAclDropDown != null)
mAclDropDown.setVisibility(0);
}
});
mSlideOutUp.setAnimationListener(new android.view.animation.Animation.AnimationListener() {
public final void onAnimationEnd(Animation animation) {
if(mAclDropDown != null)
mAclDropDown.setVisibility(8);
}
public final void onAnimationRepeat(Animation animation) {
}
public final void onAnimationStart(Animation animation) {
if(mAudienceView instanceof TextOnlyAudienceView)
((TextOnlyAudienceView)mAudienceView).setChevronDirection(TextOnlyAudienceView.ChevronDirection.POINT_DOWN);
}
});
mCommentsView.setOnClickListener(onClickListener);
mScrollView.setOnClickListener(onClickListener);
if(android.os.Build.VERSION.SDK_INT < 11)
mMediaGalleryView.setOnCreateContextMenuListener(this);
mMediaGallery = new MediaGallery(fragmentactivity, mAttachmentRefs, mMediaGalleryView);
if(!(getActivity() instanceof ShareActivity))
mCommentsView.setMinLines(fragmentactivity.getResources().getInteger(R.integer.compose_text_min_lines_big));
mCommentsView.init(this, mAccount, null, mAudienceView);
mCommentsView.addTextChangedListener(mTextWatcher);
mCommentsView.setOnEditorActionListener(onEditorActionListener);
if(bundle == null) {
try {
mCommentsView.setText(mOriginalText);
} catch(Exception exception) {
exception.printStackTrace();
}
}
mCommentsView.addTextChangedListener(new TextWatcher() {
public final void afterTextChanged(Editable editable)
{
updatePostUI();
PostFragment.updateText(getView());
}
public final void beforeTextChanged(CharSequence charsequence, int i, int j, int k)
{
}
public final void onTextChanged(CharSequence charsequence, int i, int j, int k)
{
}
});
mAudienceView.setAudienceChangedCallback(new Runnable() {
public final void run()
{
updatePostUI();
}
});
mAudienceView.setAccount(mAccount);
mAudienceView.findViewById(R.id.audience_button).setOnClickListener(onClickListener);
mAudienceView.findViewById(R.id.chevron_icon).setOnClickListener(onClickListener);
if(mAudienceView instanceof TextOnlyAudienceView)
{
TextOnlyAudienceView textonlyaudienceview = (TextOnlyAudienceView)mAudienceView;
textonlyaudienceview.setChevronDirection(TextOnlyAudienceView.ChevronDirection.POINT_DOWN);
textonlyaudienceview.setChevronVisibility(0);
}
view.findViewById(R.id.location_view).setOnClickListener(onClickListener);
view.findViewById(R.id.choose_media).setOnClickListener(onClickListener);
view.findViewById(R.id.empty_media).setOnClickListener(onClickListener);
ResourceRedirector.getInstance();
if(Property.ENABLE_EMOTISHARE.getBoolean())
{
View view1 = view.findViewById(R.id.empty_emotishare);
view1.setOnClickListener(onClickListener);
view1.setVisibility(0);
view.findViewById(R.id.vertical_separator).setVisibility(0);
}
mMediaContainer.setOnClickListener(onClickListener);
mRemoveLocationView.setOnClickListener(onClickListener);
mPreviewWrapperView.setVisibility(8);
if(mAttachmentRefs.isEmpty() && !mLoadingMediaAttachments && mUrl != null)
{
getLoaderManager().initLoader(3, Bundle.EMPTY, new CursorLoaderCallbacks());
mLoadingUrlPreview = true;
}
if(mContentDeepLinkId != null && mUrl == null && hasContentDeepLinkMetadata())
handlePreviewResult(new ServiceResult(), ApiaryActivityFactory.getApiaryActivity(mContentDeepLinkMetadata, mCallToAction));
if(mUrl != null || mContentDeepLinkId != null)
mEmptyMediaView.setVisibility(8);
updateLocation(view);
updatePostUI();
updateViews(view);
if(bundle == null)
if(getActivity().getIntent().getBooleanExtra("start_editing", false))
mCommentsView.requestFocus();
else
mFocusOverrideView.requestFocus();
return view;
}
public final void onDestroyView()
{
mCommentsView.destroy();
mCommentsView = null;
super.onDestroyView();
}
public final void onDialogCanceled(String s)
{
}
public final void onDialogListClick(int i, Bundle bundle)
{
}
public final void onDialogNegativeClick(String s)
{
}
public final void onDialogPositiveClick(Bundle bundle, String s)
{
if("quit".equals(s))
{
OzActions ozactions;
FragmentActivity fragmentactivity;
if(mIsFromPlusOne)
ozactions = OzActions.PLATFORM_CANCEL_SHARE_FROM_PLUSONE;
else
ozactions = OzActions.PLATFORM_CANCEL_SHARE;
fragmentactivity = getActivity();
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, ozactions, OzViews.getViewForLogging(fragmentactivity), getExtrasForLogging());
getActivity().finish();
}
}
public final void onDiscard(boolean flag)
{
SoftInput.hide(mCommentsView);
if(!flag && mAclDropDown != null && mAclDropDown.getVisibility() == 0)
{
mAclDropDown.startAnimation(mSlideOutUp);
} else
{
String s = mCommentsView.getText().toString();
String s1;
boolean flag1;
if(mOriginalText != null)
s1 = mOriginalText;
else
s1 = "";
if(!s.equals(s1))
flag1 = true;
else
if(mAttachmentRefs.size() > 0)
flag1 = true;
else
flag1 = false;
if(flag1)
{
AlertFragmentDialog alertfragmentdialog = AlertFragmentDialog.newInstance(getString(R.string.app_name), getString(R.string.post_quit_question), getString(R.string.yes), getString(R.string.no));
alertfragmentdialog.setTargetFragment(this, 0);
alertfragmentdialog.show(getFragmentManager(), "quit");
} else
{
OzActions ozactions;
FragmentActivity fragmentactivity;
if(mIsFromPlusOne)
ozactions = OzActions.PLATFORM_CANCEL_SHARE_FROM_PLUSONE;
else
ozactions = OzActions.PLATFORM_CANCEL_SHARE;
fragmentactivity = getActivity();
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, ozactions, OzViews.getViewForLogging(fragmentactivity), getExtrasForLogging());
getActivity().finish();
}
}
}
public final void onPause()
{
super.onPause();
EsService.unregisterListener(mServiceListener);
removeLocationListener();
}
public final void onResume() {
super.onResume();
EsService.registerListener(mServiceListener);
if(mResultAudience != null) {
getView();
updateAudienceUI(mResultAudience);
updatePostUI();
mResultAudience = null;
}
if(mPendingPostId != null && !EsService.isRequestPending(mPendingPostId.intValue())) {
ServiceResult serviceresult = EsService.removeResult(mPendingPostId.intValue());
handlePostResult(mPendingPostId.intValue(), serviceresult);
}
if(mInsertCameraPhotoRequestId != null && !EsService.isRequestPending(mInsertCameraPhotoRequestId.intValue())) {
EsService.removeResult(mInsertCameraPhotoRequestId.intValue());
insertCameraPhoto(EsService.getLastCameraMediaLocation());
mInsertCameraPhotoRequestId = null;
}
if(LocationController.isProviderEnabled(getActivity())) {
if(mLocationChecked && !EsAccountsData.hasSeenLocationDialog(getActivity(), mAccount))
getActivity().showDialog(0x1d71d84);
if(mLocationChecked && mLocation == null)
addLocationListener();
if(mResultLocation != null || mRemoveLocation) {
mLocation = mResultLocation;
boolean flag;
if(!mRemoveLocation)
flag = true;
else
flag = false;
setLocationChecked(flag);
mResultLocation = null;
mRemoveLocation = false;
}
} else {
mResultLocation = null;
mRemoveLocation = false;
setLocationChecked(false);
}
if(mEmotiShareResult != null || mRemoveEmotiShare) {
mEmotiShare = mEmotiShareResult;
mRemoveEmotiShare = false;
mEmotiShareResult = null;
if(mRemoveEmotiShare) {
EsAnalytics.recordActionEvent(getActivity(), mAccount, OzActions.EMOTISHARE_REMOVED, OzViews.getViewForLogging(getActivity()), getExtrasForLogging());
mCommentsView.setText(null);
} else {
mCommentsView.setText(mEmotiShare.getShareText());
}
}
updateLocation(getView());
updatePreviewContainer();
updatePostUI();
updateResultMediaItems();
}
public final void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
bundle.putString("activity_id", mActivityId);
if(mLocation != null)
bundle.putParcelable("location", mLocation);
if(mProviderLocation != null)
bundle.putParcelable("prov_location", mProviderLocation);
if(mPendingPostId != null)
bundle.putInt("pending_request_id", mPendingPostId.intValue());
if(mPreviewResult != null)
bundle.putParcelable("preview_result", mPreviewResult);
if(mEmotiShareResult != null)
bundle.putParcelable("emotishare_result", mEmotiShareResult);
if(mEmotiShare != null)
bundle.putParcelable("emotishare", mEmotiShare);
if(mApiaryApiInfo != null)
bundle.putSerializable("api_info", mApiaryApiInfo);
if(mFooterMessage != null)
bundle.putSerializable("footer", mFooterMessage);
if(mAttachmentRefs != null)
bundle.putParcelableArrayList("l_attachments", (ArrayList)mAttachmentRefs);
bundle.putBoolean("loading_attachments", mLoadingMediaAttachments);
if(mUrl != null)
bundle.putString("url", mUrl);
if(mContentDeepLinkId != null)
bundle.putString("content_deep_link_id", mContentDeepLinkId);
if(mContentDeepLinkMetadata != null)
bundle.putBundle("content_deep_link_metadata", mContentDeepLinkMetadata);
if(mCallToAction != null)
bundle.putParcelable("call_to_action", mCallToAction);
if(mOriginalText != null)
bundle.putString("text", mOriginalText);
if(mInsertCameraPhotoRequestId != null)
bundle.putInt("insert_camera_photo_req_id", mInsertCameraPhotoRequestId.intValue());
if(mIsFromPlusOne)
bundle.putBoolean("is_from_plusone", true);
if(mPublicCircle != null)
bundle.putParcelable("public_circle", mPublicCircle);
if(mDomainCircle != null)
bundle.putParcelable("domain_circle", mDomainCircle);
if(mYourCircles != null)
bundle.putParcelable("your_circles", mYourCircles);
if(mSavedDefaultAudience != null)
bundle.putParcelable("saved_default_audience", mSavedDefaultAudience);
if(mDefaultAudience != null)
bundle.putParcelable("default_audience", mDefaultAudience);
if(mHistoryAudienceArray != null)
bundle.putParcelableArrayList("audience_history", mHistoryAudienceArray);
}
public final boolean post() {
boolean flag;
if(mPendingPostId != null || mLoadingUrlPreview) {
flag = false;
} else {
FragmentActivity fragmentactivity = getActivity();
Bundle bundle = getExtrasForLogging();
OzActions ozactions;
OzViews ozviews;
AudienceData audiencedata;
Editable editable;
if(mIsFromPlusOne)
ozactions = OzActions.PLATFORM_CONFIRM_SHARE_FROM_PLUSONE;
else
ozactions = OzActions.PLATFORM_CONFIRM_SHARE;
ozviews = OzViews.getViewForLogging(fragmentactivity);
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, ozactions, ozviews, bundle);
SoftInput.hide(mCommentsView);
audiencedata = mAudienceView.getAudience();
editable = mCommentsView.getText();
if(PeopleUtils.isEmpty(audiencedata)) {
launchAclPicker();
flag = false;
} else {
boolean flag1;
if(audiencedata.getSquareTargetCount() != 0 && audiencedata.getSquareTarget(0).getSquareStreamId() == null)
flag1 = true;
else
flag1 = false;
if(flag1) {
SquareTargetData squaretargetdata = audiencedata.getSquareTarget(0);
launchActivity(Intents.getSelectSquareCategoryActivityIntent(getActivity(), mAccount, squaretargetdata.getSquareName(), squaretargetdata.getSquareId(), squaretargetdata.getSquareName()), 2);
flag = false;
} else {
boolean flag2;
boolean flag3;
boolean flag4;
boolean flag5;
boolean flag6;
boolean flag7;
if(mEmotiShare != null)
flag2 = true;
else
flag2 = false;
if(mUrl != null)
flag3 = true;
else
flag3 = false;
if(mContentDeepLinkId != null)
flag4 = true;
else
flag4 = false;
if(editable.length() > 0)
flag5 = true;
else
flag5 = false;
if(mLocation != null)
flag6 = true;
else
flag6 = false;
if(!mAttachmentRefs.isEmpty())
flag7 = true;
else
flag7 = false;
if(!flag2 && !flag3 && !flag4 && !flag5 && !flag6 && !flag7)
{
Toast.makeText(fragmentactivity, getResources().getString(R.string.share_body_empty), 0).show();
flag = false;
} else
{
ProgressFragmentDialog.newInstance(null, getString(R.string.post_operation_pending), false).show(getFragmentManager(), "req_pending");
if(flag7)
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_POST_WITH_ATTACHMENT, ozviews, bundle);
if(flag5)
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_POST_WITH_COMMENT, ozviews, bundle);
if(flag6)
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_POST_WITH_LOCATION, ozviews, bundle);
if(flag3)
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_POST_WITH_URL, ozviews, bundle);
if(flag4)
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_SHARE_POST_WITH_DEEP_LINK, ozviews, bundle);
EsAccount _tmp = mAccount;
String s = ApiUtils.buildPostableString(editable);
com.galaxy.meetup.client.android.api.BirthdayData birthdaydata;
boolean flag8;
DbEmbedEmotishare dbembedemotishare;
AnalyticsInfo analyticsinfo;
Bundle bundle1;
FragmentActivity fragmentactivity1;
FragmentActivity fragmentactivity2;
EsAccount esaccount;
ApiaryApiInfo apiaryapiinfo;
ApiaryActivity apiaryactivity;
String s1;
List arraylist;
DbLocation dblocation;
String s2;
Bundle bundle2;
OzActions ozactions1;
if(flag2)
{
if(flag5 && TextUtils.equals(s, mEmotiShare.getShareText()))
ozactions1 = OzActions.EMOTISHARE_TEXT_UNMODIFIED;
else
ozactions1 = OzActions.EMOTISHARE_TEXT_MODIFIED;
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, ozactions1, ozviews, bundle);
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, OzActions.PLATFORM_CONFIRM_SHARE, ozviews, bundle);
}
analyticsinfo = new AnalyticsInfo(OzViews.SHARE, OzViews.PLATFORM_THIRD_PARTY_APP, System.currentTimeMillis(), PlatformContractUtils.getCallingPackageAnalytics(mApiaryApiInfo));
bundle1 = getExtrasForLogging();
fragmentactivity1 = getActivity();
if(!TextUtils.isEmpty(s))
EsAnalytics.recordActionEvent(fragmentactivity1, mAccount, OzActions.PLATFORM_SHARE_COMMENT_ADDED, OzViews.getViewForLogging(fragmentactivity1), bundle1);
if(audiencedata.getCircleCount() > 0)
EsAnalytics.recordActionEvent(fragmentactivity1, mAccount, OzActions.PLATFORM_CIRCLES_SHARE_ACL_ADDED, OzViews.getViewForLogging(fragmentactivity1), bundle1);
if(audiencedata.getUserCount() > 0)
EsAnalytics.recordActionEvent(fragmentactivity1, mAccount, OzActions.PLATFORM_PEOPLE_SHARE_ACL_ADDED, OzViews.getViewForLogging(fragmentactivity1), bundle1);
if("com.google.android.apps.plus.GOOGLE_BIRTHDAY_POST".equals(fragmentactivity.getIntent().getAction()))
{
bundle2 = getArguments();
if(bundle2 != null)
birthdaydata = (com.galaxy.meetup.client.android.api.BirthdayData)bundle2.getParcelable("birthday_data");
else
birthdaydata = null;
} else
{
birthdaydata = null;
}
fragmentactivity2 = getActivity();
esaccount = mAccount;
apiaryapiinfo = mApiaryApiInfo;
apiaryactivity = mPreviewResult;
s1 = mActivityId;
arraylist = mAttachmentRefs;
dblocation = mLocation;
s2 = mContentDeepLinkId;
if("com.google.android.apps.plus.GOOGLE_BIRTHDAY_POST".equals(getActivity().getIntent().getAction()))
flag8 = false;
else
flag8 = true;
if(mEmotiShare == null)
dbembedemotishare = null;
else
dbembedemotishare = mEmotiShare.getEmbed();
mPendingPostId = Integer.valueOf(EsService.postActivity(fragmentactivity2, esaccount, analyticsinfo, apiaryapiinfo, apiaryactivity, audiencedata, s1, s, arraylist, dblocation, s2, flag8, birthdaydata, dbembedemotishare));
flag = true;
}
}
}
}
return flag;
}
public final void setLocationChecked(boolean flag) {
boolean flag1;
FragmentActivity fragmentactivity;
mLocationChecked = flag;
flag1 = mLocationChecked;
fragmentactivity = getActivity();
if(!flag1) {
removeLocationListener();
mLocation = null;
mProviderLocation = null;
} else {
if(LocationController.isProviderEnabled(fragmentactivity)) {
if(isResumed())
{
addLocationListener();
if(!EsAccountsData.hasSeenLocationDialog(fragmentactivity, mAccount))
fragmentactivity.showDialog(0x1d71d84);
}
} else {
fragmentactivity.showDialog(0x1bfb7a8);
}
}
updateLocation(getView());
updatePostUI();
return;
}
static boolean access$1300(PostFragment postfragment) {
boolean flag;
if(postfragment.getActivity().getIntent().getParcelableExtra("location") != null)
flag = true;
else
flag = false;
return flag;
}
static void access$1800(PostFragment postfragment) {
AudienceData audiencedata;
if(postfragment.mPublicAclButton != null)
if(isAudienceCircle(postfragment.mAudienceView.getAudience(), 9))
postfragment.mPublicAclButton.setActive();
else
postfragment.mPublicAclButton.setInactive();
if(postfragment.mDomainAclButton != null)
if(isAudienceCircle(postfragment.mAudienceView.getAudience(), 8))
postfragment.mDomainAclButton.setActive();
else
postfragment.mDomainAclButton.setInactive();
if(postfragment.mYourCirclesAclButton != null)
if(isAudienceCircle(postfragment.mAudienceView.getAudience(), 5))
postfragment.mYourCirclesAclButton.setActive();
else
postfragment.mYourCirclesAclButton.setInactive();
audiencedata = ((TextOnlyAudienceView)postfragment.mAudienceView).getAudience();
if(postfragment.mDefaultAclButton != null)
if(postfragment.mDefaultAudience != null && compareAudiences(postfragment.mDefaultAudience, audiencedata))
postfragment.mDefaultAclButton.setActive();
else
postfragment.mDefaultAclButton.setInactive();
if(postfragment.mHistoryAclButtonArray != null && postfragment.mHistoryAudienceArray != null)
{
int i = 0;
while(i < postfragment.mHistoryAclButtonArray.length)
{
PostAclButtonView postaclbuttonview = postfragment.mHistoryAclButtonArray[i];
AudienceData audiencedata1 = (AudienceData)postfragment.mHistoryAudienceArray.get(i);
if(postaclbuttonview != null)
if(audiencedata1 != null && compareAudiences(audiencedata1, audiencedata))
postaclbuttonview.setActive();
else
postaclbuttonview.setInactive();
i++;
}
}
if(postfragment.mAclDropDown != null && postfragment.mAclDropDown.getVisibility() != 0)
{
SoftInput.hide(postfragment.getView());
postfragment.mAclDropDown.startAnimation(postfragment.mSlideInDown);
}
return;
}
static boolean access$3600(PostFragment postfragment, AudienceData audiencedata) {
int i;
int j;
if(postfragment.mHistoryAudienceArray == null) {
return false;
}
i = postfragment.mHistoryAudienceArray.size();
j = 0;
while(j < i) {
if(compareAudiences(audiencedata, (AudienceData)postfragment.mHistoryAudienceArray.get(j)))
return true;
j++;
}
return false;
}
static void access$3900(PostFragment postfragment, List arraylist, View view, int ai[]) {
if(null == arraylist || null == ai || 0 == ai.length) {
return;
}
int j;
int k;
PostAclButtonView postaclbuttonview;
int l;
final AudienceData clickAudience;
int i;
AudienceData audiencedata;
if(arraylist == null)
i = 0;
else
i = arraylist.size();
postfragment.mHistoryAclButtonArray = new PostAclButtonView[ai.length];
postfragment.mHistoryAudienceArray = new ArrayList(ai.length);
j = 0;
k = 0;
// TODO
}
//==========================================================================================
//
///=========================================================================================
private static interface AccountStatusQuery {
public static final String PROJECTION[] = { "audience_data",
"audience_history" };
}
private static interface CirclesQuery {
public static final String PROJECTION[] = { "_id", "circle_name",
"circle_id", "type", "contact_count" };
}
private final class CursorLoaderCallbacks implements
android.support.v4.app.LoaderManager.LoaderCallbacks {
public final Loader onCreateLoader(int i, Bundle bundle) {
Loader loader = null;
if (1 == i) {
loader = new CircleListLoader(getActivity(), mAccount, 13,
CirclesQuery.PROJECTION);
} else if (2 == i) {
loader = new EsCursorLoader(getActivity(),
EsProvider.appendAccountParameter(
EsProvider.ACCOUNT_STATUS_URI, mAccount),
AccountStatusQuery.PROJECTION, null, null, null);
} else if (3 == i) {
PreviewCursorLoader previewcursorloader = new PreviewCursorLoader(
getActivity());
previewcursorloader.setUri(EsApiProvider.makePreviewUri(mApiaryApiInfo));
PreviewRequestData previewrequestdata = new PreviewRequestData(mUrl, mCallToAction);
String as[] = new String[1];
JSONArray jsonarray = new JSONArray();
jsonarray.put(previewrequestdata.uri.toString());
if (previewrequestdata.callToAction != null) {
Object obj1;
Object obj2;
Object obj3;
if (previewrequestdata.callToAction.mLabel != null)
obj1 = previewrequestdata.callToAction.mLabel;
else
obj1 = JSONObject.NULL;
jsonarray.put(obj1);
if (previewrequestdata.callToAction.mUrl != null)
obj2 = previewrequestdata.callToAction.mUrl;
else
obj2 = JSONObject.NULL;
jsonarray.put(obj2);
if (previewrequestdata.callToAction.mDeepLinkId != null)
obj3 = previewrequestdata.callToAction.mDeepLinkId;
else
obj3 = JSONObject.NULL;
jsonarray.put(obj3);
}
as[0] = jsonarray.toString();
previewcursorloader.setSelectionArgs(as);
loader = previewcursorloader;
}
return loader;
}
public final void onLoadFinished(Loader loader, Object obj) {
Cursor cursor = (Cursor)obj;
switch(loader.getId()) {
case 1:
if(cursor == null)
break;
cursor.moveToPosition(-1);
do
{
if(!cursor.moveToNext())
break;
String s2 = cursor.getString(1);
String s3 = cursor.getString(2);
int j = cursor.getInt(3);
int k = cursor.getInt(4);
if(j == 9)
{
String s5 = getResources().getString(R.string.acl_public);
createPublicAclButton(getView(), new CircleData(s3, j, s5, k));
} else
if(j == 8)
{
if(!TextUtils.isEmpty(s2))
createDomainAclButton(getView(), new CircleData(s3, j, s2, k));
} else
if(j == 5)
{
String s4 = getResources().getString(R.string.acl_your_circles);
createYourCirclesAclButton(getView(), new CircleData(s3, j, s4, k));
}
} while(true);
break;
case 2:
byte abyte1[];
List arraylist;
if(cursor != null && cursor.moveToFirst())
{
byte abyte0[] = cursor.getBlob(0);
PostFragment postfragment;
View view;
int ai[];
AudienceData audiencedata1;
if(abyte0 != null)
{
AudienceData audiencedata = DbAudienceData.deserialize(abyte0);
PostFragment postfragment1 = PostFragment.this;
View view1 = getView();
if(PostFragment.isValidCustomAudience(audiencedata) && !PostFragment.access$3600(PostFragment.this, audiencedata))
audiencedata1 = audiencedata;
else
audiencedata1 = null;
postfragment1.createDefaultAclButton(view1, audiencedata1);
if(audiencedata != null && !audiencedata.isEmpty() && mAudienceView != null)
{
AudienceData audiencedata2 = mAudienceView.getAudience();
if(!mAudienceView.isEdited() && audiencedata2.isEmpty())
updateAudienceUI(audiencedata);
}
}
abyte1 = cursor.getBlob(1);
if(abyte1 != null)
{
arraylist = DbAudienceData.deserializeList(abyte1);
if(arraylist != null)
{
postfragment = PostFragment.this;
view = getView();
ai = new int[2];
ai[0] = R.id.local_acl_button1;
ai[1] = R.id.local_acl_button2;
PostFragment.access$3900(postfragment, arraylist, view, ai);
}
}
}
break;
case 3:
PreviewCursorLoader previewcursorloader = (PreviewCursorLoader)loader;
mLoadingUrlPreview = false;
if(!previewcursorloader.isCachedData())
{
previewcursorloader.setCachedData(true);
if(cursor != null && cursor.getExtras() != null)
{
Bundle bundle = cursor.getExtras();
int i = bundle.getInt("com.google.circles.platform.result.extra.ERROR_CODE", 200);
String s = bundle.getString("com.google.circles.platform.result.extra.ERROR_MESSAGE");
String s1;
android.os.Parcelable aparcelable[];
ApiaryActivity apiaryactivity;
ServiceResult serviceresult;
OzActions ozactions;
FragmentActivity fragmentactivity;
if(s == null)
s1 = "Ok";
else
s1 = s;
aparcelable = bundle.getParcelableArray("com.google.android.apps.content.EXTRA_ACTIVITY");
if(aparcelable != null && aparcelable.length > 0)
apiaryactivity = (ApiaryActivity)aparcelable[0];
else
apiaryactivity = null;
serviceresult = new ServiceResult(i, s1, null);
if(!serviceresult.hasError())
ozactions = OzActions.PLATFORM_SHARE_PREVIEW_SHOWN;
else
ozactions = OzActions.PLATFORM_SHARE_PREVIEW_ERROR;
fragmentactivity = getActivity();
EsAnalytics.recordActionEvent(fragmentactivity, mAccount, ozactions, OzViews.getViewForLogging(fragmentactivity), getExtrasForLogging());
handlePreviewResult(serviceresult, apiaryactivity);
}
} else
{
mLoadingView.setVisibility(8);
}
break;
default:
break;
}
}
public final void onLoaderReset(Loader loader) {
if(3 == loader.getId()) {
mLoadingView.setVisibility(8);
}
}
}
private static class LinkPreviewView extends OneUpLinkView {
protected final int getMinExposureLand() {
return sMinExposureLand;
}
protected final int getMinExposurePort() {
return sMinExposurePort;
}
private static boolean sLinkPreviewViewInitialized;
private static int sMinExposureLand;
private static int sMinExposurePort;
public LinkPreviewView(Context context) {
super(context);
if (!sLinkPreviewViewInitialized) {
sLinkPreviewViewInitialized = true;
Resources resources = context.getResources();
sMinExposureLand = resources
.getDimensionPixelOffset(R.dimen.share_preview_margin_top_landscape);
sMinExposurePort = resources
.getDimensionPixelOffset(R.dimen.share_preview_margin_top_portrait);
}
}
}
private final class MediaGallery {
private ViewGroup mGalleryView;
private List mImages;
private final LayoutInflater mLayoutInflater;
public MediaGallery(Context context, List arraylist, ViewGroup viewgroup) {
super();
mImages = new ArrayList();
mGalleryView = viewgroup;
mLayoutInflater = (LayoutInflater) context
.getSystemService("layout_inflater");
if (arraylist != null) {
int i = arraylist.size();
for (int j = 0; j < i; j++)
add((MediaRef) arraylist.get(j));
}
}
public final void add(final MediaRef mediaref) {
mImages.add(mediaref);
View view = mLayoutInflater.inflate(
R.layout.compose_gallery_image_container, null);
AlbumColumnGridItemView albumcolumngriditemview = (AlbumColumnGridItemView) view.findViewById(R.id.image);
albumcolumngriditemview.setTag(mediaref);
albumcolumngriditemview.setMediaRef(mediaref);
albumcolumngriditemview.setOnClickListener(onClickListener);
((ImageButton) view.findViewById(R.id.remove_image_button))
.setOnClickListener(new View.OnClickListener() {
public final void onClick(View view) {
hideAclOverlay();
view.setOnClickListener(null);
removeFromMediaGallery(mediaref);
updatePostUI();
}
});
mGalleryView.addView(view);
}
public final void remove(MediaRef mediaref) {
mImages.remove(mediaref);
int i = mGalleryView.getChildCount();
for(int j = 0; j < i; j++) {
View view = mGalleryView.getChildAt(j);
if(((AlbumColumnGridItemView)view.findViewById(R.id.image)).getMediaRef().equals(mediaref)) {
mGalleryView.removeView(view);
view.setOnClickListener(null);
}
}
}
}
private static final class MediaRefLoader extends AsyncTaskLoader {
private final EsAccount mAccount;
private final List mLoadedList = new ArrayList();
private final List mMediaRefList;
public MediaRefLoader(Context context, EsAccount esaccount, List arraylist) {
super(context);
mMediaRefList = arraylist;
mAccount = esaccount;
}
public final Object loadInBackground() {
String s = mAccount.getName();
String s1 = mAccount.getGaiaId();
Context context = getContext();
android.content.ContentResolver contentresolver = context
.getContentResolver();
Iterator iterator = mMediaRefList.iterator();
do {
if (!iterator.hasNext())
break;
MediaRef mediaref = (MediaRef) iterator.next();
String s2 = mediaref.getUrl();
Uri uri;
if (s2 == null)
uri = null;
else
uri = Uri.parse(s2);
if (GalleryUtils.isGalleryContentUri(uri)) {
Long long1 = Long.valueOf(GalleryUtils.getPhotoId(context,
uri));
if (long1.longValue() != 0L) {
String s4 = GalleryUtils.getAccountName(context, uri);
if (!TextUtils.isEmpty(s4) && s4.equalsIgnoreCase(s)) {
String s5 = ImageUtils.getMimeType(contentresolver,
uri);
boolean flag1;
MediaRef.MediaType mediatype1;
MediaRef mediaref2;
if (!TextUtils.isEmpty(s5)
&& s5.startsWith("video/"))
flag1 = true;
else
flag1 = false;
if (flag1)
mediatype1 = MediaRef.MediaType.VIDEO;
else
mediatype1 = MediaRef.MediaType.IMAGE;
mediaref2 = new MediaRef(s1, long1.longValue(), s2,
mediaref.getLocalUri(), mediatype1);
mLoadedList.add(mediaref2);
}
}
} else if (mediaref.hasLocalUri()) {
String s3 = ImageUtils.getMimeType(contentresolver,
mediaref.getLocalUri());
boolean flag;
MediaRef.MediaType mediatype;
MediaRef mediaref1;
if (!TextUtils.isEmpty(s3) && s3.startsWith("video/"))
flag = true;
else
flag = false;
if (flag)
mediatype = MediaRef.MediaType.VIDEO;
else
mediatype = MediaRef.MediaType.IMAGE;
mediaref1 = new MediaRef(mediaref.getOwnerGaiaId(),
mediaref.getPhotoId(), mediaref.getUrl(),
mediaref.getLocalUri(), mediatype);
mLoadedList.add(mediaref1);
} else if (mediaref.hasUrl() || mediaref.hasPhotoId())
mLoadedList.add(mediaref);
} while (true);
return mLoadedList;
}
protected final void onStartLoading() {
if (mLoadedList.size() == 0)
forceLoad();
}
}
private final class PostLocationListener implements LocationListener {
public final void onLocationChanged(Location location) {
removeLocationListener();
if (mLocation == null) {
mProviderLocation = location;
PostFragment postfragment = PostFragment.this;
DbLocation dblocation;
if (getCityLevelLocationPreference())
dblocation = LocationController
.getCityLevelLocation(location);
else
dblocation = LocationController
.getStreetLevelLocation(location);
postfragment.mLocation = dblocation;
updatePostUI();
updateLocation(getView());
}
}
public final void onProviderDisabled(String s) {
}
public final void onProviderEnabled(String s) {
}
public final void onStatusChanged(String s, int i, Bundle bundle) {
}
}
private static final class PreviewCursorLoader extends EsCursorLoader {
private boolean mCachedData;
public PreviewCursorLoader(Context context) {
super(context);
}
public final Cursor esLoadInBackground() {
mCachedData = false;
return super.esLoadInBackground();
}
public final boolean isCachedData() {
return mCachedData;
}
public final void setCachedData(boolean flag) {
mCachedData = true;
}
}
private final class ServiceListener extends EsServiceListener {
public final void onInsertCameraPhotoComplete(int i, ServiceResult serviceresult) {
if(mInsertCameraPhotoRequestId != null && mInsertCameraPhotoRequestId.intValue() == i) {
insertCameraPhoto(EsService.getLastCameraMediaLocation());
mInsertCameraPhotoRequestId = null;
}
}
public final void onPostActivityResult(int i, ServiceResult serviceresult) {
handlePostResult(i, serviceresult);
}
}
}