1:修改所有接口返回提示,只是添加了返回错误的提示,不涉及功能

2:给所有网络请求添加网络判断,添加拦截器
3:启动页添加启动视频,添加跳过功能
4:去掉抱麦弹框,直接跳转到用户列表
5:修改拍卖房,当抱人上麦后,没有选择关系,然后退出房间再次进来后,显示立即竞拍的按钮
6:修改我的歌单,添加和修改的时候,选择了不能使用的礼物,让dialog不关闭
7:修改点唱房,点一个人同一首歌,右侧下一首歌的作者不显示的问题
8:修改互娱房,选择关系的时候,会出现两次选择关系的问题
9:修改在送背包礼物的时候,最后一个送出,页面没有刷新
10:修改房间设置里面,点击了抽盘,设置页面不关闭的问题
11:修改个性装扮中,购买的装扮展示的时候,出现图片裁剪
This commit is contained in:
2025-12-24 17:52:26 +08:00
parent 214c339e93
commit 342cfd347c
17 changed files with 1443 additions and 774 deletions

View File

@@ -71,9 +71,9 @@ android {
beta {
dimension "environment"
// // 测试版包名:基础包名 + .betacom.example.myapp.beta
applicationIdSuffix ".beta"
// applicationIdSuffix ".beta"
// // 测试版版本名1.0-beta
versionNameSuffix "-beta"
// versionNameSuffix "-beta"
//
// // 【测试版应用名称】动态生成带标识的名称
resValue "string", "app_name", "羽声-测试版"

View File

@@ -181,86 +181,132 @@ public class LaunchPageActivity extends BaseMvpActivity<IPresenter,ActivityLaunc
@Override
protected void initView() {
// 创建VideoView并添加到布局中
videoView = new VideoView(this);
// 创建LayoutParams并设置MATCH_PARENT
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
);
// 设置gravity来填充整个布局
params.gravity = Gravity.FILL;
mBinding.container.addView(videoView, params);
setEnter();
// 设置视频缩放模式为拉伸填充
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// 获取视频的宽高
int videoWidth = mp.getVideoWidth();
int videoHeight = mp.getVideoHeight();
// 获取屏幕的宽高
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int screenHeight = getResources().getDisplayMetrics().heightPixels;
// if (AppContext.isKilled()) {
// videoView = new VideoView(this);
// // 创建LayoutParams并设置MATCH_PARENT
// FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
// ViewGroup.LayoutParams.MATCH_PARENT,
// ViewGroup.LayoutParams.MATCH_PARENT
// );
//// 设置gravity来填充整个布局
// params.gravity = Gravity.FILL;
// mBinding.root.addView(videoView, params);
//
//// 设置视频缩放模式为拉伸填充
// videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
// @Override
// public void onPrepared(MediaPlayer mp) {
// // 获取视频的宽高
// int videoWidth = mp.getVideoWidth();
// int videoHeight = mp.getVideoHeight();
// // 获取屏幕的宽高
// int screenWidth = getResources().getDisplayMetrics().widthPixels;
// int screenHeight = getResources().getDisplayMetrics().heightPixels;
//
// // 计算缩放比例
// float scaleX = (float) screenWidth / videoWidth;
// float scaleY = (float) screenHeight / videoHeight;
//
// // 选择较大的缩放比例,确保视频填满屏幕
// float scale = Math.max(scaleX, scaleY);
//
// // 计算实际显示的宽高
// int scaledWidth = (int) (videoWidth * scale);
// int scaledHeight = (int) (videoHeight * scale);
//
// // 设置VideoView的布局参数
// FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(scaledWidth, scaledHeight);
// layoutParams.gravity = Gravity.CENTER;
// videoView.setLayoutParams(layoutParams);
// }
// });
// // 设置视频路径从raw资源中
// String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.app_start;
//
// // 设置播放完成监听器
// videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
// @Override
// public void onCompletion(MediaPlayer mp) {
// // 播放完成后执行后续操作
// setEnter();
// }
// });
//
// // 设置错误监听器
// videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
// @Override
// public boolean onError(MediaPlayer mp, int what, int extra) {
// // 发生错误时也执行后续操作
// setEnter();
// return true; // 返回true表示已处理错误
// }
// });
//
// // 设置视频路径并开始播放
// try {
// videoView.setVideoURI(Uri.parse(videoPath));
// videoView.requestFocus(); // 请求焦点以确保视频能够播放
// videoView.start();
// } catch (Exception e) {
// e.printStackTrace();
// // 如果设置视频路径时出错,直接执行后续操作
// setEnter();
// }
// AppContext.setKilled(false);
// } else {
// setEnter();
// }
// 计算缩放比例
float scaleX = (float) screenWidth / videoWidth;
float scaleY = (float) screenHeight / videoHeight;
// 选择较大的缩放比例,确保视频填满屏幕
float scale = Math.max(scaleX, scaleY);
// 计算实际显示的宽高
int scaledWidth = (int) (videoWidth * scale);
int scaledHeight = (int) (videoHeight * scale);
// 设置VideoView的布局参数
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(scaledWidth, scaledHeight);
layoutParams.gravity = Gravity.CENTER;
videoView.setLayoutParams(layoutParams);
// 获取视频总时长并设置进度条最大值
int duration = mp.getDuration();
mBinding.progress.setMaxProgress(duration);
// 显示跳过按钮
mBinding.btnSkipImg.setVisibility(android.view.View.VISIBLE);
// 启动进度更新
startProgressUpdate(mp, duration);
}
});
// 设置视频路径从raw资源中
String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.app_start;
// 设置播放完成监听器
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// 播放完成后执行后续操作
setEnter();
}
});
// 设置错误监听器
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// 发生错误时也执行后续操作
setEnter();
return true; // 返回true表示已处理错误
}
});
// 设置视频路径并开始播放
try {
videoView.setVideoURI(Uri.parse(videoPath));
videoView.requestFocus(); // 请求焦点以确保视频能够播放
videoView.start();
} catch (Exception e) {
e.printStackTrace();
// 如果设置视频路径时出错,直接执行后续操作
setEnter();
}
// 设置跳过按钮点击事件
mBinding.btnSkipImg.setOnClickListener(v -> {
// 点击跳过按钮时,停止视频并跳转到登录页
if (videoView != null) {
videoView.stopPlayback();
}
setEnter();
});
// 设置文本跳过按钮点击事件
mBinding.btnSkipVideo.setOnClickListener(v -> {
// 点击跳过按钮时,停止视频并跳转到登录页
if (videoView != null) {
videoView.stopPlayback();
}
setEnter();
});
}
// 用于更新进度条的方法
private void startProgressUpdate(MediaPlayer mediaPlayer, int duration) {
// 使用MediaPlayer实例的引用避免在回调中直接使用可能导致异常的MediaPlayer对象
final MediaPlayer mp = mediaPlayer;
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
try {
// 检查videoView是否还在播放状态而不是直接检查mediaPlayer
if (videoView != null && videoView.isPlaying()) {
// 使用videoView获取当前播放位置而不是mediaPlayer
int currentPosition = videoView.getCurrentPosition();
mBinding.progress.setCurProgress(currentPosition);
// 继续更新进度
handler.postDelayed(this, 100); // 每100毫秒更新一次
}
} catch (Exception e) {
// 捕获任何可能的异常,防止应用崩溃
LogUtils.e("LaunchPageActivity", "更新进度时出错: " + e.getMessage());
}
}
}, 100); // 延迟100毫秒开始更新
}
private void initLogin() {

View File

@@ -27,7 +27,7 @@
android:layout_marginTop="37dp"
android:layout_marginRight="15dp"
android:background="@drawable/bg_launcher_skip"
android:visibility="invisible">
android:visibility="visible">
<com.xscm.moduleutil.custon.CircleProgress
android:id="@+id/progress"
@@ -89,14 +89,14 @@
</LinearLayout>
<ImageView
android:id="@+id/cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:src="@mipmap/screen"
android:scaleType="centerCrop"
android:visibility="visible" />
<!-- <ImageView-->
<!-- android:id="@+id/cover"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:clickable="true"-->
<!-- android:src="@mipmap/screen"-->
<!-- android:scaleType="centerCrop"-->
<!-- android:visibility="visible" />-->
</FrameLayout>
</layout>

Binary file not shown.