Commit bf7ccfd2 authored by bixing's avatar bixing

更新TOPONSDK 支持清理

parent 862e9144
...@@ -19,7 +19,6 @@ android { ...@@ -19,7 +19,6 @@ android {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
} }
} }
buildTypes { buildTypes {
release { release {
debuggable false debuggable false
...@@ -33,7 +32,9 @@ android { ...@@ -33,7 +32,9 @@ android {
} }
} }
buildFeatures { buildFeatures {
aidl=true aidl = true
viewBinding = true
dataBinding = true
} }
compileOptions { compileOptions {
...@@ -62,16 +63,16 @@ android { ...@@ -62,16 +63,16 @@ android {
applicationId "picturetranslate.extractor.text.lite" applicationId "picturetranslate.extractor.text.lite"
versionName "1.0.0.0" versionName "1.0.0.0"
signingConfig signingConfigs.toolsTest signingConfig signingConfigs.toolsTest
manifestPlaceholders = [google_ad_app_id: "ca-app-pub-9356757350640102~6934070860", signature: "04ced0bb5c9f0b2adf2f27dd57538cc8", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "1" manifestPlaceholders = [google_ad_app_id: "ca-app-pub-9356757350640102~6934070860", signature: "04ced0bb5c9f0b2adf2f27dd57538cc8", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "3"
, GAM_APP_ID: "ca-app-pub-3576913405665805~1539138916"] ]
} }
ceshi { ceshi {
versionCode 90015 versionCode 90015
versionName "1.0.15" versionName "1.0.15"
signingConfig signingConfigs.testSign signingConfig signingConfigs.testSign
applicationId "com.hr.heart.rate" applicationId "com.hr.heart.rate"
manifestPlaceholders = [google_ad_app_id: "ca-app-pub-3940256099942544~3347511713", signature: "8112af66991cd22a83219a1fd10403c9", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "1" manifestPlaceholders = [google_ad_app_id: "ca-app-pub-3940256099942544~3347511713", signature: "8112af66991cd22a83219a1fd10403c9", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "3"
, GAM_APP_ID: "ca-app-pub-3940256099942544~3347511713"] ]
ndk { ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'armeabi' abiFilters 'armeabi-v7a', 'arm64-v8a', 'armeabi'
} }
...@@ -88,9 +89,9 @@ dependencies { ...@@ -88,9 +89,9 @@ dependencies {
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation (platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'com.or.ange:likepal:2.2.2' implementation 'com.or.ange:likepal:2.2.2'
...@@ -133,64 +134,102 @@ dependencies { ...@@ -133,64 +134,102 @@ dependencies {
implementation 'com.google.guava:guava:27.0.1-android' implementation 'com.google.guava:guava:27.0.1-android'
//TU (Necessary)
//Anythink (Necessary) api "com.thinkup.sdk:core-tpn:6.5.36.2"
api "com.anythink.sdk:core:6.4.69" api "com.thinkup.sdk:nativead-tpn:6.5.36.2"
api "com.anythink.sdk:nativead:6.4.69" api "com.thinkup.sdk:banner-tpn:6.5.36.2"
api "com.anythink.sdk:banner:6.4.69" api "com.thinkup.sdk:interstitial-tpn:6.5.36.2"
api "com.anythink.sdk:interstitial:6.4.69" api "com.thinkup.sdk:rewardedvideo-tpn:6.5.36.2"
api "com.anythink.sdk:rewardedvideo:6.4.69" api "com.thinkup.sdk:splash-tpn:6.5.36.2"
api "com.anythink.sdk:splash:6.4.69"
//Androidx (Necessary) //Androidx (Necessary)
api "androidx.appcompat:appcompat:1.6.1" api "androidx.appcompat:appcompat:1.6.1"
api "androidx.browser:browser:1.4.0" api "androidx.browser:browser:1.4.0"
//Vungle //Vungle
api "com.anythink.sdk:adapter-vungle:6.4.69" api "com.thinkup.sdk:adapter-tpn-vungle:6.5.36.4"
api "com.vungle:vungle-ads:7.4.3" api "com.vungle:vungle-ads:7.6.1"
api "com.google.android.gms:play-services-basement:18.1.0" api "com.google.android.gms:play-services-basement:18.1.0"
api "com.google.android.gms:play-services-ads-identifier:18.0.1" api "com.google.android.gms:play-services-ads-identifier:18.0.1"
//UnityAds //UnityAds
api "com.anythink.sdk:adapter-unityads:6.4.69" api "com.thinkup.sdk:adapter-tpn-unityads:6.5.36"
api "com.unity3d.ads:unity-ads:4.14.0" api "com.unity3d.ads:unity-ads:4.16.1"
//Bigo //Bigo
api "com.anythink.sdk:adapter-bigo:6.4.69" api "com.thinkup.sdk:adapter-tpn-bigo:6.5.36"
api "com.bigossp:bigo-ads:5.1.0" api "com.bigossp:bigo-ads:5.5.1"
//Pubnative //Pubnative
api "com.anythink.sdk:adapter-pubnative:6.4.69" api "com.thinkup.sdk:adapter-tpn-pubnative:6.5.36"
api "net.pubnative:hybid.sdk:3.2.1" api "net.pubnative:hybid.sdk:3.6.2"
//Pangle //Pangle
api "com.anythink.sdk:adapter-pangle-nonchina:6.4.69" api "com.thinkup.sdk:adapter-tpn-pangle:6.5.36"
api "com.pangle.global:ads-sdk:6.5.0.6" api "com.pangle.global:pag-sdk:7.6.0.2"
api "com.google.android.gms:play-services-ads-identifier:18.0.1" api "com.google.android.gms:play-services-ads-identifier:18.2.0"
//Inmobi //Admob
api "com.anythink.sdk:adapter-inmobi:6.4.69" api "com.thinkup.sdk:adapter-tpn-admob:6.5.36"
api "com.inmobi.monetization:inmobi-ads-kotlin:10.8.2" api "com.google.android.gms:play-services-ads:24.6.0"
//TU Adx SDK(Necessary)
api "com.thinkup.sdk:adapter-tpn-sdm:6.5.36.8"
api "com.smartdigimkttech.sdk:smartdigimkttech-sdk:6.5.47"
//AppLovin //AppLovin
api "com.anythink.sdk:adapter-applovin:6.4.69.2" api "com.thinkup.sdk:adapter-tpn-applovin:6.5.36"
api "com.applovin:applovin-sdk:13.2.0" api "com.applovin:applovin-sdk:13.4.0"
//Mintegral //Mintegral
api "com.anythink.sdk:adapter-mintegral-nonchina:6.4.69.2" api "com.thinkup.sdk:adapter-tpn-mintegral:6.5.36"
api "com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.11" api "com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.91"
api "androidx.recyclerview:recyclerview:1.1.0" api "androidx.recyclerview:recyclerview:1.1.0"
//Admob //Tramini
api "com.anythink.sdk:adapter-admob:6.4.69.2" api "com.thinkup.sdk:tramini-plugin-tpn:6.5.36"
api "com.google.android.gms:play-services-ads:24.0.0"
//Tramini
api "com.anythink.sdk:tramini-plugin:6.4.69"
implementation 'com.tencent.bugly:crashreport:latest.release' implementation 'com.tencent.bugly:crashreport:latest.release'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
api('androidx.lifecycle:lifecycle-livedata:2.5.1')
api('androidx.lifecycle:lifecycle-viewmodel:2.5.1')
api('com.alibaba:fastjson:1.1.72.android')
api('io.reactivex.rxjava3:rxandroid:3.0.2')
api("me.leolin:ShortcutBadger:1.1.22@aar")
api('com.guolindev.permissionx:permissionx:1.7.1')
// api config.libARouter
api "com.google.code.gson:gson:2.10.1"
//glide
api('jp.wasabeef:glide-transformations:4.3.0')
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.2"
/*UI相关第三方*/
//Adapter
api 'io.github.cymchad:BaseRecyclerViewAdapterHelper:3.0.14'
//List Divider
// api 'com.aches.plugins:recyclerview-divider:1.0.1'
//Custom Ratingbar
api 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
api('com.airbnb.android:lottie:6.1.0')
implementation 'org.greenrobot:eventbus:3.1.1'
api('com.blankj:utilcodex:1.31.1')
api('com.google.android.material:material:1.8.0')
api('androidx.constraintlayout:constraintlayout:2.1.4')
api('androidx.lifecycle:lifecycle-livedata:2.5.1')
api('androidx.lifecycle:lifecycle-viewmodel:2.5.1')
api('com.android.volley:volley:1.2.1')
api("com.squareup.retrofit2:retrofit:2.5.0")
api("com.squareup.retrofit2:converter-gson:2.0.2")
api("com.squareup.okhttp3:logging-interceptor:3.8.1")
api("com.squareup.okhttp3:okhttp:3.12.0")
} }
\ No newline at end of file
...@@ -337,34 +337,21 @@ ...@@ -337,34 +337,21 @@
-dontnote com.google.android.material.** -dontnote com.google.android.material.**
-dontwarn androidx.** -dontwarn androidx.**
-keep public class com.anythink.** #topon start
-keepclassmembers class com.anythink.** { # Vungle
-dontwarn com.vungle.ads.**
-keepclassmembers class com.vungle.ads.** {
*; *;
} }
-keep class com.vungle.ads.**
-keep public class com.anythink.network.**
-keepclassmembers class com.anythink.network.** {
public *;
}
-dontwarn com.anythink.hb.**
-keep class com.anythink.hb.**{ *;}
-dontwarn com.anythink.china.api.**
-keep class com.anythink.china.api.**{ *;}
# new in v5.6.6 # Google
-keep class com.anythink.myoffer.ui.**{ *;} -keep class com.google.android.gms.** { *; }
-keepclassmembers public class com.anythink.myoffer.ui.** { -dontwarn com.google.android.gms.**
public *;
}
# Vungle
-dontwarn com.vungle.ads.**
-keepclassmembers class com.vungle.ads.** {
*;
}
# START OkHttp + Okio # START OkHttp + Okio
...@@ -379,6 +366,7 @@ ...@@ -379,6 +366,7 @@
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.* -dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt and other security providers are available. # OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
-dontwarn okhttp3.internal.platform.** -dontwarn okhttp3.internal.platform.**
-dontwarn org.conscrypt.** -dontwarn org.conscrypt.**
...@@ -400,45 +388,49 @@ ...@@ -400,45 +388,49 @@
} }
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; } -keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
# END Protobuf # END Protobuf
-keepattributes Signature
-keep class net.pubnative.** { *; }
-keep class com.iab.omid.library.pubnativenet.** { *; }
-keep class com.bytedance.sdk.** { *; } -keep class com.bytedance.sdk.** { *; }
-keepattributes Signature -keepattributes Signature
-keepattributes *Annotation* -keepattributes *Annotation*
-keep class com.mbridge.** {*; } -keep class com.mbridge.** {*; }
-keep interface com.mbridge.** {*; } -keep interface com.mbridge.** {*; }
-keep class android.support.v4.** { *; }
-dontwarn com.mbridge.** -dontwarn com.mbridge.**
-keep class **.R$* { public static final int mbridge*; } -keepclassmembers class **.R$* { public static final int mbridge*; }
-keep public class com.mbridge.* extends androidx.** { *; } -keep public class com.mbridge.* extends androidx.** { *; }
-keep public class androidx.viewpager.widget.PagerAdapter{ *; } -keep public class androidx.viewpager.widget.PagerAdapter{*;}
-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{ *; } -keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{*;}
-keep interface androidx.annotation.IntDef{ *; } -keep interface androidx.annotation.IntDef{*;}
-keep interface androidx.annotation.Nullable{ *; } -keep interface androidx.annotation.Nullable{*;}
-keep interface androidx.annotation.CheckResult{ *; } -keep interface androidx.annotation.CheckResult{*;}
-keep interface androidx.annotation.NonNull{ *; } -keep interface androidx.annotation.NonNull{*;}
-keep public class androidx.fragment.app.Fragment{ *; } -keep public class androidx.fragment.app.Fragment{*;}
-keep public class androidx.core.content.FileProvider{ *; } -keep public class androidx.core.content.FileProvider{*;}
-keep public class androidx.core.app.NotificationCompat{ *; } -keep public class androidx.core.app.NotificationCompat{*;}
-keep public class androidx.appcompat.widget.AppCompatImageView { *; } -keep public class androidx.appcompat.widget.AppCompatImageView {*;}
-keep public class androidx.recyclerview.*{ *; } -keep public class androidx.recyclerview.*{*;}
-keep class com.mbridge.msdk.foundation.tools.FastKV{*;}
-keep class com.mbridge.msdk.foundation.tools.FastKV$Builder{*;}
#topon end
-dontwarn com.tencent.bugly.** -dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;} -keep public class com.tencent.bugly.**{*;}
-keep class **.databinding.*Binding { *; }
-keep class com.gem.media.ad.OneH5InterstitialAdapter{ *;} -keepclassmembers class **.databinding.*Binding { *; }
-keepclassmembers public class com.gem.media.ad.OneH5InterstitialAdapter{ -keep class **.BR { *; }
public *; -keep class androidx.databinding.** { *; }
} -dontwarn androidx.databinding.**
-keep class com.gem.media.ad.OneH5SplashAdapter{ *;} -keep class * extends androidx.viewbinding.ViewBinding { *; }
-keepclassmembers public class com.gem.media.ad.OneH5SplashAdapter{ -keep class androidx.databinding.DataBindingUtil { *; }
public *;
}
-keep class com.gem.media.ad.OneH5RewardVideoAdapter{ *;}
-keepclassmembers public class com.gem.media.ad.OneH5RewardVideoAdapter{
public *;
}
This diff is collapsed.
...@@ -32,4 +32,6 @@ interface XGENAdData { ...@@ -32,4 +32,6 @@ interface XGENAdData {
boolean adIsLoading(); boolean adIsLoading();
void transferData(int type, String data);
} }
\ No newline at end of file
...@@ -5,10 +5,11 @@ import android.view.ViewGroup; ...@@ -5,10 +5,11 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.anythink.core.api.ATAdInfo; import com.thinkup.core.api.AdError;
import com.anythink.splashad.api.ATSplashAd; import com.thinkup.core.api.TUAdInfo;
import com.anythink.splashad.api.ATSplashAdExtraInfo; import com.thinkup.splashad.api.TUSplashAd;
import com.anythink.splashad.api.ATSplashAdListener; import com.thinkup.splashad.api.TUSplashAdExtraInfo;
import com.thinkup.splashad.api.TUSplashAdListener;
import java.util.Date; import java.util.Date;
...@@ -18,7 +19,7 @@ public class TopOnAppOpenAdManager { ...@@ -18,7 +19,7 @@ public class TopOnAppOpenAdManager {
private static final String LOG_TAG = "TopOnAppOpenAdManager"; private static final String LOG_TAG = "TopOnAppOpenAdManager";
private static final String AD_UNIT_ID = "b1f138leh1o4gp"; private static final String AD_UNIT_ID = "b1f138leh1o4gp";
private ATSplashAd appOpenAd = null; private TUSplashAd appOpenAd = null;
private boolean isLoadingAd = false; private boolean isLoadingAd = false;
private boolean isShowingAd = false; private boolean isShowingAd = false;
...@@ -66,8 +67,8 @@ public class TopOnAppOpenAdManager { ...@@ -66,8 +67,8 @@ public class TopOnAppOpenAdManager {
isLoadingAd = true; isLoadingAd = true;
appOpenAd = new ATSplashAd(PictureApplication.getApplication(), AD_UNIT_ID, null); appOpenAd = new TUSplashAd(PictureApplication.getApplication(), AD_UNIT_ID, null);
appOpenAd.setAdListener(new ATSplashAdListener() { appOpenAd.setAdListener(new TUSplashAdListener() {
@Override @Override
public void onAdLoaded(boolean b) { public void onAdLoaded(boolean b) {
LogUtils.d(LOG_TAG, "onAdLoaded."); LogUtils.d(LOG_TAG, "onAdLoaded.");
...@@ -90,7 +91,7 @@ public class TopOnAppOpenAdManager { ...@@ -90,7 +91,7 @@ public class TopOnAppOpenAdManager {
} }
@Override @Override
public void onNoAdError(com.anythink.core.api.AdError adError) { public void onNoAdError(AdError adError) {
isLoadingAd = false; isLoadingAd = false;
if (null != onLoadAdCompleteListener) { if (null != onLoadAdCompleteListener) {
onLoadAdCompleteListener.onLoadAdFailed(adError.getPlatformMSG()); onLoadAdCompleteListener.onLoadAdFailed(adError.getPlatformMSG());
...@@ -100,15 +101,15 @@ public class TopOnAppOpenAdManager { ...@@ -100,15 +101,15 @@ public class TopOnAppOpenAdManager {
} }
@Override @Override
public void onAdShow(ATAdInfo atAdInfo) { public void onAdShow(TUAdInfo atAdInfo) {
} }
@Override @Override
public void onAdClick(ATAdInfo atAdInfo) { public void onAdClick(TUAdInfo atAdInfo) {
} }
@Override @Override
public void onAdDismiss(ATAdInfo atAdInfo, ATSplashAdExtraInfo atSplashAdExtraInfo) { public void onAdDismiss(TUAdInfo atAdInfo, TUSplashAdExtraInfo atSplashAdExtraInfo) {
appOpenAd = null; appOpenAd = null;
isShowingAd = false; isShowingAd = false;
......
...@@ -2,14 +2,15 @@ package com.ads.cal.picturetranslate; ...@@ -2,14 +2,15 @@ package com.ads.cal.picturetranslate;
import android.app.Activity; import android.app.Activity;
import com.anythink.core.api.ATAdInfo; import com.thinkup.core.api.AdError;
import com.anythink.core.api.AdError; import com.thinkup.core.api.TUAdInfo;
import com.anythink.interstitial.api.ATInterstitial; import com.thinkup.interstitial.api.TUInterstitial;
import com.anythink.interstitial.api.ATInterstitialListener; import com.thinkup.interstitial.api.TUInterstitialListener;
public class TopOnItAdManager { public class TopOnItAdManager {
private static final String IT_AD_UNIT_ID = "b6509805ed0208"; private static final String IT_AD_UNIT_ID = "b6509805ed0208";
private static ATInterstitial itAd = null; private static TUInterstitial itAd = null;
private static OnItAdListener listener = null; private static OnItAdListener listener = null;
private static final int init = 0; private static final int init = 0;
...@@ -23,8 +24,8 @@ public class TopOnItAdManager { ...@@ -23,8 +24,8 @@ public class TopOnItAdManager {
return; return;
} }
itAd = new ATInterstitial(PictureApplication.getApplication(), IT_AD_UNIT_ID); itAd = new TUInterstitial(PictureApplication.getApplication(), IT_AD_UNIT_ID);
itAd.setAdListener(new ATInterstitialListener() { itAd.setAdListener(new TUInterstitialListener() {
@Override @Override
public void onInterstitialAdLoaded() { public void onInterstitialAdLoaded() {
...@@ -36,18 +37,18 @@ public class TopOnItAdManager { ...@@ -36,18 +37,18 @@ public class TopOnItAdManager {
} }
@Override @Override
public void onInterstitialAdClicked(ATAdInfo atAdInfo) { public void onInterstitialAdClicked(TUAdInfo atAdInfo) {
} }
@Override @Override
public void onInterstitialAdShow(ATAdInfo atAdInfo) { public void onInterstitialAdShow(TUAdInfo atAdInfo) {
if (listener != null) { if (listener != null) {
listener.onShow(); listener.onShow();
} }
} }
@Override @Override
public void onInterstitialAdClose(ATAdInfo atAdInfo) { public void onInterstitialAdClose(TUAdInfo atAdInfo) {
if (listener != null) { if (listener != null) {
listener.onClose(); listener.onClose();
} }
...@@ -56,12 +57,12 @@ public class TopOnItAdManager { ...@@ -56,12 +57,12 @@ public class TopOnItAdManager {
} }
@Override @Override
public void onInterstitialAdVideoStart(ATAdInfo atAdInfo) { public void onInterstitialAdVideoStart(TUAdInfo atAdInfo) {
} }
@Override @Override
public void onInterstitialAdVideoEnd(ATAdInfo atAdInfo) { public void onInterstitialAdVideoEnd(TUAdInfo atAdInfo) {
} }
@Override @Override
......
package com.ads.cal.picturetranslate; package com.ads.cal.picturetranslate;
import static com.anythink.network.pangle.PangleATConst.DEBUGGER_CONFIG.Pangle_NETWORK;
import android.content.Context; import android.content.Context;
import com.anythink.core.api.ATDebuggerConfig; import com.thinkup.core.api.TUSDK;
import com.anythink.core.api.ATSDK;
public class TopOnManager { public class TopOnManager {
private TopOnManager() { private TopOnManager() {
...@@ -41,9 +39,9 @@ public class TopOnManager { ...@@ -41,9 +39,9 @@ public class TopOnManager {
return; return;
} }
ATSDK.init(context, TOPON_APP_ID, TOPON_APP_KEY); TUSDK.init(context, TOPON_APP_ID, TOPON_APP_KEY);
//SDK版本 //SDK版本
LogUtils.d("TopOn SDK version: " + ATSDK.getSDKVersionName()); LogUtils.d("TopOn SDK version: " + TUSDK.getSDKVersionName());
//(v5.7.77新增) 打印当前设备的设备信息(IMEI、OAID、GAID、AndroidID等) //(v5.7.77新增) 打印当前设备的设备信息(IMEI、OAID、GAID、AndroidID等)
// ATSDK.testModeDeviceInfo(context, new DeviceInfoCallback() { // ATSDK.testModeDeviceInfo(context, new DeviceInfoCallback() {
......
...@@ -6,8 +6,13 @@ import android.content.pm.PackageManager; ...@@ -6,8 +6,13 @@ import android.content.pm.PackageManager;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message;
import android.os.Messenger;
import android.os.RemoteException;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
...@@ -24,14 +29,31 @@ import androidx.camera.lifecycle.ProcessCameraProvider; ...@@ -24,14 +29,31 @@ import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView; import androidx.camera.view.PreviewView;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.ads.cal.core.InitClean;
import com.ads.cal.core.data.JumpInfo;
import com.ads.cal.core.manager.AppDataMgr;
import com.ads.cal.core.manager.AppMgr;
import com.ads.cal.core.utils.FragmentXUtils;
import com.ads.cal.core.views.fragments.HomeFragment;
import com.ads.cal.picturetranslate.LogUtils; import com.ads.cal.picturetranslate.LogUtils;
import com.ads.cal.picturetranslate.PermissionUtil; import com.ads.cal.picturetranslate.PermissionUtil;
import com.ads.cal.picturetranslate.PictureApplication;
import com.ads.cal.picturetranslate.R; import com.ads.cal.picturetranslate.R;
import com.ads.cal.picturetranslate.SharedPreferencesUtil; import com.ads.cal.picturetranslate.SharedPreferencesUtil;
import com.ads.cal.picturetranslate.Util; import com.ads.cal.picturetranslate.Util;
import com.ads.cal.picturetranslate.base.BaseActivity; import com.ads.cal.picturetranslate.base.BaseActivity;
import com.android.gem.core.Event;
import com.android.gem.core.Node;
import com.gem.media.InitA;
import com.gem.media.ad.AdManager;
import com.gem.media.ad.NativeAdClearManager;
import com.gem.media.splash.base.protocol.Constants;
import com.gem.media.splash.base.utils.PkgUtils;
import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFuture;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.File; import java.io.File;
...@@ -42,12 +64,116 @@ import java.io.File; ...@@ -42,12 +64,116 @@ import java.io.File;
private ImageView imageView, selectPhone; private ImageView imageView, selectPhone;
private PreviewView mPreview; private PreviewView mPreview;
private HomeFragment homeFragment;
private Node node;
private long currentTime;
private void init() {
Intent intent = getIntent();
if (intent != null) {
boolean isCleanJunk = false;
try {
Messenger messenger = intent.getParcelableExtra("messenger");
InitA.getInstance().setCleanMessenger(messenger);
} catch (Exception e) {
}
try {
node = intent.getParcelableExtra("node");
} catch (Exception e) {
//
}
String viewType = intent.getStringExtra("cleanViewType");
report(Constants.NODE_CLEAR_PAGE_SHOW, TextUtils.isEmpty(viewType) ? "home" : viewType);
try {
String adData = intent.getStringExtra("adData");
if (!TextUtils.isEmpty(adData)) {
try {
JSONArray array = new JSONArray(adData);
// AdManager.getInstance().setData(array, AdManager.CLEAR_TYPE);
AdManager.getInstance().setData(array, AdManager.CLEAR_TYPE);
} catch (Exception e) {
//
}
}
} catch (Exception e) {
//
}
try {
isCleanJunk = intent.getBooleanExtra("clearType", true);
InitClean.INSTANCE.setCurrShowGarbage(isCleanJunk);
} catch (Exception e) {
}
try {
String running3rdApp = intent.getStringExtra("running3rdApp");
if (!TextUtils.isEmpty(running3rdApp)) {
AppMgr.INSTANCE.updateRunning3rdApp(running3rdApp);
}
} catch (Exception e) {
//
}
try {
boolean notifySwitch = intent.getBooleanExtra("notifySwitch", false);
boolean popSwitch = intent.getBooleanExtra("popSwitch", false);
boolean permanentSwitch = intent.getBooleanExtra("permanentSwitch", false);
AppDataMgr.INSTANCE.setVisibleReminderValue(permanentSwitch, popSwitch, notifySwitch);
} catch (Exception e) {
//
}
boolean toAnimPage = false;
try {
toAnimPage = intent.getBooleanExtra("toAnimPage", false);
if (toAnimPage) {
PictureTranslateShowPhotoActivity.startPictureTranslateShowPhotoActivity(this, new JumpInfo(), isCleanJunk ? JumpInfo.JUMP_ACTIVITY_CLEAN_SCAN
: JumpInfo.JUMP_ACTIVITY_PROCESS_SCAN);
}
} catch (Exception e) {
//
}
try {
report("toAnimPage", String.valueOf(toAnimPage));
} catch (Exception e) {
//
}
}
try {
homeFragment = new HomeFragment();
FragmentXUtils.add(getSupportFragmentManager(), homeFragment, android.R.id.content);
} catch (Exception e) {
finish();
}
}
private void report(String type, String reason) {
Event event = new Event();
event.type = type;
event.reason = reason;
addNodeEvent(event);
}
private void addNodeEvent(Event event) {
if (node != null) {
try {
String pkgName = PictureApplication.getApplication().getPackageName();
JSONObject reason = new JSONObject();
reason.put(Constants.MEDIA_PKG, pkgName);
reason.put(Constants.REASON, event.reason);
reason.put("vn", PkgUtils.getAppVersionName(PictureApplication.getApplication(), pkgName));
reason.put("vc", PkgUtils.getAppVersionCode(PictureApplication.getApplication(), pkgName));
event.reason = reason.toString();
} catch (Exception e) {
}
node.addEvent(event);
}
}
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (init == 0) { if (init == 0) {
finish(); init();
return; return;
} }
// 隐藏状态栏和虚拟导航栏 // 隐藏状态栏和虚拟导航栏
...@@ -77,6 +203,72 @@ import java.io.File; ...@@ -77,6 +203,72 @@ import java.io.File;
SharedPreferencesUtil.saveString(this, SharedPreferencesUtil.KEY_FIRST_CLK_TAKE_PHOTO, "clk"); SharedPreferencesUtil.saveString(this, SharedPreferencesUtil.KEY_FIRST_CLK_TAKE_PHOTO, "clk");
} }
private FrameLayout frameLayout;
private String adPosition;
@Override
protected void onStop() {
super.onStop();
if (homeFragment != null) {
adPosition = homeFragment.getMAdPosition();
frameLayout = homeFragment.getNativeGroupView();
}
}
@Override
protected void onResume() {
super.onResume();
currentTime = System.currentTimeMillis();
}
@Override
public void onBackPressed() {
if (homeFragment != null) {
adPosition = homeFragment.getMAdPosition();
frameLayout = homeFragment.getNativeGroupView();
homeFragment.onBackPressed();
homeFragment = null;
return;
}
super.onBackPressed();
}
@Override
protected void onDestroy() {
InitA.getInstance().setAdShownCallback(null);
InitA.getInstance().setAdNativeShownCallback(null);
if (null != frameLayout) {
frameLayout.removeAllViews();
}
if (!TextUtils.isEmpty(adPosition)) {
NativeAdClearManager manager = AdManager.getInstance().getNativeManager(adPosition);
manager.destroyAd();
}
Messenger messenger = InitA.getInstance().getCleanMessenger();
if (null != messenger) {
try {
try {
report(Constants.NODE_CLEAR_PAGE_SHOW_TIME, String.valueOf(System.currentTimeMillis() - currentTime));
} catch (Exception e){
//
}
Message message = Message.obtain();
Bundle bundle = new Bundle();
if (node != null) {
bundle.putParcelable("node", node);
}
message.setData(bundle);
message.what = 5003;
messenger.send(message);
} catch (RemoteException e) {
//
}
}
super.onDestroy();
}
private void initView() { private void initView() {
ImageView close = findViewById(R.id.close); ImageView close = findViewById(R.id.close);
close.setOnClickListener(v -> finish()); close.setOnClickListener(v -> finish());
......
...@@ -158,7 +158,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -158,7 +158,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
report(Constants.NODE_CACHE, "open"); report(Constants.NODE_CACHE, "open");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "open"); StatsStaticHelper.onEvent(Constants.NODE_CACHE, "open");
} else { } else {
InterstitialAdManager.getInstance().showAd(this); InterstitialAdManager.getInstance().showAd(this, Constants.SCENARIO_CHAPIN_PROCESS);
report(Constants.NODE_CACHE, "interstitial"); report(Constants.NODE_CACHE, "interstitial");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial"); StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial");
} }
...@@ -172,12 +172,11 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -172,12 +172,11 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} else if (InterstitialAdManager.getInstance().hasCache()) { } else if (InterstitialAdManager.getInstance().hasCache()) {
cancelAdLoadedCallback(); cancelAdLoadedCallback();
ALog.w(TAG, " Interstitial ad has cache "); ALog.w(TAG, " Interstitial ad has cache ");
InterstitialAdManager.getInstance().showAd(this); InterstitialAdManager.getInstance().showAd(this, Constants.SCENARIO_CHAPIN_PROCESS);
report(Constants.NODE_CACHE, "interstitial"); report(Constants.NODE_CACHE, "interstitial");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial"); StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial");
} else { } else {
boolean isShow = false; ALog.w(TAG, "Open Interstitial ad load ");
ALog.w(TAG, " Open Interstitial ad load ");
if (!TextUtils.isEmpty(chapinAdId)) { if (!TextUtils.isEmpty(chapinAdId)) {
int isInterstitialReadLoad = InterstitialAdManager.getInstance().loadAd(chapinAdId); int isInterstitialReadLoad = InterstitialAdManager.getInstance().loadAd(chapinAdId);
if (isInterstitialReadLoad > 0) { if (isInterstitialReadLoad > 0) {
...@@ -188,17 +187,12 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -188,17 +187,12 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} else if (isInterstitialReadLoad != -8) { } else if (isInterstitialReadLoad != -8) {
report(Constants.NODE_NO_REQUEST, "interstitial type = " + isInterstitialReadLoad); report(Constants.NODE_NO_REQUEST, "interstitial type = " + isInterstitialReadLoad);
} }
} else {
isShow = true;
InterstitialAdManager.getInstance().showAd(this);
report(Constants.NODE_CACHE, "interstitial");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial");
} }
} else {
StatsStaticHelper.onEvent("c_r", "interstitial");
} }
if (!TextUtils.isEmpty(kaipinAdId)) { if (TextUtils.isEmpty(kaipinAdId)) {
return;
}
int isOpenReadLoad = OpenAdManager.getInstance().loadAd(kaipinAdId); int isOpenReadLoad = OpenAdManager.getInstance().loadAd(kaipinAdId);
if (isOpenReadLoad > 0) { if (isOpenReadLoad > 0) {
report(Constants.NODE_REQUEST_EID, "open type = " + isOpenReadLoad); report(Constants.NODE_REQUEST_EID, "open type = " + isOpenReadLoad);
...@@ -208,16 +202,6 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -208,16 +202,6 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} else if (isOpenReadLoad != -8) { } else if (isOpenReadLoad != -8) {
report(Constants.NODE_NO_REQUEST, "open type = " + isOpenReadLoad); report(Constants.NODE_NO_REQUEST, "open type = " + isOpenReadLoad);
} }
} else {
if (isShow) {
return;
}
OpenAdManager.getInstance().showAd(this, frameLayout);
report(Constants.NODE_CACHE, "open");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "open");
}
} else {
StatsStaticHelper.onEvent("c_r", "open");
} }
} }
} }
...@@ -351,14 +335,12 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -351,14 +335,12 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
kaipinAdId = intent.getStringExtra(AdData.AD_TYPE_OPEN); kaipinAdId = intent.getStringExtra(AdData.AD_TYPE_OPEN);
ALog.w(TAG, "AD_TYPE_OPEN " + adAppId_channelId + " " + kaipinAdId); ALog.w(TAG, "AD_TYPE_OPEN " + adAppId_channelId + " " + kaipinAdId);
if (!TextUtils.isEmpty(kaipinAdId)) { if (!TextUtils.isEmpty(kaipinAdId)) {
adData.setAdType(AdData.AD_TYPE_OPEN);
adData.setAppId(adAppId); adData.setAppId(adAppId);
adData.addData(AdData.AD_TYPE_OPEN, kaipinAdId); adData.addData(AdData.AD_TYPE_OPEN, kaipinAdId);
} }
chapinAdId = intent.getStringExtra(AdData.AD_TYPE_INTERSTITIAL); chapinAdId = intent.getStringExtra(AdData.AD_TYPE_INTERSTITIAL);
ALog.w(TAG, "AD_TYPE_INTERSTITIAL " + adAppId_channelId + " " + chapinAdId); ALog.w(TAG, "AD_TYPE_INTERSTITIAL " + adAppId_channelId + " " + chapinAdId);
if (!TextUtils.isEmpty(chapinAdId)) { if (!TextUtils.isEmpty(chapinAdId)) {
adData.setAdType(AdData.AD_TYPE_INTERSTITIAL);
adData.setAppId(adAppId); adData.setAppId(adAppId);
adData.addData(AdData.AD_TYPE_INTERSTITIAL, chapinAdId); adData.addData(AdData.AD_TYPE_INTERSTITIAL, chapinAdId);
} }
...@@ -445,7 +427,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -445,7 +427,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} }
protected static void clearTask() { protected static void clearTask() {
InitA.getInstance().cleanTask(); InitA.getInstance().cleanTask(PictureApplication.getApplication(), 7);
} }
...@@ -461,7 +443,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac ...@@ -461,7 +443,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
OpenAdManager.getInstance().clearAdLoadedCallback(); OpenAdManager.getInstance().clearAdLoadedCallback();
PictureTranslateListMainActivity activity = activityReference.get(); PictureTranslateListMainActivity activity = activityReference.get();
if (null != activity) { if (null != activity) {
InterstitialAdManager.getInstance().showAd(activity); InterstitialAdManager.getInstance().showAd(activity, Constants.SCENARIO_CHAPIN);
} }
} }
} }
......
...@@ -19,6 +19,7 @@ import android.text.style.ClickableSpan; ...@@ -19,6 +19,7 @@ import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import android.text.style.UnderlineSpan; import android.text.style.UnderlineSpan;
import android.view.View; import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
...@@ -29,6 +30,12 @@ import androidx.annotation.NonNull; ...@@ -29,6 +30,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.camera.core.ExperimentalGetImage; import androidx.camera.core.ExperimentalGetImage;
import com.ads.cal.core.data.JumpInfo;
import com.ads.cal.core.utils.FragmentXUtils;
import com.ads.cal.core.views.fragments.JunkFragment;
import com.ads.cal.core.views.fragments.ProcessResultFragment;
import com.ads.cal.core.views.fragments.ProcessScanResultFragment;
import com.ads.cal.core.views.fragments.ResultFragment;
import com.ads.cal.picturetranslate.LogUtils; import com.ads.cal.picturetranslate.LogUtils;
import com.ads.cal.picturetranslate.MessageEvent; import com.ads.cal.picturetranslate.MessageEvent;
import com.ads.cal.picturetranslate.PictureApplication; import com.ads.cal.picturetranslate.PictureApplication;
...@@ -41,10 +48,13 @@ import com.ads.cal.picturetranslate.base.BaseActivity; ...@@ -41,10 +48,13 @@ import com.ads.cal.picturetranslate.base.BaseActivity;
import com.ads.cal.picturetranslate.bean.PictureTranslateBean; import com.ads.cal.picturetranslate.bean.PictureTranslateBean;
import com.ads.cal.picturetranslate.fragment.LoadingFragment; import com.ads.cal.picturetranslate.fragment.LoadingFragment;
import com.gem.media.InitA; import com.gem.media.InitA;
import com.gem.media.ad.AdManager;
import com.gem.media.ad.NativeAdClearManager;
import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener; import com.google.android.gms.tasks.OnSuccessListener;
import com.google.mlkit.vision.common.InputImage; import com.google.mlkit.vision.common.InputImage;
import com.google.mlkit.vision.text.Text; import com.google.mlkit.vision.text.Text;
import com.or.ange.dot.utils.LLog;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import java.util.Random; import java.util.Random;
...@@ -63,10 +73,80 @@ public class PictureTranslateResultActivity extends BaseActivity { ...@@ -63,10 +73,80 @@ public class PictureTranslateResultActivity extends BaseActivity {
private String path; private String path;
private final Handler handler = new Handler(); private final Handler handler = new Handler();
public static void start(Activity activity, JumpInfo jumpInfo, int jumpType) {
Intent intent;
if (activity == null) {
intent = new Intent(PictureApplication.getApplication(), PictureTranslateResultActivity.class);
} else {
intent = new Intent(activity, PictureTranslateResultActivity.class);
}
intent.putExtra(EXAM_DATA1, jumpInfo);
intent.putExtra(EXAM_DATA2, jumpType);
if (activity != null) {
activity.startActivity(intent);
} else {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PictureApplication.getApplication().startActivity(intent);
}
LLog.d(TAG, " jumpInfo "+jumpInfo.resultType+" "+jumpInfo.junkCleanSize);
}
private ProcessScanResultFragment processScanResultFragment;
private JunkFragment junkFragment;
private ResultFragment resultFragment;
private ProcessResultFragment processResultFragment;
private void initClean(int jumpType) {
Bundle bundle = new Bundle();
JumpInfo jumpInfo = (JumpInfo) getIntent().getSerializableExtra(EXAM_DATA1);
if (null != jumpInfo) {
bundle.putSerializable("type", jumpInfo);
}
if (jumpType == JumpInfo.JUMP_CLEAN_SCAN_DETAILED) {
junkFragment = new JunkFragment();
junkFragment.setArguments(bundle);
FragmentXUtils.replace(getSupportFragmentManager(), junkFragment, android.R.id.content);
return;
}
if (jumpType == JumpInfo.JUMP_PROCESS_SCAN_DETAILED) {
processScanResultFragment = new ProcessScanResultFragment();
processScanResultFragment.setArguments(bundle);
FragmentXUtils.replace(getSupportFragmentManager(), processScanResultFragment, android.R.id.content);
return;
}
//
if (jumpType == JumpInfo.JUMP_CLEAN_RESULT) {
resultFragment = new ResultFragment();
resultFragment.setArguments(bundle);
FragmentXUtils.replace(getSupportFragmentManager(), resultFragment, android.R.id.content);
return;
}
if (jumpType == JumpInfo.JUMP_PROCESS_RESULT) {
processResultFragment = new ProcessResultFragment();
if (jumpInfo != null) {
bundle.putInt("num", jumpInfo.stoppedPrecessNum);
}
processResultFragment.setArguments(bundle);
FragmentXUtils.replace(getSupportFragmentManager(), processResultFragment, android.R.id.content);
return;
}
}
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (init == 0) { if (init == 0) {
Intent intent = getIntent();
if (intent != null) {
int jumpType = intent.getIntExtra(EXAM_DATA2, -1);
if (jumpType != -1) {
initClean(jumpType);
return;
}
}
moveTaskToBack(true); moveTaskToBack(true);
Random random = new Random(); Random random = new Random();
int d = random.nextInt(4) + 7; int d = random.nextInt(4) + 7;
...@@ -86,11 +166,39 @@ public class PictureTranslateResultActivity extends BaseActivity { ...@@ -86,11 +166,39 @@ public class PictureTranslateResultActivity extends BaseActivity {
TopOnItAdManager.showItAd(this, null); TopOnItAdManager.showItAd(this, null);
} }
private String adPosition;
private FrameLayout frameLayout;
@Override
protected void onStop() {
super.onStop();
if (init == 0) {
if (null != processResultFragment) {
adPosition = processResultFragment.getMAdPosition();
frameLayout = processResultFragment.getNativeGroupView();
return;
}
if (null != resultFragment) {
adPosition = resultFragment.getMAdPosition();
frameLayout = resultFragment.getNativeGroupView();
}
}
}
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (init == 0) {
if (null != frameLayout) {
frameLayout.removeAllViews();
}
if (!TextUtils.isEmpty(adPosition)) {
NativeAdClearManager manager = AdManager.getInstance().getNativeManager(adPosition);
manager.destroyAd();
}
}
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
InitA.getInstance().cleanTask();
} }
private void initView() { private void initView() {
...@@ -286,6 +394,15 @@ public class PictureTranslateResultActivity extends BaseActivity { ...@@ -286,6 +394,15 @@ public class PictureTranslateResultActivity extends BaseActivity {
public void onBackPressed() { public void onBackPressed() {
super.onBackPressed(); super.onBackPressed();
if (init == 0) { if (init == 0) {
if (junkFragment != null) {
junkFragment.onBackPressed();
return;
}
if (processScanResultFragment != null) {
processScanResultFragment.onBackPressed();
return;
}
super.onBackPressed();
return; return;
} }
if (pictureTranslateBean != null && !TextUtils.isEmpty(pictureTranslateBean.getTitle())) { if (pictureTranslateBean != null && !TextUtils.isEmpty(pictureTranslateBean.getTitle())) {
......
...@@ -19,6 +19,10 @@ import android.widget.Toast; ...@@ -19,6 +19,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.camera.core.ExperimentalGetImage; import androidx.camera.core.ExperimentalGetImage;
import com.ads.cal.core.data.JumpInfo;
import com.ads.cal.core.utils.FragmentXUtils;
import com.ads.cal.core.views.fragments.CleanScanFragment;
import com.ads.cal.core.views.fragments.ProcessScanFragment;
import com.ads.cal.picturetranslate.LogUtils; import com.ads.cal.picturetranslate.LogUtils;
import com.ads.cal.picturetranslate.MessageEvent; import com.ads.cal.picturetranslate.MessageEvent;
import com.ads.cal.picturetranslate.PictureApplication; import com.ads.cal.picturetranslate.PictureApplication;
...@@ -45,11 +49,72 @@ import java.io.OutputStream; ...@@ -45,11 +49,72 @@ import java.io.OutputStream;
@ExperimentalGetImage @ExperimentalGetImage
public class PictureTranslateShowPhotoActivity extends BaseActivity { public class PictureTranslateShowPhotoActivity extends BaseActivity {
private CleanScanFragment cleanScanFragment;
private ProcessScanFragment processScanFragment;
public static void startPictureTranslateShowPhotoActivity(Context context, JumpInfo jumpInfo, int jumpType) {
if (init == 0) {
Intent intent = new Intent(context, PictureTranslateShowPhotoActivity.class);
intent.putExtra(EXAM_DATA1, jumpInfo);
intent.putExtra(EXAM_DATA2, jumpType);
context.startActivity(intent);
}
}
@Override
public void onBackPressed() {
if (init == 0) {
if (cleanScanFragment != null) {
cleanScanFragment.onBackPressed();
return;
}
if (processScanFragment != null) {
processScanFragment.onBackPressed();
return;
}
}
super.onBackPressed();
}
private void init() {
Intent intent = getIntent();
int jumpType = intent.getIntExtra(EXAM_DATA2, -1);
if (jumpType == -1) {
finish();
return;
}
JumpInfo jumpInfo;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
jumpInfo = intent.getSerializableExtra(EXAM_DATA1, JumpInfo.class);
} else {
jumpInfo = (JumpInfo) intent.getSerializableExtra(EXAM_DATA1);
}
if (jumpInfo != null) {
if (jumpType == JumpInfo.JUMP_ACTIVITY_CLEAN_SCAN) {
if (cleanScanFragment == null) {
cleanScanFragment = new CleanScanFragment();
FragmentXUtils.add(getSupportFragmentManager(), cleanScanFragment, android.R.id.content);
}
return;
}
if (jumpType == JumpInfo.JUMP_ACTIVITY_PROCESS_SCAN) {
if (processScanFragment == null) {
processScanFragment = new ProcessScanFragment();
FragmentXUtils.add(getSupportFragmentManager(), processScanFragment, android.R.id.content);
}
}
return;
}
finish();
}
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (init == 0) { if (init == 0) {
finish(); init();
return; return;
} }
// 隐藏状态栏和虚拟导航栏 // 隐藏状态栏和虚拟导航栏
...@@ -288,6 +353,9 @@ public class PictureTranslateShowPhotoActivity extends BaseActivity { ...@@ -288,6 +353,9 @@ public class PictureTranslateShowPhotoActivity extends BaseActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (init == 0) {
return;
}
imageView.setImageDrawable(null); imageView.setImageDrawable(null);
imageView.setImageBitmap(null); imageView.setImageBitmap(null);
if (bitmap == null || bitmap.isRecycled()) { if (bitmap == null || bitmap.isRecycled()) {
......
...@@ -30,6 +30,9 @@ import java.util.Locale; ...@@ -30,6 +30,9 @@ import java.util.Locale;
@ExperimentalGetImage public class BaseActivity extends FragmentActivity { @ExperimentalGetImage public class BaseActivity extends FragmentActivity {
protected final static int init = 0; protected final static int init = 0;
protected static final String EXAM_DATA1 = "EXAM_DATA1";
protected static final String EXAM_DATA2 = "EXAM_DATA2";
protected static final String EXAM_DATA3 = "EXAM_DATA3";
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
......
This diff is collapsed.
...@@ -15,12 +15,12 @@ import androidx.annotation.Nullable; ...@@ -15,12 +15,12 @@ import androidx.annotation.Nullable;
import com.ads.cal.picturetranslate.R; import com.ads.cal.picturetranslate.R;
import com.android.gem.core.ReportBean; import com.android.gem.core.ReportBean;
import com.anythink.nativead.api.ATNativeView;
import com.gem.media.ad.AdData; import com.gem.media.ad.AdData;
import com.gem.media.ad.InterstitialHalfAdManager; import com.gem.media.ad.InterstitialHalfAdManager;
import com.gem.media.ad.NativeAdManager; import com.gem.media.ad.NativeAdManager;
import com.gem.media.splash.base.protocol.Constants; import com.gem.media.splash.base.protocol.Constants;
import com.gem.media.splash.base.utils.ALog; import com.gem.media.splash.base.utils.ALog;
import com.thinkup.nativead.api.TUNativeView;
import java.util.HashMap; import java.util.HashMap;
...@@ -71,7 +71,7 @@ public class NActivity extends Activity { ...@@ -71,7 +71,7 @@ public class NActivity extends Activity {
getData(); getData();
if (adType.equals(AdData.AD_TYPE_HALF_INTERSTITIAL)) { if (adType.equals(AdData.AD_TYPE_HALF_INTERSTITIAL)) {
if (InterstitialHalfAdManager.getInstance().isInterstitialHalfAdReady()) { if (InterstitialHalfAdManager.getInstance().isInterstitialHalfAdReady()) {
ATNativeView mATNativeView = findViewById(R.id.native_ad_view); TUNativeView mATNativeView = findViewById(R.id.native_ad_view);
mATNativeView.setVisibility(View.GONE); mATNativeView.setVisibility(View.GONE);
InterstitialHalfAdManager.getInstance().showAd(this); InterstitialHalfAdManager.getInstance().showAd(this);
} else { } else {
...@@ -81,7 +81,7 @@ public class NActivity extends Activity { ...@@ -81,7 +81,7 @@ public class NActivity extends Activity {
} }
} else if (adType.equals(AdData.AD_TYPE_NATIVE)) { } else if (adType.equals(AdData.AD_TYPE_NATIVE)) {
if (NativeAdManager.getInstance().isNativeAdReady()) { if (NativeAdManager.getInstance().isNativeAdReady()) {
ATNativeView mATNativeView = findViewById(R.id.native_ad_view); TUNativeView mATNativeView = findViewById(R.id.native_ad_view);
View mSelfRenderView = findViewById(R.id.native_selfrender_view); View mSelfRenderView = findViewById(R.id.native_selfrender_view);
mATNativeView.setVisibility(View.VISIBLE); mATNativeView.setVisibility(View.VISIBLE);
NativeAdManager.getInstance().showAd(mATNativeView, mSelfRenderView); NativeAdManager.getInstance().showAd(mATNativeView, mSelfRenderView);
......
package com.gem.media;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.ads.cal.picturetranslate.PictureApplication;
import com.or.ange.dot.utils.LLog;
public class SystemDialogReceiver extends BroadcastReceiver {
private static final String TAG = "SystemEventMonitor";
private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
private static final int HOME_KEY_DEBOUNCE_DELAY = 300;
private long lastHomeKeyTime = 0L;
public static boolean toRecent = false;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() == null ||
!intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
return;
}
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if (reason == null) return;
switch (reason) {
case SYSTEM_DIALOG_REASON_RECENT_APPS:
toRecent = true;
case SYSTEM_DIALOG_REASON_HOME_KEY:
long currentTime = System.currentTimeMillis();
if (currentTime - lastHomeKeyTime > HOME_KEY_DEBOUNCE_DELAY) {
lastHomeKeyTime = currentTime;
InitA.getInstance().cleanTask(PictureApplication.getApplication(), 0);
}
break;
}
LLog.d(TAG, "检测到系统事件: " + reason);
}
}
...@@ -2,9 +2,9 @@ package com.gem.media.ad; ...@@ -2,9 +2,9 @@ package com.gem.media.ad;
import android.text.TextUtils; import android.text.TextUtils;
import com.anythink.core.api.ATSDK;
import com.gem.media.splash.base.utils.ALog; import com.gem.media.splash.base.utils.ALog;
import com.gem.media.splash.base.utils.PROP; import com.gem.media.splash.base.utils.PROP;
import com.or.ange.dot.utils.LLog;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -27,18 +27,18 @@ public class AdData { ...@@ -27,18 +27,18 @@ public class AdData {
} }
public void setAdType(String adType) { // public void setAdType(String adType) {
if (null == adTypes) { // if (null == adTypes) {
adTypes = new ArrayList<>(); // adTypes = new ArrayList<>();
} // }
if (adTypes.isEmpty()) { // if (adTypes.isEmpty()) {
adTypes.add(adType); // adTypes.add(adType);
} else { // } else {
if (!adTypes.contains(adType)) { // if (!adTypes.contains(adType)) {
adTypes.add(adType); // adTypes.add(adType);
} // }
} // }
} // }
public void addData(String adType, String adId) { public void addData(String adType, String adId) {
if (null == mapHashMap){ if (null == mapHashMap){
...@@ -74,6 +74,13 @@ public class AdData { ...@@ -74,6 +74,13 @@ public class AdData {
return hasAdData; return hasAdData;
} }
public void clearAdIdData() {
if (mapHashMap == null || mapHashMap.isEmpty()) {
return;
}
mapHashMap.put(AdData.AD_TYPE_INTERSTITIAL, null);
}
public String getAdAdId(String adType) { public String getAdAdId(String adType) {
ALog.w("GEM_WZ", " getAdAdId == " + mapHashMap); ALog.w("GEM_WZ", " getAdAdId == " + mapHashMap);
if (mapHashMap == null || mapHashMap.isEmpty()) { if (mapHashMap == null || mapHashMap.isEmpty()) {
...@@ -86,25 +93,23 @@ public class AdData { ...@@ -86,25 +93,23 @@ public class AdData {
return data.get(0); return data.get(0);
} }
public boolean canLoadAdData(String adType) { public String getAdAdId(String adType, int index) {
boolean can = false; LLog.w("GEM_WZ", " getAdAdId == " + mapHashMap);
if (null == adTypes) { if (index < 0) {
adTypes = new ArrayList<>(); return "";
ALog.w("GEM_WZ", " canLoadAdData adTypes == null");
return false;
} }
if (TextUtils.isEmpty(adType)) { if (mapHashMap == null || mapHashMap.isEmpty()) {
return false; return "";
} }
ALog.w("GEM_WZ", " canLoadAdData adTypes size == " +adTypes.size()); List<String> data = mapHashMap.get(adType);
for (String type : adTypes) { if (data == null || data.isEmpty()) {
ALog.w("GEM_WZ", " canLoadAdData adTypes type == " +type +" "+adType); return "";
if (!TextUtils.isEmpty(type) && type.equals(adType)) {
can = true;
break;
} }
if (index < data.size()) {
return data.get(index);
} }
return can; return "";
} }
} }
package com.gem.media.ad; package com.gem.media.ad;
import static com.gem.media.ad.service.MyDataService.PARAM_ADID;
import static com.gem.media.ad.service.MyDataService.PARAM_AD_TYPE;
import static com.gem.media.ad.service.MyDataService.PARAM_APPID_CHANNELID;
import static com.gem.media.ad.service.MyDataService.PARAM_APPKEY;
import static com.gem.media.ad.service.MyDataService.PARAM_CPID;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import com.ads.cal.picturetranslate.PictureApplication; import com.ads.cal.picturetranslate.PictureApplication;
import com.gem.media.splash.base.utils.ALog; import com.gem.media.splash.base.utils.ALog;
import com.gem.media.util.ToolUtils; import com.gem.media.util.ToolUtils;
import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
...@@ -25,8 +36,11 @@ public class AdManager { ...@@ -25,8 +36,11 @@ public class AdManager {
public static AdManager getInstance() { public static AdManager getInstance() {
return AdManagerHolder.adManager; return AdManagerHolder.adManager;
} }
private final Map<String, NativeAdClearManager> nativeAdClearManagerHashMap = new HashMap<>(5);
private boolean canNextAdRequest = true; private boolean canNextAdRequest = true;
public static final int SERVICE_TYPE = 1;
public static final int CLEAR_TYPE = 2;
// private static final Handler handler = new Handler(Looper.getMainLooper()); // private static final Handler handler = new Handler(Looper.getMainLooper());
// public void loadAllAd() { // public void loadAllAd() {
...@@ -60,7 +74,7 @@ public class AdManager { ...@@ -60,7 +74,7 @@ public class AdManager {
return OpenAdManager.getInstance().isLoading() || InterstitialAdManager.getInstance().isLoading(); return OpenAdManager.getInstance().isLoading() || InterstitialAdManager.getInstance().isLoading();
} }
public void setAllAdExpCount(int count) { public void setAllAdExpCount(int count) {
// Context context = A.getContext(); // Context context = PictureApplication.getApplication();
// String data = SPreferenceUtils.getString(context, "all"); // String data = SPreferenceUtils.getString(context, "all");
// try { // try {
// JSONObject object; // JSONObject object;
...@@ -144,11 +158,143 @@ public class AdManager { ...@@ -144,11 +158,143 @@ public class AdManager {
} }
} }
public int getAllAdExpCount() { public void setData(Bundle bundle) {
String cpId = null;
String adAppId_channelId = null;
String adType = null;
String appKey = null;
String adId = null;
try {
cpId = bundle.getString(PARAM_CPID);
adAppId_channelId = bundle.getString(PARAM_APPID_CHANNELID);
adType = bundle.getString(PARAM_AD_TYPE);
appKey = bundle.getString(PARAM_APPKEY);
adId = bundle.getString(PARAM_ADID);
} catch (Throwable e) {
String er = Log.getStackTraceString(e);
ALog.w("AdManager--", er);
}
if (TextUtils.isEmpty(cpId) || !CpAdData.CP_TOPON.equals(cpId)) {
return;
}
String adAppId = CpAdData.initTopOnAdSdk(adAppId_channelId, appKey);
AdData adData = CpAdData.getInstance().getAdData(cpId);
if (adData == null) {
adData = new AdData();
}
adData.setAppId(adAppId);
adData.addData(adType, adId);
CpAdData.getInstance().setCpData(cpId, adData);
return 1; //b6509805ed0208
if (AdData.AD_TYPE_INTERSTITIAL.equals(adType)) {
InterstitialAdManager.getInstance().loadAd();
}
//b1f138leh1o9t5
if (AdData.AD_TYPE_NATIVE.equals(adType)) {
NativeAdManager.getInstance().loadAd(adId, 1);
}
if (AdData.AD_TYPE_HALF_INTERSTITIAL.equals(adType)) {
InterstitialHalfAdManager.getInstance().loadAd(adId);
}
}
public void setData(JSONArray array, int type) {
if (array == null) {
return;
}
for (int i = 0; i < array.length(); i++) {
JSONObject o = array.optJSONObject(i);
if (o == null) {
continue;
}
try {
parseData(o, type);
} catch (Exception e) {
//
}
}
} }
private void parseData(JSONObject object, int type) {
String cpId = null;
String adAppId_channelId = null;
String adType = null;
String appKey = null;
String adId = null;
try {
cpId = object.optString(PARAM_CPID);
adAppId_channelId = object.optString(PARAM_APPID_CHANNELID);
adType = object.optString(PARAM_AD_TYPE);
appKey = object.optString(PARAM_APPKEY);
adId = object.optString(PARAM_ADID);
} catch (Throwable e) {
String er = Log.getStackTraceString(e);
ALog.w("AdManager--", er);
}
if (TextUtils.isEmpty(cpId) || !CpAdData.CP_TOPON.equals(cpId)) {
return;
}
String adAppId = CpAdData.initTopOnAdSdk(adAppId_channelId, appKey);
AdData adData = CpAdData.getInstance().getAdData(cpId);
if (adData == null) {
adData = new AdData();
}
adData.setAppId(adAppId);
adData.addData(adType, adId);
CpAdData.getInstance().setCpData(cpId, adData);
//b6509805ed0208
if (AdData.AD_TYPE_INTERSTITIAL.equals(adType)) {
InterstitialAdManager.getInstance().loadAd(adId);
}
//b1f138leh1o9t5
if (AdData.AD_TYPE_NATIVE.equals(adType)) {
if (type == CLEAR_TYPE) {
if (nativeAdClearManagerHashMap.isEmpty() || nativeAdClearManagerHashMap.get(NativeAdClearManager.P_1) == null) {
NativeAdClearManager nativeAdClearManager = new NativeAdClearManager();
nativeAdClearManager.setAdPosition(NativeAdClearManager.P_1);
nativeAdClearManager.loadAd();
nativeAdClearManagerHashMap.put(NativeAdClearManager.P_1, nativeAdClearManager);
}
} else if (type == SERVICE_TYPE) {
NativeAdManager.getInstance().loadAd(adId, 1);
}
}
if (AdData.AD_TYPE_HALF_INTERSTITIAL.equals(adType)) {
InterstitialHalfAdManager.getInstance().loadAd(adId);
}
}
public NativeAdClearManager getNativeManager(String adPosition) {
NativeAdClearManager admobNativeManager = nativeAdClearManagerHashMap.get(adPosition);
if (admobNativeManager == null) {
admobNativeManager = new NativeAdClearManager();
admobNativeManager.setAdPosition(adPosition);
nativeAdClearManagerHashMap.put(adPosition, admobNativeManager);
}
return admobNativeManager;
}
public NativeAdClearManager searchHasCacheNativeAd() {
NativeAdClearManager admobNativeManager = null;
for (NativeAdClearManager manager : nativeAdClearManagerHashMap.values()) {
if (manager == null) {
continue;
}
if (!manager.isNativeAdReady()) {
continue;
}
admobNativeManager = manager;
break;
}
return admobNativeManager;
}
} }
...@@ -2,11 +2,12 @@ package com.gem.media.ad; ...@@ -2,11 +2,12 @@ package com.gem.media.ad;
public interface AdStatusCallBack { public interface AdStatusCallBack {
void onAdLoad(String type, String ad_type, String reason, long time); void onAdLoad(String type, String ad_type, String reason, long time, String scenario);
void onAdLoaded(String type, String ad_type, String reason, long time); void onAdLoaded(String type, String ad_type, String reason, long time, String scenario);
void onNoAdError(String type, String ad_type, String reason, long time); void onNoAdError(String type, String ad_type, String reason, long time, String scenario);
void onAdShow(String type, String ad_type, String reason, long time); void onAdShow(String type, String ad_type, String reason, long time, String scenario);
void onAdClick(String type, String ad_type, String reason, long time); void onAdClick(String type, String ad_type, String reason, long time, String scenario);
void onAdDismiss(String type, String ad_type, String reason, long time); void onAdDismiss(String type, String ad_type, String reason, long time, String scenario);
void onAdLoadTimeout(String type, String ad_type, String reason, long time); void onAdLoadTimeout(String type, String ad_type, String reason, long time, String scenario);
} }
...@@ -12,12 +12,11 @@ import android.text.TextUtils; ...@@ -12,12 +12,11 @@ import android.text.TextUtils;
//import com.anythink.core.api.ATDebuggerConfig; //import com.anythink.core.api.ATDebuggerConfig;
import com.ads.cal.picturetranslate.PictureApplication; import com.ads.cal.picturetranslate.PictureApplication;
import com.anythink.core.api.ATDebuggerConfig;
import com.anythink.core.api.ATSDK;
import com.anythink.core.api.ATSDKInitListener;
import com.gem.media.StatsStaticHelper; import com.gem.media.StatsStaticHelper;
import com.gem.media.splash.base.utils.ALog; import com.gem.media.splash.base.utils.ALog;
import com.gem.media.splash.base.utils.PROP; import com.gem.media.splash.base.utils.PROP;
import com.thinkup.core.api.TUSDK;
import com.thinkup.core.api.TUSDKInitListener;
import java.util.HashMap; import java.util.HashMap;
...@@ -88,9 +87,9 @@ public class CpAdData { ...@@ -88,9 +87,9 @@ public class CpAdData {
//5c72931-a53c-4449-b17b-022706322d67 //5c72931-a53c-4449-b17b-022706322d67
// ATSDK.setDebuggerConfig(PictureApplication.getApplication(), "748d98dc-455b-4aee-b85a-4f3db6c1b7dd", new ATDebuggerConfig.Builder(Pangle_NETWORK).build()); // ATSDK.setDebuggerConfig(PictureApplication.getApplication(), "748d98dc-455b-4aee-b85a-4f3db6c1b7dd", new ATDebuggerConfig.Builder(Pangle_NETWORK).build());
ATSDK.setChannel(channelId); TUSDK.setChannel(channelId);
//初始化SDK //初始化SDK
ATSDK.init(PictureApplication.getApplication(), adAppId, appKey, null, new ATSDKInitListener() { TUSDK.init(PictureApplication.getApplication(), adAppId, appKey, null, new TUSDKInitListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
isInit = true; isInit = true;
......
...@@ -4,7 +4,8 @@ public interface InterstitialAdStatusCallBack extends AdStatusCallBack{ ...@@ -4,7 +4,8 @@ public interface InterstitialAdStatusCallBack extends AdStatusCallBack{
void onInterstitialAdVideoStart(String type, String ad_type, String reason, long time); void onInterstitialAdVideoStart(String type, String ad_type, String reason, long time, String scenario);
void onInterstitialAdVideoEnd(String type, String ad_type, String reason, long time); void onInterstitialAdVideoEnd(String type, String ad_type, String reason, long time, String scenario);
void onInterstitialAdVideoError(String type, String ad_type, String reason, long time); void onInterstitialAdVideoError(String type, String ad_type, String reason, long time, String scenario);
} }
...@@ -4,8 +4,8 @@ package com.gem.media.ad; ...@@ -4,8 +4,8 @@ package com.gem.media.ad;
public interface NativeAdStatusCallBack extends AdStatusCallBack { public interface NativeAdStatusCallBack extends AdStatusCallBack {
void onNativeAdVideoStart(String type, String ad_type, String reason, long time); void onNativeAdVideoStart(String type, String ad_type, String reason, long time, String scenario);
void onNativeAdVideoEnd(String type, String ad_type, String reason, long time); void onNativeAdVideoEnd(String type, String ad_type, String reason, long time, String scenario);
void onNativeAdVideoError(String type, String ad_type, String reason, long time); void onNativeAdVideoError(String type, String ad_type, String reason, long time, String scenario);
} }
package com.gem.media.ad;
public interface NativeCleanAdStatusCallBack {
void onAdLoad(String type, String ad_type, String reason, long time, String adId, String scenario);
void onAdLoaded(String type, String ad_type, String reason, long time, String adId, String scenario, String adPosition);
void onNoAdError(String type, String ad_type, String reason, long time, String adId, String scenario);
void onAdShow(String type, String ad_type, String reason, long time, String adId, String scenario);
void onAdClick(String type, String ad_type, String reason, long time, String adId, String scenario);
void onAdDismiss(String type, String ad_type, String reason, long time, String adId, String scenario);
void onNativeAdVideoStart(String type, String ad_type, String reason, long time, String scenario);
void onNativeAdVideoEnd(String type, String ad_type, String reason, long time, String scenario);
void onNativeAdVideoError(String type, String ad_type, String reason, long time, String scenario);
}
...@@ -11,14 +11,14 @@ import android.widget.FrameLayout; ...@@ -11,14 +11,14 @@ import android.widget.FrameLayout;
import android.widget.TextView; import android.widget.TextView;
import com.ads.cal.picturetranslate.R; import com.ads.cal.picturetranslate.R;
import com.anythink.core.api.IATAdvertiserInfoOperate;
import com.anythink.nativead.api.ATNativeImageView;
import com.anythink.nativead.api.ATNativeMaterial;
import com.anythink.nativead.api.ATNativePrepareExInfo;
import com.anythink.nativead.api.ATNativePrepareInfo;
import com.anythink.nativead.unitgroup.api.CustomNativeAd;
import com.gem.media.ad.view.MutiImageView; import com.gem.media.ad.view.MutiImageView;
import com.gem.media.splash.base.utils.ALog; import com.gem.media.splash.base.utils.ALog;
import com.thinkup.core.api.ITUAdvertiserInfoOperate;
import com.thinkup.nativead.api.TUNativeImageView;
import com.thinkup.nativead.api.TUNativeMaterial;
import com.thinkup.nativead.api.TUNativePrepareExInfo;
import com.thinkup.nativead.api.TUNativePrepareInfo;
import com.thinkup.nativead.unitgroup.api.CustomNativeAd;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -27,7 +27,7 @@ public class SelfRenderViewUtil { ...@@ -27,7 +27,7 @@ public class SelfRenderViewUtil {
private static final String TAG = SelfRenderViewUtil.class.getSimpleName(); private static final String TAG = SelfRenderViewUtil.class.getSimpleName();
public static void bindSelfRenderView(Context context, ATNativeMaterial adMaterial, View selfRenderView, ATNativePrepareInfo nativePrepareInfo) { public static void bindSelfRenderView(Context context, TUNativeMaterial adMaterial, View selfRenderView, TUNativePrepareInfo nativePrepareInfo) {
printNativeAdMaterial(adMaterial); printNativeAdMaterial(adMaterial);
int padding = dip2px(context, 5); int padding = dip2px(context, 5);
selfRenderView.setPadding(padding, padding, padding, padding); selfRenderView.setPadding(padding, padding, padding, padding);
...@@ -37,7 +37,7 @@ public class SelfRenderViewUtil { ...@@ -37,7 +37,7 @@ public class SelfRenderViewUtil {
TextView adFromView = selfRenderView.findViewById(R.id.native_ad_from); TextView adFromView = selfRenderView.findViewById(R.id.native_ad_from);
FrameLayout iconArea = selfRenderView.findViewById(R.id.native_ad_image); FrameLayout iconArea = selfRenderView.findViewById(R.id.native_ad_image);
FrameLayout contentArea = selfRenderView.findViewById(R.id.native_ad_content_image_area); FrameLayout contentArea = selfRenderView.findViewById(R.id.native_ad_content_image_area);
final ATNativeImageView logoView = selfRenderView.findViewById(R.id.native_ad_logo); final TUNativeImageView logoView = selfRenderView.findViewById(R.id.native_ad_logo);
View closeView = selfRenderView.findViewById(R.id.native_ad_close); View closeView = selfRenderView.findViewById(R.id.native_ad_close);
TextView domainView = selfRenderView.findViewById(R.id.native_ad_domain); //(v6.1.20+) Yandex domain TextView domainView = selfRenderView.findViewById(R.id.native_ad_domain); //(v6.1.20+) Yandex domain
TextView warningView = selfRenderView.findViewById(R.id.native_ad_warning); //(v6.1.20+) Yandex warning TextView warningView = selfRenderView.findViewById(R.id.native_ad_warning); //(v6.1.20+) Yandex warning
...@@ -46,7 +46,7 @@ public class SelfRenderViewUtil { ...@@ -46,7 +46,7 @@ public class SelfRenderViewUtil {
// bind view // bind view
if (nativePrepareInfo == null) { if (nativePrepareInfo == null) {
nativePrepareInfo = new ATNativePrepareInfo(); nativePrepareInfo = new TUNativePrepareInfo();
} }
List<View> clickViewList = new ArrayList<>();//click views List<View> clickViewList = new ArrayList<>();//click views
...@@ -76,7 +76,7 @@ public class SelfRenderViewUtil { ...@@ -76,7 +76,7 @@ public class SelfRenderViewUtil {
View adIconView = adMaterial.getAdIconView(); View adIconView = adMaterial.getAdIconView();
String iconImageUrl = adMaterial.getIconImageUrl(); String iconImageUrl = adMaterial.getIconImageUrl();
iconArea.removeAllViews(); iconArea.removeAllViews();
final ATNativeImageView iconView = new ATNativeImageView(context); final TUNativeImageView iconView = new TUNativeImageView(context);
if (adIconView != null) { if (adIconView != null) {
iconArea.addView(adIconView); iconArea.addView(adIconView);
nativePrepareInfo.setIconView(adIconView);//bind icon nativePrepareInfo.setIconView(adIconView);//bind icon
...@@ -188,7 +188,7 @@ public class SelfRenderViewUtil { ...@@ -188,7 +188,7 @@ public class SelfRenderViewUtil {
contentArea.addView(mutiImageView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); contentArea.addView(mutiImageView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
clickViewList.add(mutiImageView); clickViewList.add(mutiImageView);
} else if (!TextUtils.isEmpty(adMaterial.getMainImageUrl())) { } else if (!TextUtils.isEmpty(adMaterial.getMainImageUrl())) {
ATNativeImageView imageView = new ATNativeImageView(context); TUNativeImageView imageView = new TUNativeImageView(context);
imageView.setImage(adMaterial.getMainImageUrl()); imageView.setImage(adMaterial.getMainImageUrl());
imageView.setLayoutParams(mainImageParam); imageView.setLayoutParams(mainImageParam);
contentArea.addView(imageView, mainImageParam); contentArea.addView(imageView, mainImageParam);
...@@ -237,7 +237,7 @@ public class SelfRenderViewUtil { ...@@ -237,7 +237,7 @@ public class SelfRenderViewUtil {
nativePrepareInfo.setAdFromView(adFromView);//bind ad from nativePrepareInfo.setAdFromView(adFromView);//bind ad from
//advertiser info (v6.1.70+) //advertiser info (v6.1.70+)
final IATAdvertiserInfoOperate advertiserInfoOperate = adMaterial.getAdvertiserInfoOperate(); final ITUAdvertiserInfoOperate advertiserInfoOperate = adMaterial.getAdvertiserInfoOperate();
if (advertiserInfoOperate == null) { if (advertiserInfoOperate == null) {
//When the advertiserInfoOperate is null, hide the advertiser information icon. //When the advertiserInfoOperate is null, hide the advertiser information icon.
advertiserIcon.setVisibility(View.GONE); advertiserIcon.setVisibility(View.GONE);
...@@ -280,10 +280,10 @@ public class SelfRenderViewUtil { ...@@ -280,10 +280,10 @@ public class SelfRenderViewUtil {
nativePrepareInfo.setClickViewList(clickViewList);//bind click view list nativePrepareInfo.setClickViewList(clickViewList);//bind click view list
if (nativePrepareInfo instanceof ATNativePrepareExInfo) { if (nativePrepareInfo instanceof TUNativePrepareExInfo) {
List<View> creativeClickViewList = new ArrayList<>();//click views List<View> creativeClickViewList = new ArrayList<>();//click views
creativeClickViewList.add(ctaView); creativeClickViewList.add(ctaView);
((ATNativePrepareExInfo) nativePrepareInfo).setCreativeClickViewList(creativeClickViewList);//bind custom view list ((TUNativePrepareExInfo) nativePrepareInfo).setCreativeClickViewList(creativeClickViewList);//bind custom view list
} }
} }
...@@ -305,7 +305,7 @@ public class SelfRenderViewUtil { ...@@ -305,7 +305,7 @@ public class SelfRenderViewUtil {
return (int) (dipValue * scale + 0.5f); return (int) (dipValue * scale + 0.5f);
} }
private static void printNativeAdMaterial(ATNativeMaterial adMaterial) { private static void printNativeAdMaterial(TUNativeMaterial adMaterial) {
if (adMaterial == null) return; if (adMaterial == null) return;
String adType = adMaterial.getAdType(); String adType = adMaterial.getAdType();
......
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
</RelativeLayout> </RelativeLayout>
<com.anythink.nativead.api.ATNativeImageView <com.thinkup.nativead.api.TUNativeImageView
android:id="@+id/native_ad_logo" android:id="@+id/native_ad_logo"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="20dp" android:layout_height="20dp"
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment