package im.zico.wingtwitter.utils;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Context;
import android.content.Intent;
import android.util.DisplayMetrics;
import android.util.Pair;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.squareup.picasso.Picasso;
import im.zico.wingtwitter.R;
import im.zico.wingtwitter.dao.WingStore;
import im.zico.wingtwitter.ui.activity.PhotoViewActivity;
import twitter4j.TwitterException;
import twitter4j.TwitterMethod;
/**
* Created by tinyao on 12/18/14.
*/
public class TweetUtils {
public static String getLargeAvatarUrl(String normalUrl) {
return normalUrl.replace("_normal.", "_200x200.");
}
public static String getSmallAvatarUrl(String normalUrl) {
return normalUrl.replace("_normal.", "_120x120.");
}
public static void insertPhoto(final Context context, LinearLayout gallery,
final String[] photo_urls, final int pos) {
boolean isMulti = photo_urls.length > 1;
boolean isFirst = (pos == 0);
final ImageView imageView = new ImageView(context);
int width = context.getResources().getDisplayMetrics().widthPixels
- context.getResources().getDimensionPixelSize(R.dimen.spacing_keyline_1)
- context.getResources().getDimensionPixelSize(R.dimen.spacing_keyline_2);
LinearLayout.LayoutParams params;
if (isMulti) {
width -= context.getResources().getDimensionPixelSize(R.dimen.tweet_gallery_multi_cut);
params = new LinearLayout.LayoutParams(width, LinearLayout.LayoutParams.MATCH_PARENT);
if (!isFirst) {
params.setMargins(context.getResources().getDimensionPixelSize(R.dimen.tweet_gallery_gap), 0, 0, 0);
}
} else {
params = new LinearLayout.LayoutParams(width, LinearLayout.LayoutParams.MATCH_PARENT);
}
imageView.setLayoutParams(params);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setAdjustViewBounds(true);
imageView.setTag(photo_urls[pos]);
imageView.setTransitionName(photo_urls[pos]);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent photoIntent = new Intent(context, PhotoViewActivity.class);
photoIntent.putExtra(WingStore.TweetColumns.MEDIAS, photo_urls);
// DisplayMetrics metrics = new DisplayMetrics();
// imageView.getDisplay().getMetrics(metrics);
int[] location = new int[2];
imageView.getLocationOnScreen(location);
photoIntent.putExtra("pivotX", location[0]);
photoIntent.putExtra("pivotY", location[1]);
photoIntent.putExtra("position", pos);
context.startActivity(photoIntent);
((Activity)context).overridePendingTransition(R.anim.photo_view_enter, 0);
}
});
Picasso.with(context).load(photo_urls[pos])
.fit()
.centerCrop()
.into(imageView);
gallery.addView(imageView);
}
public static String parseException(TwitterException te, TwitterMethod method) {
if (te.getStatusCode() == -1) {
}
switch (te.getStatusCode()) {
case -1:
return "Oops, perhaps something wrong with your network.";
case 429:
return "Oops, request too frequently.";
}
return te.getLocalizedMessage();
}
}