V1.1(2) TradPlus
This commit is contained in:
parent
cd0f315fe8
commit
1cfb3d4050
@ -4,18 +4,21 @@ 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 {
|
||||||
namespace = "com.prank.tool.sounds.app"
|
namespace = "com.light.prank.sound.app"
|
||||||
compileSdk = 35
|
compileSdk = 36
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
//com.light.prank.sound.app
|
//com.light.prank.sound.app
|
||||||
applicationId = "com.light.prank.sound.app"
|
applicationId = "com.light.prank.sound.app"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 35
|
targetSdk = 36
|
||||||
versionCode = 1
|
versionCode = 2
|
||||||
versionName = "1.0"
|
versionName = "1.1"
|
||||||
setProperty("archivesBaseName", "Prank Sound App_V" + versionName + "(${versionCode})_$timestamp")
|
setProperty("archivesBaseName", "Prank Sound App_V" + versionName + "(${versionCode})_$timestamp")
|
||||||
testInstrumentationRunner = "androidx.sounds.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.sounds.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
@ -61,4 +64,90 @@ implementation("androidx.appcompat:appcompat:1.7.1")
|
|||||||
implementation ("com.airbnb.android:lottie:6.7.1")
|
implementation ("com.airbnb.android:lottie:6.7.1")
|
||||||
|
|
||||||
|
|
||||||
|
implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar"))
|
||||||
|
implementation(files("libs/UpLoadLibrary_11_24_18_30-release.aar"))
|
||||||
|
implementation ("com.squareup.okhttp3:okhttp:4.12.0")
|
||||||
|
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
|
||||||
|
implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
|
||||||
|
// When using the BoM, you don't specify versions in Firebase library dependencies
|
||||||
|
// Add the dependency for the Firebase SDK for Google Analytics
|
||||||
|
implementation("com.google.firebase:firebase-analytics")
|
||||||
|
implementation("com.google.firebase:firebase-crashlytics")
|
||||||
|
implementation("com.google.firebase:firebase-config")
|
||||||
|
|
||||||
|
// TradPlus
|
||||||
|
implementation("com.tradplusad:tradplus:14.5.0.1")
|
||||||
|
//noinspection GradleCompatible
|
||||||
|
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||||
|
implementation("androidx.appcompat:appcompat:1.3.0-alpha02")
|
||||||
|
// Meta
|
||||||
|
implementation("com.facebook.android:audience-network-sdk:6.20.0")
|
||||||
|
implementation("com.tradplusad:tradplus-facebook:1.14.5.0.1")
|
||||||
|
// Applovin
|
||||||
|
implementation("com.applovin:applovin-sdk:13.3.1")
|
||||||
|
implementation("com.tradplusad:tradplus-applovin:9.14.5.0.1")
|
||||||
|
implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
|
||||||
|
// Ironsource
|
||||||
|
implementation("com.ironsource.sdk:mediationsdk:8.10.0")
|
||||||
|
implementation("com.tradplusad:tradplus-ironsource:10.14.5.0.1")
|
||||||
|
implementation("com.google.android.gms:play-services-appset:16.0.0")
|
||||||
|
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||||
|
implementation("com.google.android.gms:play-services-basement:17.5.0")
|
||||||
|
// Adcolony
|
||||||
|
implementation("com.adcolony:sdk:4.8.0")
|
||||||
|
implementation("com.tradplusad:tradplus-adcolony:4.14.5.0.1")
|
||||||
|
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||||
|
// Pangle
|
||||||
|
implementation("com.tradplusad:tradplus-pangle:19.14.5.0.1")
|
||||||
|
implementation("com.pangle.global:pag-sdk:7.3.0.3")
|
||||||
|
// UnityAds
|
||||||
|
implementation("com.tradplusad:tradplus-unity:5.14.5.0.1")
|
||||||
|
implementation("com.unity3d.ads:unity-ads:4.15.1")
|
||||||
|
// Chartboost
|
||||||
|
implementation("com.tradplusad:tradplus-chartboostx:15.14.5.0.1")
|
||||||
|
implementation("com.chartboost:chartboost-sdk:9.8.3")
|
||||||
|
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||||
|
implementation("com.google.android.gms:play-services-base:17.4.0")
|
||||||
|
// Inmobi
|
||||||
|
implementation("com.tradplusad:tradplus-inmobix:23.14.5.0.1")
|
||||||
|
implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.3")
|
||||||
|
implementation("androidx.core:core-ktx:1.5.0")
|
||||||
|
implementation("com.inmobi.omsdk:inmobi-omsdk:1.5.2.0")
|
||||||
|
// Fyber
|
||||||
|
implementation("com.fyber:marketplace-sdk:8.3.7")
|
||||||
|
implementation("com.tradplusad:tradplus-fyber:24.14.5.0.1")
|
||||||
|
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||||
|
implementation("com.google.android.gms:play-services-base:17.4.0")
|
||||||
|
// Start.io
|
||||||
|
implementation("com.startapp:inapp-sdk:5.2.3")
|
||||||
|
implementation("com.tradplusad:tradplus-startapp:28.14.5.0.1")
|
||||||
|
// Mintegral
|
||||||
|
implementation("com.tradplusad:tradplus-mintegralx_overseas:18.14.5.0.1")
|
||||||
|
implementation("androidx.recyclerview:recyclerview:1.1.0")
|
||||||
|
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71")
|
||||||
|
// Liftoff
|
||||||
|
implementation("com.tradplusad:tradplus-vunglex:7.14.5.0.1")
|
||||||
|
implementation("com.vungle:vungle-ads:7.5.0")
|
||||||
|
// Yandex
|
||||||
|
implementation("com.yandex.android:mobileads:7.13.0") {
|
||||||
|
exclude(group = "com.caverock", module = "androidsvg-aar")
|
||||||
|
}
|
||||||
|
implementation("com.tradplusad:tradplus-yandex:50.14.6.10.1")
|
||||||
|
// Bigo
|
||||||
|
implementation("com.bigossp:bigo-ads:5.4.0")
|
||||||
|
implementation("com.tradplusad:tradplus-bigo:57.14.5.0.1")
|
||||||
|
// Cross Promotion
|
||||||
|
implementation("com.tradplusad:tradplus-crosspromotion:27.14.5.0.1")
|
||||||
|
// TP Exchange
|
||||||
|
// 请注意保持与主包版本同步更新
|
||||||
|
implementation("com.google.code.gson:gson:2.8.6")
|
||||||
|
implementation("com.tradplusad:tp_exchange:40.14.5.0.1")
|
||||||
|
|
||||||
|
// Google UMP
|
||||||
|
implementation ("com.google.android.ump:user-messaging-platform:3.2.0")
|
||||||
|
|
||||||
}
|
}
|
||||||
29
app/google-services.json
Normal file
29
app/google-services.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"project_info": {
|
||||||
|
"project_number": "645167817362",
|
||||||
|
"project_id": "prank-sound-daec7",
|
||||||
|
"storage_bucket": "prank-sound-daec7.firebasestorage.app"
|
||||||
|
},
|
||||||
|
"client": [
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:645167817362:android:ab7e3936b81093999ebc4b",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.light.prank.sound.app"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyBK-EysKZm86ipllJMCCEb0Gdd2jikSG1c"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configuration_version": "1"
|
||||||
|
}
|
||||||
BIN
app/libs/TradPlusLibrary_11_25_15_02-release.aar
Normal file
BIN
app/libs/TradPlusLibrary_11_25_15_02-release.aar
Normal file
Binary file not shown.
BIN
app/libs/UpLoadLibrary_11_24_18_30-release.aar
Normal file
BIN
app/libs/UpLoadLibrary_11_24_18_30-release.aar
Normal file
Binary file not shown.
@ -11,40 +11,43 @@
|
|||||||
android:maxSdkVersion="32" />
|
android:maxSdkVersion="32" />
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||||
|
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>-->
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name="com.light.prank.sound.app.utils.App"
|
android:name="com.light.prank.sound.app.utils.App"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/icon"
|
android:icon="@mipmap/icon"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
android:networkSecurityConfig="@xml/net"
|
||||||
android:roundIcon="@mipmap/icon"
|
android:roundIcon="@mipmap/icon"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.FunnyAudio"
|
android:theme="@style/Theme.FunnyAudio"
|
||||||
|
tools:replace="android:networkSecurityConfig"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.AcPlayPranks"
|
android:name="com.light.prank.sound.app.allui.AcPlayPranks"
|
||||||
android:screenOrientation="portrait"
|
android:exported="false"
|
||||||
android:exported="false" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.AcCategoryList"
|
android:name="com.light.prank.sound.app.allui.AcCategoryList"
|
||||||
android:screenOrientation="portrait"
|
android:exported="false"
|
||||||
android:exported="false" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.main.AcMain"
|
android:name="com.light.prank.sound.app.allui.main.AcMain"
|
||||||
android:screenOrientation="portrait"
|
android:exported="false"
|
||||||
android:exported="false" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.custom.AcSave"
|
android:name="com.light.prank.sound.app.allui.custom.AcSave"
|
||||||
android:screenOrientation="portrait"
|
android:exported="false"
|
||||||
android:exported="false" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.custom.AcRecording"
|
android:name="com.light.prank.sound.app.allui.custom.AcRecording"
|
||||||
android:screenOrientation="portrait"
|
android:exported="false"
|
||||||
android:exported="false" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.light.prank.sound.app.allui.AcSplashUi"
|
android:name="com.light.prank.sound.app.allui.AcSplashUi"
|
||||||
android:screenOrientation="portrait"
|
android:exported="true"
|
||||||
android:exported="true">
|
android:screenOrientation="portrait">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
|||||||
@ -7,12 +7,16 @@ 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.tradpluslibrary.TPAdManager;
|
||||||
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
||||||
import com.light.prank.sound.app.utils.MyItemSpace;
|
import com.light.prank.sound.app.utils.MyItemSpace;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.prank.tool.sounds.app.databinding.AcCategoryListBinding;
|
import com.light.prank.sound.app.databinding.AcCategoryListBinding;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
public class AcCategoryList extends AppCompatActivity implements View.OnClickListener, OnClickItemListener {
|
public class AcCategoryList extends AppCompatActivity implements View.OnClickListener, OnClickItemListener {
|
||||||
|
|
||||||
@ -31,6 +35,12 @@ public class AcCategoryList extends AppCompatActivity implements View.OnClickLis
|
|||||||
activityListBinding.categoryName.setText(data.getName());
|
activityListBinding.categoryName.setText(data.getName());
|
||||||
onList();
|
onList();
|
||||||
activityListBinding.back.setOnClickListener(this);
|
activityListBinding.back.setOnClickListener(this);
|
||||||
|
TPAdManager.INSTANCE.showTPAD(AcCategoryList.this, new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onList() {
|
private void onList() {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import android.view.View;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
|
import com.ad.tradpluslibrary.TPAdManager;
|
||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
import com.light.prank.sound.app.utils.MyItemSpace;
|
import com.light.prank.sound.app.utils.MyItemSpace;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
@ -20,12 +21,15 @@ import com.light.prank.sound.app.dataListener.objectBoxMan;
|
|||||||
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
||||||
import com.light.prank.sound.app.dataListener.OnClickTimerListener;
|
import com.light.prank.sound.app.dataListener.OnClickTimerListener;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.AcPlayPranksBinding;
|
import com.light.prank.sound.app.databinding.AcPlayPranksBinding;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
public class AcPlayPranks extends AppCompatActivity implements View.OnClickListener, OnClickTimerListener, OnClickItemListener {
|
public class AcPlayPranks extends AppCompatActivity implements View.OnClickListener, OnClickTimerListener, OnClickItemListener {
|
||||||
|
|
||||||
private AcPlayPranksBinding playBinding;
|
private AcPlayPranksBinding playBinding;
|
||||||
@ -66,7 +70,12 @@ public class AcPlayPranks extends AppCompatActivity implements View.OnClickListe
|
|||||||
playBinding.imLoop.setOnClickListener(this);
|
playBinding.imLoop.setOnClickListener(this);
|
||||||
playBinding.imTimer.setOnClickListener(this);
|
playBinding.imTimer.setOnClickListener(this);
|
||||||
MyUtils.setVolume(this, playBinding.seekbar);
|
MyUtils.setVolume(this, playBinding.seekbar);
|
||||||
|
TPAdManager.INSTANCE.showTPAD(AcPlayPranks.this, new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
initLike();
|
initLike();
|
||||||
loadMore();
|
loadMore();
|
||||||
volumeReceiver();
|
volumeReceiver();
|
||||||
@ -171,6 +180,10 @@ public class AcPlayPranks 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)) {
|
||||||
|
|
||||||
|
TPAdManager.INSTANCE.showTPAD(AcPlayPranks.this, new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
boolean selected = playBinding.btnPlay.isSelected();
|
boolean selected = playBinding.btnPlay.isSelected();
|
||||||
if (selected) {
|
if (selected) {
|
||||||
if (mediaPlayer.isPlaying()) {
|
if (mediaPlayer.isPlaying()) {
|
||||||
@ -191,6 +204,12 @@ public class AcPlayPranks extends AppCompatActivity implements View.OnClickListe
|
|||||||
}
|
}
|
||||||
playBinding.btnPlay.setSelected(!selected);
|
playBinding.btnPlay.setSelected(!selected);
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
} 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();
|
||||||
|
|||||||
@ -6,13 +6,19 @@ import android.os.CountDownTimer;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.ad.tradpluslibrary.TPAdManager;
|
||||||
import com.light.prank.sound.app.allui.main.AcMain;
|
import com.light.prank.sound.app.allui.main.AcMain;
|
||||||
|
import com.light.prank.sound.app.utils.App;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.databinding.AcSplashUiBinding;
|
import com.light.prank.sound.app.databinding.AcSplashUiBinding;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
import kotlin.jvm.functions.Function1;
|
||||||
|
|
||||||
public class AcSplashUi extends AppCompatActivity {
|
public class AcSplashUi extends AppCompatActivity {
|
||||||
|
|
||||||
private long time = 1000;
|
private long time = 13000;
|
||||||
private AcSplashUiBinding binding;
|
private AcSplashUiBinding binding;
|
||||||
private CountDownTimer countDownTimer;
|
private CountDownTimer countDownTimer;
|
||||||
|
|
||||||
@ -22,19 +28,29 @@ public class AcSplashUi extends AppCompatActivity {
|
|||||||
binding = AcSplashUiBinding.inflate(getLayoutInflater());
|
binding = AcSplashUiBinding.inflate(getLayoutInflater());
|
||||||
setContentView(binding.getRoot());
|
setContentView(binding.getRoot());
|
||||||
MyUtils.setStatusBarTextColor(this, true);
|
MyUtils.setStatusBarTextColor(this, true);
|
||||||
countDownTimer = new CountDownTimer(time, 200) {
|
TPAdManager.INSTANCE.init(AcSplashUi.this, App.TAG, "7DF533924ED895002A9D118745B4FB11", "FB5FE3A49ECC3D05107787C10C95D712", "88F454DE66C80336E5132496D2474312", "286180073EB7CCDBE0E9C58CACBEDA12",
|
||||||
|
new Function0<Unit>() {
|
||||||
@Override
|
@Override
|
||||||
public void onTick(long millisUntilFinished) {
|
public Unit invoke() {
|
||||||
int progressPercentage = (int) ((100 * millisUntilFinished) / time);
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
countDownTimer = TPAdManager.INSTANCE.showWelcomeAd(AcSplashUi.this, time, new Function1<Long, Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Long aLong) {
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import com.bumptech.glide.Glide;
|
|||||||
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
import com.light.prank.sound.app.dataListener.OnClickItemListener;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.databinding.CategoryListAdapterBinding;
|
import com.light.prank.sound.app.databinding.CategoryListAdapterBinding;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import android.widget.PopupWindow;
|
|||||||
|
|
||||||
import com.light.prank.sound.app.utils.MyTv;
|
import com.light.prank.sound.app.utils.MyTv;
|
||||||
import com.light.prank.sound.app.dataListener.OnClickTimerListener;
|
import com.light.prank.sound.app.dataListener.OnClickTimerListener;
|
||||||
import com.prank.tool.sounds.app.databinding.PopupClockBinding;
|
import com.light.prank.sound.app.databinding.PopupClockBinding;
|
||||||
|
|
||||||
public class PopupClock implements View.OnClickListener {
|
public class PopupClock implements View.OnClickListener {
|
||||||
private PopupClockBinding binding;
|
private PopupClockBinding binding;
|
||||||
|
|||||||
@ -9,10 +9,15 @@ import android.view.View;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.ad.tradpluslibrary.TPAdManager;
|
||||||
|
import com.light.prank.sound.app.allui.AcPlayPranks;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.light.prank.sound.app.utils.MyRecorderUtils;
|
import com.light.prank.sound.app.utils.MyRecorderUtils;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.AcRecordingBinding;
|
import com.light.prank.sound.app.databinding.AcRecordingBinding;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
public class AcRecording extends AppCompatActivity {
|
public class AcRecording extends AppCompatActivity {
|
||||||
private AcRecordingBinding binding;
|
private AcRecordingBinding binding;
|
||||||
|
|||||||
@ -16,17 +16,21 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.ad.tradpluslibrary.TPAdManager;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.AcSaveBinding;
|
import com.light.prank.sound.app.databinding.AcSaveBinding;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
public class AcSave extends AppCompatActivity {
|
public class AcSave extends AppCompatActivity {
|
||||||
|
|
||||||
private String path;
|
private String path;
|
||||||
@ -52,6 +56,12 @@ public class AcSave extends AppCompatActivity {
|
|||||||
binding.audioTime.setText(R.string.time_init);
|
binding.audioTime.setText(R.string.time_init);
|
||||||
initData();
|
initData();
|
||||||
initEvent();
|
initEvent();
|
||||||
|
TPAdManager.INSTANCE.showTPAD(AcSave.this, new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void togglePrank() throws IOException {
|
private void togglePrank() throws IOException {
|
||||||
|
|||||||
@ -18,17 +18,21 @@ import androidx.core.content.ContextCompat;
|
|||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
|
||||||
|
import com.ad.tradpluslibrary.TPAdManager;
|
||||||
import com.light.prank.sound.app.allui.like.AdapterLike;
|
import com.light.prank.sound.app.allui.like.AdapterLike;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
||||||
import com.light.prank.sound.app.utils.MyItemSpace;
|
import com.light.prank.sound.app.utils.MyItemSpace;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.FragmentCustomBinding;
|
import com.light.prank.sound.app.databinding.FragmentCustomBinding;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
|
|
||||||
public class FragmentCustom extends Fragment implements View.OnClickListener {
|
public class FragmentCustom extends Fragment implements View.OnClickListener {
|
||||||
|
|
||||||
@ -158,9 +162,23 @@ public class FragmentCustom extends Fragment implements View.OnClickListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if(v.equals(binding.btnimport)){
|
if(v.equals(binding.btnimport)){
|
||||||
|
|
||||||
|
TPAdManager.INSTANCE.showTPAD(requireActivity(), new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
onClickTimer(0);
|
onClickTimer(0);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}else if(v.equals(binding.record)){
|
}else if(v.equals(binding.record)){
|
||||||
|
TPAdManager.INSTANCE.showTPAD(requireActivity(), new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
onClickTimer(1);
|
onClickTimer(1);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,8 +14,8 @@ import com.light.prank.sound.app.allui.AcPlayPranks;
|
|||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.LikeAdapterBinding;
|
import com.light.prank.sound.app.databinding.LikeAdapterBinding;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
import com.light.prank.sound.app.utils.MyItemSpace;
|
import com.light.prank.sound.app.utils.MyItemSpace;
|
||||||
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.prank.tool.sounds.app.databinding.FragmentLikeBinding;
|
import com.light.prank.sound.app.databinding.FragmentLikeBinding;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -21,8 +21,8 @@ import com.light.prank.sound.app.allui.custom.AcSave;
|
|||||||
import com.light.prank.sound.app.allui.custom.FragmentCustom;
|
import com.light.prank.sound.app.allui.custom.FragmentCustom;
|
||||||
import com.light.prank.sound.app.allui.like.FragmentLike;
|
import com.light.prank.sound.app.allui.like.FragmentLike;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
import com.prank.tool.sounds.app.databinding.AcMainBinding;
|
import com.light.prank.sound.app.databinding.AcMainBinding;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import com.bumptech.glide.Glide;
|
|||||||
import com.light.prank.sound.app.allui.AcCategoryList;
|
import com.light.prank.sound.app.allui.AcCategoryList;
|
||||||
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
||||||
import com.light.prank.sound.app.utils.MyUtils;
|
import com.light.prank.sound.app.utils.MyUtils;
|
||||||
import com.prank.tool.sounds.app.databinding.MainAdapterBinding;
|
import com.light.prank.sound.app.databinding.MainAdapterBinding;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import com.light.prank.sound.app.utils.App;
|
|||||||
import com.light.prank.sound.app.utils.MyItemSpace;
|
import com.light.prank.sound.app.utils.MyItemSpace;
|
||||||
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.prank.tool.sounds.app.databinding.FragmentMainBinding;
|
import com.light.prank.sound.app.databinding.FragmentMainBinding;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
|||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
|
|
||||||
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
import com.light.prank.sound.app.dataListener.objectBoxMan;
|
||||||
|
import com.up.uploadlibrary.UpLoadManager;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -15,12 +16,16 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function2;
|
||||||
|
|
||||||
public class App extends Application {
|
public class App extends Application {
|
||||||
|
|
||||||
public static App app;
|
public static App app;
|
||||||
public static Typeface defaultFont;
|
public static Typeface defaultFont;
|
||||||
public static List<SoundsWrapper> bean;
|
public static List<SoundsWrapper> bean;
|
||||||
private List<PrankBean> prankBeanList;
|
private List<PrankBean> prankBeanList;
|
||||||
|
public static String TAG = "=============";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
@ -29,6 +34,12 @@ public class App extends Application {
|
|||||||
AssetManager assets = getAssets();
|
AssetManager assets = getAssets();
|
||||||
defaultFont = Typeface.createFromAsset(assets, "pranks.ttf");
|
defaultFont = Typeface.createFromAsset(assets, "pranks.ttf");
|
||||||
objectBoxMan.init(this);
|
objectBoxMan.init(this);
|
||||||
|
UpLoadManager.INSTANCE.init(this, TAG, new Function2<String, String, Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke(String s, String s2) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
if (bean != null)
|
if (bean != null)
|
||||||
return;
|
return;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import android.util.AttributeSet;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
|
|
||||||
|
|
||||||
public class MyTv extends androidx.appcompat.widget.AppCompatTextView {
|
public class MyTv extends androidx.appcompat.widget.AppCompatTextView {
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||||||
|
|
||||||
import com.light.prank.sound.app.dataListener.PrankBean;
|
import com.light.prank.sound.app.dataListener.PrankBean;
|
||||||
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
import com.light.prank.sound.app.dataListener.SoundsWrapper;
|
||||||
import com.prank.tool.sounds.app.R;
|
import com.light.prank.sound.app.R;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
|||||||
6
app/src/main/res/xml/net.xml
Normal file
6
app/src/main/res/xml/net.xml
Normal 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>
|
||||||
@ -1,7 +1,9 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.6.0" apply false
|
id("com.android.application") version "8.9.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 {
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
# Specifies the JVM arguments used for the daemon process.
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
# The setting is particularly useful for tweaking memory settings.
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
|
||||||
# When configured, Gradle will run in incubating parallel mode.
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
# This option should only be used with decoupled projects. More details, visit
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
|
|||||||
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
|||||||
#Tue May 28 10:52:01 CST 2024
|
#Tue Nov 25 16:44:54 CST 2025
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@ -12,6 +12,22 @@ dependencyResolutionManagement {
|
|||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
||||||
|
//------------------------- TradPlus
|
||||||
|
// Ironsource
|
||||||
|
maven { url = uri("https://android-sdk.is.com/") }
|
||||||
|
// Pangle
|
||||||
|
maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
|
||||||
|
// Chartboost
|
||||||
|
maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") }
|
||||||
|
maven {
|
||||||
|
name = "Chartboost Mediation’s maven repo"
|
||||||
|
url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation")
|
||||||
|
}
|
||||||
|
// Mintegral
|
||||||
|
//Launch GP market application, Android X Version
|
||||||
|
//If you fail to pull the code using gradle, add the maven warehouse configuration to the project root build.gradle file
|
||||||
|
maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user