接Max 1.0.2(3)
This commit is contained in:
parent
3415cb1d42
commit
3ca7d9d156
@ -4,7 +4,16 @@ plugins {
|
||||
id("com.android.application")
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id ("kotlin-kapt")
|
||||
id("com.google.gms.google-services")
|
||||
id("com.google.firebase.crashlytics")
|
||||
id("applovin-quality-service")
|
||||
}
|
||||
|
||||
applovin {
|
||||
apiKey =
|
||||
"Dl27vTcbmSn21PBrDMXpSqmsfG9shMGyquWAiaWdAbSq3wFKDu3lz_TXSAt_JsOVCRChddpPl2dZrymN3OooUM"
|
||||
}
|
||||
|
||||
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
|
||||
android {
|
||||
namespace = "com.tool.minimalistwallpaper"
|
||||
@ -14,8 +23,8 @@ android {
|
||||
applicationId = "com.tool.minimalistwallpaper"
|
||||
minSdk = 23
|
||||
targetSdk = 34
|
||||
versionCode = 2
|
||||
versionName = "1.0.1"
|
||||
versionCode = 3
|
||||
versionName = "1.0.2"
|
||||
setProperty("archivesBaseName", "minimalistwallpaper_v" + versionName + "(${versionCode})_$timestamp")
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@ -62,4 +71,15 @@ dependencies {
|
||||
|
||||
implementation ("io.github.youth5201314:banner:2.2.3")
|
||||
implementation ("com.guolindev.permissionx:permissionx:1.7.1")
|
||||
|
||||
|
||||
implementation(platform("com.google.firebase:firebase-bom:33.1.1"))
|
||||
implementation("com.google.firebase:firebase-crashlytics")
|
||||
implementation("com.google.firebase:firebase-analytics")
|
||||
|
||||
implementation("com.applovin:applovin-sdk:+")
|
||||
implementation("com.applovin.mediation:vungle-adapter:+")
|
||||
implementation("com.applovin.mediation:mintegral-adapter:+")
|
||||
implementation("com.applovin.mediation:bytedance-adapter:+")
|
||||
implementation("com.applovin.mediation:unityads-adapter:+")
|
||||
}
|
||||
29
app/google-services.json
Normal file
29
app/google-services.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "997989376042",
|
||||
"project_id": "minimalist-wallpaper---hd-4k",
|
||||
"storage_bucket": "minimalist-wallpaper---hd-4k.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:997989376042:android:db641b5edc2fab4b9fe353",
|
||||
"android_client_info": {
|
||||
"package_name": "com.tool.minimalistwallpaper"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAt85EFrCwMqX5X_JZ843PnnmcF-4tJj6c"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": []
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
BIN
app/minimalistwallpaper.jks
Normal file
BIN
app/minimalistwallpaper.jks
Normal file
Binary file not shown.
BIN
app/minimalistwallpapertest.jks
Normal file
BIN
app/minimalistwallpapertest.jks
Normal file
Binary file not shown.
@ -2,9 +2,17 @@ package com.tool.minimalistwallpaper;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.util.Log;
|
||||
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.applovin.sdk.AppLovinMediationProvider;
|
||||
import com.applovin.sdk.AppLovinSdk;
|
||||
import com.applovin.sdk.AppLovinSdkConfiguration;
|
||||
import com.applovin.sdk.AppLovinSdkInitializationConfiguration;
|
||||
import com.tool.minimalistwallpaper.data.Mydata;
|
||||
import com.tool.minimalistwallpaper.data.MydataBase;
|
||||
import com.tool.minimalistwallpaper.data.Otherdata;
|
||||
@ -24,10 +32,17 @@ public class MinimalistWPSkin extends Application {
|
||||
private static boolean isinsert;
|
||||
private static final String PREFS_NAME = "MyPrefs";
|
||||
private static final String KEY_IS_INSERTED = "isinserted";
|
||||
public static final String AD_BROADCAST = "on_success_action";
|
||||
private static final String MAX_SDK = "NprBImK6BeQcxVNp44x4_ikQeJmyfGD8OEHbpNDUu7_WudCrCm_TIKr807Zzd8rfb6TG5NITCTxbZHZT9PbAGa";
|
||||
public static Boolean initSDK = false;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
app =this;
|
||||
|
||||
initSDk();
|
||||
|
||||
context = getApplicationContext();
|
||||
|
||||
List<Mydata> myData = Mytools.parseJsonToList("wallpaper.json");
|
||||
@ -47,6 +62,25 @@ public class MinimalistWPSkin extends Application {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void initSDk() {
|
||||
|
||||
AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder(MAX_SDK, this)
|
||||
.setMediationProvider(AppLovinMediationProvider.MAX)
|
||||
.build();
|
||||
AppLovinSdk.getInstance(this).initialize(initConfig, new AppLovinSdk.SdkInitializationListener() {
|
||||
@Override
|
||||
public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig) {
|
||||
initSDK = true;
|
||||
Log.e("zzj", "------------initSDk--------success");
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(AD_BROADCAST));
|
||||
}
|
||||
});
|
||||
AppLovinSdk.getInstance(this).getSettings().setVerboseLogging(true);
|
||||
}
|
||||
|
||||
|
||||
public static Context getAppContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
@ -13,11 +13,14 @@ import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.applovin.mediation.MaxAd;
|
||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
||||
import com.tool.minimalistwallpaper.R;
|
||||
import com.tool.minimalistwallpaper.adapter.MainRvAdapter;
|
||||
import com.tool.minimalistwallpaper.data.MydataBase;
|
||||
import com.tool.minimalistwallpaper.data.Otherdata;
|
||||
import com.tool.minimalistwallpaper.databinding.ActivityAllBinding;
|
||||
import com.tool.minimalistwallpaper.tools.Adcallback;
|
||||
import com.tool.minimalistwallpaper.tools.Mytools;
|
||||
import com.tool.minimalistwallpaper.tools.SpaceItem;
|
||||
import com.tool.minimalistwallpaper.tools.StaticValue;
|
||||
@ -31,6 +34,8 @@ public class AllActivity extends AppCompatActivity {
|
||||
private MainRvAdapter mainRvListAdapter;
|
||||
private String name;
|
||||
private SpaceItem spaceItem = new SpaceItem(12, 12, 12);
|
||||
private static List<MaxInterstitialAd> adsList;
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@ -45,6 +50,7 @@ public class AllActivity extends AppCompatActivity {
|
||||
return insets;
|
||||
});
|
||||
|
||||
adsList = Mytools.getAllAd();
|
||||
|
||||
Intent intent = getIntent();
|
||||
name = intent.getStringExtra(StaticValue.KEY_name);
|
||||
@ -54,22 +60,43 @@ public class AllActivity extends AppCompatActivity {
|
||||
binding.allBack.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
showAd();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void showAd() {
|
||||
MaxInterstitialAd cachedAd = Mytools.onCache(adsList);
|
||||
if (cachedAd == null) {
|
||||
finish();
|
||||
} else {
|
||||
Mytools.setCallBcak(cachedAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(MaxAd ad) {
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
cachedAd.showAd(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<Otherdata> existingData = MydataBase.getInstance().myDAO().getallwp(name);
|
||||
if (!existingData.isEmpty()){
|
||||
otherdata = existingData;
|
||||
if (!existingData.isEmpty()) {
|
||||
otherdata = existingData;
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mainRvListAdapter = new MainRvAdapter(AllActivity.this,otherdata);
|
||||
mainRvListAdapter = new MainRvAdapter(AllActivity.this, otherdata);
|
||||
binding.allRv.setLayoutManager(new GridLayoutManager(AllActivity.this, 2));
|
||||
binding.allRv.setAdapter(mainRvListAdapter);
|
||||
}
|
||||
@ -83,10 +110,15 @@ public class AllActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
// Log.e("zzj", " allactivity onResume " + PreViewActivity.KEY_Change);
|
||||
if (PreViewActivity.KEY_Change){
|
||||
if (PreViewActivity.KEY_Change) {
|
||||
initData();
|
||||
PreViewActivity.KEY_Change = false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
showAd();
|
||||
}
|
||||
}
|
||||
@ -34,6 +34,8 @@ import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.applovin.mediation.MaxAd;
|
||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
@ -42,6 +44,7 @@ import com.tool.minimalistwallpaper.R;
|
||||
import com.tool.minimalistwallpaper.data.MydataBase;
|
||||
import com.tool.minimalistwallpaper.data.Otherdata;
|
||||
import com.tool.minimalistwallpaper.databinding.ActivityPreViewBinding;
|
||||
import com.tool.minimalistwallpaper.tools.Adcallback;
|
||||
import com.tool.minimalistwallpaper.tools.Mytools;
|
||||
import com.tool.minimalistwallpaper.tools.StaticValue;
|
||||
import com.tool.minimalistwallpaper.tools.Utils;
|
||||
@ -70,7 +73,7 @@ public class PreViewActivity extends AppCompatActivity {
|
||||
private GestureDetector gestureDetector;
|
||||
public static boolean KEY_Change = false;
|
||||
private Otherdata checkdata = new Otherdata();
|
||||
|
||||
private static List<MaxInterstitialAd> adsList;
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
@ -86,6 +89,8 @@ public class PreViewActivity extends AppCompatActivity {
|
||||
return insets;
|
||||
});
|
||||
|
||||
adsList = Mytools.getAllAd();
|
||||
|
||||
initData();
|
||||
initEvent();
|
||||
|
||||
@ -142,7 +147,8 @@ public class PreViewActivity extends AppCompatActivity {
|
||||
binding.pgSetwallpaper.setVisibility(View.GONE);
|
||||
Toast.makeText(PreViewActivity.this, getString(R.string.permission_tips), Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
setWp(setmap);
|
||||
|
||||
showAd();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -439,6 +445,27 @@ public class PreViewActivity extends AppCompatActivity {
|
||||
// unregisterReceiver(wallpaperChangedReceiver);
|
||||
}
|
||||
|
||||
private void showAd() {
|
||||
MaxInterstitialAd cachedAd = Mytools.onCache(adsList);
|
||||
|
||||
if (cachedAd == null) {
|
||||
setWp(setmap);
|
||||
} else {
|
||||
Mytools.setCallBcak(cachedAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(MaxAd ad) {
|
||||
setWp(setmap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
setWp(setmap);
|
||||
}
|
||||
});
|
||||
cachedAd.showAd(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
|
||||
@ -5,18 +5,32 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.Bundle;
|
||||
import android.os.CountDownTimer;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
|
||||
import com.applovin.mediation.MaxAd;
|
||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
||||
import com.applovin.sdk.AppLovinSdk;
|
||||
import com.tool.minimalistwallpaper.MinimalistWPSkin;
|
||||
import com.tool.minimalistwallpaper.R;
|
||||
import com.tool.minimalistwallpaper.tools.Adcallback;
|
||||
import com.tool.minimalistwallpaper.tools.Mytools;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SplashActivity extends AppCompatActivity {
|
||||
private CountDownTimer countDownTimer;
|
||||
|
||||
private static List<MaxInterstitialAd> adsList;
|
||||
public static boolean isAlreadyShow = false;
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@ -30,28 +44,71 @@ public class SplashActivity extends AppCompatActivity {
|
||||
return insets;
|
||||
});
|
||||
|
||||
countDownTimer = new CountDownTimer(1000, 100) {
|
||||
countDownTimer = new CountDownTimer(11000, 100) {
|
||||
@Override
|
||||
public void onTick(long millisUntilFinished) {
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
|
||||
}
|
||||
},2000);
|
||||
|
||||
if (!isAlreadyShow) {
|
||||
showAdOrStartView(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
satrView();
|
||||
if (!isAlreadyShow) {
|
||||
showAdOrStartView(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
countDownTimer.start();
|
||||
registerBroadcastReceiver();
|
||||
}
|
||||
private void showAdOrStartView(boolean go) {
|
||||
MaxInterstitialAd cachedAd = Mytools.onCache(adsList);
|
||||
if (cachedAd == null) {
|
||||
isAlreadyShow = false;
|
||||
if (go) {
|
||||
satrView();
|
||||
}
|
||||
} else {
|
||||
isAlreadyShow = true;
|
||||
Mytools.setCallBcak(cachedAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(MaxAd ad) {
|
||||
isAlreadyShow = false;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
isAlreadyShow = true;
|
||||
satrView();
|
||||
}
|
||||
});
|
||||
cachedAd.showAd();
|
||||
}
|
||||
}
|
||||
|
||||
private void registerBroadcastReceiver() {
|
||||
if (!MinimalistWPSkin.initSDK) {
|
||||
BroadcastReceiver receiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
// AppLovinSdk.getInstance( SplashActivity.this ).showMediationDebugger();
|
||||
Log.e("zzj", "------------loadAndStartAd--------success");
|
||||
loadAndStartAd();
|
||||
}
|
||||
};
|
||||
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(receiver, new IntentFilter(MinimalistWPSkin.AD_BROADCAST));
|
||||
} else {
|
||||
Log.e("zzj", "------------loadAndStartAd--------fail");
|
||||
loadAndStartAd();
|
||||
}
|
||||
}
|
||||
|
||||
private void loadAndStartAd() {
|
||||
adsList = Mytools.getAllAd();
|
||||
countDownTimer.start();
|
||||
}
|
||||
private void satrView() {
|
||||
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package com.tool.minimalistwallpaper.tools;
|
||||
|
||||
import com.applovin.mediation.MaxAd;
|
||||
|
||||
public interface Adcallback {
|
||||
void onShowFail(MaxAd ad);
|
||||
void onAdHidden( );
|
||||
}
|
||||
@ -1,8 +1,16 @@
|
||||
package com.tool.minimalistwallpaper.tools;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.AssetManager;
|
||||
import android.util.Log;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.applovin.mediation.MaxAd;
|
||||
import com.applovin.mediation.MaxAdListener;
|
||||
import com.applovin.mediation.MaxError;
|
||||
import com.applovin.mediation.ads.MaxInterstitialAd;
|
||||
import com.tool.minimalistwallpaper.MinimalistWPSkin;
|
||||
import com.tool.minimalistwallpaper.data.Mydata;
|
||||
import com.tool.minimalistwallpaper.data.Otherdata;
|
||||
@ -15,6 +23,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
@ -22,6 +31,79 @@ import java.util.concurrent.Executors;
|
||||
public class Mytools {
|
||||
private static ExecutorService executorService;
|
||||
|
||||
|
||||
private static ArrayList<MaxInterstitialAd> adArrayList;
|
||||
private static final String one_AD = "2377d38d18e72a02";
|
||||
private static final String two_Ad = "cebc382a642385a6";
|
||||
private static final String three_ad = "f4f1f8de8666c541";
|
||||
|
||||
public static void setCallBcak(MaxInterstitialAd ad, Adcallback adcallback) {
|
||||
ad.setListener(new MaxAdListener() {
|
||||
@Override
|
||||
public void onAdLoaded(@NonNull MaxAd maxAd) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdDisplayed(@NonNull MaxAd maxAd) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdHidden(@NonNull MaxAd maxAd) {
|
||||
adcallback.onAdHidden();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdClicked(@NonNull MaxAd maxAd) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdLoadFailed(@NonNull String s, @NonNull MaxError maxError) {
|
||||
Log.e("zzj","-----------onAdLoadFailed------"+maxError);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdDisplayFailed(@NonNull MaxAd maxAd, @NonNull MaxError maxError) {
|
||||
adcallback.onShowFail(maxAd);
|
||||
Log.e("zzj","-----------onAdDisplayFailed------"+maxError);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static MaxInterstitialAd onCache(List<MaxInterstitialAd> list) {
|
||||
Collections.shuffle(list);
|
||||
for (MaxInterstitialAd ad : list) {
|
||||
if (ad.isReady()) {
|
||||
return ad;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static List<MaxInterstitialAd> getAllAd() {
|
||||
if (adArrayList == null) {
|
||||
adArrayList = new ArrayList<>();
|
||||
adArrayList.add(createAd(one_AD, MinimalistWPSkin.app));
|
||||
adArrayList.add(createAd(two_Ad, MinimalistWPSkin.app));
|
||||
adArrayList.add(createAd(three_ad, MinimalistWPSkin.app));
|
||||
}
|
||||
for (MaxInterstitialAd ad : adArrayList) {
|
||||
if (!ad.isReady()) {
|
||||
ad.loadAd();
|
||||
}
|
||||
}
|
||||
return adArrayList;
|
||||
}
|
||||
|
||||
private static MaxInterstitialAd createAd(String adUnitId, Context context) {
|
||||
MaxInterstitialAd ad = new MaxInterstitialAd(adUnitId, context);
|
||||
return ad;
|
||||
}
|
||||
|
||||
|
||||
public static void runIO(Runnable task) {
|
||||
getExecutorService().execute(task);
|
||||
}
|
||||
|
||||
@ -2,4 +2,11 @@
|
||||
plugins {
|
||||
id("com.android.application") version "8.1.3" apply false
|
||||
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
|
||||
id("com.google.gms.google-services") version "4.3.15" apply false
|
||||
id ("com.google.firebase.crashlytics") version "2.9.2" apply false
|
||||
}
|
||||
buildscript{
|
||||
dependencies{
|
||||
classpath("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+")
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ pluginManagement {
|
||||
google()
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
maven { url = uri("https://artifacts.applovin.com/android") }
|
||||
}
|
||||
}
|
||||
dependencyResolutionManagement {
|
||||
@ -10,6 +11,8 @@ dependencyResolutionManagement {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
|
||||
maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user