Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1
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:
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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, "警告", "您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持)" +
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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));
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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){
|
||||
|
||||
Reference in New Issue
Block a user