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(); } }); }