V1.0.3(4)删除max
This commit is contained in:
parent
90e4e44efd
commit
38dd0c6fb6
@ -8,12 +8,8 @@ plugins {
|
|||||||
id("kotlin-kapt")
|
id("kotlin-kapt")
|
||||||
id("com.google.gms.google-services")
|
id("com.google.gms.google-services")
|
||||||
id("com.google.firebase.crashlytics")
|
id("com.google.firebase.crashlytics")
|
||||||
id("applovin-quality-service")
|
|
||||||
}
|
|
||||||
applovin {
|
|
||||||
apiKey =
|
|
||||||
"cwxHIA0xwtZC4J0O0D4ud92agwa21fVRElWRTpTok3DQINtfa417bkmh-CGuN7zvHCuIMPK5yzTEsIMe_786de"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.tool.app.protectorpro"
|
namespace = "com.tool.app.protectorpro"
|
||||||
compileSdk = 34
|
compileSdk = 34
|
||||||
@ -23,8 +19,8 @@ android {
|
|||||||
applicationId = "com.tool.app.protectorpro"
|
applicationId = "com.tool.app.protectorpro"
|
||||||
minSdk = 23
|
minSdk = 23
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 3
|
versionCode = 4
|
||||||
versionName = "1.0.2"
|
versionName = "1.0.3"
|
||||||
setProperty(
|
setProperty(
|
||||||
"archivesBaseName",
|
"archivesBaseName",
|
||||||
"AppLocker pro_V" + versionName + "(${versionCode})_$timestamp"
|
"AppLocker pro_V" + versionName + "(${versionCode})_$timestamp"
|
||||||
@ -70,11 +66,6 @@ dependencies {
|
|||||||
implementation("com.google.firebase:firebase-crashlytics")
|
implementation("com.google.firebase:firebase-crashlytics")
|
||||||
implementation("com.google.firebase:firebase-analytics")
|
implementation("com.google.firebase:firebase-analytics")
|
||||||
|
|
||||||
implementation("com.applovin:applovin-sdk:+")
|
|
||||||
implementation("com.applovin.mediation:vungle-adapter:+")
|
|
||||||
implementation("com.applovin.mediation:mintegral-adapter:+")
|
|
||||||
implementation("com.applovin.mediation:bytedance-adapter:+")
|
|
||||||
implementation("com.applovin.mediation:unityads-adapter:+")
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
130
app/proguard-rules.pro
vendored
130
app/proguard-rules.pro
vendored
@ -32,133 +32,3 @@
|
|||||||
-keep class com.tool.app.protectorpro.listener.ListenerDao { *; }
|
-keep class com.tool.app.protectorpro.listener.ListenerDao { *; }
|
||||||
-keep class com.tool.app.protectorpro.mydb.DataApp { *; }
|
-keep class com.tool.app.protectorpro.mydb.DataApp { *; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------ironSource SDK
|
|
||||||
-keepclassmembers class * implements android.os.Parcelable {
|
|
||||||
public static final android.os.Parcelable$Creator *;
|
|
||||||
}
|
|
||||||
#noinspection ShrinkerUnresolvedReference
|
|
||||||
#unity
|
|
||||||
-keep class com.google.android.gms.ads.** {public *;}
|
|
||||||
-keep class com.google.android.gms.appset.** { *; }
|
|
||||||
-keep class com.google.android.gms.tasks.** { *; }
|
|
||||||
#adapters
|
|
||||||
-keep class com.ironsource.adapters.** { *; }
|
|
||||||
#sdk
|
|
||||||
-dontwarn com.ironsource.**
|
|
||||||
-dontwarn com.ironsource.adapters.**
|
|
||||||
-keepclassmembers class com.ironsource.** { public *; }
|
|
||||||
-keep public class com.ironsource.**
|
|
||||||
-keep class com.ironsource.adapters.** { *;
|
|
||||||
}
|
|
||||||
#omid
|
|
||||||
-dontwarn com.iab.omid.**
|
|
||||||
-keep class com.iab.omid.** {*;}
|
|
||||||
#javascript
|
|
||||||
-keepattributes JavascriptInterface
|
|
||||||
-keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; }
|
|
||||||
#For AmazonAps integration
|
|
||||||
-keep class com.amazon.device.ads.DtbThreadService {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keep public interface com.amazon.device.ads** {*; }
|
|
||||||
#For AppLovin integration
|
|
||||||
-keepclassmembers class com.applovin.sdk.AppLovinSdk {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keep public interface com.applovin.sdk** {*; }
|
|
||||||
-keep public interface com.applovin.adview** {*; }
|
|
||||||
-keep public interface com.applovin.mediation** {*; }
|
|
||||||
-keep public interface com.applovin.communicator** {*; }
|
|
||||||
#For Bytedance integration
|
|
||||||
-keep public interface com.bytedance.sdk.openadsdk** {*; }
|
|
||||||
#For Facebook integration
|
|
||||||
-keepclassmembers class com.facebook.ads.internal.AdSdkVersion {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keepclassmembers class com.facebook.ads.internal.settings.AdSdkVersion {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keepclassmembers class com.facebook.ads.BuildConfig {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keep public interface com.facebook.ads** {*; }
|
|
||||||
#For Fairbid
|
|
||||||
-keep public interface com.fyber.fairbid.ads.interstitial** {*; }
|
|
||||||
-keep public interface com.fyber.fairbid.ads.rewarded** {*; }
|
|
||||||
-keep class com.fyber.offerwall.*
|
|
||||||
#For Fivead
|
|
||||||
-keep public interface com.five_corp.ad** {*; }
|
|
||||||
#For Fyber(Inneractive) integration
|
|
||||||
-keep public interface com.fyber.inneractive.sdk.external** {*; }
|
|
||||||
-keep public interface com.fyber.inneractive.sdk.activities** {*; }
|
|
||||||
-keep public interface com.fyber.inneractive.sdk.ui** {*; }
|
|
||||||
#For HyprMX integration
|
|
||||||
-keepclassmembers class com.hyprmx.android.sdk.utility.HyprMXProperties {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keepclassmembers class com.hyprmx.android.BuildConfig {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keep public interface com.hyprmx.android.sdk.activity** {*; }
|
|
||||||
-keep public interface com.hyprmx.android.sdk.graphics** {*; }
|
|
||||||
# For Inmobi integration
|
|
||||||
-keep class com.inmobi.*
|
|
||||||
-keep public interface com.inmobi.ads.listeners** {*; }
|
|
||||||
-keep public interface com.inmobi.ads.InMobiInterstitial** {*; }
|
|
||||||
-keep public interface com.inmobi.ads.InMobiBanner** {*; }
|
|
||||||
# For ironSource integration
|
|
||||||
-keep public interface com.ironsource.mediationsdk.sdk** {*; }
|
|
||||||
-keep public interface com.ironsource.mediationsdk.impressionData.ImpressionDataListener {*; }
|
|
||||||
#For Maio integration
|
|
||||||
-keep public interface jp.maio.sdk.android.MaioAdsListenerInterface {*; }
|
|
||||||
# For Mintergral integration
|
|
||||||
-keep public interface com.mbridge.msdk.out** {*; }
|
|
||||||
-keep public interface com.mbridge.msdk.videocommon.listener** {*; }
|
|
||||||
-keep public interface com.mbridge.msdk.interstitialvideo.out** {*; }
|
|
||||||
-keep public interface com.mintegral.msdk.out** {*; }
|
|
||||||
-keep public interface com.mintegral.msdk.videocommon.listener** {*; }
|
|
||||||
-keep public interface com.mintegral.msdk.interstitialvideo.out** {*; }
|
|
||||||
#For MyTarget integration
|
|
||||||
-keep class com.my.target.** {*;}
|
|
||||||
#For Ogury integration
|
|
||||||
-keep public interface io.presage.interstitial** {*; }
|
|
||||||
-keep public interface io.presage.interstitial.PresageInterstitialCallback {*; }
|
|
||||||
#For Pubnative integration
|
|
||||||
-keep public interface net.pubnative.lite.sdk.interstitial.HyBidInterstitialAd** {*; }
|
|
||||||
-keep public interface net.pubnative.lite.sdk.rewarded.HyBidRewardedAd** {*; }
|
|
||||||
-keep public interface net.pubnative.lite.sdk.views.HyBidAdView** {*; }
|
|
||||||
#For Smaato integration
|
|
||||||
-keep public interface com.smaato.sdk.interstitial** {*; }
|
|
||||||
-keep public interface com.smaato.sdk.video.vast** {*; }
|
|
||||||
-keep public interface com.smaato.sdk.banner.widget** {*; }
|
|
||||||
-keep public interface com.smaato.sdk.core.util** {*; }
|
|
||||||
# For Tapjoy integration
|
|
||||||
-keep public interface com.tapjoy.** {*; }
|
|
||||||
# For Tencent integration
|
|
||||||
-keep public interface com.qq.e.ads.interstitial2** {*; }
|
|
||||||
-keep public interface com.qq.e.ads.interstitial3** {*; }
|
|
||||||
-keep public interface com.qq.e.ads.rewardvideo** {*; }
|
|
||||||
-keep public interface com.qq.e.ads.rewardvideo2** {*; }
|
|
||||||
-keep public interface com.qq.e.ads.banner2** {*; }
|
|
||||||
-keep public interface com.qq.e.comm.adevent** {*; }
|
|
||||||
#For Verizon integration
|
|
||||||
-keepclassmembers class com.verizon.ads.edition.BuildConfig {
|
|
||||||
static *;
|
|
||||||
}
|
|
||||||
-keep public interface com.verizon.ads.interstitialplacement** {*; }
|
|
||||||
-keep public interface com.verizon.ads.inlineplacement** {*; }
|
|
||||||
-keep public interface com.verizon.ads.vastcontroller** {*; }
|
|
||||||
-keep public interface com.verizon.ads.webcontroller** {*; }
|
|
||||||
#For Vungle integration
|
|
||||||
-keep public interface com.vungle.warren.PlayAdCallback {*; }
|
|
||||||
-keep public interface com.vungle.warren.ui.contract** {*; }
|
|
||||||
-keep public interface com.vungle.warren.ui.view** {*; }
|
|
||||||
#For AndroidX
|
|
||||||
-keep class androidx.localbroadcastmanager.content.LocalBroadcastManager { *;}
|
|
||||||
-keep class androidx.recyclerview.widget.RecyclerView { *;}
|
|
||||||
-keep class androidx.recyclerview.widget.RecyclerView$OnScrollListener { *;}
|
|
||||||
#For Android
|
|
||||||
-keep class * extends android.app.Activity
|
|
||||||
#-----------------------------------------------------ironSource SDK
|
|
||||||
@ -4,14 +4,9 @@ import android.app.Application;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import com.applovin.sdk.AppLovinMediationProvider;
|
|
||||||
import com.applovin.sdk.AppLovinSdk;
|
|
||||||
import com.applovin.sdk.AppLovinSdkConfiguration;
|
|
||||||
import com.applovin.sdk.AppLovinSdkInitializationConfiguration;
|
|
||||||
import com.tool.app.protectorpro.mydb.DataApp;
|
import com.tool.app.protectorpro.mydb.DataApp;
|
||||||
import com.tool.app.protectorpro.mydb.MyDataBase;
|
import com.tool.app.protectorpro.mydb.MyDataBase;
|
||||||
import com.tool.app.protectorpro.tools.Common;
|
import com.tool.app.protectorpro.tools.Common;
|
||||||
@ -76,17 +71,6 @@ public class MyApplication extends Application {
|
|||||||
|
|
||||||
private void initSDk() {
|
private void initSDk() {
|
||||||
|
|
||||||
AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder(MAX_SDK, this)
|
|
||||||
.setMediationProvider(AppLovinMediationProvider.MAX)
|
|
||||||
.build();
|
|
||||||
AppLovinSdk.getInstance(this).initialize(initConfig, new AppLovinSdk.SdkInitializationListener() {
|
|
||||||
@Override
|
|
||||||
public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig) {
|
|
||||||
initSDK = true;
|
|
||||||
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(AD_BROADCAST));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
AppLovinSdk.getInstance(this).getSettings().setVerboseLogging(true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import android.content.Intent;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
@ -19,15 +18,12 @@ import androidx.fragment.app.Fragment;
|
|||||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
import com.applovin.mediation.MaxAd;
|
|
||||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||||
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayout;
|
||||||
import com.tool.app.protectorpro.MyApplication;
|
import com.tool.app.protectorpro.MyApplication;
|
||||||
import com.tool.app.protectorpro.R;
|
import com.tool.app.protectorpro.R;
|
||||||
import com.tool.app.protectorpro.databinding.ActivityMainLayoutBinding;
|
import com.tool.app.protectorpro.databinding.ActivityMainLayoutBinding;
|
||||||
import com.tool.app.protectorpro.databinding.TabViewBinding;
|
import com.tool.app.protectorpro.databinding.TabViewBinding;
|
||||||
import com.tool.app.protectorpro.listener.Adcallback;
|
|
||||||
import com.tool.app.protectorpro.listener.onPermssionListener;
|
import com.tool.app.protectorpro.listener.onPermssionListener;
|
||||||
import com.tool.app.protectorpro.service.LockService;
|
import com.tool.app.protectorpro.service.LockService;
|
||||||
import com.tool.app.protectorpro.tools.Common;
|
import com.tool.app.protectorpro.tools.Common;
|
||||||
@ -41,7 +37,6 @@ public class ActivityMain extends AppCompatActivity implements SearchView.OnQuer
|
|||||||
private DialogPer dialogPer;
|
private DialogPer dialogPer;
|
||||||
|
|
||||||
List<Fragment> fragmentList = new ArrayList<>();
|
List<Fragment> fragmentList = new ArrayList<>();
|
||||||
private static List<MaxInterstitialAd> adsList;
|
|
||||||
|
|
||||||
private BottomSheetDialog bottomSheetDialog;
|
private BottomSheetDialog bottomSheetDialog;
|
||||||
|
|
||||||
@ -60,8 +55,6 @@ public class ActivityMain extends AppCompatActivity implements SearchView.OnQuer
|
|||||||
setContentView(binding.getRoot());
|
setContentView(binding.getRoot());
|
||||||
binding.searchItem.setOnQueryTextListener(this);
|
binding.searchItem.setOnQueryTextListener(this);
|
||||||
|
|
||||||
adsList = Common.getAllAd();
|
|
||||||
|
|
||||||
initStatusBar();
|
initStatusBar();
|
||||||
openPermission();
|
openPermission();
|
||||||
startService(new Intent(this, LockService.class));
|
startService(new Intent(this, LockService.class));
|
||||||
@ -171,7 +164,7 @@ public class ActivityMain extends AppCompatActivity implements SearchView.OnQuer
|
|||||||
// 按钮1点击事件
|
// 按钮1点击事件
|
||||||
btnOption1.setOnClickListener(v -> {
|
btnOption1.setOnClickListener(v -> {
|
||||||
// TODO: 2024/7/19
|
// TODO: 2024/7/19
|
||||||
showAd();
|
goSet();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -186,26 +179,6 @@ public class ActivityMain extends AppCompatActivity implements SearchView.OnQuer
|
|||||||
bottomSheetDialog.show();
|
bottomSheetDialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showAd() {
|
|
||||||
MaxInterstitialAd cachedAd = Common.onCache(adsList);
|
|
||||||
|
|
||||||
if (cachedAd == null) {
|
|
||||||
goSet();
|
|
||||||
} else {
|
|
||||||
Common.setCallBcak(cachedAd, new Adcallback() {
|
|
||||||
@Override
|
|
||||||
public void onShowFail(MaxAd ad) {
|
|
||||||
goSet();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdHidden() {
|
|
||||||
goSet();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
cachedAd.showAd(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void goSet() {
|
private void goSet() {
|
||||||
|
|
||||||
|
|||||||
@ -7,20 +7,13 @@ import android.content.IntentFilter;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.CountDownTimer;
|
import android.os.CountDownTimer;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import com.applovin.mediation.MaxAd;
|
|
||||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
|
||||||
import com.tool.app.protectorpro.MyApplication;
|
import com.tool.app.protectorpro.MyApplication;
|
||||||
import com.tool.app.protectorpro.databinding.ActivityWelBinding;
|
import com.tool.app.protectorpro.databinding.ActivityWelBinding;
|
||||||
import com.tool.app.protectorpro.listener.Adcallback;
|
|
||||||
import com.tool.app.protectorpro.tools.Common;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ActivityWel extends AppCompatActivity {
|
public class ActivityWel extends AppCompatActivity {
|
||||||
|
|
||||||
@ -28,9 +21,7 @@ public class ActivityWel extends AppCompatActivity {
|
|||||||
|
|
||||||
|
|
||||||
private CountDownTimer countDownTimer;
|
private CountDownTimer countDownTimer;
|
||||||
private long totalTime = 11000;
|
private long totalTime = 1000;
|
||||||
private static List<MaxInterstitialAd> adsList;
|
|
||||||
public static boolean isAlreadyShow = false;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@ -43,73 +34,20 @@ public class ActivityWel extends AppCompatActivity {
|
|||||||
countDownTimer = new CountDownTimer(totalTime, 200) {
|
countDownTimer = new CountDownTimer(totalTime, 200) {
|
||||||
@Override
|
@Override
|
||||||
public void onTick(long millisUntilFinished) {
|
public void onTick(long millisUntilFinished) {
|
||||||
if (!isAlreadyShow) {
|
goMain();
|
||||||
showAdOrStartView(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFinish() {
|
public void onFinish() {
|
||||||
if (!isAlreadyShow) {
|
|
||||||
showAdOrStartView(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
registerBroadcastReceiver();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showAdOrStartView(boolean go) {
|
|
||||||
MaxInterstitialAd cachedAd = Common.onCache(adsList);
|
|
||||||
if (cachedAd == null) {
|
|
||||||
isAlreadyShow = false;
|
|
||||||
if (go) {
|
|
||||||
goMain();
|
goMain();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
isAlreadyShow = true;
|
|
||||||
Common.setCallBcak(cachedAd, new Adcallback() {
|
|
||||||
@Override
|
|
||||||
public void onShowFail(MaxAd ad) {
|
|
||||||
isAlreadyShow = false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdHidden() {
|
|
||||||
isAlreadyShow = true;
|
|
||||||
goMain();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
cachedAd.showAd();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void registerBroadcastReceiver() {
|
|
||||||
if (!MyApplication.initSDK) {
|
|
||||||
BroadcastReceiver receiver = new BroadcastReceiver() {
|
|
||||||
@Override
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
|
|
||||||
loadAndStartAd();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
LocalBroadcastManager.getInstance(this).registerReceiver(receiver, new IntentFilter(MyApplication.AD_BROADCAST));
|
|
||||||
} else {
|
|
||||||
|
|
||||||
loadAndStartAd();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void loadAndStartAd() {
|
|
||||||
adsList = Common.getAllAd();
|
|
||||||
countDownTimer.start();
|
countDownTimer.start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void goMain() {
|
private void goMain() {
|
||||||
String pwd = MyApplication.getPwd();
|
String pwd = MyApplication.getPwd();
|
||||||
if (pwd.isEmpty()) {
|
if (pwd.isEmpty()) {
|
||||||
|
|||||||
@ -18,15 +18,11 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.appcompat.widget.SwitchCompat;
|
import androidx.appcompat.widget.SwitchCompat;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.applovin.mediation.MaxAd;
|
|
||||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
|
||||||
import com.tool.app.protectorpro.MyApplication;
|
import com.tool.app.protectorpro.MyApplication;
|
||||||
import com.tool.app.protectorpro.R;
|
import com.tool.app.protectorpro.R;
|
||||||
import com.tool.app.protectorpro.listener.Adcallback;
|
|
||||||
import com.tool.app.protectorpro.listener.OnShowDialogMsgListener;
|
import com.tool.app.protectorpro.listener.OnShowDialogMsgListener;
|
||||||
import com.tool.app.protectorpro.mydb.DataApp;
|
import com.tool.app.protectorpro.mydb.DataApp;
|
||||||
import com.tool.app.protectorpro.mydb.MyDataBase;
|
import com.tool.app.protectorpro.mydb.MyDataBase;
|
||||||
import com.tool.app.protectorpro.tools.Common;
|
|
||||||
import com.tool.app.protectorpro.tools.MyThread;
|
import com.tool.app.protectorpro.tools.MyThread;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -40,7 +36,6 @@ public class AdapterAllApp extends RecyclerView.Adapter<AdapterAllApp.AppViewHol
|
|||||||
private Activity mActivity;
|
private Activity mActivity;
|
||||||
private PackageManager packageManager;
|
private PackageManager packageManager;
|
||||||
|
|
||||||
private static List<MaxInterstitialAd> adsList;
|
|
||||||
private OnShowDialogMsgListener listener;
|
private OnShowDialogMsgListener listener;
|
||||||
|
|
||||||
public void setListener(OnShowDialogMsgListener listener) {
|
public void setListener(OnShowDialogMsgListener listener) {
|
||||||
@ -48,7 +43,6 @@ public class AdapterAllApp extends RecyclerView.Adapter<AdapterAllApp.AppViewHol
|
|||||||
}
|
}
|
||||||
|
|
||||||
public AdapterAllApp(Context context, Activity activity) {
|
public AdapterAllApp(Context context, Activity activity) {
|
||||||
adsList = Common.getAllAd();
|
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mActivity = activity;
|
mActivity = activity;
|
||||||
packageManager = context.getPackageManager();
|
packageManager = context.getPackageManager();
|
||||||
@ -107,8 +101,6 @@ public class AdapterAllApp extends RecyclerView.Adapter<AdapterAllApp.AppViewHol
|
|||||||
if (MyApplication.userOption % 5 == 0) {
|
if (MyApplication.userOption % 5 == 0) {
|
||||||
// TODO: 2024/7/19
|
// TODO: 2024/7/19
|
||||||
|
|
||||||
showAd();
|
|
||||||
|
|
||||||
|
|
||||||
MyThread.runIO(() -> {
|
MyThread.runIO(() -> {
|
||||||
dataApp.setLock(isChecked);
|
dataApp.setLock(isChecked);
|
||||||
@ -149,26 +141,6 @@ public class AdapterAllApp extends RecyclerView.Adapter<AdapterAllApp.AppViewHol
|
|||||||
holder.textView.setText(appName);
|
holder.textView.setText(appName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showAd() {
|
|
||||||
MaxInterstitialAd cachedAd = Common.onCache(adsList);
|
|
||||||
if (cachedAd == null) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
Common.setCallBcak(cachedAd, new Adcallback() {
|
|
||||||
@Override
|
|
||||||
public void onShowFail(MaxAd ad) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdHidden() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
cachedAd.showAd(mActivity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Drawable getLogo(String packageName) throws PackageManager.NameNotFoundException {
|
private Drawable getLogo(String packageName) throws PackageManager.NameNotFoundException {
|
||||||
ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
|
ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
|
||||||
return packageManager.getApplicationIcon(appInfo);
|
return packageManager.getApplicationIcon(appInfo);
|
||||||
|
|||||||
@ -1,12 +1,10 @@
|
|||||||
package com.tool.app.protectorpro.listadapter;
|
package com.tool.app.protectorpro.listadapter;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@ -15,7 +13,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
|
|
||||||
import com.tool.app.protectorpro.R;
|
import com.tool.app.protectorpro.R;
|
||||||
import com.tool.app.protectorpro.customerview.CustomBundle;
|
import com.tool.app.protectorpro.customerview.CustomBundle;
|
||||||
import com.tool.app.protectorpro.customerview.CustomBundle;
|
|
||||||
|
|
||||||
public class AdapterLockView extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
public class AdapterLockView extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
package com.tool.app.protectorpro.listener;
|
|
||||||
|
|
||||||
import com.applovin.mediation.MaxAd;
|
|
||||||
|
|
||||||
public interface Adcallback {
|
|
||||||
void onShowFail(MaxAd ad);
|
|
||||||
void onAdHidden( );
|
|
||||||
}
|
|
||||||
@ -14,111 +14,21 @@ import android.net.Uri;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.ColorRes;
|
import androidx.annotation.ColorRes;
|
||||||
import androidx.annotation.DimenRes;
|
import androidx.annotation.DimenRes;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.applovin.mediation.MaxAd;
|
|
||||||
import com.applovin.mediation.MaxAdListener;
|
|
||||||
import com.applovin.mediation.MaxError;
|
|
||||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
|
||||||
import com.tool.app.protectorpro.MyApplication;
|
|
||||||
import com.tool.app.protectorpro.listener.Adcallback;
|
|
||||||
import com.tool.app.protectorpro.mydb.DataApp;
|
import com.tool.app.protectorpro.mydb.DataApp;
|
||||||
import com.tool.app.protectorpro.mydb.MyDataBase;
|
import com.tool.app.protectorpro.mydb.MyDataBase;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class Common {
|
public class Common {
|
||||||
|
|
||||||
private static ArrayList<MaxInterstitialAd> adArrayList;
|
|
||||||
private static final String one_AD = "490a4576e075f605";
|
|
||||||
private static final String two_Ad = "3549738d96239baa";
|
|
||||||
private static final String three_ad = "075263b5dbd29916";
|
|
||||||
|
|
||||||
public static void setCallBcak(MaxInterstitialAd ad, Adcallback adcallback) {
|
|
||||||
ad.setListener(new MaxAdListener() {
|
|
||||||
@Override
|
|
||||||
public void onAdLoaded(@NonNull MaxAd maxAd) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdDisplayed(@NonNull MaxAd maxAd) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdHidden(@NonNull MaxAd maxAd) {
|
|
||||||
adcallback.onAdHidden();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdClicked(@NonNull MaxAd maxAd) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdLoadFailed(@NonNull String s, @NonNull MaxError maxError) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdDisplayFailed(@NonNull MaxAd maxAd, @NonNull MaxError maxError) {
|
|
||||||
adcallback.onShowFail(maxAd);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MaxInterstitialAd onCache(List<MaxInterstitialAd> list) {
|
|
||||||
Collections.shuffle(list);
|
|
||||||
for (MaxInterstitialAd ad : list) {
|
|
||||||
if (ad.isReady()) {
|
|
||||||
return ad;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<MaxInterstitialAd> getAllAd() {
|
|
||||||
if (adArrayList == null) {
|
|
||||||
adArrayList = new ArrayList<>();
|
|
||||||
adArrayList.add(createAd(one_AD, MyApplication.appContext));
|
|
||||||
adArrayList.add(createAd(two_Ad, MyApplication.appContext));
|
|
||||||
adArrayList.add(createAd(three_ad, MyApplication.appContext));
|
|
||||||
}
|
|
||||||
for (MaxInterstitialAd ad : adArrayList) {
|
|
||||||
if (!ad.isReady()) {
|
|
||||||
setCallBcak(ad, new Adcallback() {
|
|
||||||
@Override
|
|
||||||
public void onShowFail(MaxAd ad) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAdHidden() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
ad.loadAd();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return adArrayList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static MaxInterstitialAd createAd(String adUnitId, Context context) {
|
|
||||||
MaxInterstitialAd ad = new MaxInterstitialAd(adUnitId, context);
|
|
||||||
return ad;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static float getPx(Context context, @DimenRes int id) {
|
public static float getPx(Context context, @DimenRes int id) {
|
||||||
return context.getResources().getDimension(id);
|
return context.getResources().getDimension(id);
|
||||||
|
|||||||
@ -7,6 +7,5 @@ plugins {
|
|||||||
}
|
}
|
||||||
buildscript{
|
buildscript{
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4,7 +4,6 @@ pluginManagement {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
|
|
||||||
maven { url = uri("https://artifacts.applovin.com/android") }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencyResolutionManagement {
|
dependencyResolutionManagement {
|
||||||
@ -14,8 +13,6 @@ dependencyResolutionManagement {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven (url ="https://jitpack.io" )
|
maven (url ="https://jitpack.io" )
|
||||||
|
|
||||||
maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
|
|
||||||
maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user