[Modify]1.5.2代码合并

This commit is contained in:
wushaocheng
2023-02-27 19:14:06 +08:00
parent 6c49ae8e4f
commit b8de3e76c3
6 changed files with 131 additions and 38 deletions

View File

@@ -488,4 +488,4 @@
-keep public class com.adjust.sdk.**{ *; }
-keep public class com.android.installreferrer.**{ *; }
-keep class com.sec.android.app.samsungapps.installreferrer.**{ *; }
-keep class com.miui.referrer:homereferrer.** { *; }
-keep class com.miui.referrer.** {*;}

View File

@@ -165,7 +165,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
mBinding.flVipSeek.isVisible = true
mBinding.ivVipIcon.load(it.vipIcon)
mBinding.tvVipDesc.text =
"${getString(R.string.me_short)}${RoomRankDialogUtils.getRoomRankValueText(it.levelUpScore)}${
"${getString(R.string.me_short)}${RoomRankDialogUtils.getRoomRankValueText(it.levelUpScore - it.currScore)}${
getString(R.string.me_power_value_escalation)
}"
mBinding.tvVipName.text = it.vipName

View File

@@ -11,6 +11,7 @@ import android.widget.RadioButton;
import androidx.annotation.Nullable;
import com.adjust.sdk.Adjust;
import com.google.android.material.textfield.TextInputEditText;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.sleepbot.datetimepicker.time.RadialPickerLayout;
@@ -208,7 +209,8 @@ public class AddUserInfoFragment extends BaseFragment
}
INVITE_USER_CODE = shareCode;
String finalChannel = channel;
UserModel.get().requestCompleteUserInfo(userInfo, channel, uid, roomUid, shareCode)
String adid = Adjust.getAdid();
UserModel.get().requestCompleteUserInfo(userInfo, channel, uid, roomUid, shareCode, adid)
.compose(bindUntilEvent(FragmentEvent.DESTROY))
.subscribe(new SingleObserver<UserInfo>() {
@Override

View File

@@ -0,0 +1,118 @@
package com.yizhuan.erban.utils
import android.annotation.SuppressLint
import android.os.Looper
import android.provider.Settings
import android.text.TextUtils
import androidx.annotation.WorkerThread
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import com.yizhuan.xchat_android_library.common.application.BaseApp
import com.yizhuan.xchat_android_library.common.util.Logger
import com.yizhuan.xchat_android_library.common.util.SPUtils
import java.io.IOException
/**
* create by wushaocheng 2023/2/15
* 获取设备id
*/
object DeviceUtil {
private const val TAG = "DeviceManager"
private const val ANDROID_ID_KEY = "android_id"
@Volatile
private var ANDROID_ID = ""
@Volatile
private var GAID = ""
/**
* @return 获取系统id
*/
@SuppressLint("HardwareIds")
fun getAndroidID(): String {
if (!TextUtils.isEmpty(ANDROID_ID)) {
Logger.info(TAG, "getAndroidID from cache, ANDROID_ID=$ANDROID_ID")
return ANDROID_ID
}
ANDROID_ID = SPUtils.getString(ANDROID_ID_KEY, "")
if (!TextUtils.isEmpty(ANDROID_ID)) {
Logger.info(TAG, "getAndroidID from SP, ANDROID_ID=$ANDROID_ID")
return ANDROID_ID
}
ANDROID_ID = Settings.Secure.getString(
BaseApp.getContext().contentResolver,
Settings.Secure.ANDROID_ID
)
Logger.info(TAG, "getAndroidID from system, ANDROID_ID=$ANDROID_ID")
SPUtils.putString(ANDROID_ID_KEY, ANDROID_ID)
return ANDROID_ID
}
/**
* 请求广告id注意调用该方法时只能运行在子线程中不能够用在UI线程中跟设备是否有Google Play Service有关。
*/
@WorkerThread
fun requestGAID() {
if (Looper.myLooper() == Looper.getMainLooper()) {
//避免在主线程中操作引起ANR问题
Logger.warn(
TAG,
"requestGAID method must called on work thread instead of UI thread!!!"
)
return
}
try {
//以下代码会阻塞当前线程所以不能在UI线程中使用避免出现ANR问题参考https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient#public-static-advertisingidclient.info-getadvertisingidinfo-context-context
val info: AdvertisingIdClient.Info =
AdvertisingIdClient.getAdvertisingIdInfo(
BaseApp.getContext()
)
val isLimitAdTrackingEnabled: Boolean = info.isLimitAdTrackingEnabled
Logger.info(
TAG,
"requestGAID isLimitAdTrackingEnabled=$isLimitAdTrackingEnabled"
)
if (!isLimitAdTrackingEnabled) {
GAID = info.id.toString()
Logger.info(TAG, "requestGAID from system, GAID=$GAID")
}
} catch (e: IOException) {
Logger.error(
TAG,
"requestGAID IOException",
e
)
} catch (e: IllegalStateException) {
Logger.error(
TAG,
"requestGAID IllegalStateException",
e
)
} catch (e: com.google.android.gms.common.GooglePlayServicesNotAvailableException) {
Logger.error(
TAG,
"requestGAID GooglePlayServicesNotAvailableException",
e
)
} catch (e: com.google.android.gms.common.GooglePlayServicesRepairableException) {
Logger.error(
TAG,
"requestGAID GooglePlayServicesRepairableException",
e
)
}
}
/**
* @return 获取广告id
*/
fun getGAID(): String {
Logger.info(
TAG,
"getGAID from cache, GAID=$GAID"
)
return GAID
}
}

View File

@@ -27,19 +27,12 @@ import io.reactivex.Single;
public interface IUserModel extends IModel {
/**
* 信息不全登录后调
*
* @param userInfo
*/
public void requestCompleteUserInfo(UserInfo userInfo, String shareChannel, String shareUid, String roomUid);
/**
* 信息不全登录,增加了邀请码
*
* @param userInfo
*/
public Single<UserInfo> requestCompleteUserInfo(UserInfo userInfo, String shareChannel, String shareUid, String roomUid, String shareCode);
public Single<UserInfo> requestCompleteUserInfo(UserInfo userInfo, String shareChannel, String shareUid, String roomUid, String shareCode, String adid);
/**

View File

@@ -346,13 +346,6 @@ public final class UserModel extends BaseModel implements IUserModel {
.compose(RxHelper.handleSchedulers());
}
//此方法兼容其他端,其他端最好改为 return Single的同名方法
@Override
public void requestCompleteUserInfo(final UserInfo userInfo, String shareChannel, String shareUid, String roomUid) {
requestCompleteUserInfo(userInfo, shareChannel, shareUid, roomUid, null).subscribe();
}
/**
* 用户补全资料
*
@@ -362,7 +355,7 @@ public final class UserModel extends BaseModel implements IUserModel {
* @param roomUid
*/
@Override
public Single<UserInfo> requestCompleteUserInfo(final UserInfo userInfo, String shareChannel, String shareUid, String roomUid, String inviteCode) {
public Single<UserInfo> requestCompleteUserInfo(final UserInfo userInfo, String shareChannel, String shareUid, String roomUid, String inviteCode, String adid) {
if (StringUtils.isEmpty(String.valueOf(userInfo.getUid()))) {
return Single.error(new Throwable(ResUtil.getString(R.string.xchat_android_core_user_usermodel_08)));
@@ -416,7 +409,8 @@ public final class UserModel extends BaseModel implements IUserModel {
null,
null,
null,
inviteCode
inviteCode,
adid
)
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers())
@@ -502,7 +496,8 @@ public final class UserModel extends BaseModel implements IUserModel {
region,
userDesc,
null,
null
null,
""
)
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers())
@@ -910,23 +905,8 @@ public final class UserModel extends BaseModel implements IUserModel {
@Field("region") String region,
@Field("userDesc") String userDesc,
@Field("shareCode") String shareCode,
@Field("inviteCode") String inviteCode);
/**
* @param ticket
* @param uid
* @param nick
* @param avatar
* @param gender
* @return
*/
@FormUrlEncoded
@POST("user/v2/update")
Single<ServiceResult<UserInfo>> updateUserInfo(@Field("ticket") String ticket,
@Field("uid") long uid,
@Field("nick") String nick,
@Field("avatar") String avatar,
@Field("gender") int gender);
@Field("inviteCode") String inviteCode,
@Field("adid") String adid);
/**