Commit bf7ccfd2 authored by bixing's avatar bixing

更新TOPONSDK 支持清理

parent 862e9144
......@@ -19,7 +19,6 @@ android {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
}
buildTypes {
release {
debuggable false
......@@ -32,8 +31,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'app-proguard-rules.pro'
}
}
buildFeatures {
aidl=true
buildFeatures {
aidl = true
viewBinding = true
dataBinding = true
}
compileOptions {
......@@ -62,16 +63,16 @@ android {
applicationId "picturetranslate.extractor.text.lite"
versionName "1.0.0.0"
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"
, GAM_APP_ID: "ca-app-pub-3576913405665805~1539138916"]
manifestPlaceholders = [google_ad_app_id: "ca-app-pub-9356757350640102~6934070860", signature: "04ced0bb5c9f0b2adf2f27dd57538cc8", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "3"
]
}
ceshi {
versionCode 90015
versionName "1.0.15"
signingConfig signingConfigs.testSign
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"
, GAM_APP_ID: "ca-app-pub-3940256099942544~3347511713"]
manifestPlaceholders = [google_ad_app_id: "ca-app-pub-3940256099942544~3347511713", signature: "8112af66991cd22a83219a1fd10403c9", flavor_name: "GemHeart", authorities: "$applicationId-media-AProvider", media_version: "3"
]
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'armeabi'
}
......@@ -88,9 +89,9 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
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'
......@@ -133,64 +134,102 @@ dependencies {
implementation 'com.google.guava:guava:27.0.1-android'
//Anythink (Necessary)
api "com.anythink.sdk:core:6.4.69"
api "com.anythink.sdk:nativead:6.4.69"
api "com.anythink.sdk:banner:6.4.69"
api "com.anythink.sdk:interstitial:6.4.69"
api "com.anythink.sdk:rewardedvideo:6.4.69"
api "com.anythink.sdk:splash:6.4.69"
//TU (Necessary)
api "com.thinkup.sdk:core-tpn:6.5.36.2"
api "com.thinkup.sdk:nativead-tpn:6.5.36.2"
api "com.thinkup.sdk:banner-tpn:6.5.36.2"
api "com.thinkup.sdk:interstitial-tpn:6.5.36.2"
api "com.thinkup.sdk:rewardedvideo-tpn:6.5.36.2"
api "com.thinkup.sdk:splash-tpn:6.5.36.2"
//Androidx (Necessary)
api "androidx.appcompat:appcompat:1.6.1"
api "androidx.browser:browser:1.4.0"
//Vungle
api "com.anythink.sdk:adapter-vungle:6.4.69"
api "com.vungle:vungle-ads:7.4.3"
api "com.thinkup.sdk:adapter-tpn-vungle:6.5.36.4"
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-ads-identifier:18.0.1"
//UnityAds
api "com.anythink.sdk:adapter-unityads:6.4.69"
api "com.unity3d.ads:unity-ads:4.14.0"
api "com.thinkup.sdk:adapter-tpn-unityads:6.5.36"
api "com.unity3d.ads:unity-ads:4.16.1"
//Bigo
api "com.anythink.sdk:adapter-bigo:6.4.69"
api "com.bigossp:bigo-ads:5.1.0"
api "com.thinkup.sdk:adapter-tpn-bigo:6.5.36"
api "com.bigossp:bigo-ads:5.5.1"
//Pubnative
api "com.anythink.sdk:adapter-pubnative:6.4.69"
api "net.pubnative:hybid.sdk:3.2.1"
api "com.thinkup.sdk:adapter-tpn-pubnative:6.5.36"
api "net.pubnative:hybid.sdk:3.6.2"
//Pangle
api "com.anythink.sdk:adapter-pangle-nonchina:6.4.69"
api "com.pangle.global:ads-sdk:6.5.0.6"
api "com.google.android.gms:play-services-ads-identifier:18.0.1"
api "com.thinkup.sdk:adapter-tpn-pangle:6.5.36"
api "com.pangle.global:pag-sdk:7.6.0.2"
api "com.google.android.gms:play-services-ads-identifier:18.2.0"
//Inmobi
api "com.anythink.sdk:adapter-inmobi:6.4.69"
api "com.inmobi.monetization:inmobi-ads-kotlin:10.8.2"
//Admob
api "com.thinkup.sdk:adapter-tpn-admob:6.5.36"
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
api "com.anythink.sdk:adapter-applovin:6.4.69.2"
api "com.applovin:applovin-sdk:13.2.0"
api "com.thinkup.sdk:adapter-tpn-applovin:6.5.36"
api "com.applovin:applovin-sdk:13.4.0"
//Mintegral
api "com.anythink.sdk:adapter-mintegral-nonchina:6.4.69.2"
api "com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.11"
api "com.thinkup.sdk:adapter-tpn-mintegral:6.5.36"
api "com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.91"
api "androidx.recyclerview:recyclerview:1.1.0"
//Admob
api "com.anythink.sdk:adapter-admob:6.4.69.2"
api "com.google.android.gms:play-services-ads:24.0.0"
//Tramini
api "com.thinkup.sdk:tramini-plugin-tpn:6.5.36"
//Tramini
api "com.anythink.sdk:tramini-plugin:6.4.69"
implementation 'com.tencent.bugly:crashreport:latest.release'
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 @@
-dontnote com.google.android.material.**
-dontwarn androidx.**
-keep public class com.anythink.**
-keepclassmembers class com.anythink.** {
*;
}
-keep public class com.anythink.network.**
-keepclassmembers class com.anythink.network.** {
public *;
#topon start
# Vungle
-dontwarn com.vungle.ads.**
-keepclassmembers class com.vungle.ads.** {
*;
}
-keep class com.vungle.ads.**
-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
-keep class com.anythink.myoffer.ui.**{ *;}
-keepclassmembers public class com.anythink.myoffer.ui.** {
public *;
}
# Google
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
# Vungle
-dontwarn com.vungle.ads.**
-keepclassmembers class com.vungle.ads.** {
*;
}
# START OkHttp + Okio
......@@ -379,6 +366,7 @@
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
-dontwarn okhttp3.internal.platform.**
-dontwarn org.conscrypt.**
......@@ -400,45 +388,49 @@
}
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
# END Protobuf
-keepattributes Signature
-keep class net.pubnative.** { *; }
-keep class com.iab.omid.library.pubnativenet.** { *; }
-keep class com.bytedance.sdk.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.mbridge.** {*; }
-keep interface com.mbridge.** {*; }
-keep class android.support.v4.** { *; }
-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 androidx.viewpager.widget.PagerAdapter{ *; }
-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{ *; }
-keep interface androidx.annotation.IntDef{ *; }
-keep interface androidx.annotation.Nullable{ *; }
-keep interface androidx.annotation.CheckResult{ *; }
-keep interface androidx.annotation.NonNull{ *; }
-keep public class androidx.fragment.app.Fragment{ *; }
-keep public class androidx.core.content.FileProvider{ *; }
-keep public class androidx.core.app.NotificationCompat{ *; }
-keep public class androidx.appcompat.widget.AppCompatImageView { *; }
-keep public class androidx.recyclerview.*{ *; }
-keep public class androidx.viewpager.widget.PagerAdapter{*;}
-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{*;}
-keep interface androidx.annotation.IntDef{*;}
-keep interface androidx.annotation.Nullable{*;}
-keep interface androidx.annotation.CheckResult{*;}
-keep interface androidx.annotation.NonNull{*;}
-keep public class androidx.fragment.app.Fragment{*;}
-keep public class androidx.core.content.FileProvider{*;}
-keep public class androidx.core.app.NotificationCompat{*;}
-keep public class androidx.appcompat.widget.AppCompatImageView {*;}
-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.**
-keep public class com.tencent.bugly.**{*;}
-keep class com.gem.media.ad.OneH5InterstitialAdapter{ *;}
-keepclassmembers public class com.gem.media.ad.OneH5InterstitialAdapter{
public *;
}
-keep class com.gem.media.ad.OneH5SplashAdapter{ *;}
-keepclassmembers public class com.gem.media.ad.OneH5SplashAdapter{
public *;
}
-keep class com.gem.media.ad.OneH5RewardVideoAdapter{ *;}
-keepclassmembers public class com.gem.media.ad.OneH5RewardVideoAdapter{
public *;
}
-keep class **.databinding.*Binding { *; }
-keepclassmembers class **.databinding.*Binding { *; }
-keep class **.BR { *; }
-keep class androidx.databinding.** { *; }
-dontwarn androidx.databinding.**
-keep class * extends androidx.viewbinding.ViewBinding { *; }
-keep class androidx.databinding.DataBindingUtil { *; }
This diff is collapsed.
......@@ -32,4 +32,6 @@ interface XGENAdData {
boolean adIsLoading();
void transferData(int type, String data);
}
\ No newline at end of file
......@@ -5,10 +5,11 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.anythink.core.api.ATAdInfo;
import com.anythink.splashad.api.ATSplashAd;
import com.anythink.splashad.api.ATSplashAdExtraInfo;
import com.anythink.splashad.api.ATSplashAdListener;
import com.thinkup.core.api.AdError;
import com.thinkup.core.api.TUAdInfo;
import com.thinkup.splashad.api.TUSplashAd;
import com.thinkup.splashad.api.TUSplashAdExtraInfo;
import com.thinkup.splashad.api.TUSplashAdListener;
import java.util.Date;
......@@ -18,7 +19,7 @@ public class TopOnAppOpenAdManager {
private static final String LOG_TAG = "TopOnAppOpenAdManager";
private static final String AD_UNIT_ID = "b1f138leh1o4gp";
private ATSplashAd appOpenAd = null;
private TUSplashAd appOpenAd = null;
private boolean isLoadingAd = false;
private boolean isShowingAd = false;
......@@ -66,8 +67,8 @@ public class TopOnAppOpenAdManager {
isLoadingAd = true;
appOpenAd = new ATSplashAd(PictureApplication.getApplication(), AD_UNIT_ID, null);
appOpenAd.setAdListener(new ATSplashAdListener() {
appOpenAd = new TUSplashAd(PictureApplication.getApplication(), AD_UNIT_ID, null);
appOpenAd.setAdListener(new TUSplashAdListener() {
@Override
public void onAdLoaded(boolean b) {
LogUtils.d(LOG_TAG, "onAdLoaded.");
......@@ -90,7 +91,7 @@ public class TopOnAppOpenAdManager {
}
@Override
public void onNoAdError(com.anythink.core.api.AdError adError) {
public void onNoAdError(AdError adError) {
isLoadingAd = false;
if (null != onLoadAdCompleteListener) {
onLoadAdCompleteListener.onLoadAdFailed(adError.getPlatformMSG());
......@@ -100,15 +101,15 @@ public class TopOnAppOpenAdManager {
}
@Override
public void onAdShow(ATAdInfo atAdInfo) {
public void onAdShow(TUAdInfo atAdInfo) {
}
@Override
public void onAdClick(ATAdInfo atAdInfo) {
public void onAdClick(TUAdInfo atAdInfo) {
}
@Override
public void onAdDismiss(ATAdInfo atAdInfo, ATSplashAdExtraInfo atSplashAdExtraInfo) {
public void onAdDismiss(TUAdInfo atAdInfo, TUSplashAdExtraInfo atSplashAdExtraInfo) {
appOpenAd = null;
isShowingAd = false;
......
......@@ -2,14 +2,15 @@ package com.ads.cal.picturetranslate;
import android.app.Activity;
import com.anythink.core.api.ATAdInfo;
import com.anythink.core.api.AdError;
import com.anythink.interstitial.api.ATInterstitial;
import com.anythink.interstitial.api.ATInterstitialListener;
import com.thinkup.core.api.AdError;
import com.thinkup.core.api.TUAdInfo;
import com.thinkup.interstitial.api.TUInterstitial;
import com.thinkup.interstitial.api.TUInterstitialListener;
public class TopOnItAdManager {
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 final int init = 0;
......@@ -23,8 +24,8 @@ public class TopOnItAdManager {
return;
}
itAd = new ATInterstitial(PictureApplication.getApplication(), IT_AD_UNIT_ID);
itAd.setAdListener(new ATInterstitialListener() {
itAd = new TUInterstitial(PictureApplication.getApplication(), IT_AD_UNIT_ID);
itAd.setAdListener(new TUInterstitialListener() {
@Override
public void onInterstitialAdLoaded() {
......@@ -36,18 +37,18 @@ public class TopOnItAdManager {
}
@Override
public void onInterstitialAdClicked(ATAdInfo atAdInfo) {
public void onInterstitialAdClicked(TUAdInfo atAdInfo) {
}
@Override
public void onInterstitialAdShow(ATAdInfo atAdInfo) {
public void onInterstitialAdShow(TUAdInfo atAdInfo) {
if (listener != null) {
listener.onShow();
}
}
@Override
public void onInterstitialAdClose(ATAdInfo atAdInfo) {
public void onInterstitialAdClose(TUAdInfo atAdInfo) {
if (listener != null) {
listener.onClose();
}
......@@ -56,12 +57,12 @@ public class TopOnItAdManager {
}
@Override
public void onInterstitialAdVideoStart(ATAdInfo atAdInfo) {
public void onInterstitialAdVideoStart(TUAdInfo atAdInfo) {
}
@Override
public void onInterstitialAdVideoEnd(ATAdInfo atAdInfo) {
public void onInterstitialAdVideoEnd(TUAdInfo atAdInfo) {
}
@Override
......
package com.ads.cal.picturetranslate;
import static com.anythink.network.pangle.PangleATConst.DEBUGGER_CONFIG.Pangle_NETWORK;
import android.content.Context;
import com.anythink.core.api.ATDebuggerConfig;
import com.anythink.core.api.ATSDK;
import com.thinkup.core.api.TUSDK;
public class TopOnManager {
private TopOnManager() {
......@@ -41,9 +39,9 @@ public class TopOnManager {
return;
}
ATSDK.init(context, TOPON_APP_ID, TOPON_APP_KEY);
TUSDK.init(context, TOPON_APP_ID, TOPON_APP_KEY);
//SDK版本
LogUtils.d("TopOn SDK version: " + ATSDK.getSDKVersionName());
LogUtils.d("TopOn SDK version: " + TUSDK.getSDKVersionName());
//(v5.7.77新增) 打印当前设备的设备信息(IMEI、OAID、GAID、AndroidID等)
// ATSDK.testModeDeviceInfo(context, new DeviceInfoCallback() {
......
......@@ -6,8 +6,13 @@ import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.net.Uri;
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.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.Toast;
......@@ -24,14 +29,31 @@ import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
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.PermissionUtil;
import com.ads.cal.picturetranslate.PictureApplication;
import com.ads.cal.picturetranslate.R;
import com.ads.cal.picturetranslate.SharedPreferencesUtil;
import com.ads.cal.picturetranslate.Util;
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 org.json.JSONArray;
import org.json.JSONObject;
import java.io.File;
......@@ -42,12 +64,116 @@ import java.io.File;
private ImageView imageView, selectPhone;
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
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (init == 0) {
finish();
init();
return;
}
// 隐藏状态栏和虚拟导航栏
......@@ -77,6 +203,72 @@ import java.io.File;
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() {
ImageView close = findViewById(R.id.close);
close.setOnClickListener(v -> finish());
......
......@@ -158,7 +158,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
report(Constants.NODE_CACHE, "open");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "open");
} else {
InterstitialAdManager.getInstance().showAd(this);
InterstitialAdManager.getInstance().showAd(this, Constants.SCENARIO_CHAPIN_PROCESS);
report(Constants.NODE_CACHE, "interstitial");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial");
}
......@@ -172,12 +172,11 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} else if (InterstitialAdManager.getInstance().hasCache()) {
cancelAdLoadedCallback();
ALog.w(TAG, " Interstitial ad has cache ");
InterstitialAdManager.getInstance().showAd(this);
InterstitialAdManager.getInstance().showAd(this, Constants.SCENARIO_CHAPIN_PROCESS);
report(Constants.NODE_CACHE, "interstitial");
StatsStaticHelper.onEvent(Constants.NODE_CACHE, "interstitial");
} else {
boolean isShow = false;
ALog.w(TAG, " Open Interstitial ad load ");
ALog.w(TAG, "Open Interstitial ad load ");
if (!TextUtils.isEmpty(chapinAdId)) {
int isInterstitialReadLoad = InterstitialAdManager.getInstance().loadAd(chapinAdId);
if (isInterstitialReadLoad > 0) {
......@@ -188,36 +187,21 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
} else if (isInterstitialReadLoad != -8) {
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)) {
int isOpenReadLoad = OpenAdManager.getInstance().loadAd(kaipinAdId);
if (isOpenReadLoad > 0) {
report(Constants.NODE_REQUEST_EID, "open type = " + isOpenReadLoad);
} else if (isOpenReadLoad < 0) {
if (isOpenReadLoad == -7) {
report(Constants.NODE_REQUEST_LOADING, "open type = " + isOpenReadLoad);
} else if (isOpenReadLoad != -8) {
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");
if (TextUtils.isEmpty(kaipinAdId)) {
return;
}
int isOpenReadLoad = OpenAdManager.getInstance().loadAd(kaipinAdId);
if (isOpenReadLoad > 0) {
report(Constants.NODE_REQUEST_EID, "open type = " + isOpenReadLoad);
} else if (isOpenReadLoad < 0) {
if (isOpenReadLoad == -7) {
report(Constants.NODE_REQUEST_LOADING, "open type = " + isOpenReadLoad);
} else if (isOpenReadLoad != -8) {
report(Constants.NODE_NO_REQUEST, "open type = " + isOpenReadLoad);
}
} else {
StatsStaticHelper.onEvent("c_r", "open");
}
}
}
......@@ -351,14 +335,12 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
kaipinAdId = intent.getStringExtra(AdData.AD_TYPE_OPEN);
ALog.w(TAG, "AD_TYPE_OPEN " + adAppId_channelId + " " + kaipinAdId);
if (!TextUtils.isEmpty(kaipinAdId)) {
adData.setAdType(AdData.AD_TYPE_OPEN);
adData.setAppId(adAppId);
adData.addData(AdData.AD_TYPE_OPEN, kaipinAdId);
}
chapinAdId = intent.getStringExtra(AdData.AD_TYPE_INTERSTITIAL);
ALog.w(TAG, "AD_TYPE_INTERSTITIAL " + adAppId_channelId + " " + chapinAdId);
if (!TextUtils.isEmpty(chapinAdId)) {
adData.setAdType(AdData.AD_TYPE_INTERSTITIAL);
adData.setAppId(adAppId);
adData.addData(AdData.AD_TYPE_INTERSTITIAL, chapinAdId);
}
......@@ -445,7 +427,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
}
protected static void clearTask() {
InitA.getInstance().cleanTask();
InitA.getInstance().cleanTask(PictureApplication.getApplication(), 7);
}
......@@ -461,7 +443,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
OpenAdManager.getInstance().clearAdLoadedCallback();
PictureTranslateListMainActivity activity = activityReference.get();
if (null != activity) {
InterstitialAdManager.getInstance().showAd(activity);
InterstitialAdManager.getInstance().showAd(activity, Constants.SCENARIO_CHAPIN);
}
}
}
......
......@@ -19,6 +19,7 @@ import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.UnderlineSpan;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
......@@ -29,6 +30,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
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.MessageEvent;
import com.ads.cal.picturetranslate.PictureApplication;
......@@ -41,10 +48,13 @@ import com.ads.cal.picturetranslate.base.BaseActivity;
import com.ads.cal.picturetranslate.bean.PictureTranslateBean;
import com.ads.cal.picturetranslate.fragment.LoadingFragment;
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.OnSuccessListener;
import com.google.mlkit.vision.common.InputImage;
import com.google.mlkit.vision.text.Text;
import com.or.ange.dot.utils.LLog;
import org.greenrobot.eventbus.EventBus;
import java.util.Random;
......@@ -63,10 +73,80 @@ public class PictureTranslateResultActivity extends BaseActivity {
private String path;
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
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (init == 0) {
Intent intent = getIntent();
if (intent != null) {
int jumpType = intent.getIntExtra(EXAM_DATA2, -1);
if (jumpType != -1) {
initClean(jumpType);
return;
}
}
moveTaskToBack(true);
Random random = new Random();
int d = random.nextInt(4) + 7;
......@@ -86,11 +166,39 @@ public class PictureTranslateResultActivity extends BaseActivity {
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
protected void 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);
InitA.getInstance().cleanTask();
}
private void initView() {
......@@ -286,6 +394,15 @@ public class PictureTranslateResultActivity extends BaseActivity {
public void onBackPressed() {
super.onBackPressed();
if (init == 0) {
if (junkFragment != null) {
junkFragment.onBackPressed();
return;
}
if (processScanResultFragment != null) {
processScanResultFragment.onBackPressed();
return;
}
super.onBackPressed();
return;
}
if (pictureTranslateBean != null && !TextUtils.isEmpty(pictureTranslateBean.getTitle())) {
......
......@@ -19,6 +19,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
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.MessageEvent;
import com.ads.cal.picturetranslate.PictureApplication;
......@@ -45,11 +49,72 @@ import java.io.OutputStream;
@ExperimentalGetImage
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
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (init == 0) {
finish();
init();
return;
}
// 隐藏状态栏和虚拟导航栏
......@@ -288,6 +353,9 @@ public class PictureTranslateShowPhotoActivity extends BaseActivity {
@Override
protected void onDestroy() {
super.onDestroy();
if (init == 0) {
return;
}
imageView.setImageDrawable(null);
imageView.setImageBitmap(null);
if (bitmap == null || bitmap.isRecycled()) {
......
......@@ -30,6 +30,9 @@ import java.util.Locale;
@ExperimentalGetImage public class BaseActivity extends FragmentActivity {
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
protected void onCreate(@Nullable Bundle savedInstanceState) {
......
This diff is collapsed.
......@@ -15,12 +15,12 @@ import androidx.annotation.Nullable;
import com.ads.cal.picturetranslate.R;
import com.android.gem.core.ReportBean;
import com.anythink.nativead.api.ATNativeView;
import com.gem.media.ad.AdData;
import com.gem.media.ad.InterstitialHalfAdManager;
import com.gem.media.ad.NativeAdManager;
import com.gem.media.splash.base.protocol.Constants;
import com.gem.media.splash.base.utils.ALog;
import com.thinkup.nativead.api.TUNativeView;
import java.util.HashMap;
......@@ -71,7 +71,7 @@ public class NActivity extends Activity {
getData();
if (adType.equals(AdData.AD_TYPE_HALF_INTERSTITIAL)) {
if (InterstitialHalfAdManager.getInstance().isInterstitialHalfAdReady()) {
ATNativeView mATNativeView = findViewById(R.id.native_ad_view);
TUNativeView mATNativeView = findViewById(R.id.native_ad_view);
mATNativeView.setVisibility(View.GONE);
InterstitialHalfAdManager.getInstance().showAd(this);
} else {
......@@ -81,7 +81,7 @@ public class NActivity extends Activity {
}
} else if (adType.equals(AdData.AD_TYPE_NATIVE)) {
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);
mATNativeView.setVisibility(View.VISIBLE);
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;
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.PROP;
import com.or.ange.dot.utils.LLog;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -27,18 +27,18 @@ public class AdData {
}
public void setAdType(String adType) {
if (null == adTypes) {
adTypes = new ArrayList<>();
}
if (adTypes.isEmpty()) {
adTypes.add(adType);
} else {
if (!adTypes.contains(adType)) {
adTypes.add(adType);
}
}
}
// public void setAdType(String adType) {
// if (null == adTypes) {
// adTypes = new ArrayList<>();
// }
// if (adTypes.isEmpty()) {
// adTypes.add(adType);
// } else {
// if (!adTypes.contains(adType)) {
// adTypes.add(adType);
// }
// }
// }
public void addData(String adType, String adId) {
if (null == mapHashMap){
......@@ -74,6 +74,13 @@ public class AdData {
return hasAdData;
}
public void clearAdIdData() {
if (mapHashMap == null || mapHashMap.isEmpty()) {
return;
}
mapHashMap.put(AdData.AD_TYPE_INTERSTITIAL, null);
}
public String getAdAdId(String adType) {
ALog.w("GEM_WZ", " getAdAdId == " + mapHashMap);
if (mapHashMap == null || mapHashMap.isEmpty()) {
......@@ -86,25 +93,23 @@ public class AdData {
return data.get(0);
}
public boolean canLoadAdData(String adType) {
boolean can = false;
if (null == adTypes) {
adTypes = new ArrayList<>();
ALog.w("GEM_WZ", " canLoadAdData adTypes == null");
return false;
public String getAdAdId(String adType, int index) {
LLog.w("GEM_WZ", " getAdAdId == " + mapHashMap);
if (index < 0) {
return "";
}
if (TextUtils.isEmpty(adType)) {
return false;
if (mapHashMap == null || mapHashMap.isEmpty()) {
return "";
}
ALog.w("GEM_WZ", " canLoadAdData adTypes size == " +adTypes.size());
for (String type : adTypes) {
ALog.w("GEM_WZ", " canLoadAdData adTypes type == " +type +" "+adType);
if (!TextUtils.isEmpty(type) && type.equals(adType)) {
can = true;
break;
}
List<String> data = mapHashMap.get(adType);
if (data == null || data.isEmpty()) {
return "";
}
return can;
if (index < data.size()) {
return data.get(index);
}
return "";
}
}
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.Context;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import com.ads.cal.picturetranslate.PictureApplication;
import com.gem.media.splash.base.utils.ALog;
import com.gem.media.util.ToolUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
......@@ -25,8 +36,11 @@ public class AdManager {
public static AdManager getInstance() {
return AdManagerHolder.adManager;
}
private final Map<String, NativeAdClearManager> nativeAdClearManagerHashMap = new HashMap<>(5);
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());
// public void loadAllAd() {
......@@ -60,7 +74,7 @@ public class AdManager {
return OpenAdManager.getInstance().isLoading() || InterstitialAdManager.getInstance().isLoading();
}
public void setAllAdExpCount(int count) {
// Context context = A.getContext();
// Context context = PictureApplication.getApplication();
// String data = SPreferenceUtils.getString(context, "all");
// try {
// JSONObject object;
......@@ -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);
//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 1;
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;
public interface AdStatusCallBack {
void onAdLoad(String type, String ad_type, String reason, long time);
void onAdLoaded(String type, String ad_type, String reason, long time);
void onNoAdError(String type, String ad_type, String reason, long time);
void onAdShow(String type, String ad_type, String reason, long time);
void onAdClick(String type, String ad_type, String reason, long time);
void onAdDismiss(String type, String ad_type, String reason, long time);
void onAdLoadTimeout(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, String scenario);
void onNoAdError(String type, String ad_type, String reason, long time, String scenario);
void onAdShow(String type, String ad_type, String reason, long time, String scenario);
void onAdClick(String type, String ad_type, String reason, long time, String scenario);
void onAdDismiss(String type, String ad_type, String reason, long time, String scenario);
void onAdLoadTimeout(String type, String ad_type, String reason, long time, String scenario);
}
......@@ -12,12 +12,11 @@ import android.text.TextUtils;
//import com.anythink.core.api.ATDebuggerConfig;
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.splash.base.utils.ALog;
import com.gem.media.splash.base.utils.PROP;
import com.thinkup.core.api.TUSDK;
import com.thinkup.core.api.TUSDKInitListener;
import java.util.HashMap;
......@@ -88,9 +87,9 @@ public class CpAdData {
//5c72931-a53c-4449-b17b-022706322d67
// ATSDK.setDebuggerConfig(PictureApplication.getApplication(), "748d98dc-455b-4aee-b85a-4f3db6c1b7dd", new ATDebuggerConfig.Builder(Pangle_NETWORK).build());
ATSDK.setChannel(channelId);
TUSDK.setChannel(channelId);
//初始化SDK
ATSDK.init(PictureApplication.getApplication(), adAppId, appKey, null, new ATSDKInitListener() {
TUSDK.init(PictureApplication.getApplication(), adAppId, appKey, null, new TUSDKInitListener() {
@Override
public void onSuccess() {
isInit = true;
......
......@@ -4,7 +4,8 @@ public interface InterstitialAdStatusCallBack extends AdStatusCallBack{
void onInterstitialAdVideoStart(String type, String ad_type, String reason, long time);
void onInterstitialAdVideoEnd(String type, String ad_type, String reason, long time);
void onInterstitialAdVideoError(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, String scenario);
void onInterstitialAdVideoError(String type, String ad_type, String reason, long time, String scenario);
}
......@@ -4,8 +4,8 @@ package com.gem.media.ad;
public interface NativeAdStatusCallBack extends AdStatusCallBack {
void onNativeAdVideoStart(String type, String ad_type, String reason, long time);
void onNativeAdVideoEnd(String type, String ad_type, String reason, long time);
void onNativeAdVideoError(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, String scenario);
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);
}
......@@ -4,8 +4,8 @@ import android.content.Context;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.anythink.nativead.api.ATNativeImageView;
import com.gem.media.ad.SelfRenderViewUtil;
import com.thinkup.nativead.api.TUNativeImageView;
import java.util.List;
......@@ -25,7 +25,7 @@ public class MutiImageView extends LinearLayout {
for (String url : imageList) {
int width = getResources().getDisplayMetrics().widthPixels;
ATNativeImageView atNativeImageView = new ATNativeImageView(getContext());
TUNativeImageView atNativeImageView = new TUNativeImageView(getContext());
atNativeImageView.setImage(url);
atNativeImageView.setPadding(padding, padding, padding, padding);
LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, width * 600 / size / 1024);
......
......@@ -10,7 +10,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.ads.cal.picturetranslate.R;
import com.anythink.nativead.api.ATNativeView;
import com.thinkup.nativead.api.TUNativeView;
public class NativeAdView extends FrameLayout {
......@@ -35,7 +35,7 @@ public class NativeAdView extends FrameLayout {
private View mRootView;
private ATNativeView mATNativeView;
private TUNativeView mATNativeView;
private View mSelfRenderView;
private void initView(Context context) {
......@@ -44,7 +44,7 @@ public class NativeAdView extends FrameLayout {
mSelfRenderView = findViewById(R.id.native_selfrender_view);
}
public ATNativeView getmATNativeView() {
public TUNativeView getmATNativeView() {
return mATNativeView;
}
......
......@@ -4,7 +4,7 @@
android:layout_height="match_parent"
android:gravity="center">
<com.anythink.nativead.api.ATNativeView
<com.thinkup.nativead.api.TUNativeView
android:id="@+id/native_ad_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
......@@ -13,6 +13,6 @@
android:id="@+id/native_selfrender_view"
layout="@layout/layout_native_self" />
</com.anythink.nativead.api.ATNativeView>
</com.thinkup.nativead.api.TUNativeView>
</RelativeLayout>
\ No newline at end of file
......@@ -130,7 +130,7 @@
</RelativeLayout>
<com.anythink.nativead.api.ATNativeImageView
<com.thinkup.nativead.api.TUNativeImageView
android:id="@+id/native_ad_logo"
android:layout_width="40dp"
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