From 60e2980d89adf5386677bcd861244d21a0646ada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com> Date: Sat, 6 Sep 2025 00:57:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AA=E4=BA=BA=E4=B8=BB?= =?UTF-8?q?=E9=A1=B5=E6=B7=BB=E5=8A=A0=E7=85=A7=E7=89=87=E3=80=81=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E4=B8=AA=E4=BA=BA=E6=B7=BB=E5=8A=A0=E7=85=A7=E7=89=87?= =?UTF-8?q?=E3=80=81=E5=8F=91=E5=B8=83=E5=8A=A8=E6=80=81=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=85=A7=E7=89=87=E4=B8=8D=E8=83=BD=E5=A4=9A=E6=AC=A1=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/proguard-rules.pro | 6 + app/src/main/AndroidManifest.xml | 1 - .../adapter/UserPhotoWallAdapter.java | 2 + .../moduleutil/widget/PiaoPingManager.java | 108 +++++++++--------- .../activity/DynamicDetailActivity.java | 1 + .../activity/ReleaseActivity.java | 24 ++-- .../activity/AlbumDetailActivity.java | 29 ++++- .../activity/EditUserInfoActivity.java | 21 ++-- .../conacts/AlbumDetailConacts.java | 2 + .../presenter/AlbumDetailPresenter.java | 1 + 10 files changed, 122 insertions(+), 73 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 7b3723c..5004780 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -908,3 +908,9 @@ public static java.lang.String TABLENAME; -keepclassmembers class * { public void displayMessage(); } + + +# 在 proguard-rules.pro 中添加混淆规则 +-keep class com.petterp.floatingx.** { *; } +-keep class com.petterp.floatingx.* { *; } +-dontwarn com.petterp.floatingx.** diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2477f3e..4baafce 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -116,7 +116,6 @@ - = Build.VERSION_CODES.O) { - WindowManager.LayoutParams params = new WindowManager.LayoutParams( - WindowManager.LayoutParams.WRAP_CONTENT, - WindowManager.LayoutParams.WRAP_CONTENT, - WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, - WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, - PixelFormat.TRANSLUCENT - ); +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { +// WindowManager.LayoutParams params = new WindowManager.LayoutParams( +// WindowManager.LayoutParams.WRAP_CONTENT, +// WindowManager.LayoutParams.WRAP_CONTENT, +// WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, +// WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, +// PixelFormat.TRANSLUCENT +// ); ToastUtils.show("飘屏开始"); @@ -128,58 +129,59 @@ public class PiaoPingManager { tv_time.setText("x" + mqttBean.getList().getNumber()); ToastUtils.show("飘屏创建"); - WindowManager windowManager = (WindowManager) mContext.getSystemService(WINDOW_SERVICE); - windowManager.addView(floatingView, params); - }else { - - } +// WindowManager windowManager = (WindowManager) mContext.getSystemService(WINDOW_SERVICE); +// windowManager.addView(floatingView, params); +// }else { +// +// } // 先将视图放置在屏幕右侧外部,避免闪现问题 -// floatingView.setTranslationX(10000); // 先放到屏幕外 + floatingView.setTranslationX(10000); // 先放到屏幕外 // 在 FloatingX 配置中或者通过其他方式设置 -// FxAppHelper fxAppHelper = FxAppHelper.builder() -// .setContext(mContext) -// .setLayoutView(floatingView) -// .setGravity(FxGravity.RIGHT_OR_TOP) -// .setX(0) -// .setY(100) -// .build(); -// -// FloatingX.install(fxAppHelper).show(); + FxAppHelper fxAppHelper = FxAppHelper.builder() + .setContext(mContext) + .setLayoutView(floatingView) + .setGravity(FxGravity.RIGHT_OR_TOP) + .setX(0) + .setY(100) + .setScopeType(FxScopeType.SYSTEM_AUTO) + .build(); + + FloatingX.install(fxAppHelper).show(); ToastUtils.show("飘屏创建2"); // 首先从右侧滑入到屏幕中央 -// floatingView.post(() -> { -// // 确保初始位置在屏幕右侧外部 -// floatingView.setTranslationX(floatingView.getWidth()); -// -// // 第一阶段:从右到屏幕右侧边缘(缓慢进入) -// ObjectAnimator animator1 = ObjectAnimator.ofFloat(floatingView, "translationX", -// floatingView.getWidth(), 0f); -// animator1.setDuration(1500); // 延长动画时间到1.5秒 -// animator1.setInterpolator(new DecelerateInterpolator(2.0f)); // 更平缓的减速效果 -// animator1.start(); -// ToastUtils.show("飘屏创建2第一阶段"); -// // 第二阶段:延迟1秒后从当前位置向左滑出 -// floatingView.postDelayed(() -> { -// ObjectAnimator animator2 = ObjectAnimator.ofFloat(floatingView, "translationX", -// 0f, -floatingView.getWidth()); -// animator2.setDuration(1500); // 延长动画时间到1.5秒 -// animator2.setInterpolator(new DecelerateInterpolator(2.0f)); // 更平缓的减速效果 -// animator2.addListener(new AnimatorListenerAdapter() { -// @Override -// public void onAnimationEnd(Animator animation) { -// // 动画结束后移除悬浮窗 -// FloatingX.uninstallAll(); + floatingView.post(() -> { + // 确保初始位置在屏幕右侧外部 + floatingView.setTranslationX(floatingView.getWidth()); + + // 第一阶段:从右到屏幕右侧边缘(缓慢进入) + ObjectAnimator animator1 = ObjectAnimator.ofFloat(floatingView, "translationX", + floatingView.getWidth(), 0f); + animator1.setDuration(1500); // 延长动画时间到1.5秒 + animator1.setInterpolator(new DecelerateInterpolator(2.0f)); // 更平缓的减速效果 + animator1.start(); + ToastUtils.show("飘屏创建2第一阶段"); + // 第二阶段:延迟1秒后从当前位置向左滑出 + floatingView.postDelayed(() -> { + ObjectAnimator animator2 = ObjectAnimator.ofFloat(floatingView, "translationX", + 0f, -floatingView.getWidth()); + animator2.setDuration(1500); // 延长动画时间到1.5秒 + animator2.setInterpolator(new DecelerateInterpolator(2.0f)); // 更平缓的减速效果 + animator2.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + // 动画结束后移除悬浮窗 + FloatingX.uninstallAll(); // windowManager.removeView(floatingView); -// // 处理下一个消息 -// processNextMessage(); -// } -// }); -// animator2.start(); -// }, 3000); // 停留1秒 -// ToastUtils.show("飘屏创建2第er阶段"); -// }); + // 处理下一个消息 + processNextMessage(); + } + }); + animator2.start(); + }, 3000); // 停留1秒 + ToastUtils.show("飘屏创建2第er阶段"); + }); ToastUtils.show("飘屏结束"); } diff --git a/modulecircle/src/main/java/com/example/modulecircle/activity/DynamicDetailActivity.java b/modulecircle/src/main/java/com/example/modulecircle/activity/DynamicDetailActivity.java index 76ffdda..52d42c5 100644 --- a/modulecircle/src/main/java/com/example/modulecircle/activity/DynamicDetailActivity.java +++ b/modulecircle/src/main/java/com/example/modulecircle/activity/DynamicDetailActivity.java @@ -244,6 +244,7 @@ public class DynamicDetailActivity extends BaseMvpActivity= 0 && index < uploadedUrls.size()) { @@ -320,7 +330,7 @@ public class ReleaseActivity extends BaseMvpActivity allImages = albumBean.getImage_list(); - List groupedPhotos = groupPhotos(allImages); - adapter.setNewData(groupedPhotos); + if (albumBean.getImage_list() != null && !albumBean.getImage_list().isEmpty()) { + List allImages = albumBean.getImage_list(); + List groupedPhotos = groupPhotos(allImages); + if (page==1) { + adapter.setNewData(groupedPhotos); + }else { + adapter.addData(groupedPhotos); + } + }else { + page=1; + if (albumBean.getCount()==null || albumBean.getCount().equals("0")){ + adapter.setNewData( new ArrayList<>()); + } + } } diff --git a/modulevocal/src/main/java/com/example/modulevocal/activity/EditUserInfoActivity.java b/modulevocal/src/main/java/com/example/modulevocal/activity/EditUserInfoActivity.java index 62b5156..95d2bfd 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/activity/EditUserInfoActivity.java +++ b/modulevocal/src/main/java/com/example/modulevocal/activity/EditUserInfoActivity.java @@ -344,6 +344,7 @@ public class EditUserInfoActivity extends BaseMvpActivity= 0 && index < uploadedUrls.size()) { - uploadedUrls.add(index, url); // 插入到对应位置 - } else { - uploadedUrls.add(url); // 添加到最后 + try { + if (index >= 0 && index <= uploadedUrls.size()) { + uploadedUrls.add(index, url); + LogUtils.d("EditUserInfoActivity", "图片已插入到位置 "+index); + } else { + uploadedUrls.add(url); + LogUtils.d("EditUserInfoActivity", "图片已添加到末尾"); + } + } catch (Exception e) { + LogUtils.e("EditUserInfoActivity", "处理图片URL时出错: " + e.getMessage()); + uploadedUrls.add(url); } - - if (uploadedUrls.size() == total) { +// if (uploadedUrls.size() == total) { updateAdapterData(); // 所有图片上传完成,更新适配器数据 - } +// } } } diff --git a/modulevocal/src/main/java/com/example/modulevocal/conacts/AlbumDetailConacts.java b/modulevocal/src/main/java/com/example/modulevocal/conacts/AlbumDetailConacts.java index 59c01b6..9f662bd 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/conacts/AlbumDetailConacts.java +++ b/modulevocal/src/main/java/com/example/modulevocal/conacts/AlbumDetailConacts.java @@ -24,6 +24,8 @@ public class AlbumDetailConacts { void deleteAlbum(); void likeAlbum(); + void findAlbum(); + } public interface IMePre extends IPresenter { void getAlbumDetail(String albumId,String pwd,String page,String page_limit); diff --git a/modulevocal/src/main/java/com/example/modulevocal/presenter/AlbumDetailPresenter.java b/modulevocal/src/main/java/com/example/modulevocal/presenter/AlbumDetailPresenter.java index a3be85f..3b240e2 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/presenter/AlbumDetailPresenter.java +++ b/modulevocal/src/main/java/com/example/modulevocal/presenter/AlbumDetailPresenter.java @@ -33,6 +33,7 @@ public class AlbumDetailPresenter extends BasePresenter @Override public void onNext(AlbumBean albumBean) { MvpRef.get().getAlbumDetail(albumBean); + MvpRef.get().findAlbum(); } }); }