This commit is contained in:
litingting 2025-07-09 17:33:29 +08:00
parent a7d8649aa4
commit fbcea3777d
17 changed files with 270 additions and 54 deletions

View File

@ -4,6 +4,8 @@ plugins {
id("com.android.application") id("com.android.application")
id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.android")
id("io.objectbox") id("io.objectbox")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
} }
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
android { android {
@ -16,8 +18,8 @@ android {
minSdk = 24 minSdk = 24
//noinspection OldTargetApi //noinspection OldTargetApi
targetSdk = 35 targetSdk = 35
versionCode = 1 versionCode = 2
versionName = "1.0" versionName = "1.1"
setProperty("archivesBaseName", "The Prank App_V" + versionName + "(${versionCode})_$timestamp") setProperty("archivesBaseName", "The Prank App_V" + versionName + "(${versionCode})_$timestamp")
testInstrumentationRunner = "androidx.sounds.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.sounds.runner.AndroidJUnitRunner"
vectorDrawables { vectorDrawables {
@ -61,5 +63,91 @@ implementation("androidx.appcompat:appcompat:1.6.1")
implementation ("com.github.bumptech.glide:glide:4.16.0") implementation ("com.github.bumptech.glide:glide:4.16.0")
implementation ("com.airbnb.android:lottie:5.2.0") implementation ("com.airbnb.android:lottie:5.2.0")
implementation(files("libs/TopOnLibrary_06_27_16_00-release.aar"))
implementation(files("libs/UpLoadLibrary_07_03_11_54-release.aar"))
implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
implementation("com.google.firebase:firebase-crashlytics")
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-config")
//-----------------------------------------------TopOn(Mintegral、Pangle、UnitAds、Digital Turbine(Fyber)、Chartboost&Helium、Ironsource、Liftoff(Vungle)、Inmobi、Start.io、Bigo)
//TU (Necessary)
implementation("com.thinkup.sdk:core-tpn:6.4.90")
implementation("com.thinkup.sdk:nativead-tpn:6.4.90")
implementation("com.thinkup.sdk:banner-tpn:6.4.90")
implementation("com.thinkup.sdk:interstitial-tpn:6.4.90")
implementation("com.thinkup.sdk:rewardedvideo-tpn:6.4.90")
implementation("com.thinkup.sdk:splash-tpn:6.4.90")
//Androidx (Necessary)
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.browser:browser:1.4.0")
//StartApp
implementation("com.thinkup.sdk:adapter-tpn-startapp:6.4.90")
implementation("com.startapp:inapp-sdk:5.0.2")
//Vungle
implementation("com.thinkup.sdk:adapter-tpn-vungle:6.4.90")
implementation("com.vungle:vungle-ads:7.5.0")
implementation("com.google.android.gms:play-services-basement:18.1.0")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
//UnityAds
implementation("com.thinkup.sdk:adapter-tpn-unityads:6.4.90")
implementation("com.unity3d.ads:unity-ads:4.14.0")
//Ironsource
implementation("com.thinkup.sdk:adapter-tpn-ironsource:6.4.90")
implementation("com.ironsource.sdk:mediationsdk:8.7.0")
implementation("com.google.android.gms:play-services-appset:16.0.2")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
implementation("com.google.android.gms:play-services-basement:18.1.0")
//Bigo
implementation("com.thinkup.sdk:adapter-tpn-bigo:6.4.90")
implementation("com.bigossp:bigo-ads:5.3.0")
//Pangle
implementation("com.thinkup.sdk:adapter-tpn-pangle:6.4.90.1")
implementation("com.pangle.global:pag-sdk:7.2.0.6")
implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
//Inmobi
implementation("com.thinkup.sdk:adapter-tpn-inmobi:6.4.90")
implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.2")
//Mintegral
implementation("com.thinkup.sdk:adapter-tpn-mintegral:6.4.90")
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71")
implementation("androidx.recyclerview:recyclerview:1.1.0")
//Chartboost
implementation("com.thinkup.sdk:adapter-tpn-chartboost:6.4.90")
implementation("com.chartboost:chartboost-sdk:9.8.3")
implementation("com.chartboost:chartboost-mediation-sdk:4.9.2")
implementation("com.chartboost:chartboost-mediation-adapter-chartboost:4.9.8.1.0")
implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.10.0")
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("com.squareup.retrofit2:converter-scalars:2.9.0")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
//Fyber
implementation("com.thinkup.sdk:adapter-tpn-fyber:6.4.90")
implementation("com.fyber:marketplace-sdk:8.3.7")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
//Tramini
implementation("com.thinkup.sdk:tramini-plugin-tpn:6.4.90")
// Debugger UI Tools
implementation("com.anythink.sdk:debugger-ui:1.1.0")
//----------------------------------------------TopOn
} }

29
app/google-services.json Normal file
View File

@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "804679130215",
"project_id": "the-prank-app-599a9",
"storage_bucket": "the-prank-app-599a9.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:804679130215:android:9528cd7bfb6352394088c2",
"android_client_info": {
"package_name": "com.prank.app.color"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyCxgqYiydRqfdKTBxX5778VusbPBOL94h8"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

Binary file not shown.

View File

@ -19,6 +19,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/icon" android:roundIcon="@mipmap/icon"
android:supportsRtl="true" android:supportsRtl="true"
android:networkSecurityConfig="@xml/net"
android:theme="@style/Theme.FunnyAudio" android:theme="@style/Theme.FunnyAudio"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity

View File

@ -4,11 +4,13 @@ import android.app.Application;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.graphics.Typeface; import android.graphics.Typeface;
import com.ad.toponlibrary.AdManager;
import com.prank.app.color.dbdata.MyData; import com.prank.app.color.dbdata.MyData;
import com.prank.app.color.dbdata.MyInfo; import com.prank.app.color.dbdata.MyInfo;
import com.prank.app.color.dbdata.DbTool; import com.prank.app.color.dbdata.DbTool;
import com.prank.app.color.utils.Common; import com.prank.app.color.utils.Common;
import com.up.uploadlibrary.UpLoadManager;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -29,6 +31,15 @@ public class App extends Application {
DbTool.init(this); DbTool.init(this);
if (bean != null) if (bean != null)
return; return;
String TAG = "------------";
AdManager.INSTANCE.init(TAG,app,"h686e131fe5a66","a776d7cb5a20847c4f337041068235b93",
"9788519403e27aa6420a9b9ad49bc0fc76166bea",
"n686e137f48e4b",
"n686e137488d36",
"n686e1367cf1d8",false);
UpLoadManager.INSTANCE.init(this,TAG);
try { try {
InputStream open = getAssets().open("prank.json"); InputStream open = getAssets().open("prank.json");
String string = Common.getString(open); String string = Common.getString(open);

View File

@ -8,6 +8,7 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import com.ad.toponlibrary.AdManager;
import com.prank.app.color.App; import com.prank.app.color.App;
import com.prank.app.color.databinding.ActivityHomeBinding; import com.prank.app.color.databinding.ActivityHomeBinding;
import com.prank.app.color.list.AdapterHome; import com.prank.app.color.list.AdapterHome;
@ -25,8 +26,7 @@ public class ActivityHome extends AppCompatActivity {
activityMainBinding = ActivityHomeBinding.inflate(getLayoutInflater()); activityMainBinding = ActivityHomeBinding.inflate(getLayoutInflater());
setContentView(activityMainBinding.getRoot()); setContentView(activityMainBinding.getRoot());
Common.setStatusBarTextColor(this, true); Common.setStatusBarTextColor(this, true);
AdManager.loadAllAd();
ItemDecoration itemHelper = new ItemDecoration(10, 10, 0); ItemDecoration itemHelper = new ItemDecoration(10, 10, 0);
activityMainBinding.recyclerView.addItemDecoration(itemHelper); activityMainBinding.recyclerView.addItemDecoration(itemHelper);
activityMainBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 2)); activityMainBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 2));

View File

@ -13,6 +13,7 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import com.ad.toponlibrary.AdManager
import com.prank.app.color.R import com.prank.app.color.R
import com.prank.app.color.dbdata.DbTool import com.prank.app.color.dbdata.DbTool
import com.prank.app.color.databinding.ActivityImportBinding import com.prank.app.color.databinding.ActivityImportBinding
@ -34,7 +35,7 @@ class ActivityImport : AppCompatActivity(), View.OnClickListener {
setContentView(binding.root) setContentView(binding.root)
Common.setStatusBarTextColor(this, true) Common.setStatusBarTextColor(this, true)
AdManager.loadAllAd()
requestRecordAudioLauncher = registerForActivityResult<String, Boolean>( requestRecordAudioLauncher = registerForActivityResult<String, Boolean>(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) { isGranted: Boolean -> ) { isGranted: Boolean ->
@ -78,6 +79,8 @@ class ActivityImport : AppCompatActivity(), View.OnClickListener {
binding.btnimport.setOnClickListener(this) binding.btnimport.setOnClickListener(this)
binding.record.setOnClickListener(this) binding.record.setOnClickListener(this)
binding.back.setOnClickListener(this) binding.back.setOnClickListener(this)
AdManager.showTopOn(this){}
} }
private fun initList() { private fun initList() {

View File

@ -4,8 +4,10 @@ import android.os.Bundle
import android.view.View import android.view.View
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import com.prank.app.color.dbdata.DbTool import com.ad.toponlibrary.AdManager
import com.ad.toponlibrary.onActionListener
import com.prank.app.color.databinding.ActivityLikeBinding import com.prank.app.color.databinding.ActivityLikeBinding
import com.prank.app.color.dbdata.DbTool
import com.prank.app.color.list.AdapterLike import com.prank.app.color.list.AdapterLike
import com.prank.app.color.utils.Common import com.prank.app.color.utils.Common
import com.prank.app.color.utils.ItemDecoration import com.prank.app.color.utils.ItemDecoration
@ -20,7 +22,7 @@ class ActivityLike : AppCompatActivity(), View.OnClickListener {
setContentView(binding.root) setContentView(binding.root)
Common.setStatusBarTextColor(this, true) Common.setStatusBarTextColor(this, true)
binding.back.setOnClickListener(this) binding.back.setOnClickListener(this)
AdManager.loadAllAd()
binding.list.run { binding.list.run {
layoutManager = GridLayoutManager(this@ActivityLike, 2) layoutManager = GridLayoutManager(this@ActivityLike, 2)
@ -43,6 +45,7 @@ class ActivityLike : AppCompatActivity(), View.OnClickListener {
adapter = likeAdapter adapter = likeAdapter
} }
AdManager.showTopOn(this, onActionListener { })
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {

View File

@ -7,6 +7,8 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.prank.app.color.dbdata.MyData; import com.prank.app.color.dbdata.MyData;
import com.prank.app.color.dbdata.MyInfo; import com.prank.app.color.dbdata.MyInfo;
import com.prank.app.color.databinding.ActivityListBinding; import com.prank.app.color.databinding.ActivityListBinding;
@ -31,7 +33,15 @@ public class ActivityList extends AppCompatActivity implements View.OnClickListe
colorIndex = getIntent().getIntExtra(Common.KEY_LIST_COLOR_POS,0); colorIndex = getIntent().getIntExtra(Common.KEY_LIST_COLOR_POS,0);
activityListBinding.categoryName.setText(data.getName()); activityListBinding.categoryName.setText(data.getName());
onList(); onList();
AdManager.loadAllAd();
activityListBinding.back.setOnClickListener(this); activityListBinding.back.setOnClickListener(this);
AdManager.showTopOn(this, new onActionListener() {
@Override
public void onAction() {
}
});
} }
private void onList() { private void onList() {

View File

@ -15,6 +15,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.prank.app.color.R; import com.prank.app.color.R;
import com.prank.app.color.dbdata.DbTool; import com.prank.app.color.dbdata.DbTool;
@ -53,7 +55,7 @@ public class ActivityPlay extends AppCompatActivity implements View.OnClickListe
Common.setStatusBarTextColor(this, true); Common.setStatusBarTextColor(this, true);
info = (MyInfo) getIntent().getSerializableExtra(Common.KEY_PLAY_DATA); info = (MyInfo) getIntent().getSerializableExtra(Common.KEY_PLAY_DATA);
color = getIntent().getIntExtra(Common.KEY_LIST_COLOR_POS, 0); color = getIntent().getIntExtra(Common.KEY_LIST_COLOR_POS, 0);
// playBinding.constraintLayout.setBackground(ContextCompat.getDrawable(this, Tools.playBgs[color])); AdManager.loadAllAd();
initAudio(); initAudio();
String covert = info.getCovert(); String covert = info.getCovert();
if (covert != null && !covert.isEmpty()) { if (covert != null && !covert.isEmpty()) {
@ -76,6 +78,12 @@ public class ActivityPlay extends AppCompatActivity implements View.OnClickListe
initLike(); initLike();
loadMore(); loadMore();
volumeReceiver(); volumeReceiver();
AdManager.showTopOn(this, new onActionListener() {
@Override
public void onAction() {
}
});
} }
@ -183,26 +191,31 @@ public class ActivityPlay extends AppCompatActivity implements View.OnClickListe
if (v.equals(playBinding.back)) { if (v.equals(playBinding.back)) {
finish(); finish();
} else if (v.equals(playBinding.btnPlay)) { } else if (v.equals(playBinding.btnPlay)) {
boolean selected = playBinding.btnPlay.isSelected();
if (selected) {
if (mediaPlayer.isPlaying()) {
playBinding.rippleView.pauseRipple();
mediaPlayer.pause();
isPause = true;
}
} else {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
if (isPause) {
playBinding.rippleView.resumeRipple();
} else {
playBinding.rippleView.startRipple();
}
isPause = false;
}
}
playBinding.btnPlay.setSelected(!selected);
AdManager.showTopOn(ActivityPlay.this, new onActionListener() {
@Override
public void onAction() {
boolean selected = playBinding.btnPlay.isSelected();
if (selected) {
if (mediaPlayer.isPlaying()) {
playBinding.rippleView.pauseRipple();
mediaPlayer.pause();
isPause = true;
}
} else {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
if (isPause) {
playBinding.rippleView.resumeRipple();
} else {
playBinding.rippleView.startRipple();
}
isPause = false;
}
}
playBinding.btnPlay.setSelected(!selected);
}
});
} else if (v.equals(playBinding.imLike)) { } else if (v.equals(playBinding.imLike)) {
playBinding.imLike.setSelected(!playBinding.imLike.isSelected()); playBinding.imLike.setSelected(!playBinding.imLike.isSelected());
boolean selected = playBinding.imLike.isSelected(); boolean selected = playBinding.imLike.isSelected();
@ -216,10 +229,16 @@ public class ActivityPlay extends AppCompatActivity implements View.OnClickListe
playBinding.imLoop.setSelected(!playBinding.imLoop.isSelected()); playBinding.imLoop.setSelected(!playBinding.imLoop.isSelected());
mediaPlayer.setLooping(playBinding.imLoop.isSelected()); mediaPlayer.setLooping(playBinding.imLoop.isSelected());
} else if (v.equals(playBinding.imTimer)) { } else if (v.equals(playBinding.imTimer)) {
if (dialogTimer == null) { AdManager.showTopOn(ActivityPlay.this, new onActionListener() {
dialogTimer = new DialogTimer(ActivityPlay.this, this); @Override
} public void onAction() {
dialogTimer.showTop(playBinding.imTimer); if (dialogTimer == null) {
dialogTimer = new DialogTimer(ActivityPlay.this, ActivityPlay.this);
}
dialogTimer.showTop(playBinding.imTimer);
}
});
} }
} }

View File

@ -9,6 +9,8 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.prank.app.color.R; import com.prank.app.color.R;
import com.prank.app.color.databinding.ActivityRecorderBinding; import com.prank.app.color.databinding.ActivityRecorderBinding;
import com.prank.app.color.utils.Common; import com.prank.app.color.utils.Common;
@ -31,9 +33,15 @@ public class ActivityRecord extends AppCompatActivity {
setContentView(binding.getRoot()); setContentView(binding.getRoot());
Common.setStatusBarTextColor(this, true); Common.setStatusBarTextColor(this, true);
recorderUtils = new RecorderUtils(this); recorderUtils = new RecorderUtils(this);
AdManager.loadAllAd();
binding.audioTime.setText(R.string.time_init); binding.audioTime.setText(R.string.time_init);
AdManager.showTopOn(this, new onActionListener() {
@Override
public void onAction() {
}
});
initEvent(); initEvent();
} }

View File

@ -16,6 +16,8 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.prank.app.color.R; import com.prank.app.color.R;
import com.prank.app.color.dbdata.DbTool; import com.prank.app.color.dbdata.DbTool;
import com.prank.app.color.dbdata.MyInfo; import com.prank.app.color.dbdata.MyInfo;
@ -48,7 +50,7 @@ public class ActivitySave extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
binding = ActivitySaveBinding.inflate(getLayoutInflater()); binding = ActivitySaveBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot()); setContentView(binding.getRoot());
AdManager.loadAllAd();
Common.setStatusBarTextColor(this, true); Common.setStatusBarTextColor(this, true);
binding.audioTime.setText(R.string.time_init); binding.audioTime.setText(R.string.time_init);
initData(); initData();
@ -137,20 +139,29 @@ public class ActivitySave extends AppCompatActivity {
} }
}); });
binding.save.setOnClickListener(v -> { binding.save.setOnClickListener(v -> {
String name = binding.saveEdit.getText().toString().trim();
boolean b = DbTool.checkName(name); AdManager.showTopOn(ActivitySave.this, new onActionListener() {
if (!TextUtils.isEmpty(name)) { @Override
if(!b){ public void onAction() {
binding.saveEdit.setText(""); String name = binding.saveEdit.getText().toString().trim();
Toast.makeText(ActivitySave.this, getString(R.string.name_hint), Toast.LENGTH_SHORT).show(); boolean b = DbTool.checkName(name);
return; if (!TextUtils.isEmpty(name)) {
if(!b){
binding.saveEdit.setText("");
Toast.makeText(ActivitySave.this, getString(R.string.name_hint), Toast.LENGTH_SHORT).show();
return;
}
saveData(name);
Toast.makeText(ActivitySave.this, getString(R.string.save_tips), Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(ActivitySave.this, getString(R.string.save_tip), Toast.LENGTH_SHORT).show();
}
} }
saveData(name); });
Toast.makeText(ActivitySave.this, getString(R.string.save_tips), Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(ActivitySave.this, getString(R.string.save_tip), Toast.LENGTH_SHORT).show();
}
}); });
} }

