修改下载管理相关文件名、修复查看大图单击无法退出问题、资讯-攻略去重导致的奔溃bug

This commit is contained in:
huangzhuanghua
2016-09-07 11:23:27 +08:00
parent defbbc7b44
commit 3300d61a53
21 changed files with 128 additions and 1666 deletions

View File

@ -20,14 +20,14 @@ import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.ImageUtils;
import com.gh.common.view.Gh_ImageLayout;
import com.gh.common.view.Gh_ImageLayout.OnSingleTapListener;
import com.gh.common.util.Utils;
import com.gh.common.view.Gh_RelativeLayout;
import com.gh.common.view.Gh_RelativeLayout.OnSingleTapListener;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@ -47,13 +47,16 @@ public class ViewImageActivity extends BaseActivity implements
private ViewImageAdapter adapter;
private View viewimage_slide_line;
private RelativeLayout.LayoutParams rparams;
private ArrayList<String> urls;
private int current;
private int width;
private String scaleType;
private ImageView imageView;
private int width;
private boolean isOrientation;
private boolean isLoading = false;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
@ -70,7 +73,8 @@ public class ViewImageActivity extends BaseActivity implements
progressBar.setVisibility(View.VISIBLE);
if (scaleType != null) {
ImageUtils.getInstance(getApplicationContext()).display(
urls.get(position), imageView, ScaleType.FIT_CENTER, new ImageUtils.OnLoadingCompleteListener() {
urls.get(position), imageView, ScaleType.FIT_CENTER,
new ImageUtils.OnLoadingCompleteListener() {
@Override
public void onLoadingComplete() {
progressBar.setVisibility(View.GONE);
@ -94,7 +98,7 @@ public class ViewImageActivity extends BaseActivity implements
Intent intent = getIntent();
urls = intent.getStringArrayListExtra("urls");
current = intent.getIntExtra("current", 0);
int current = intent.getIntExtra("current", 0);
scaleType = intent.getStringExtra("ScaleType");
if (savedInstanceState != null) {
@ -122,16 +126,10 @@ public class ViewImageActivity extends BaseActivity implements
viewimage_vp_show.setCurrentItem(current);
viewimage_vp_show.addOnPageChangeListener(this);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
isOrientation = true; // 横屏
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
isOrientation = false;// 竖屏
}
}
@ -156,25 +154,19 @@ public class ViewImageActivity extends BaseActivity implements
@Override
public Object instantiateItem(ViewGroup container, int position) {
String url = urls.get(position);
Gh_ImageLayout view = (Gh_ImageLayout) View.inflate(container.getContext(),
R.layout.viewimage_item, null);
view.setOnSingleTapListener(this);
Gh_RelativeLayout view;
if (url.contains(".gif")) {
GifImageView gifImageView = (GifImageView) view.findViewById(R.id.gifView);
ViewParent parent = gifImageView.getParent();
view = (Gh_RelativeLayout) View.inflate(container.getContext(),
R.layout.viewimage_gif_item, null);
GifImageView gifImageView = (GifImageView) view.findViewById(R.id.viewimage_iv_gif);
if (!isLoading) {
LoadGifData(gifImageView, urls.get(position));
loadGifData(gifImageView, urls.get(position));
}
if (parent != null) {
ViewGroup parent1 = (ViewGroup) parent;
parent1.removeView(gifImageView);
}
container.addView(gifImageView);
return gifImageView;
} else {
imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
view = (Gh_RelativeLayout) View.inflate(container.getContext(),
R.layout.viewimage_normal_item, null);
ImageView imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
if (scaleType != null) {
ImageUtils.getInstance(getApplicationContext()).display(
urls.get(position), imageView, ScaleType.FIT_CENTER);
@ -188,20 +180,14 @@ public class ViewImageActivity extends BaseActivity implements
if (!urls.get(position).startsWith("http://image.ghzhushou.com/pic/hq/")) {
checkUrl(urls.get(position));
}
ViewParent parent = imageView.getParent();
if (parent != null) {
ViewGroup parent1 = (ViewGroup) parent;
parent1.removeView(imageView);
}
view.setTag(position);
container.addView(imageView);
return imageView;
}
view.setOnSingleTapListener(this);
view.setTag(position);
container.addView(view);
return view;
}
private void LoadGifData(final GifImageView gifImageView, final String gifUrl) {
private void loadGifData(final GifImageView gifImageView, final String gifUrl) {
isLoading = true;
gifImageView.setImageResource(R.drawable.ocupy);
gifImageView.setScaleType(ScaleType.CENTER);
@ -234,8 +220,6 @@ public class ViewImageActivity extends BaseActivity implements
}
});
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
@ -326,7 +310,6 @@ public class ViewImageActivity extends BaseActivity implements
viewimage_slide_line = null;
rparams = null;
urls = null;
imageView = null;
System.gc();
}
}