1、修复换肤SDK 在Fragment没有生效的问题,原因是使用的LayoutInflater不是hook后的需要替换为LayoutInflater.from(getContext())
This commit is contained in:
donghongyu-pc
2024-10-25 10:30:03 +08:00
parent 8794695c9d
commit 956d1652cc
10 changed files with 32 additions and 31 deletions

View File

@@ -6,7 +6,8 @@ import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.graphics.Rect
import android.os.SystemClock
import android.view.*
import android.view.MotionEvent
import android.view.View
import android.view.ViewTreeObserver.OnGlobalLayoutListener
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
@@ -26,15 +27,10 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.KeyboardUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.och.biz.BuildConfig
import com.mogo.och.biz.R
import com.mogo.och.biz.login.callback.ILoginViewCallback
import com.mogo.och.biz.login.presenter.LoginPresenter
import com.mogo.skin.Skin
import com.mogo.skin.SkinManager
import com.mogo.skin.SkinManager.SkinLoadListener
import com.mogo.skin.utils.FileUtils
import com.mogo.skin.utils.SkinResources
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
@@ -96,28 +92,6 @@ class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(), ILoginView
override fun initViews() {
CallerLogger.d(TAG, "init")
// TODO yangyakun 根据后台配置的用户租户对应的皮肤包进行下载换肤
val skin = Skin(
"c9f07e5ee283a2197913cfc4b29ad937",
"YiXin-skin_v1_2024_10_24.apk",
"https://carlife-static-1255510688.cos.ap-beijing.myqcloud.com/MoGoEagleEye/YiXin-skin_v1_2024_10_24.apk"
)
val skinDeQing = Skin(
"1fb9d7a86d548ac406f3856a908fa60d",
"DeQing-skin_v1_2024_10_24.apk",
"https://carlife-static-1255510688.cos.ap-beijing.myqcloud.com/MoGoEagleEye/DeQing-skin_v1_2024_10_24.apk"
)
//换肤
SkinManager.getInstance().downloadSkin(Utils.getApp(), skin, object : SkinLoadListener {
override fun onLoadSuccess() {
FileUtils.copyVideoRawToFile(Utils.getApp(), R.raw::class.java.fields)
}
override fun onLoadFailed(e: java.lang.Exception?) {
}
})
context?.let {
val videoUrl: String
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) {

View File

@@ -28,7 +28,9 @@ import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.eagle.core.utilcode.util.ProcessUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.eagle.core.utilcode.util.VolumeUtils
import com.mogo.och.biz.R
import com.mogo.och.common.module.biz.login.BusinessEnum
import com.mogo.och.common.module.biz.login.ILoginCallback
import com.mogo.och.common.module.biz.login.LoginStatusEnum
@@ -36,6 +38,10 @@ import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.skin.Skin
import com.mogo.skin.SkinManager
import com.mogo.skin.SkinManager.SkinLoadListener
import com.mogo.skin.utils.FileUtils
import me.jessyan.autosize.utils.AutoSizeUtils
/**
@@ -52,6 +58,27 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
override fun init(context: Context) {
d(TAG, "FacadeProvider:init__${ProcessUtils.getCurrentProcessName()}_$this")
LoginStatusManager.addListener(TAG, this)
// TODO yangyakun 根据后台配置的用户租户对应的皮肤包进行下载换肤
val skin = Skin(
"0b7e13f351326b4e2502e140f1aa680e",
"YiXin-skin_v1_2024_10_24.apk",
"https://carlife-static-1255510688.cos.ap-beijing.myqcloud.com/MoGoEagleEye/YiXin-skin_v1_2024_10_24.apk"
)
val skinDeQing = Skin(
"8f7f83dedd08ce4c066763697604cfac",
"DeQing-skin_v1_2024_10_24.apk",
"https://carlife-static-1255510688.cos.ap-beijing.myqcloud.com/MoGoEagleEye/DeQing-skin_v1_2024_10_24.apk"
)
//换肤
SkinManager.getInstance().downloadSkin(Utils.getApp(), skin, object : SkinLoadListener {
override fun onLoadSuccess() {
FileUtils.copyVideoRawToFile(Utils.getApp(), R.raw::class.java.fields)
}
override fun onLoadFailed(e: java.lang.Exception?) {
}
})
}
override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? {

View File

@@ -28,7 +28,7 @@ public abstract class BaseFragment extends Fragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (mRootView == null) {
mRootView = inflater.inflate(getLayoutId(), container, false);
mRootView = LayoutInflater.from(getContext()).inflate(getLayoutId(), container, false);
} else {
ViewGroup viewGroup = (ViewGroup) mRootView.getParent();
if (viewGroup != null) {

View File

@@ -33,7 +33,7 @@ public abstract class MvpDialogFragment< V extends IView, P extends Presenter< V
@Override
public View onCreateView( @NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState ) {
if ( mRootView == null ) {
mRootView = inflater.inflate( getLayoutId(), container, false );
mRootView = LayoutInflater.from(getContext()).inflate( getLayoutId(), container, false );
} else {
ViewGroup viewGroup = ( ViewGroup ) mRootView.getParent();
if ( viewGroup != null )

View File

@@ -80,7 +80,7 @@ MOGO_LOCATION_VERSION=1.4.7.42
# 远程通讯模块
MOGO_TELEMATIC_VERSION=1.4.7.42
# 动态换肤SDK
MOGO_SKIN_VERSION=1.4.7.49.11-debug
MOGO_SKIN_VERSION=1.4.7.49.14-debug
######## MogoAiCloudSDK Version ########
# 自研地图
MAP_SDK_VERSION=3.4.1.17

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB