From 53dbef8f48791131ccbe61d292c88d1ccc7c233e Mon Sep 17 00:00:00 2001 From: kangshulong <1095887643@qq.com> Date: Thu, 5 Mar 2026 09:30:11 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=A0=E9=99=A4=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=B9=BF=E5=91=8Asdk=E7=9A=84=E9=9B=86=E6=88=90=E5=92=8C?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=202.=E7=A6=81=E6=AD=A2=E5=BC=80=E5=B1=8F?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=92=8C=E5=B9=BF=E5=91=8A=E4=BD=8D=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E4=B8=8B=E8=BD=BD=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- app/libs/SAD-release-1.0.9.aar | Bin 63812 -> 0 bytes .../ik/mboxlauncher/ui/ADSWindowManager.java | 13 +- .../java/com/ik/mboxlauncher/ui/Launcher.java | 5 +- .../com/ik/mboxlauncher/ui/MyApplication.java | 11 - .../com/ik/mboxlauncher/view/AdMultiView.java | 485 ------------------ .../res/layout-sw480dp/layout_rect_group1.xml | 4 +- .../res/layout-sw540dp/layout_rect_group1.xml | 4 +- .../res/layout-sw720dp/layout_rect_group1.xml | 4 +- .../main/res/layout/layout_rect_group1.xml | 4 +- .../java/com/android/nebulasdk/ADManager.java | 6 +- 11 files changed, 15 insertions(+), 523 deletions(-) delete mode 100644 app/libs/SAD-release-1.0.9.aar delete mode 100644 app/src/main/java/com/ik/mboxlauncher/view/AdMultiView.java diff --git a/app/build.gradle b/app/build.gradle index 5a6be50..97c2572 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -99,7 +99,7 @@ dependencies { //消息组件 implementation 'org.greenrobot:eventbus:3.1.1' - implementation 'com.google.android.gms:play-services-ads:20.3.0' +// implementation 'com.google.android.gms:play-services-ads:20.3.0' } \ No newline at end of file diff --git a/app/libs/SAD-release-1.0.9.aar b/app/libs/SAD-release-1.0.9.aar deleted file mode 100644 index 77339b727bd3280fe080c44b2c2ad5ee4c992bce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63812 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

|n7jQqb)ur)ezcDH5q?qZ@5*H>8g~fuR0C% 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 diff --git a/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java b/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java index 066c99f..496f43f 100644 --- a/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java +++ b/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java @@ -12,10 +12,8 @@ import com.android.monitor.DataBeeObserver; import com.android.monitor.impl.EventFactory; import com.android.nebulasdk.ADManager; import com.android.util.LogUtils; -import com.ik.mboxlauncher.view.AdMultiView; import com.ik.mboxlauncher.view.MultiView; import com.ik.mboxlauncher.view.HomeMultiView; -import com.seraphic.ad.AdStateListener; import java.io.File; import java.util.List; @@ -101,9 +99,6 @@ public class ADSWindowManager implements HomeMultiView.MultiViewListener{ if(mMultiViewList!=null&¤tADIndex"+tmpfile.exists()); - if(tmpfile.exists()) { - Glide.with(mContext).load(tmpfile).placeholder(imageResId).into(img_view); - } - - } - - @Override - public void loadIamgeRes(String uri, int defaultImageId) { - - } - - @Override - public void loadDefaultImage(int resId) { - img_view.setImageResource(resId); - } - - @Override - public void resetView() { - //TODO 如果无需响应用户操作取消广告(即:广告可点击),删掉下方一行代码 -// stopAd(); - } - - @Override - public void stopView() { - LogUtils.loge( "stopView=====>"); - stopAd(); - if(mFullRootView.getVisibility()==VISIBLE){ - mFullRootView.setVisibility(GONE); - } - } - - @Override - public void releaseView() { - - } - - @Override - public void pauseView() { - - } - - @Override - public boolean isAdPlaying() { - return mAdState == AdStateListener.AD_PLAYING - || mAdState == AdStateListener.AD_LOADING - || mAdState == AdStateListener.AD_LOADED; - } - - - public void setFullRooView(ViewGroup fullRooView){ - mFullRootView = fullRooView; - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - if(mWidth == 0 || mHeight == 0) { - RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) getLayoutParams(); - mWidth = getWidth(); - mHeight = getHeight(); - oldMarginstart =layoutParams.leftMargin; - oldMargintop =layoutParams.topMargin; - } - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - stopAd(); - } - - @SuppressLint("SoonBlockedPrivateApi") - private void hookWebView() { - int sdkInt = Build.VERSION.SDK_INT; - try { - Class factoryClass = Class.forName("android.webkit.WebViewFactory"); - Field field = factoryClass.getDeclaredField("sProviderInstance"); - field.setAccessible(true); - Object sProviderInstance = field.get(null); - if (sProviderInstance != null) { - LogUtils.logi("sProviderInstance isn't null"); - return; - } - Method getProviderClassMethod = null; - if (sdkInt > 22) { - getProviderClassMethod = factoryClass.getDeclaredMethod("getProviderClass"); - } else if (sdkInt == 22) { - getProviderClassMethod = factoryClass.getDeclaredMethod("getFactoryClass"); - } else { - LogUtils.logi("Don't need to Hook WebView"); - return; - } - getProviderClassMethod.setAccessible(true); - Class factoryProviderClass = (Class) getProviderClassMethod.invoke(factoryClass); - Class delegateClass = Class.forName("android.webkit.WebViewDelegate"); - Constructor delegateConstructor = delegateClass.getDeclaredConstructor(); - delegateConstructor.setAccessible(true); - if (sdkInt < 26) { //低于Android O版本 - Constructor providerConstructor = factoryProviderClass.getConstructor(delegateClass); - if (providerConstructor != null) { - providerConstructor.setAccessible(true); - sProviderInstance = providerConstructor.newInstance(delegateConstructor.newInstance()); - } - } else { - Field chromiumMethodName = factoryClass.getDeclaredField("CHROMIUM_WEBVIEW_FACTORY_METHOD"); - chromiumMethodName.setAccessible(true); - String chromiumMethodNameStr = (String) chromiumMethodName.get(null); - if (chromiumMethodNameStr == null) { - chromiumMethodNameStr = "create"; - } - Method staticFactory = factoryProviderClass.getMethod(chromiumMethodNameStr, delegateClass); - if (staticFactory != null) { - sProviderInstance = staticFactory.invoke(null, delegateConstructor.newInstance()); - } - } - - if (sProviderInstance != null) { - field.set("sProviderInstance", sProviderInstance); - LogUtils.logi("can use webview"); - } else { - LogUtils.logi("can not use webview"); - } - } catch (Exception e) { - } - } - - private void startAd(){ - if(mAdPlayManager != null){ - stopAd(); - } - mAdPlayManager = new AdPlayManager(mContext, AdPlayManager.TYPE_WITH_CONTAINER, - 0, adstate -> { - if(mMultiViewListener != null) { - int playState = Player.STATE_IDLE; - switch (adstate){ - case AdStateListener.AD_LOADING: - playState = Player.STATE_BUFFERING; - break; - case AdStateListener.AD_LOADED: - case AdStateListener.AD_PLAYING: - playState = Player.STATE_READY; - break; - case AdStateListener.AD_ERROR: - playState = adstate; - break; - case AdStateListener.AD_COMPLETE_ALL: - playState = Player.STATE_ENDED; - break; - } - LogUtils.loge("AdMultiView adstate ===>"+adstate); - if((mAdState == -1 || mAdState != adstate) && playState != Player.STATE_IDLE) { - mMultiViewListener.onPlaybackStateChanged(getId(), playState); - } - } - mAdState = adstate; - - if(adstate == AdStateListener.AD_COMPLETE_ALL||adstate == AdStateListener.AD_ERROR){ - if(isFullAdShow){ - isFullAdShow = false; - requestFocus(); - } - stopAd(); - } - }); //position 必填 - mAdPlayManager.setAdFullRootView(mFullRootView);//设置全屏的 ad root - if(isFocused()) {//焦点在当前view时,显示back提示 - mAdPlayManager.setNeedCancelTips(true); - } - mAdPlayManager.startAd(mAdRootView,0); - } - @Override - public void stopAd() { - LogUtils.loge( "stopAd=====>"); - if (mAdPlayManager != null) { - mAdPlayManager.stopAd(); - mAdPlayManager = null; - } - } - - @Override - public boolean onAdViewClick(){ - boolean isNeed = false; - if (mAdPlayManager != null) { - isNeed = mAdPlayManager.onAdViewClick(); - } - isFullAdShow = isNeed; - return isNeed; - } - public boolean onAdBackClick(){ - boolean isNeed = false; - //NOTE: 如果希望全局按back键取消广告,可以移除焦点判断 - if (isFocused() && mAdPlayManager != null) { - isNeed = mAdPlayManager.onAdBackClick(); - } - return isNeed; - } - - private boolean mGainFocus=false; - -// @Override -// protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect) { -// super.onFocusChanged(gainFocus, direction, previouslyFocusedRect); -// mGainFocus = gainFocus; -// -// if (gainFocus) { -// if(mAdPlayManager != null) { -// mAdPlayManager.setNeedCancelTips(true); -// } -// setBackgroundResource(R.drawable.app_item_border); -// setTranslationZ(10); -// setElevation(10); -// -// scaleView(1.05f); -// -//// ScaleAnimation anim = new ScaleAnimation(1f, 1.1f, 1f, 1.1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); -//// anim.setZAdjustment(Animation.ZORDER_TOP); -//// anim.setDuration(animDuration); -//// anim.setFillAfter(true); -//// this.startAnimation(anim); -// this.bringToFront(); -// } else { -// if(mAdPlayManager != null) { -// mAdPlayManager.setNeedCancelTips(false); -// } -// setBackgroundResource(R.color.transparent_background); -// setTranslationZ(0); -// setElevation(0); -// scaleView(1.0f); -//// ScaleAnimation anim = new ScaleAnimation(1.1f, 1f, 1.1f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); -//// anim.setZAdjustment(Animation.ZORDER_TOP); -//// anim.setDuration(animDuration); -//// anim.setFillAfter(true); -//// this.startAnimation(anim); -// } -// } - - @Override - protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect) { - super.onFocusChanged(gainFocus, direction, previouslyFocusedRect); -// int width = getWidth(); -// int height = getHeight(); - mGainFocus = gainFocus; - if(gainFocus){ - if(mAdPlayManager != null) { - mAdPlayManager.setNeedCancelTips(true); - } - setBackgroundResource(R.drawable.app_item_border); - setTranslationZ(8); - setElevation(8); - ValueAnimator animator = ValueAnimator.ofFloat(1f,1.1f); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(@NonNull ValueAnimator valueAnimator) { - float scale = (float) valueAnimator.getAnimatedValue(); -// RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) getLayoutParams(); -// layoutParams.height = (int) (height*scale); -// layoutParams.width = (int) (width*scale); -// setLayoutParams(layoutParams); -// setScaleWithLayoutd(scale); - setScaleWithLayoutd(scale); - invalidate(); - } - }); - animator.setDuration(animDuration); - animator.start(); - this.bringToFront(); - }else { - if(mAdPlayManager != null) { - mAdPlayManager.setNeedCancelTips(false); - } - setBackgroundResource(R.color.transparent_background); - setTranslationZ(0); - setElevation(0); - ValueAnimator animator = ValueAnimator.ofFloat(1.1f, 1f); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(@NonNull ValueAnimator valueAnimator) { - float scale = (float) valueAnimator.getAnimatedValue(); -// RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) getLayoutParams(); -// layoutParams.height = (int) (height*scale); -// layoutParams.width = (int) (width*scale); -// if(layoutParams.height < mHeight || layoutParams.width < mWidth){ -// layoutParams.height = mHeight; -// layoutParams.width = mWidth; -// } -// setLayoutParams(layoutParams); -// setScaleWithLayoutd(scale); - setScaleWithLayoutd(scale); - invalidate(); - } - }); - animator.setDuration(animDuration); - animator.start(); - } - } - - - // 缩放方法 - public void scaleView(float scale) { - setScaleX(scale); - setScaleY(scale); - setScaleWithLayoutd(scale); - invalidate(); // 可选,通常不需要 - } - - - // 或者如果需要同时改变布局大小 - public void setScaleWithLayoutd(float scale) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) getLayoutParams(); - int newWidth = (int) (mWidth * scale); - int newHeight = (int) (mHeight * scale); - - // 调整margin保持中心位置 - lp.leftMargin -= (newWidth - lp.width) / 2; - lp.topMargin -= (newHeight - lp.height) / 2; - - lp.width = newWidth; - lp.height = newHeight; - setLayoutParams(lp); - } - -// public void setScaleWithLayouts(float scale) { -// RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) getLayoutParams(); -// // 调整margin保持中心位置 -// lp.leftMargin -= (mWidth - lp.width) / 2; -// lp.topMargin -= (mWidth - lp.height) / 2; -// lp.width = mWidth; -// lp.height = mWidth; -// setLayoutParams(lp); -// } - - - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - LogUtils.loge("AdMultiView onKeyDown==>"+keyCode); - switch (keyCode){ - case KeyEvent.KEYCODE_BACK: - if(mGainFocus){ - onAdBackClick(); - return true; - } - break; - - - } - - return super.onKeyDown(keyCode, event); - } -} diff --git a/app/src/main/res/layout-sw480dp/layout_rect_group1.xml b/app/src/main/res/layout-sw480dp/layout_rect_group1.xml index 15b5a15..c3c0502 100644 --- a/app/src/main/res/layout-sw480dp/layout_rect_group1.xml +++ b/app/src/main/res/layout-sw480dp/layout_rect_group1.xml @@ -98,13 +98,13 @@ /> - diff --git a/app/src/main/res/layout-sw540dp/layout_rect_group1.xml b/app/src/main/res/layout-sw540dp/layout_rect_group1.xml index 8c4a2b0..147d552 100644 --- a/app/src/main/res/layout-sw540dp/layout_rect_group1.xml +++ b/app/src/main/res/layout-sw540dp/layout_rect_group1.xml @@ -98,13 +98,13 @@ /> - diff --git a/app/src/main/res/layout-sw720dp/layout_rect_group1.xml b/app/src/main/res/layout-sw720dp/layout_rect_group1.xml index 53d1578..0707df3 100644 --- a/app/src/main/res/layout-sw720dp/layout_rect_group1.xml +++ b/app/src/main/res/layout-sw720dp/layout_rect_group1.xml @@ -98,13 +98,13 @@ /> - diff --git a/app/src/main/res/layout/layout_rect_group1.xml b/app/src/main/res/layout/layout_rect_group1.xml index 730894b..e04240c 100644 --- a/app/src/main/res/layout/layout_rect_group1.xml +++ b/app/src/main/res/layout/layout_rect_group1.xml @@ -97,13 +97,13 @@ /> - diff --git a/mylibrary/src/main/java/com/android/nebulasdk/ADManager.java b/mylibrary/src/main/java/com/android/nebulasdk/ADManager.java index 20d8f7f..e632a65 100644 --- a/mylibrary/src/main/java/com/android/nebulasdk/ADManager.java +++ b/mylibrary/src/main/java/com/android/nebulasdk/ADManager.java @@ -364,9 +364,9 @@ public class ADManager implements DownLoadManeger.DownloadListener { LogUtils.loge("analysisResInfo AdType===>"+adinfo.getAdType()); if(ADTYPE_VIDEO.equals(adinfo.getAdType())){ - if(adinfo.getAdUri()!=null&&adinfo.getAdSize()!=null) { - addDownloadTask(adsInfoBean, adinfo.getAdUri(), 0, adinfo.getAdSize()); - } +// if(adinfo.getAdUri()!=null&&adinfo.getAdSize()!=null) { +// addDownloadTask(adsInfoBean, adinfo.getAdUri(), 0, adinfo.getAdSize()); +// } }else if(ADTYPE_FAV.equals(adinfo.getAdType())){ if( adinfo.getInfo()!=null){ String[] packageArray =adinfo.getInfo().split(",");