diff --git a/app/releas/release/output-metadata.json b/app/releas/release/output-metadata.json deleted file mode 100644 index e350501c..00000000 --- a/app/releas/release/output-metadata.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "version": 3, - "artifactType": { - "type": "APK", - "kind": "Directory" - }, - "applicationId": "com.qxcm.qxlive", - "variantName": "releasRelease", - "elements": [ - { - "type": "SINGLE", - "filters": [], - "attributes": [], - "versionCode": 43, - "versionName": "1.0.5.3", - "outputFile": "羽声_1.0.5.3_43.apk" - } - ], - "elementType": "File", - "baselineProfiles": [ - { - "minApi": 28, - "maxApi": 30, - "baselineProfiles": [ - "baselineProfiles/1/羽声_1.0.5.3_43.dm" - ] - }, - { - "minApi": 31, - "maxApi": 2147483647, - "baselineProfiles": [ - "baselineProfiles/0/羽声_1.0.5.3_43.dm" - ] - } - ], - "minSdkVersionForDexing": 24 -} \ No newline at end of file diff --git a/app/src/main/java/com/qxcm/qxlive/PasswordLoginActivity.java b/app/src/main/java/com/qxcm/qxlive/PasswordLoginActivity.java index d8fbb845..c7305a33 100644 --- a/app/src/main/java/com/qxcm/qxlive/PasswordLoginActivity.java +++ b/app/src/main/java/com/qxcm/qxlive/PasswordLoginActivity.java @@ -28,21 +28,21 @@ import com.mobile.auth.gatewayauth.PreLoginResultListener; import com.mobile.auth.gatewayauth.TokenResultListener; import com.mobile.auth.gatewayauth.model.TokenRet; import com.qxcm.qxlive.databinding.ActivityPasswordLoginBinding; +import com.tencent.mm.opensdk.modelbase.BaseResp; +import com.tencent.mm.opensdk.modelmsg.SendAuth; +import com.tencent.mm.opensdk.openapi.IWXAPI; +import com.tencent.mm.opensdk.openapi.WXAPIFactory; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.modulemain.activity.login.activity.ImproveInfoActivity; import com.xscm.modulemain.activity.login.present.LoginContacter; import com.xscm.modulemain.activity.login.present.LoginPresenter; import com.xscm.modulemain.activity.main.activity.MainActivity; -import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.ThemeBean; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.utils.BarUtils; import com.xscm.moduleutil.utils.PreferencesUtils; import com.xscm.moduleutil.utils.logger.Logger; -import com.tencent.mm.opensdk.modelbase.BaseResp; -import com.tencent.mm.opensdk.modelmsg.SendAuth; -import com.tencent.mm.opensdk.openapi.IWXAPI; -import com.tencent.mm.opensdk.openapi.WXAPIFactory; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -403,7 +403,7 @@ public class PasswordLoginActivity extends BaseMvpActivity onlineMap=new HashMap<>(); - public void setOnlineMap(Map onlineMap) { - this.onlineMap = onlineMap; - } - - public Map getOnlineMap() { - return onlineMap; - } - @Setter @Getter public UnreadCountEvent unreadCountEvent; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 188129be..bcd20777 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -3035,6 +3035,7 @@ public class RetrofitClient { sApiServer.agreeSong(room_id, type).enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { + LogUtils.e("练歌房","练歌房:"+response.body().toString()); onNextRetu(response, observer); } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageLoader.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageLoader.java index 7fd7e627..e911c31a 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageLoader.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageLoader.java @@ -2,14 +2,29 @@ package com.xscm.moduleutil.utils; import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorMatrix; +import android.graphics.ColorMatrixColorFilter; +import android.graphics.Paint; +import android.graphics.PorterDuff; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; +import androidx.annotation.NonNull; + import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; import com.bumptech.glide.request.RequestOptions; import com.xscm.moduleutil.R; +import com.xscm.moduleutil.widget.GrayscaleTransformation; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; /** @@ -35,7 +50,16 @@ public class ImageLoader { } public static void loadImage(Context context, ImageView view, String url) { - Glide.with(context).load(url).error(R.mipmap.default_image).placeholder(R.mipmap.default_image).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); + Glide.with(context).load(url).error(R.mipmap.default_image).placeholder(R.mipmap.default_image) + .diskCacheStrategy(DiskCacheStrategy.ALL).into(view); + } + + // 可调节灰度程度的方法 + public static void loadGrayscaleImage(Context context, String url, ImageView imageView, float saturation) { + Glide.with(context) + .load(url) + .apply(RequestOptions.bitmapTransform(new GrayscaleTransformation(saturation))) + .into(imageView); } public static void loadIcon(Context context, ImageView view, String url) { diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java index 313d2309..16e3b023 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java @@ -49,7 +49,7 @@ public enum EnvironmentEnum { private final String mqttUrl;//MQTT服务器地址 private final String H5Url;//h5地址 - private final int shelf;//是否上架,0:平台更新,1:上架,发布到对应的应用商城 + private final int shelf;//是否上架,0:平台更新,1:上架,发布到对应的应用商城,上架的初始是没有趣味的,需要点击6次才可以打开趣味 EnvironmentEnum(String serverUrl, String ALI_AUTH_KEY, String ossEndPoint, String ossaAcessKeyId, String ossAccessKeySecret, String ossBucketName, String ossBaseUrl, String wxAppId, diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GrayscaleTransformation.java b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GrayscaleTransformation.java new file mode 100644 index 00000000..c3b5cae5 --- /dev/null +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GrayscaleTransformation.java @@ -0,0 +1,42 @@ +package com.xscm.moduleutil.widget; + +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.ColorMatrix; +import android.graphics.ColorMatrixColorFilter; +import android.graphics.Paint; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; + +public class GrayscaleTransformation extends BitmapTransformation { + private Float saturation; + public GrayscaleTransformation(float saturation) { + super(); + this.saturation = saturation; + } + + @Override + protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { + Bitmap result = pool.get(toTransform.getWidth(), toTransform.getHeight(), Bitmap.Config.ARGB_8888); + + Canvas canvas = new Canvas(result); + ColorMatrix colorMatrix = new ColorMatrix(); + colorMatrix.setSaturation(saturation); // 设置为灰度 + Paint paint = new Paint(); + paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix)); + canvas.drawBitmap(toTransform, 0, 0, paint); + + return result; + } + + @Override + public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { + messageDigest.update("grayscale transformation".getBytes(StandardCharsets.UTF_8)); + } +} diff --git a/moduleUtil/src/main/res/layout/room_view_sing_wheat.xml b/moduleUtil/src/main/res/layout/room_view_sing_wheat.xml index 9000851e..7e032923 100644 --- a/moduleUtil/src/main/res/layout/room_view_sing_wheat.xml +++ b/moduleUtil/src/main/res/layout/room_view_sing_wheat.xml @@ -9,9 +9,7 @@ + android:layout_height="wrap_content"> (), private var qxRedPacketManager: QXRedPacketManager? = null - override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) { // 拦截返回键,显示退出对话框而不是直接退出 @@ -254,8 +252,10 @@ class RoomActivity : BaseMvpActivity(), taskId = intent.getStringExtra("taskId") } - override fun onNewIntent(intent: Intent, caller: ComponentCaller) { - super.onNewIntent(intent, caller) + + @SuppressLint("MissingSuperCall") + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) if ((intent.flags or Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) > 0) { if (!isTaskRoot) { val tasksManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager @@ -273,6 +273,7 @@ class RoomActivity : BaseMvpActivity(), } + override fun onCreate(savedInstanceState: Bundle?) { // 在super.onCreate之前设置主题以避免闪白屏 setTheme(com.xscm.moduleutil.R.style.BaseAppTheme) // 设置你的主主题 @@ -952,7 +953,7 @@ class RoomActivity : BaseMvpActivity(), mBinding!!.rlMisc.visibility = View.GONE } - if (mRoomInfoResp!!.gift_cycle != null && mRoomInfoResp!!.gift_cycle.xlh_info != null && mRoomInfoResp!!.gift_cycle.xlh_info.xlh_status != null && mRoomInfoResp!!.gift_cycle.xlh_info.xlh_status == "1") { + if (mRoomInfoResp?.gift_cycle?.xlh_info?.xlh_status == "1") { mBinding?.xlhRk?.visibility = View.VISIBLE xlhDjs(mRoomInfoResp!!.gift_cycle.xlh_info.end_time) } else { @@ -966,7 +967,6 @@ class RoomActivity : BaseMvpActivity(), mBinding!!.clXsb.visibility = View.GONE } - // 使用Handler延迟执行,确保Fragment视图已完全创建 if (publicScreenFragment != null && publicScreenFragment!!.isAdded && publicScreenFragment!!.view != null) { publicScreenFragment!!.upRoomInfo(resp) @@ -1614,7 +1614,6 @@ class RoomActivity : BaseMvpActivity(), } AgoraManager.getInstance(this@RoomActivity).desMusic() - // stub.setVisibility(View.GONE); if ((mRoomInfoResp!!.room_info.type_id == "1" || mRoomInfoResp!!.room_info.type_id == "4" || mRoomInfoResp!!.room_info.type_id == "3" || mRoomInfoResp!!.room_info.type_id == "8") && mRoomInfoResp!!.room_info.label_id == "2" @@ -3251,7 +3250,6 @@ class RoomActivity : BaseMvpActivity(), @Subscribe(threadMode = ThreadMode.MAIN) fun onEventMain(event: BaseEvent?) { - when (event) { is MusicEvent -> { if (!isMusic) { @@ -3681,88 +3679,7 @@ class RoomActivity : BaseMvpActivity(), } this.mRoomInfoResp = resp - - val roomBean = resp.room_info - if (roomBean!!.type_id.equals("6")) { - if (!isFinishing && !isDestroyed) { - resetFragment() - upHeight() - } else { - Log.e("Fragment", "Fragment transaction skipped due to state loss.") - } - return - } - this.mRoomBean = roomBean - this.mRoomUserBean = resp.user_info - this.mRoomOwnerBean = resp.room_owner - this.mPitList = mRoomBean!!.pit_list!! - - ImageUtils.loadHeadCC(resp.room_info.room_cover, mBinding!!.roomTop.avatar) - mBinding!!.roomTop.name.text = roomBean.room_name - mBinding!!.roomTop.idVal.text = roomBean.room_number - if (mRoomUserBean?.getIs_room_owner() == 1) { - mBinding!!.roomTop.btnFollow.visibility = View.GONE - } else { - mBinding!!.roomTop.btnFollow.visibility = View.VISIBLE - if (resp.isCollect) { - mBinding!!.roomTop.btnFollow.background = - resources.getDrawable(com.xscm.moduleutil.R.mipmap.collected) - mBinding!!.roomTop.btnFollow.text = "" - } - } - if (!isFinishing && !isDestroyed) { - resetFragment() - upHeight() - } else { - Log.e("Fragment", "Fragment transaction skipped due to state loss.") - } - - if (mRoomUserBean?.is_collect == 1) { - mBinding!!.roomTop.btnFollow.background = - resources.getDrawable(com.xscm.moduleutil.R.mipmap.yishouc) - mBinding!!.roomTop.btnFollow.text = "" - } else { -// mBinding.roomTop.btnFollow.setBackground(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.collect)); - ThemeableDrawableUtils.setThemeableRoundedBackground( - mBinding!!.roomTop.btnFollow, - ColorManager.getInstance().primaryColorInt, - 53 - ) - mBinding!!.roomTop.btnFollow.setTextColor(ColorManager.getInstance().buttonColorInt) - mBinding!!.roomTop.btnFollow.text = "收藏" - } - if ((resp.room_info.type_id == "3" || resp.room_info.type_id == "1" || resp.room_info.type_id == "4") && resp.room_info.label_id == "2") { - AgoraManager.getInstance(this).isBjMusic = false - } else { - AgoraManager.getInstance(this).isBjMusic = true - } - - - AgoraManager.stopMuisc() - if (!CommonAppContext.getInstance().isMai) { - initializeAudio() - } - - if (mRoomInfoResp!!.room_info.label_id == "2" || mRoomInfoResp!!.room_info.type_id == "7") { - mBinding!!.rlMore.visibility = View.GONE - // mBinding.rlMisc.setVisibility(GONE); - } else if (mRoomInfoResp!!.room_info.label_id == "1" || mRoomInfoResp!!.room_info.type_id == "3" || mRoomInfoResp!!.room_info.type_id == "4" || - mRoomInfoResp!!.room_info.type_id == "8" - ) { - mBinding!!.rlMore.visibility = View.GONE - mBinding!!.rlMisc.visibility = View.VISIBLE - } - - if (resp.room_info.type_id == "7" || resp.room_info.type_id == "2") { - mBinding!!.rlMore.visibility = View.GONE - mBinding!!.rlMisc.visibility = View.GONE - } - - if (mRoomInfoResp!!.hour_ranking_open == 1) { - mBinding!!.clXsb.visibility = View.VISIBLE - } else { - mBinding!!.clXsb.visibility = View.GONE - } + setView(resp) } fun upHeight() { diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/contacts/RoomSettingContacts.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/contacts/RoomSettingContacts.java index ea0804c9..775ec77f 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/contacts/RoomSettingContacts.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/contacts/RoomSettingContacts.java @@ -11,6 +11,8 @@ public class RoomSettingContacts { void changeRoomSuccess(String s,int position,RoomSettingBean bean); void changeRoomType(String s); + + void agreeSong(String s); } public interface IRoomPre extends IPresenter { diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java index 3f2afebf..5115a554 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java @@ -215,9 +215,6 @@ public class RoomFragment extends BaseMvpFragment(mView); + } + MvpRef.get().agreeSong(s); } }); } diff --git a/modulemain/src/main/java/com/xscm/modulemain/adapter/UserGiftWallAdapter.java b/modulemain/src/main/java/com/xscm/modulemain/adapter/UserGiftWallAdapter.java index 46d4a989..5ef5ea41 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/adapter/UserGiftWallAdapter.java +++ b/modulemain/src/main/java/com/xscm/modulemain/adapter/UserGiftWallAdapter.java @@ -27,7 +27,8 @@ public class UserGiftWallAdapter extends BaseQuickAdapter= RoomSettingBean.QXRoomSettingTypeRoomLeave && - type <= RoomSettingBean.QXRoomSettingTypeRoomReport || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed - ) { + type <= RoomSettingBean.QXRoomSettingTypeRoomReport || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) { return true; } else { - if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) { + + if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy + || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) { return false; } + +// if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy +// || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress /*|| type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG*/) { +// return false; +// } } return false; } -// else if (roleLevel == 3 ) {// 主持且在麦位上 -// if (type== RoomSettingBean.QXRoomSettingTypeRoomTypeSing || type == RoomSettingBean.QXRoomSettingTypeRoomTypeAuction || -// type == RoomSettingBean.QXRoomSettingTypeRoomTypeBoy || type == RoomSettingBean.QXRoomSettingTypeRoomTypeGirl|| -// type== RoomSettingBean.QXRoomSettingTypeRoomClearMessage || type == QXRoomSettingTypeRoomOrderMic -// || type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomBgImage) { -// return true; -// } -// // 更多操作条目也显示 -// if (type >= RoomSettingBean.QXRoomSettingTypeRoomLeave && -// type <= RoomSettingBean.QXRoomSettingTypeRoomReport) { -// return true; -// } -// return false; -// } -// else if (roleLevel == 3 && !onMic && type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic) { // 主持但不在麦位上时,隐藏背景音乐 -// return false; -// } else { // 普通用户只显示更多操作中的特定条目 return type == RoomSettingBean.QXRoomSettingTypeRoomLeave || type == RoomSettingBean.QXRoomSettingTypeRoomShare || @@ -496,4 +504,10 @@ public class RoomSettingFragment extends BaseMvpDialogFragment { - LinearLayout.LayoutParams(itemWidth, dpToPx(110)).apply { + LinearLayout.LayoutParams((itemWidth * 1.7).toInt(), dpToPx(110)).apply { // 移除右间距,通过容器居中自动平衡 - rightMargin = (getScreenWidth() - (dpToPx(110) * 2)) / 2 + rightMargin = (getScreenWidth() - ((itemWidth * 1.7).toInt() * 2)) / 2 } } 1 -> { - LinearLayout.LayoutParams(itemWidth, dpToPx(110)) + LinearLayout.LayoutParams((itemWidth * 1.7).toInt(), dpToPx(110)) } else -> { + val margin = (getScreenWidth() - (itemWidth * 4)) / 4 / 2 // 统一边距逻辑 - LinearLayout.LayoutParams(itemWidth - 30, dpToPx(90) + 30).apply { + LinearLayout.LayoutParams((itemWidth *1.3).toInt() , dpToPx(110)).apply { setMargins(0, 0, 0, 0) } } diff --git a/modulemain/src/main/res/drawable/tab_indicator_bottom.xml b/modulemain/src/main/res/drawable/tab_indicator_bottom.xml index fef18d35..6cd09156 100644 --- a/modulemain/src/main/res/drawable/tab_indicator_bottom.xml +++ b/modulemain/src/main/res/drawable/tab_indicator_bottom.xml @@ -2,7 +2,7 @@ diff --git a/modulemain/src/main/res/layout/activity_improve_info.xml b/modulemain/src/main/res/layout/activity_improve_info.xml index f5ae6f39..41ab80da 100644 --- a/modulemain/src/main/res/layout/activity_improve_info.xml +++ b/modulemain/src/main/res/layout/activity_improve_info.xml @@ -286,7 +286,29 @@ + + + + + +