View File

@ -6,12 +6,17 @@ import android.os.CountDownTimer;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.ad.toponlibrary.AdManager;
import com.prank.app.color.databinding.ActivityWelBinding; import com.prank.app.color.databinding.ActivityWelBinding;
import com.prank.app.color.utils.Common; import com.prank.app.color.utils.Common;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
public class ActivityWel extends AppCompatActivity { public class ActivityWel extends AppCompatActivity {
private long time = 3000; private long time = 12000;
private ActivityWelBinding binding; private ActivityWelBinding binding;
private CountDownTimer countDownTimer; private CountDownTimer countDownTimer;
@ -21,20 +26,21 @@ public class ActivityWel extends AppCompatActivity {
binding = ActivityWelBinding.inflate(getLayoutInflater()); binding = ActivityWelBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot()); setContentView(binding.getRoot());
Common.setStatusBarTextColor(this, true); Common.setStatusBarTextColor(this, true);
countDownTimer = new CountDownTimer(time, 200) { countDownTimer = AdManager.showWelcomeAd(this, time, new Function1<Long, Unit>() {
@Override @Override
public void onTick(long millisUntilFinished) { public Unit invoke(Long aLong) {
int progressPercentage = (int) ((100 * millisUntilFinished) / time); int progressPercentage = (int) ((100 * aLong) / time);
int Percentage = 100 - progressPercentage; int Percentage = 100 - progressPercentage;
binding.loadingPb.setProgress(Percentage); binding.loadingPb.setProgress(Percentage);
return null;
} }
}, new Function0<Unit>() {
@Override @Override
public void onFinish() { public Unit invoke() {
welcomeMain(); welcomeMain();
return null;
} }
}; });
countDownTimer.start(); countDownTimer.start();
} }

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<domain-config cleartextTrafficPermitted="true">
<domain tools:ignore="NetworkSecurityConfig">mobile-server.lux-ad.com</domain>
</domain-config>
</network-security-config>

View File

@ -2,6 +2,8 @@
plugins { plugins {
id("com.android.application") version "8.6.0" apply false id("com.android.application") version "8.6.0" apply false
id("org.jetbrains.kotlin.android") version "2.0.0" apply false id("org.jetbrains.kotlin.android") version "2.0.0" apply false
id("com.google.gms.google-services") version "4.4.2" apply false
id ("com.google.firebase.crashlytics") version "3.0.2" apply false
} }
buildscript { buildscript {

View File

@ -12,6 +12,25 @@ dependencyResolutionManagement {
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
//TU(Core)
maven ( "https://jfrog.anythinktech.com/artifactory/overseas_sdk")
//Ironsource
maven ( "https://android-sdk.is.com/")
//Pangle
maven ("https://artifact.bytedance.com/repository/pangle")
//Mintegral
maven ("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
//Chartboost
maven ( "https://cboost.jfrog.io/artifactory/chartboost-ads")
maven ("https://cboost.jfrog.io/artifactory/chartboost-mediation")
//TopOn集成测试工具
maven ( "https://jfrog.anythinktech.com/artifactory/debugger")
} }
} }