Commit c25d296a1c6cb15e209a0b985c3305e9539973e9

Authored by 韩亚云
1 parent 2be20c32

全屏预览图片长按事件测试优化

app/strike/src/main/java/com/cnlive/strike/imgutil/ImgActivity.java
... ... @@ -26,8 +26,11 @@ import com.cnlive.core.imageload.preview.model.PreviewData;
26 26 import com.cnlive.core.imageload.util.DownLoadImageService;
27 27 import com.cnlive.cloud.R;
28 28 import com.cnlive.cloud.user.auth.UserService;
  29 +import com.cnlive.core.ui.model.PreViewImgData;
  30 +import com.cnlive.core.ui.model.PreViewImgInfo;
29 31  
30 32 import java.util.ArrayList;
  33 +import java.util.List;
31 34  
32 35 public class ImgActivity extends AppCompatActivity {
33 36  
... ... @@ -89,14 +92,29 @@ public class ImgActivity extends AppCompatActivity {
89 92  
90 93 findViewById(R.id.simpla_see).setOnClickListener(view -> startActivity(new Intent(this,SimplePrevActivity.class)));
91 94 findViewById(R.id.pre_btn).setOnClickListener(view -> {
92   -// ArrayList<String> list = new ArrayList<>();
93   -// list.add("https://b-ssl.duitang.com/uploads/item/201505/09/20150509221719_kyNrM.jpeg");
94   -// list.add("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1035013881,3985887911&fm=26&gp=0.gif");
95   -// list.add("https://b-ssl.duitang.com/uploads/item/201505/11/20150511122951_MAwVZ.jpeg");
96   -// list.add("https://b-ssl.duitang.com/uploads/item/201704/23/20170423205828_BhNSv.jpeg");
97   -// ARouter.getInstance().build("/preview/PreViewImageActivity")
98   -// .withStringArrayList("paths", list)
99   -// .navigation(this);
  95 + PreViewImgData data = new PreViewImgData();
  96 + data.setType("1");
  97 + PreViewImgInfo cuData = new PreViewImgInfo();
  98 + cuData.setImgUrl("https://b-ssl.duitang.com/uploads/item/201505/09/20150509221719_kyNrM.jpeg");
  99 + data.setCurrPrewInfo(cuData);
  100 +
  101 + List<PreViewImgInfo> preViewImgInfos = new ArrayList<>();
  102 + preViewImgInfos.add(cuData);
  103 + PreViewImgInfo cuData1 = new PreViewImgInfo();
  104 + cuData1.setImgUrl("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1035013881,3985887911&fm=26&gp=0.gif");
  105 + preViewImgInfos.add(cuData1);
  106 + PreViewImgInfo cuData2 = new PreViewImgInfo();
  107 + cuData2.setImgUrl("https://b-ssl.duitang.com/uploads/item/201505/11/20150511122951_MAwVZ.jpeg");
  108 + preViewImgInfos.add(cuData2);
  109 +
  110 + data.setPicInfoList(preViewImgInfos);
  111 + data.setFriend(true);
  112 + data.setCollection(true);
  113 + data.setLife(true);
  114 + data.setSave(true);
  115 + ARouter.getInstance().build("/preview/PreViewImageActivity")
  116 + .withSerializable("data", data)
  117 + .navigation(this);
100 118 });
101 119 }
102 120  
... ...
core/imageload/src/main/java/com/cnlive/core/ui/activity/PreViewImageActivity.java
... ... @@ -11,7 +11,6 @@ import com.cnlive.core.imageload.databinding.ActivityPreviewImageBinding;
11 11 import com.cnlive.core.imageload.preview.PreviewImageViewActivity;
12 12 import com.cnlive.core.imagepreview.ViewerStatus;
13 13 import com.cnlive.core.imagepreview.listener.OnItemClickListener;
14   -import com.cnlive.core.imagepreview.listener.OnItemLongPressListener;
15 14 import com.cnlive.core.libs.base.frame.activity.BaseActivity;
16 15 import com.cnlive.core.ui.model.PreViewImgData;
17 16 import com.cnlive.core.ui.presenter.PreViewImagePresenter;
... ... @@ -39,7 +38,7 @@ public class PreViewImageActivity extends BaseActivity&lt;PreViewImageView, PreView
39 38 }
40 39  
41 40 @Override
42   - protected int getViewLayoutId() {
  41 + protected int getBindLayoutId() {
43 42 return R.layout.activity_preview_image;
44 43 }
45 44  
... ...
core/imageload/src/main/java/com/cnlive/core/ui/model/PreViewImgInfo.java
1 1 package com.cnlive.core.ui.model;
2 2  
  3 +import java.io.Serializable;
  4 +
3 5 /**
4 6 * created by hanyayun
5 7 * on 2020/2/21
6 8 */
7   -public class PreViewImgInfo {
  9 +public class PreViewImgInfo implements Serializable {
8 10 //原图
9 11 private String imgUrl;
10 12 //预览图
... ...
core/imageload/src/main/java/com/cnlive/core/ui/presenter/PreViewImagePresenter.java
... ... @@ -52,7 +52,6 @@ import io.reactivex.schedulers.Schedulers;
52 52 */
53 53 public class PreViewImagePresenter extends BasePresenter<PreViewImageView> {
54 54  
55   -
56 55 /**
57 56 * 分享好友、生活圈
58 57 *
... ... @@ -63,7 +62,8 @@ public class PreViewImagePresenter extends BasePresenter&lt;PreViewImageView&gt; {
63 62 public void shareFriendLife(Context mContext, String type, String imgUrl) {
64 63 if (TextUtils.isEmpty(imgUrl)) return;
65 64 if (mContext == null) return;
66   - ifViewAttached(view -> view.showLoading());
  65 + if(getView() != null) getView().showLoading();
  66 +// ifViewAttached(view -> view.showLoading());
67 67 Observable.create((ObservableOnSubscribe<String>) emitter -> {
68 68 if (FileUtils.isFileExists(imgUrl) && FileUtils.getFileByPath(imgUrl).length() > 0) {
69 69 emitter.onNext(imgUrl);
... ... @@ -88,26 +88,35 @@ public class PreViewImagePresenter extends BasePresenter&lt;PreViewImageView&gt; {
88 88  
89 89 @Override
90 90 public void onNext(String content) {
91   - ifViewAttached(view -> view.hideLoading());
  91 + if(getView() != null) getView().hideLoading();
  92 +// ifViewAttached(view -> view.hideLoading());
92 93 if (!TextUtils.isEmpty(content)) {
93 94 if (type.equals("friends")) {
94   - ifViewAttached(view -> view.shareFriends(content));
  95 + if(getView() != null) getView().shareFriends(content);
  96 +// ifViewAttached(view -> view.shareFriends(content));
95 97 } else if (type.equals("life")) {
96   - ifViewAttached(view -> view.shareLife(content));
  98 + if(getView() != null) getView().shareLife(content);
  99 +// ifViewAttached(view -> view.shareLife(content));
97 100 } else {
98   - ifViewAttached(view -> view.showMessage("类型异常"));
  101 + if(getView() != null) getView().showMessage("类型异常");
  102 +// ifViewAttached(view -> view.showMessage("类型异常"));
99 103 }
100 104 } else {
101   - ifViewAttached(view -> view.showMessage("非法图片地址"));
  105 + if(getView() != null) getView().showMessage("非法图片地址");
  106 +// ifViewAttached(view -> view.showMessage("非法图片地址"));
102 107 }
103 108 }
104 109  
105 110 @Override
106 111 public void onError(Throwable e) {
107   - ifViewAttached(view -> {
108   - view.hideLoading();
109   - view.showMessage(e.getMessage());
110   - });
  112 +// ifViewAttached(view -> {
  113 + if(getView() != null) {
  114 + getView().hideLoading();
  115 + getView().showMessage(e.getMessage());
  116 + }
  117 +// view.hideLoading();
  118 +// view.showMessage(e.getMessage());
  119 +// });
111 120 }
112 121  
113 122 @Override
... ... @@ -219,17 +228,21 @@ public class PreViewImagePresenter extends BasePresenter&lt;PreViewImageView&gt; {
219 228 * @param url
220 229 */
221 230 public void savePicture(Activity context, String url) {
222   - ifViewAttached(view -> view.hideLoading());
  231 + if(getView() != null) getView().hideLoading();
  232 +// ifViewAttached(view -> view.hideLoading());
223 233 if (TextUtils.isEmpty(url)) {
224   - ifViewAttached(view -> view.showMessage("非法图片地址"));
  234 + if(getView() != null) getView().showMessage("非法图片地址");
  235 +// ifViewAttached(view -> view.showMessage("非法图片地址"));
225 236 return;
226 237 }
227 238 if (FileUtils.isFileExists(url)) {
228 239 // 本地图片 做copy操作
229   - ifViewAttached(view -> view.saveLocalImg(url));
  240 + if(getView() != null) getView().saveLocalImg(url);
  241 +// ifViewAttached(view -> view.saveLocalImg(url));
230 242 } else {
231 243 if (!url.contains("http")) {
232   - ifViewAttached(view -> view.showMessage("非法图片地址"));
  244 + if(getView() != null) getView().showMessage("非法图片地址");
  245 +// ifViewAttached(view -> view.showMessage("非法图片地址"));
233 246 return;
234 247 }
235 248 Observable.create(new ObservableOnSubscribe<String>() {
... ... @@ -256,15 +269,18 @@ public class PreViewImagePresenter extends BasePresenter&lt;PreViewImageView&gt; {
256 269 @Override
257 270 public void onNext(String s) {
258 271 if (!TextUtils.isEmpty(s)) {
259   - ifViewAttached(view -> view.saveLocalImg(s));
  272 + if(getView() != null) getView().saveLocalImg(s);
  273 +// ifViewAttached(view -> view.saveLocalImg(s));
260 274 } else {
261   - ifViewAttached(view -> view.showMessage("数据异常"));
  275 + if(getView() != null) getView().showMessage("数据异常");
  276 +// ifViewAttached(view -> view.showMessage("数据异常"));
262 277 }
263 278 }
264 279  
265 280 @Override
266 281 public void onError(Throwable e) {
267   - ifViewAttached(view -> view.showMessage(e.getMessage()));
  282 + if(getView() != null) getView().showMessage(e.getMessage());
  283 +// ifViewAttached(view -> view.showMessage(e.getMessage()));
268 284 }
269 285  
270 286 @Override
... ...
core/imageload/src/main/java/com/cnlive/core/ui/view/PreViewImageView.java
... ... @@ -79,7 +79,8 @@ public class PreViewImageView extends BaseView {
79 79 PreViewImgInfo curPreInfo = activity.data.getCurrPrewInfo();
80 80 for (int i = 0; i < preViewImgList.size(); i++) {
81 81 activity.picList.add(TextUtils.isEmpty(preViewImgList.get(i).getPreviewImgUrl()) ? preViewImgList.get(i).getImgUrl() : preViewImgList.get(i).getPreviewImgUrl());
82   - if (curPreInfo.getPreviewImgUrl().equals(preViewImgList.get(i).getPreviewImgUrl()) || curPreInfo.getImgUrl().equals(preViewImgList.get(i).getImgUrl())) {
  82 + if ((!TextUtils.isEmpty(preViewImgList.get(i).getPreviewImgUrl()) && !TextUtils.isEmpty(curPreInfo.getPreviewImgUrl()) && curPreInfo.getPreviewImgUrl().equals(preViewImgList.get(i).getPreviewImgUrl()) )
  83 + || (!TextUtils.isEmpty(preViewImgList.get(i).getImgUrl()) && !TextUtils.isEmpty(curPreInfo.getImgUrl()) && curPreInfo.getImgUrl().equals(preViewImgList.get(i).getImgUrl()))) {
83 84 activity.position = i;
84 85 }
85 86 }
... ...