From eb594fcfced3e5eb42f22ca299a0dd6050adb83f Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Tue, 10 Sep 2024 18:03:00 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=9C=A86.8.1=E7=9A=84=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8C=E9=9D=A2=20=E6=90=9C=E4=B8=8BgetCod?= =?UTF-8?q?e=E8=BF=99=E4=B8=AA=E6=8E=A5=E5=8F=A3=20=E6=8A=8A=E9=87=8C?= =?UTF-8?q?=E9=9D=A2=E7=9A=84source=20=E5=86=99=E6=88=902?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- main/src/main/java/com/yunbao/main/http/MainHttpUtil.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config.gradle b/config.gradle index 5e66f817f..19de028ea 100644 --- a/config.gradle +++ b/config.gradle @@ -4,7 +4,7 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 23, targetSdkVersion : 34, - versionCode : 601, + versionCode : 602, versionName : "6.8.1", namespace : "com.pandoralive.shayu" ] diff --git a/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java b/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java index b66332705..feb01d04a 100644 --- a/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java +++ b/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java @@ -513,7 +513,7 @@ public class MainHttpUtil { HttpClient.getInstance().get("Login.getCode", MainHttpConsts.GET_REGISTER_CODE) .params("mobile", mobile) .params("sign", sign) - .params("source", "1") + .params("source", "2") .params("langue", WordUtil.isNewZh()?"chinese":"english") .execute(callback); } @@ -536,7 +536,7 @@ public class MainHttpUtil { .params("Ticket", Ticket) .params("MacAddress", macUitl.getNewMac()) .params("Imei", uuid) - .params("source", "1") + .params("source", "2") .params("langue", WordUtil.isNewZh()?"chinese":"english") .execute(callback); } @@ -646,7 +646,7 @@ public class MainHttpUtil { HttpClient.getInstance().get("Login.getCode", MainHttpConsts.GET_FIND_PWD_CODE) .params("mobile", mobile) .params("country_code", country_code) - .params("source", "1") + .params("source", "2") .params("langue", WordUtil.isNewZh()?"chinese":"english") .execute(callback); } From 39dc2876231d8decc67e9703a4d8fcbe6de647fc Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 13 Sep 2024 10:58:27 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BA=86=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=80=89=E6=8B=A9=20=E7=8E=B0=E5=9C=A8=E8=83=BD?= =?UTF-8?q?=E8=B7=91=E8=B5=B7=E6=9D=A5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + common/build.gradle | 1 + .../yunbao/common/utils/ProcessImageUtil.java | 52 ++++++++++++++++++- .../com/yunbao/common/utils/WordUtil.java | 4 +- dependencies.gradle | 2 +- .../live/adapter/LiveReportAdapter.java | 2 +- .../live/views/LiveNewReadyRyViewHolder.java | 4 +- .../live/views/LiveNewReadySwViewHolder.java | 4 +- .../live/views/LiveReadyRyViewHolder.java | 5 +- .../live/views/LiveReadyViewHolder.java | 4 +- .../activity/CompleteUserInfoActivity.java | 2 +- .../main/activity/EditProfileActivity.java | 2 +- .../main/activity/FeedbackEditActivity.java | 4 +- .../yunbao/main/activity/MainActivity.java | 13 +++-- .../activity/MessageHiConfigActivity.java | 2 +- .../main/activity/MyWebViewActivity.java | 2 +- .../main/activity/OneLoginActivity.java | 2 +- .../main/dialog/MainStartDialogFragment.java | 22 ++++++-- .../video/views/VideoPlayViewHolder.java | 1 + 19 files changed, 99 insertions(+), 30 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c0776bf39..f480d7cce 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -54,6 +54,7 @@ + diff --git a/common/build.gradle b/common/build.gradle index 907facb14..fe009a375 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -86,6 +86,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) api files('libs/jcc-bate-0.7.3.jar') compileOnly fileTree(dir: '../libs', include: ['*.aar']) + api 'androidx.activity:activity:1.9.1' api rootProject.ext.dependencies["appcompat-androidx"] api rootProject.ext.dependencies["recyclerview-androidx"] api rootProject.ext.dependencies["cardview-androidx"] diff --git a/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java b/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java index 541d223c6..9fd1b52ff 100644 --- a/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java @@ -3,13 +3,21 @@ package com.yunbao.common.utils; import android.Manifest; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.ImageDecoder; import android.net.Uri; import android.os.Build; import android.provider.MediaStore; + +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.PickVisualMediaRequest; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentActivity; import androidx.core.content.FileProvider; +import com.blankj.utilcode.util.LogUtils; import com.yalantis.ucrop.UCrop; import com.yalantis.ucrop.util.FileUtils; import com.yunbao.common.CommonAppConfig; @@ -39,6 +47,7 @@ public class ProcessImageUtil extends ProcessResultUtil { private ImageResultCallback mResultCallback; private boolean mNeedCrop;//是否需要裁剪 private boolean mNeedGif;//允许gif图 + ActivityResultLauncher launcher; public void setNeedGif(boolean mNeedGif) { this.mNeedGif = mNeedGif; @@ -117,6 +126,19 @@ public class ProcessImageUtil extends ProcessResultUtil { return; } String path = FileUtils.getPath(mContext, intent.getData()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + ImageDecoder.Source source = ImageDecoder.createSource(mContext.getContentResolver(), intent.getData()); + try { + Bitmap bitmap = ImageDecoder.decodeBitmap(source); + path=BitmapUtil.getInstance().saveBitmap(bitmap); + bitmap.recycle(); + } catch (Exception e) { + e.printStackTrace(); + mResultCallback.onFailure(); + return; + } + + } File file = new File(path); if (file.exists()) { mResultCallback.onSuccess(file); @@ -153,6 +175,19 @@ public class ProcessImageUtil extends ProcessResultUtil { } } }; + launcher = ((AppCompatActivity) mContext).registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new androidx.activity.result.ActivityResultCallback() { + @Override + public void onActivityResult(Uri result) { + LogUtils.e("result:" + result); + if (result == null) { + mAlumbResultCallback.onFailure(); + return; + } + Intent intent = new Intent(); + intent.setData(result); + mAlumbResultCallback.onSuccess(intent); + } + }); } /** @@ -173,15 +208,28 @@ public class ProcessImageUtil extends ProcessResultUtil { /** * 相册获取图片 */ - public void getImageByAlumb() { + public void getImageByAlbum() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + showSystemPick(); + return; + } requestPermissions(mAlumbPermissions, mAlumbPermissionCallback); } - public void getImageByAlumb(boolean needCrop) { + public void getImageByAlbum(boolean needCrop) { this.mNeedCrop = needCrop; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + showSystemPick(); + return; + } requestPermissions(mAlumbPermissions, mAlumbPermissionCallback); } + private void showSystemPick() { + PickVisualMediaRequest.Builder builder = new PickVisualMediaRequest.Builder() + .setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE); + launcher.launch(builder.build()); + } /** * 开启摄像头,执行照相 diff --git a/common/src/main/java/com/yunbao/common/utils/WordUtil.java b/common/src/main/java/com/yunbao/common/utils/WordUtil.java index 657da30c4..a312b6b4e 100644 --- a/common/src/main/java/com/yunbao/common/utils/WordUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/WordUtil.java @@ -35,7 +35,9 @@ public class WordUtil { public static boolean isNewZh() { return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE - || IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE ; + || IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE + || IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINESE + || IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINA; } public static String getNewString(int res) { diff --git a/dependencies.gradle b/dependencies.gradle index fd32a5d29..740ce8126 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -22,7 +22,7 @@ ext { // "tencent-bugly" : 'com.tencent.bugly:crashreport:2.6.6',//腾讯bugly // "umeng-common" : 'com.umeng.sdk:common:1.5.3',//友盟统计 // "umeng-analytics" : 'com.umeng.sdk:analytics:7.5.3',//友盟统计 - "ucrop" : 'com.github.yalantis:ucrop:2.2.3',//图片裁剪 + "ucrop" : 'com.github.yalantis:ucrop:2.2.9',//图片裁剪 "smartRefreshLayout" : 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-20',//下拉刷新上拉加载 "magicIndicator" : 'com.github.hackware1993:MagicIndicator:1.6.0',//ViewPager指示器 "banner" : 'com.ms:banner:1.0.0',//轮播图 diff --git a/live/src/main/java/com/yunbao/live/adapter/LiveReportAdapter.java b/live/src/main/java/com/yunbao/live/adapter/LiveReportAdapter.java index 129445c10..052e063fa 100644 --- a/live/src/main/java/com/yunbao/live/adapter/LiveReportAdapter.java +++ b/live/src/main/java/com/yunbao/live/adapter/LiveReportAdapter.java @@ -237,7 +237,7 @@ public class LiveReportAdapter extends RecyclerView.Adapter { if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java index efdacdffc..6def839ff 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java @@ -691,7 +691,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl */ private void setAvatar() { if (mLiveSdk == Constants.LIVE_SDK_TX) { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } else { DialogUitl.showStringArrayDialog(mContext, new Integer[]{ R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() { @@ -700,7 +700,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/live/src/main/java/com/yunbao/live/views/LiveNewReadySwViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveNewReadySwViewHolder.java index 3d949e264..0be3d139a 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveNewReadySwViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveNewReadySwViewHolder.java @@ -673,7 +673,7 @@ public class LiveNewReadySwViewHolder extends AbsViewHolder implements View.OnCl */ private void setAvatar() { if (mLiveSdk == Constants.LIVE_SDK_TX) { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(true); } else { DialogUitl.showStringArrayDialog(mContext, new Integer[]{ R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() { @@ -682,7 +682,7 @@ public class LiveNewReadySwViewHolder extends AbsViewHolder implements View.OnCl if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(true); } } }); diff --git a/live/src/main/java/com/yunbao/live/views/LiveReadyRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveReadyRyViewHolder.java index 8d44d530f..6e26b6276 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveReadyRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveReadyRyViewHolder.java @@ -35,7 +35,6 @@ import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; import com.yunbao.live.activity.LiveChooseClassActivity; import com.yunbao.live.activity.LiveRyAnchorActivity; -import com.yunbao.live.activity.LiveRyAnchorActivity; import com.yunbao.live.adapter.LiveReadyShareAdapter; import com.yunbao.common.bean.LiveRoomTypeBean; import com.yunbao.live.dialog.LiveRoomTypeDialogFragment; @@ -262,7 +261,7 @@ public class LiveReadyRyViewHolder extends AbsViewHolder implements View.OnClick */ private void setAvatar() { if (mLiveSdk == Constants.LIVE_SDK_TX) { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } else { DialogUitl.showStringArrayDialog(mContext, new Integer[]{ R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() { @@ -271,7 +270,7 @@ public class LiveReadyRyViewHolder extends AbsViewHolder implements View.OnClick if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/live/src/main/java/com/yunbao/live/views/LiveReadyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveReadyViewHolder.java index a19123a46..6f88ab017 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveReadyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveReadyViewHolder.java @@ -285,7 +285,7 @@ public class LiveReadyViewHolder extends AbsViewHolder implements View.OnClickLi */ private void setAvatar() { if (mLiveSdk == Constants.LIVE_SDK_TX) { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } else { DialogUitl.showStringArrayDialog(mContext, new Integer[]{ R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() { @@ -294,7 +294,7 @@ public class LiveReadyViewHolder extends AbsViewHolder implements View.OnClickLi if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/main/src/main/java/com/yunbao/main/activity/CompleteUserInfoActivity.java b/main/src/main/java/com/yunbao/main/activity/CompleteUserInfoActivity.java index b6328db14..a1281e664 100644 --- a/main/src/main/java/com/yunbao/main/activity/CompleteUserInfoActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/CompleteUserInfoActivity.java @@ -218,7 +218,7 @@ public class CompleteUserInfoActivity extends AbsActivity { if (isCamera) { cameraUtil.getImageByCamera(); } else { - cameraUtil.getImageByAlumb(); + cameraUtil.getImageByAlbum(); } }); new XPopup.Builder(mContext).asCustom(userAvatarPopup).show(); diff --git a/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java b/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java index 23e020744..5bde4bb94 100644 --- a/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java @@ -546,7 +546,7 @@ public class EditProfileActivity extends AbsActivity { if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else if (tag == R.string.alumb) { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(true); } else { RouteUtil.forwardUserAvatarSelect(); } diff --git a/main/src/main/java/com/yunbao/main/activity/FeedbackEditActivity.java b/main/src/main/java/com/yunbao/main/activity/FeedbackEditActivity.java index 61a3df228..0e654e3a7 100644 --- a/main/src/main/java/com/yunbao/main/activity/FeedbackEditActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/FeedbackEditActivity.java @@ -33,8 +33,6 @@ import com.yunbao.main.R; import java.io.File; import java.util.Locale; -import java.util.regex.Matcher; -import java.util.regex.Pattern; @Route(path = RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY) public class FeedbackEditActivity extends AbsActivity { @@ -299,7 +297,7 @@ public class FeedbackEditActivity extends AbsActivity { loadingDialog = DialogUitl.loadingDialog(mContext); loadingDialog.show(); if (tag == 1) { - imageUtil.getImageByAlumb(false); + imageUtil.getImageByAlbum(false); } else { imageUtil.getImageByCamera(false); } diff --git a/main/src/main/java/com/yunbao/main/activity/MainActivity.java b/main/src/main/java/com/yunbao/main/activity/MainActivity.java index 2305ea97f..254cb9766 100644 --- a/main/src/main/java/com/yunbao/main/activity/MainActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MainActivity.java @@ -41,6 +41,7 @@ import androidx.viewpager.widget.ViewPager; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.LogUtils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.jakewharton.rxbinding3.view.RxView; @@ -137,7 +138,7 @@ import com.yunbao.main.views.MainHomeViewHolder; import com.yunbao.main.views.MainMeViewHolder; import com.yunbao.main.views.MainMessageViewHolder; import com.yunbao.video.utils.VideoStorge; - +import com.yunbao.common.CommonAppContext; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -224,7 +225,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene super.create(); getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS); getWindow().setSharedElementEnterTransition(new FullAdToBannerTransition(1, 0.4f, new DecelerateInterpolator())); - } @Override @@ -235,6 +235,11 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene @Override protected void main() { + LogUtils.e("MainActivity", + "语言:"+IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage(), + "测试文本:"+getString(R.string.hot) + ); + ToastUtil.showDebug("打包时间:"+CommonAppConfig.BUILD_TIME+"\n系统语言:"+IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage()); //初始化声网 SWAuManager.get().initRtcEngine(this); ActivityCompat.postponeEnterTransition(this); @@ -352,6 +357,8 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene frameLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); mViewList.add(frameLayout); } + mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, mViewList.get(0)); + mViewPager.setAdapter(new ViewPagerAdapter(mViewList)); mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override @@ -1281,7 +1288,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene return; } if (position == 0) { - mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, parent); + //mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, parent); vh = mainHomeComViewHolder; } else if (position == 1) { mainHomeViewHolder = new MainHomeViewHolder(mContext, parent); diff --git a/main/src/main/java/com/yunbao/main/activity/MessageHiConfigActivity.java b/main/src/main/java/com/yunbao/main/activity/MessageHiConfigActivity.java index b8835eeb1..e823d6a07 100644 --- a/main/src/main/java/com/yunbao/main/activity/MessageHiConfigActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MessageHiConfigActivity.java @@ -409,7 +409,7 @@ public class MessageHiConfigActivity extends AbsActivity { } } }); - imageUtil.getImageByAlumb(); + imageUtil.getImageByAlbum(); loading = DialogUitl.loadingDialog(mContext); loading.show(); } diff --git a/main/src/main/java/com/yunbao/main/activity/MyWebViewActivity.java b/main/src/main/java/com/yunbao/main/activity/MyWebViewActivity.java index 3f9271639..ce9e2b291 100644 --- a/main/src/main/java/com/yunbao/main/activity/MyWebViewActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MyWebViewActivity.java @@ -586,7 +586,7 @@ public class MyWebViewActivity extends AbsActivity { if (tag == com.yunbao.main.R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/main/src/main/java/com/yunbao/main/activity/OneLoginActivity.java b/main/src/main/java/com/yunbao/main/activity/OneLoginActivity.java index eade89493..c862ccf60 100644 --- a/main/src/main/java/com/yunbao/main/activity/OneLoginActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/OneLoginActivity.java @@ -49,7 +49,7 @@ public class OneLoginActivity extends AbsActivity { if (tag == R.string.camera) { mImageUtil.getImageByCamera(); } else { - mImageUtil.getImageByAlumb(); + mImageUtil.getImageByAlbum(); } } }); diff --git a/main/src/main/java/com/yunbao/main/dialog/MainStartDialogFragment.java b/main/src/main/java/com/yunbao/main/dialog/MainStartDialogFragment.java index d36f91ea1..c31076a13 100644 --- a/main/src/main/java/com/yunbao/main/dialog/MainStartDialogFragment.java +++ b/main/src/main/java/com/yunbao/main/dialog/MainStartDialogFragment.java @@ -174,7 +174,12 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O boolean isAnchor = IMLoginManager.get(mContext).getUserInfo().anchorUserType(); if (isAnchor) { String[] permissions; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + permissions = new String[]{ + Manifest.permission.CAMERA, + Manifest.permission.RECORD_AUDIO + }; + } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.TIRAMISU) { permissions = new String[]{ //Manifest.permission.READ_MEDIA_IMAGES, 去掉选择图片的权限,到里面选择封面的时候再去申请 Manifest.permission.CAMERA, @@ -200,7 +205,12 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O boolean isAnchor = IMLoginManager.get(mContext).getUserInfo().anchorUserType(); if (isAnchor) { String[] permissions; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + permissions = new String[]{ + Manifest.permission.CAMERA, + Manifest.permission.RECORD_AUDIO + }; + } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.TIRAMISU) { permissions = new String[]{ Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.CAMERA, @@ -239,9 +249,9 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O JSONObject obj = JSON.parseObject(info[0]); JSONObject obj1 = JSON.parseObject(info1[0]); try { - if(code==201){ //声网 + if (code == 201) { //声网 LiveSwAnchorActivity.forward(mContext, Constants.LIVE_SDK_SW, JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class)); - }else if(code==200){//融云 + } else if (code == 200) {//融云 LiveRyAnchorActivity.forward(mContext, obj.getIntValue("live_sdk"), JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class)); } } catch (Exception e) { @@ -316,7 +326,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O if (i == R.id.btn_close) { } else if (i == R.id.btn_live) { if (isWifiProxy(mContext) || checkVPN((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE))) { - ToastUtil.show(WordUtil.isNewZh()?"檢測開啓了VPN或者代理,請先關閉VPN或者代理再開播。": + ToastUtil.show(WordUtil.isNewZh() ? "檢測開啓了VPN或者代理,請先關閉VPN或者代理再開播。" : "It is detected that VPN or proxy is turned on. Please turn off VPN or proxy before starting the broadcast."); DebugUtils.runDebugCode(() -> mCallback.onLiveClick()); } else { @@ -332,6 +342,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O } } } + private boolean isWifiProxy(Context context) { final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; String proxyAddress; @@ -353,6 +364,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O boolean isVpnConn = networkInfo == null ? false : networkInfo.isConnected(); return isVpnConn; } + @Override public void onDestroy() { super.onDestroy(); diff --git a/video/src/main/java/com/yunbao/video/views/VideoPlayViewHolder.java b/video/src/main/java/com/yunbao/video/views/VideoPlayViewHolder.java index ca9b69667..94421560e 100644 --- a/video/src/main/java/com/yunbao/video/views/VideoPlayViewHolder.java +++ b/video/src/main/java/com/yunbao/video/views/VideoPlayViewHolder.java @@ -6,6 +6,7 @@ import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.view.animation.AccelerateInterpolator; +import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.DefaultLoadControl; From 2d5f23519d40a8cb4e4a847e92d7fa30be8be1bd Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 13 Sep 2024 11:26:13 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=9B=BF=E6=8D=A2T=20=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E5=92=8CKEY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/src/main/res/values-en-rUS/strings.xml | 4 ++-- common/src/main/res/values-zh/strings.xml | 5 +++-- common/src/main/res/values/strings.xml | 4 ++-- .../main/res/mipmap-xxxhdpi/login_twitter.png | Bin 8631 -> 6068 bytes 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/common/src/main/res/values-en-rUS/strings.xml b/common/src/main/res/values-en-rUS/strings.xml index 970edade2..8e603b0a0 100644 --- a/common/src/main/res/values-en-rUS/strings.xml +++ b/common/src/main/res/values-en-rUS/strings.xml @@ -796,8 +796,8 @@ 6e90a23e0679c8d21b0888d5fa755535 - ui10vIggex2F043HnztYNuA3g - J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ + JDd7XEXr0kLcx0KkkJGUbD4MQ + aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index 3be3715de..b57438ec6 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -835,8 +835,9 @@ 977019710454991 6e90a23e0679c8d21b0888d5fa755535 - ui10vIggex2F043HnztYNuA3g - J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ + JDd7XEXr0kLcx0KkkJGUbD4MQ + aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws + F8t7PgspJ8Xl2k09ccqmnmynf aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index f1f515bd9..b11e8d383 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -641,8 +641,8 @@ 977019710454991 6e90a23e0679c8d21b0888d5fa755535 - ui10vIggex2F043HnztYNuA3g - J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ + JDd7XEXr0kLcx0KkkJGUbD4MQ + aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws Complete the new person\'s pre task Unlock custom features diff --git a/main/src/main/res/mipmap-xxxhdpi/login_twitter.png b/main/src/main/res/mipmap-xxxhdpi/login_twitter.png index 19654b8ee3eab1fa373eb5338c77a0b2bf094f0c..4ae6abcf116663407744fa38df22c772819cb778 100644 GIT binary patch literal 6068 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 literal 8631 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�50naUc2~t-cq7_OJkc-oSgufH`foKv=!Ti0%`_MSZ4dx$=3Pp!mt;6)> z&|og)KaFXXp7T;kyzpOU`Q0gfZr@eBn!)zmDP#Kh2K%C0-^c5{-}A2%0|3h^%hXDl Gg!~Vt>`To6 From 1f09d1a0c47560e153a99928f0e77c45857f39ef Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 13 Sep 2024 13:22:59 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=86=85=E9=83=A8?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.gradle b/config.gradle index 19de028ea..7d9737ebc 100644 --- a/config.gradle +++ b/config.gradle @@ -4,7 +4,7 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 23, targetSdkVersion : 34, - versionCode : 602, + versionCode : 603, versionName : "6.8.1", namespace : "com.pandoralive.shayu" ] From 6322c369068758140783fc2ecd079a9514407187 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 13 Sep 2024 15:32:27 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E6=92=AD?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=90=8E=E6=91=84=E5=83=8F=E5=A4=B4=E5=8D=A1?= =?UTF-8?q?=E4=BD=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/tmp/full-r8-config.txt | 583 +++++++++--------- config.gradle | 2 +- .../beautyapi/faceunity/agora/SWManager.java | 22 +- .../live/views/LivePushSwViewHolder.java | 7 +- 4 files changed, 322 insertions(+), 292 deletions(-) diff --git a/app/tmp/full-r8-config.txt b/app/tmp/full-r8-config.txt index f80ae5cc7..1804dd9f1 100644 --- a/app/tmp/full-r8-config.txt +++ b/app/tmp/full-r8-config.txt @@ -1,4 +1,4 @@ -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1 +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1 # This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html # @@ -95,8 +95,8 @@ # These classes are duplicated between android.jar and core-lambda-stubs.jar. -dontnote java.lang.invoke.** -# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1 -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\proguard-rules.pro +# End of content from D:\AndroidProject\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1 +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\app\proguard-rules.pro # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt @@ -419,8 +419,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keep class com.qiniu.**{public ();} -ignorewarnings -# End of content from D:\AndroidProject\pandorapanL\app\proguard-rules.pro -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt +# End of content from D:\AndroidProject\pandorapan\app\proguard-rules.pro +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt -keep class androidx.core.app.CoreComponentFactory { (); } -keep class androidx.core.content.FileProvider { (); } -keep class androidx.core.content.FileProvider4Utils { (); } @@ -1093,10 +1093,10 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keepclassmembers class * { *** videoEditClick(android.view.View); } -# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt +# End of content from D:\AndroidProject\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt -# End of content from D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt +# End of content from D:\AndroidProject\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt # Generated keep rule for Lifecycle observer adapter. -if class com.lxj.xpopup.core.BasePopupView { @@ -1156,9 +1156,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt -# End of content from D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt +# End of content from D:\AndroidProject\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt -keepattributes *Annotation* @@ -1377,7 +1377,7 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keep class com.davemorrissey.labs.subscaleview.** { *; } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ee31731bfec871ceb9cdfd12b05817bc\transformed\appcompat-1.6.1\proguard.txt # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1401,7 +1401,7 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ee31731bfec871ceb9cdfd12b05817bc\transformed\appcompat-1.6.1\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt #Picasso Proguard Config https://github.com/square/picasso -dontwarn com.squareup.okhttp.** @@ -1509,9 +1509,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; public boolean isLayoutSuppressed(); } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt -# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt +# The proguard configuration file for the following section is D:\AndroidProject\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt -# End of content from D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt +# End of content from D:\AndroidProject\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. @@ -1638,6 +1638,10 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt +# 本库模块专用的混淆规则 + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt -dontwarn jp.co.cyberagent.android.gpuimage.** @@ -1881,10 +1885,135 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt -# 本库模块专用的混淆规则 +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile + +#################### FaceUnity ####################### +-keep class com.faceunity.wrapper.faceunity {*;} +-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt +# Proguard rules specific to the core module. + +# Constructors accessed via reflection in DefaultRenderersFactory +-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer +-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer { + (long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int); +} +-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer +-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer { + (long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int); +} +-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer +-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer { + (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); +} +-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer +-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer { + (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); +} +-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer +-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer { + (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); +} + +# Constructors accessed via reflection in DefaultDownloaderFactory +-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader +-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader { + (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); +} +-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader +-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader { + (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); +} +-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader +-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader { + (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); +} + +# Constructors accessed via reflection in DefaultMediaSourceFactory +-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory +-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory { + (com.google.android.exoplayer2.upstream.DataSource$Factory); +} +-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory +-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory { + (com.google.android.exoplayer2.upstream.DataSource$Factory); +} +-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory +-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory { + (com.google.android.exoplayer2.upstream.DataSource$Factory); +} +-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory +-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory { + (); +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt +# Copyright (C) 2016 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# keep setters in VectorDrawables so that animations can still work. +-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* { + void set*(***); + *** get*(); +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2d0bd167b8e4c9403f38fc379546639f\transformed\transition-1.4.1\proguard.txt +# Copyright (C) 2017 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Keep a field in transition that is used to keep a reference to weakly-referenced object +-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter { + androidx.transition.ChangeBounds$ViewBounds mViewBounds; +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2d0bd167b8e4c9403f38fc379546639f\transformed\transition-1.4.1\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. @@ -1944,7 +2073,92 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +-keepclassmembers class * implements java.io.Serializable { + private static final java.io.ObjectStreamField[] serialPersistentFields; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt +# Copyright (C) 2017 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Prevent Parcelable objects from being removed or renamed. +-keep class android.support.v4.media.** implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +# Prevent Parcelable objects from being removed or renamed. +-keep class androidx.media.** implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d8c3626714f2e560684e4c222f456210\transformed\core-1.13.0\proguard.txt +# Never inline methods, but allow shrinking and obfuscation. +-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* { + ; +} +-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* { + ; +} +-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl { + ; +} +-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl { + ; +} +-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl { + ; +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d8c3626714f2e560684e4c222f456210\transformed\core-1.13.0\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6ece486db0154bb73a7bdce438b43da9\transformed\jetified-lifecycle-process-2.6.2\proguard.txt +# this rule is need to work properly when app is compiled with api 28, see b/142778206 +-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; } +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6ece486db0154bb73a7bdce438b43da9\transformed\jetified-lifecycle-process-2.6.2\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8e869a6a6c2530a8e446d599f2764da5\transformed\lifecycle-viewmodel-2.6.2\proguard.txt -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (); } @@ -1953,8 +2167,33 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (android.app.Application); } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8e869a6a6c2530a8e446d599f2764da5\transformed\lifecycle-viewmodel-2.6.2\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ce0e6750868f3f66322f188d971f1ef3\transformed\lifecycle-runtime-2.6.2\proguard.txt +-keepattributes AnnotationDefault, + RuntimeVisibleAnnotations, + RuntimeVisibleParameterAnnotations, + RuntimeVisibleTypeAnnotations + +-keepclassmembers enum androidx.lifecycle.Lifecycle$Event { + ; +} + +-keep !interface * implements androidx.lifecycle.LifecycleObserver { +} + +-keep class * implements androidx.lifecycle.GeneratedAdapter { + (...); +} + +-keepclassmembers class ** { + @androidx.lifecycle.OnLifecycleEvent *; +} + +# this rule is need to work properly when app is compiled with api 28, see b/142778206 +# Also this rule prevents registerIn from being inlined. +-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; } +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ce0e6750868f3f66322f188d971f1ef3\transformed\lifecycle-runtime-2.6.2\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\bd00b9047184418faa7306a460ee0581\transformed\jetified-lifecycle-viewmodel-savedstate-2.6.2\proguard.txt -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (androidx.lifecycle.SavedStateHandle); } @@ -1963,8 +2202,28 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (android.app.Application,androidx.lifecycle.SavedStateHandle); } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\bd00b9047184418faa7306a460ee0581\transformed\jetified-lifecycle-viewmodel-savedstate-2.6.2\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3ada8249efd76aa45d398a9ccd7df9fd\transformed\jetified-savedstate-1.2.1\proguard.txt +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated { + (); +} + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3ada8249efd76aa45d398a9ccd7df9fd\transformed\jetified-savedstate-1.2.1\proguard.txt +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\31bdcbe39d5085657b9e9934bb01ff50\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro # When editing this file, update the following files as well: # - META-INF/proguard/coroutines.pro # - META-INF/com.android.tools/proguard/coroutines.pro @@ -1992,8 +2251,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; # An annotation used for build tooling, won't be directly accessed. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\31bdcbe39d5085657b9e9934bb01ff50\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8a5acccede271ffbd4cb8a39c6aa6b22\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro # Allow R8 to optimize away the FastServiceLoader. # Together with ServiceLoader optimization in R8 # this results in direct instantiation when loading Dispatchers.Main @@ -2005,8 +2264,6 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; boolean ANDROID_DETECTED return true; } --keep class kotlinx.coroutines.android.AndroidDispatcherFactory {*;} - # Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher -assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt { boolean SUPPORT_MISSING return false; @@ -2018,7 +2275,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; boolean getDEBUG() return false; boolean getRECOVER_STACK_TRACES() return false; } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro + +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8a5acccede271ffbd4cb8a39c6aa6b22\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt #GSON # Retain Annotations for model objects @@ -2868,261 +3126,21 @@ native ; } # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html +# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\04cfd08a3f97a34725fadda3af782615\transformed\jetified-startup-runtime-1.1.1\proguard.txt +# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml. +-keepnames class * extends androidx.startup.Initializer -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile - -#################### FaceUnity ####################### --keep class com.faceunity.wrapper.faceunity {*;} --keep class com.faceunity.wrapper.faceunity$RotatedImage {*;} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt -# Proguard rules specific to the core module. - -# Constructors accessed via reflection in DefaultRenderersFactory --dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer --keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer { - (long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int); -} --dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer --keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer { - (long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int); -} --dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer --keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer { - (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); -} --dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer --keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer { - (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); -} --dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer --keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer { - (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); -} - -# Constructors accessed via reflection in DefaultDownloaderFactory --dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader --keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader { - (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); -} --dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader --keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader { - (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); -} --dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader --keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader { - (com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor); -} - -# Constructors accessed via reflection in DefaultMediaSourceFactory --dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory --keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory { - (com.google.android.exoplayer2.upstream.DataSource$Factory); -} --dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory --keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory { - (com.google.android.exoplayer2.upstream.DataSource$Factory); -} --dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory --keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory { - (com.google.android.exoplayer2.upstream.DataSource$Factory); -} --dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory --keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory { - (); -} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt -# Copyright (C) 2019 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - --keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated { +# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated, +# and are a part of the primary dex file. This is because they are discovered and instantiated +# during application startup. +-keep class * extends androidx.startup.Initializer { + # Keep the public no-argument constructor while allowing other methods to be optimized. (); } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt -# Copyright (C) 2017 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +-assumenosideeffects class androidx.startup.StartupLogger { public static ; } -# Keep a field in transition that is used to keep a reference to weakly-referenced object --keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter { - androidx.transition.ChangeBounds$ViewBounds mViewBounds; -} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt -# Copyright (C) 2016 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# keep setters in VectorDrawables so that animations can still work. --keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* { - void set*(***); - *** get*(); -} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt -# Copyright (c) Meta Platforms, Inc. and affiliates. -# All rights reserved. -# -# This source code is licensed under the license found in the -# LICENSE file in the root directory of this source tree. - -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - --keepclassmembers class * implements java.io.Serializable { - private static final java.io.ObjectStreamField[] serialPersistentFields; - private void writeObject(java.io.ObjectOutputStream); - private void readObject(java.io.ObjectInputStream); - java.lang.Object writeReplace(); - java.lang.Object readResolve(); -} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt -# Copyright (C) 2017 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Prevent Parcelable objects from being removed or renamed. --keep class android.support.v4.media.** implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} - -# Prevent Parcelable objects from being removed or renamed. --keep class androidx.media.** implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt -# Never inline methods, but allow shrinking and obfuscation. --keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* { - ; -} --keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* { - ; -} --keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl { - ; -} --keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl { - ; -} --keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl { - ; -} - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt --keepattributes AnnotationDefault, - RuntimeVisibleAnnotations, - RuntimeVisibleParameterAnnotations, - RuntimeVisibleTypeAnnotations - --keepclassmembers enum androidx.lifecycle.Lifecycle$Event { - ; -} - --keep !interface * implements androidx.lifecycle.LifecycleObserver { -} - --keep class * implements androidx.lifecycle.GeneratedAdapter { - (...); -} - --keepclassmembers class ** { - @androidx.lifecycle.OnLifecycleEvent *; -} - -# this rule is need to work properly when app is compiled with api 28, see b/142778206 -# Also this rule prevents registerIn from being inlined. --keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; } -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt +# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\04cfd08a3f97a34725fadda3af782615\transformed\jetified-startup-runtime-1.1.1\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt # Proguard rules specific to the DataSource module. @@ -3204,17 +3222,6 @@ native ; -dontwarn com.google.auto.value.AutoValue$Builder # End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt -# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt -# This Proguard rule ensures that ComponentInitializers are are neither shrunk nor obfuscated. -# This is because they are discovered and instantiated during application initialization. --keep class * extends androidx.startup.Initializer { - # Keep the public no-argument constructor while allowing other methods to be optimized. - (); -} - --assumenosideeffects class androidx.startup.StartupLogger - -# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt # The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt -dontwarn com.google.firebase.components.Component$Instantiation -dontwarn com.google.firebase.components.Component$ComponentType diff --git a/config.gradle b/config.gradle index 7d9737ebc..df71ccf07 100644 --- a/config.gradle +++ b/config.gradle @@ -4,7 +4,7 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 23, targetSdkVersion : 34, - versionCode : 603, + versionCode : 604, versionName : "6.8.1", namespace : "com.pandoralive.shayu" ] diff --git a/lib_faceunity/src/main/java/io/agora/beautyapi/faceunity/agora/SWManager.java b/lib_faceunity/src/main/java/io/agora/beautyapi/faceunity/agora/SWManager.java index 1defc06b1..c59e00f02 100644 --- a/lib_faceunity/src/main/java/io/agora/beautyapi/faceunity/agora/SWManager.java +++ b/lib_faceunity/src/main/java/io/agora/beautyapi/faceunity/agora/SWManager.java @@ -5,13 +5,16 @@ import android.content.ContentResolver; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; +import android.hardware.camera2.CameraManager; import android.net.Uri; import android.text.TextUtils; import android.view.SurfaceView; import android.widget.FrameLayout; +import androidx.annotation.NonNull; import androidx.core.content.res.ResourcesCompat; +import com.blankj.utilcode.util.LogUtils; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.CommonAppContext; import com.yunbao.common.bean.SwTokenModel; @@ -68,6 +71,7 @@ public class SWManager extends BaseCacheManager { private ImageTrackOptions imageTrackOptions = null; private onDrPkJoinSuccessListener onDrPkJoinSuccessListener; + String openCameraId = "1"; public void setOnDrPkJoinSuccessListener(SWManager.onDrPkJoinSuccessListener onDrPkJoinSuccessListener) { this.onDrPkJoinSuccessListener = onDrPkJoinSuccessListener; @@ -252,7 +256,20 @@ public class SWManager extends BaseCacheManager { */ public void switchCamera() { if (mRtcEngine != null) { - mRtcEngine.switchCamera(); + if (openCameraId.equals("0")) { + mRtcEngine.switchCamera("1"); + openCameraId = "1"; + } else { + mRtcEngine.switchCamera("0"); + openCameraId = "0"; + } + } + } + + public void resetCamera() { + LogUtils.e("重置摄像头", openCameraId); + if (mRtcEngine != null && !TextUtils.isEmpty(openCameraId)) { + mRtcEngine.switchCamera(openCameraId); } } @@ -524,6 +541,9 @@ public class SWManager extends BaseCacheManager { }); } + public void release() { + } + public interface onRtcEngineListener { void onOpenSuccess(String channel, int uid); diff --git a/live/src/main/java/com/yunbao/live/views/LivePushSwViewHolder.java b/live/src/main/java/com/yunbao/live/views/LivePushSwViewHolder.java index d281ec6a8..9f84f9d85 100644 --- a/live/src/main/java/com/yunbao/live/views/LivePushSwViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LivePushSwViewHolder.java @@ -504,8 +504,9 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX public void onResume() { mPaused = false; Log.i("摄像头", "onResume: " + isNeedOpenCamera); + swManager.resetCamera(); if (isNeedOpenCamera) { - RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(new IRCRTCResultDataCallback() { + /*RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(new IRCRTCResultDataCallback() { @Override public void onSuccess(Boolean data) { //设置摄像头最大缩放比例 @@ -519,7 +520,7 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX public void onFailed(RTCErrorCode errorCode) { Log.i("摄像头", "onFailed: 打开摄像头失败 " + errorCode); } - }); + });*/ } } @@ -549,6 +550,8 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX public void release() { super.release(); Bus.getOff(this); + onDestroy(); + SWManager.get().release(); LiveHttpUtil.cancel(LiveHttpConsts.LINK_MIC_TX_MIX_STREAM); rtcRoom = null; } From 380381c3fef4d4723598a8118617fed75f9d982c Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 27 Sep 2024 16:23:47 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yunbao/common/fragment/MainMessageChatFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java index abc219736..8befd42ba 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java @@ -54,7 +54,7 @@ public class MainMessageChatFragment extends ConversationListFragment { mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(List uiConversations) { - int hashCode = UiConversationCodeUtil.getListHasCode(uiConversations); + int hashCode = uiConversations.hashCode(); if (listHashCode != hashCode) { Log.i("nwq", "刷新数据"); listHashCode = hashCode;