V1.1(2)
This commit is contained in:
parent
a7d8649aa4
commit
fbcea3777d
@ -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
29
app/google-services.json
Normal 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"
|
||||||
|
}
|
||||||
BIN
app/libs/TopOnLibrary_06_27_16_00-release.aar
Normal file
BIN
app/libs/TopOnLibrary_06_27_16_00-release.aar
Normal file
Binary file not shown.
BIN
app/libs/UpLoadLibrary_07_03_11_54-release.aar
Normal file
BIN
app/libs/UpLoadLibrary_07_03_11_54-release.aar
Normal file
Binary file not shown.
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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));
|
||||||
|
|||||||
@ -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() {
|
||||||
|
|||||||
@ -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?) {
|
||||||
|
|||||||
@ -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() {
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
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>
|
||||||
@ -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 {
|
||||||
|
|||||||
@ -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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user