Conflicts:
	app/src/main/java/com/gh/common/util/DialogUtils.java
	app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
This commit is contained in:
huangzhuanghua
2016-10-25 11:34:00 +08:00
9 changed files with 66 additions and 39 deletions

View File

@ -167,7 +167,7 @@ public class BaseActivity extends Activity implements OnCallBackListener {
public void onEventMainThread(final EBShowDialog showDialog) {
if (!isPause && this.getClass().getName().equals(RunningUtils.getTopActivity(this))) {
if ("hijack".equals(showDialog.getType())) {
DialogUtils.showHijackDialog(this);
DialogUtils.showQqSessionDialog(this, null);// 建议用户联系客服
} else if ("plugin".equals(showDialog.getType())) {
DialogUtils.showPluginDialog(this, new DialogUtils.ConfiremListener(){
@Override

View File

@ -158,7 +158,7 @@ public class BaseFragmentActivity extends FragmentActivity {
public void onEventMainThread(final EBShowDialog showDialog) {
if (!isPause && this.getClass().getName().equals(RunningUtils.getTopActivity(this))) {
if ("hijack".equals(showDialog.getType())) {
DialogUtils.showHijackDialog(this);
DialogUtils.showQqSessionDialog(this, null);// 建议用户联系客服
} else if ("plugin".equals(showDialog.getType())) {
DialogUtils.showPluginDialog(this, new DialogUtils.ConfiremListener(){
@Override

View File

@ -100,10 +100,10 @@ public class DialogUtils {
});
}
// 打开QQ客户端创建临时会话
// 网络劫持时 打开QQ客户端创建临时会话
public static void showQqSessionDialog(final Context context, String qq) {
if (qq == null) {
qq = "2586716223";
qq = "2586716223";// 默认客服QQ
}
final String finalQq = qq;
showWarningDialog(context, "警告", "您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持)" +

View File

@ -117,7 +117,7 @@ public class ImageUtils {
.setFadeDuration(500)
.setPressedStateOverlay(new ColorDrawable(context.getResources().getColor(R.color.pressed_bg)))
.setBackground(new ColorDrawable(Color.parseColor("#ececec")))
.setPlaceholderImage(placeholderImage, ScalingUtils.ScaleType.CENTER)
.setPlaceholderImage(placeholderImage)
.build();
simpleDraweeView.setHierarchy(hierarchy);
simpleDraweeView.setImageURI(url);
@ -125,11 +125,12 @@ public class ImageUtils {
}
//图片下载监听
public void display (String url, SimpleDraweeView simpleDraweeView, ControllerListener listener){
public void display (String url, String lowUrl, SimpleDraweeView simpleDraweeView, ControllerListener listener){
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(url)
.setImageRequest(ImageRequest.fromUri(url))
.setControllerListener(listener)
.setLowResImageRequest(ImageRequest.fromUri(lowUrl)) //低分辨率图片
.build();
simpleDraweeView.setController(controller);
}

View File

@ -20,8 +20,7 @@ import com.facebook.drawee.controller.BaseControllerListener;
import com.facebook.drawee.drawable.ScalingUtils;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
import com.facebook.imagepipeline.core.ImagePipeline;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
@ -33,6 +32,8 @@ import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
@ -49,6 +50,7 @@ public class ViewImageActivity extends BaseActivity implements
private RelativeLayout.LayoutParams rparams;
private ArrayList<String> urls;
private Map<Integer, String> newUrls;
private String scaleType;
@ -56,6 +58,8 @@ public class ViewImageActivity extends BaseActivity implements
private boolean isOrientation;
private ImagePipeline imagePipeline;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
@ -70,14 +74,14 @@ public class ViewImageActivity extends BaseActivity implements
SimpleDraweeView imageView = (SimpleDraweeView) view.findViewById(R.id.viewimage_iv_show);
final ProgressBarCircularIndeterminate progressBar = (ProgressBarCircularIndeterminate) view.findViewById(R.id.viewimage_pb_loading);
progressBar.setVisibility(View.VISIBLE);
ImageUtils.getInstance(getApplicationContext()).display(urls.get(position), imageView
ImageUtils.getInstance(getApplicationContext()).display(newUrls.get(position), urls.get(position), imageView
, new BaseControllerListener(){
@Override
public void onFinalImageSet(String id, Object imageInfo, Animatable animatable) {
super.onFinalImageSet(id, imageInfo, animatable);
progressBar.setVisibility(View.GONE);
}
});
@Override
public void onFinalImageSet(String id, Object imageInfo, Animatable animatable) {
super.onFinalImageSet(id, imageInfo, animatable);
progressBar.setVisibility(View.GONE);
}
});
}
}
@ -97,6 +101,8 @@ public class ViewImageActivity extends BaseActivity implements
setContentView(R.layout.activity_viewimage);
imagePipeline = Fresco.getImagePipeline();
DisplayMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
width = outMetrics.widthPixels / urls.size();
@ -146,20 +152,19 @@ public class ViewImageActivity extends BaseActivity implements
Gh_RelativeLayout view = (Gh_RelativeLayout) View.inflate(container.getContext(),
R.layout.viewimage_normal_item, null);
SimpleDraweeView imageView = (SimpleDraweeView) view.findViewById(R.id.viewimage_iv_show);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
.setAutoRotateEnabled(false)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setAutoPlayAnimations(true)
.build();
imageView.setController(controller);
if (scaleType != null || isOrientation) {
imageView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
}
if (!urls.get(position).startsWith("http://image.ghzhushou.com/pic/hq/")) {
checkUrl(urls.get(position));
if (!url.startsWith("http://image.ghzhushou.com/pic/hq/") && url.startsWith("http://image.ghzhushou.com/pic/")) {
String hqUrl = "http://image.ghzhushou.com/pic/hq" + url.substring(url.lastIndexOf("/"));
if (imagePipeline.isInBitmapMemoryCache(Uri.parse(hqUrl))){ // 检查高清图是否被缓存
loadImage(hqUrl, imageView);
}else {
checkUrl(url, imageView);
}
}else {
loadImage(url, imageView);
}
view.setOnSingleTapListener(this);
view.setTag(position);
@ -174,8 +179,8 @@ public class ViewImageActivity extends BaseActivity implements
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// container.removeView((View) object);
// object = null;
container.removeView((View) object);
object = null;
}
@Override
@ -204,10 +209,23 @@ public class ViewImageActivity extends BaseActivity implements
}
private void checkUrl(final String url) {
if (!url.startsWith("http://image.ghzhushou.com/pic/")) {
return;
private void loadImage(String url, SimpleDraweeView imageView){
if (url.contains(".gif")) {
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(url)
.setAutoPlayAnimations(true)
.build();
imageView.setController(controller);
}else {
imageView.setImageURI(url);
}
}
private void checkUrl(final String url, final SimpleDraweeView imageView) {
newUrls = new HashMap<>();
new Thread() {
@Override
public void run() {
@ -222,13 +240,21 @@ public class ViewImageActivity extends BaseActivity implements
if (code == 200 && urls != null) {
for (int i = 0, size = urls.size(); i < size; i++) {
if (urls.get(i).equals(url)) {
urls.set(i, newUrl);
newUrls.put(i, newUrl);
Message msg = new Message();
msg.arg1 = i;
handler.sendMessage(msg);
break;
}
}
} else {
//没有高清图时
handler.post(new Runnable() {
@Override
public void run() {
loadImage(url, imageView);
}
});
}
} catch (IOException e) {
e.printStackTrace();

View File

@ -81,8 +81,6 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
final SlideEntity slideEntity = slideList.get(getPosition(position));
// ImageUtils.getInstance(context).display(slideEntity.getImage(),
// holder.imageView, R.drawable.preload);
ImageUtils.getInstance(context).display(slideEntity.getImage(), holder.imageView, R.drawable.preload, context);
// indicator.setPosition(slideList.size(), getPosition(position));

View File

@ -371,7 +371,9 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On
for (int i = 0, size = gameList.size(); i < size; i++) {
if (!concernManager.isConcern(gameList.get(i).getId())) {
for (int j = 0; j < installGameList.size(); j++) {
if (recommendGameList.size() >= 4) continue;
if (recommendGameList.size() >= 4) {
continue;
}
if (installGameList.get(j).getId().equals(gameList.get(i).getId())) {
recommendGameList.add(gameList.get(i));
installGameList.remove(j);

View File

@ -486,9 +486,9 @@ public class News4FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
final ConcernEntity concernEntity = concernList.get(position);
if (concernEntity.getLink() != null){
viewHolder.concernLinkIcon.setImageResource(R.drawable.concern_message_icon);
} else {
viewHolder.concernLinkIcon.setImageResource(R.drawable.link_iv);
} else {
viewHolder.concernLinkIcon.setImageResource(R.drawable.concern_message_icon);
}
if (concernEntity.getContent().length() <= 140){