Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
PrictureTranslate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bixing
PrictureTranslate
Commits
00ba1ba0
Commit
00ba1ba0
authored
Jan 30, 2024
by
xujialang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加入topon广告源,接入开屏和插屏广告
parent
11141f96
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
655 additions
and
259 deletions
+655
-259
gradle.xml
.idea/gradle.xml
+1
-1
misc.xml
.idea/misc.xml
+1
-1
build.gradle
app/build.gradle
+38
-1
AppOpenAdManager.java
...n/java/com/ads/cal/picturetranslate/AppOpenAdManager.java
+227
-227
PictureApplication.java
...java/com/ads/cal/picturetranslate/PictureApplication.java
+15
-11
TopOnAppOpenAdManager.java
...a/com/ads/cal/picturetranslate/TopOnAppOpenAdManager.java
+181
-0
TopOnItAdManager.java
...n/java/com/ads/cal/picturetranslate/TopOnItAdManager.java
+103
-0
TopOnManager.java
.../main/java/com/ads/cal/picturetranslate/TopOnManager.java
+48
-0
PictureTranslateListMainActivity.java
...etranslate/activity/PictureTranslateListMainActivity.java
+3
-0
PictureTranslateResultActivity.java
...uretranslate/activity/PictureTranslateResultActivity.java
+3
-0
PictureTranslateShowPhotoActivity.java
...translate/activity/PictureTranslateShowPhotoActivity.java
+1
-0
PictureTranslateStartActivity.java
...turetranslate/activity/PictureTranslateStartActivity.java
+8
-11
activity_start.xml
app/src/main/res/layout/activity_start.xml
+1
-0
build.gradle
build.gradle
+3
-7
settings.gradle
settings.gradle
+22
-0
No files found.
.idea/gradle.xml
View file @
00ba1ba0
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<option
name=
"testRunner"
value=
"GRADLE"
/>
<option
name=
"testRunner"
value=
"GRADLE"
/>
<option
name=
"distributionType"
value=
"DEFAULT_WRAPPED"
/>
<option
name=
"distributionType"
value=
"DEFAULT_WRAPPED"
/>
<option
name=
"externalProjectPath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"externalProjectPath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"gradleJvm"
value=
"17"
/>
<option
name=
"gradleJvm"
value=
"
jbr-
17"
/>
<option
name=
"modules"
>
<option
name=
"modules"
>
<set>
<set>
<option
value=
"$PROJECT_DIR$"
/>
<option
value=
"$PROJECT_DIR$"
/>
...
...
.idea/misc.xml
View file @
00ba1ba0
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ExternalStorageConfigurationManager"
enabled=
"true"
/>
<component
name=
"ExternalStorageConfigurationManager"
enabled=
"true"
/>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_17"
project-jdk-name=
"17"
project-jdk-type=
"JavaSDK"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_17"
project-jdk-name=
"
jbr-
17"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
</component>
</component>
<component
name=
"ProjectType"
>
<component
name=
"ProjectType"
>
...
...
app/build.gradle
View file @
00ba1ba0
...
@@ -103,9 +103,46 @@ dependencies {
...
@@ -103,9 +103,46 @@ dependencies {
// Add the dependency for the Analytics library
// Add the dependency for the Analytics library
// When using the BoM, you don't specify versions in Firebase library dependencies
// When using the BoM, you don't specify versions in Firebase library dependencies
// implementation("com.google.firebase:firebase-analytics")
// implementation("com.google.firebase:firebase-analytics")
implementation
'com.google.android.gms:play-services-ads:22.5.0'
//
implementation 'com.google.android.gms:play-services-ads:22.5.0'
implementation
'com.google.guava:guava:27.0.1-android'
implementation
'com.google.guava:guava:27.0.1-android'
//facebook
//facebook
implementation
'com.facebook.android:facebook-android-sdk:latest.release'
implementation
'com.facebook.android:facebook-android-sdk:latest.release'
//Androidx
api
"androidx.browser:browser:1.4.0"
api
"androidx.recyclerview:recyclerview:1.1.0"
//Anythink
api
"com.anythink.sdk:core:6.2.79"
api
"com.anythink.sdk:nativead:6.2.79"
api
"com.anythink.sdk:banner:6.2.79"
api
"com.anythink.sdk:interstitial:6.2.79"
api
"com.anythink.sdk:rewardedvideo:6.2.79"
api
"com.anythink.sdk:splash:6.2.79"
//Pangle
api
"com.anythink.sdk:adapter-pangle-nonchina:6.2.79"
api
"com.pangle.global:ads-sdk:5.5.0.4"
api
"com.google.android.gms:play-services-ads-identifier:18.0.1"
//AppLovin
api
"com.anythink.sdk:adapter-applovin:6.2.79"
api
"com.applovin:applovin-sdk:11.11.3"
//Mintegral
api
"com.anythink.sdk:adapter-mintegral-nonchina:6.2.79"
api
"com.mbridge.msdk.oversea:reward:16.5.21"
api
"com.mbridge.msdk.oversea:newinterstitial:16.5.21"
api
"com.mbridge.msdk.oversea:mbnative:16.5.21"
api
"com.mbridge.msdk.oversea:mbnativeadvanced:16.5.21"
api
"com.mbridge.msdk.oversea:mbsplash:16.5.21"
api
"com.mbridge.msdk.oversea:mbbanner:16.5.21"
api
"com.mbridge.msdk.oversea:mbbid:16.5.21"
//Vungle
api
"com.anythink.sdk:adapter-vungle:6.2.79"
api
"com.vungle:vungle-ads:7.0.0"
api
"com.google.android.gms:play-services-basement:18.1.0"
api
"com.google.android.gms:play-services-ads-identifier:18.0.1"
}
}
\ No newline at end of file
app/src/main/java/com/ads/cal/picturetranslate/AppOpenAdManager.java
View file @
00ba1ba0
This diff is collapsed.
Click to expand it.
app/src/main/java/com/ads/cal/picturetranslate/PictureApplication.java
View file @
00ba1ba0
...
@@ -12,9 +12,9 @@ import androidx.lifecycle.OnLifecycleEvent;
...
@@ -12,9 +12,9 @@ import androidx.lifecycle.OnLifecycleEvent;
import
androidx.lifecycle.ProcessLifecycleOwner
;
import
androidx.lifecycle.ProcessLifecycleOwner
;
import
com.ads.cal.picturetranslate.db.DataBaseManager
;
import
com.ads.cal.picturetranslate.db.DataBaseManager
;
import
com.google.android.gms.ads.MobileAds
;
//
import com.google.android.gms.ads.MobileAds;
import
com.google.android.gms.ads.initialization.InitializationStatus
;
//
import com.google.android.gms.ads.initialization.InitializationStatus;
import
com.google.android.gms.ads.initialization.OnInitializationCompleteListener
;
//
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public
class
PictureApplication
extends
Application
implements
Application
.
ActivityLifecycleCallbacks
,
LifecycleObserver
{
public
class
PictureApplication
extends
Application
implements
Application
.
ActivityLifecycleCallbacks
,
LifecycleObserver
{
...
@@ -26,23 +26,27 @@ public class PictureApplication extends Application implements Application.Activ
...
@@ -26,23 +26,27 @@ public class PictureApplication extends Application implements Application.Activ
super
.
onCreate
();
super
.
onCreate
();
this
.
registerActivityLifecycleCallbacks
(
this
);
this
.
registerActivityLifecycleCallbacks
(
this
);
application
=
this
;
application
=
this
;
MobileAds
.
initialize
(
this
,
new
OnInitializationCompleteListener
()
{
// MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
// @Override
public
void
onInitializationComplete
(
@NonNull
InitializationStatus
initializationStatus
)
{
// public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) {
LogUtils
.
d
(
"PictureApplication"
,
"initializationStatus "
+
initializationStatus
.
toString
());
// LogUtils.d("PictureApplication", "initializationStatus " + initializationStatus.toString());
}
// }
});
// });
ProcessLifecycleOwner
.
get
().
getLifecycle
().
addObserver
(
this
);
ProcessLifecycleOwner
.
get
().
getLifecycle
().
addObserver
(
this
);
new
Thread
(()
->
{
new
Thread
(()
->
{
PictureTranslateUtils
.
init
();
PictureTranslateUtils
.
init
();
});
});
initDB
();
initDB
();
TopOnManager
.
get
().
initSDK
(
this
);
}
}
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_START
)
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_START
)
protected
void
onMoveToForeground
()
{
protected
void
onMoveToForeground
()
{
// Show the ad (if available) when the app moves to foreground.
// Show the ad (if available) when the app moves to foreground.
AppOpenAdManager
.
getInstance
().
showAdIfAvailable
(
currentActivity
);
// TopOn
AppOpenAdManager.getInstance().showAdIfAvailable(currentActivity);
}
}
...
@@ -68,7 +72,7 @@ public class PictureApplication extends Application implements Application.Activ
...
@@ -68,7 +72,7 @@ public class PictureApplication extends Application implements Application.Activ
@Override
@Override
public
void
onActivityStarted
(
@NonNull
Activity
activity
)
{
public
void
onActivityStarted
(
@NonNull
Activity
activity
)
{
if
(!
AppOpenAdManager
.
getInstance
().
isShowingAd
())
{
if
(!
TopOn
AppOpenAdManager
.
getInstance
().
isShowingAd
())
{
currentActivity
=
activity
;
currentActivity
=
activity
;
}
}
}
}
...
...
app/src/main/java/com/ads/cal/picturetranslate/TopOnAppOpenAdManager.java
0 → 100644
View file @
00ba1ba0
package
com
.
ads
.
cal
.
picturetranslate
;
import
android.app.Activity
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
com.anythink.core.api.ATAdInfo
;
import
com.anythink.splashad.api.ATSplashAd
;
import
com.anythink.splashad.api.ATSplashAdExtraInfo
;
import
com.anythink.splashad.api.ATSplashAdListener
;
import
java.util.Date
;
public
class
TopOnAppOpenAdManager
{
//
private
static
final
String
LOG_TAG
=
"TopOnAppOpenAdManager"
;
private
static
final
String
AD_UNIT_ID
=
"b1f138leh1o4gp"
;
private
ATSplashAd
appOpenAd
=
null
;
private
boolean
isLoadingAd
=
false
;
private
boolean
isShowingAd
=
false
;
private
OnLoadAdCompleteListener
onLoadAdCompleteListener
;
private
OnShowAdCompleteListener
onShowAdCompleteListener
;
public
boolean
isShowingAd
()
{
return
isShowingAd
;
}
/**
* Keep track of the time an app open ad is loaded to ensure you don't show an expired ad.
*/
private
long
loadTime
=
0
;
/**
* Constructor.
*/
public
TopOnAppOpenAdManager
()
{
}
private
static
final
class
AppOpenAdManagerHolder
{
static
final
TopOnAppOpenAdManager
appOpenAdManager
=
new
TopOnAppOpenAdManager
();
}
public
static
TopOnAppOpenAdManager
getInstance
()
{
return
AppOpenAdManagerHolder
.
appOpenAdManager
;
}
/**
* Load an ad.
*/
public
void
loadAd
()
{
// Do not load ad if there is an unused ad or one is already loading.
if
(
isLoadingAd
||
isAdAvailable
())
{
return
;
}
isLoadingAd
=
true
;
appOpenAd
=
new
ATSplashAd
(
PictureApplication
.
getApplication
(),
AD_UNIT_ID
,
null
);
appOpenAd
.
setAdListener
(
new
ATSplashAdListener
()
{
@Override
public
void
onAdLoaded
(
boolean
b
)
{
LogUtils
.
d
(
LOG_TAG
,
"onAdLoaded."
);
isLoadingAd
=
false
;
loadTime
=
(
new
Date
()).
getTime
();
if
(
null
!=
onLoadAdCompleteListener
)
{
onLoadAdCompleteListener
.
onLoadAdComplete
();
onLoadAdCompleteListener
=
null
;
}
}
@Override
public
void
onAdLoadTimeout
()
{
isLoadingAd
=
false
;
if
(
null
!=
onLoadAdCompleteListener
)
{
onLoadAdCompleteListener
.
onLoadAdFailed
(
"time out"
);
onLoadAdCompleteListener
=
null
;
}
LogUtils
.
d
(
LOG_TAG
,
"onAdFailedToLoad: time out"
);
}
@Override
public
void
onNoAdError
(
com
.
anythink
.
core
.
api
.
AdError
adError
)
{
isLoadingAd
=
false
;
if
(
null
!=
onLoadAdCompleteListener
)
{
onLoadAdCompleteListener
.
onLoadAdFailed
(
adError
.
getPlatformMSG
());
onLoadAdCompleteListener
=
null
;
}
LogUtils
.
d
(
LOG_TAG
,
"onAdFailedToLoad: "
+
adError
.
getPlatformMSG
());
}
@Override
public
void
onAdShow
(
ATAdInfo
atAdInfo
)
{
}
@Override
public
void
onAdClick
(
ATAdInfo
atAdInfo
)
{
}
@Override
public
void
onAdDismiss
(
ATAdInfo
atAdInfo
,
ATSplashAdExtraInfo
atSplashAdExtraInfo
)
{
appOpenAd
=
null
;
isShowingAd
=
false
;
LogUtils
.
d
(
LOG_TAG
,
"onAdDismissedFullScreenContent."
);
if
(
null
!=
onShowAdCompleteListener
)
{
onShowAdCompleteListener
.
onShowAdComplete
();
onShowAdCompleteListener
=
null
;
}
loadAd
();
}
});
appOpenAd
.
loadAd
();
}
/**
* Check if ad was loaded more than n hours ago.
*/
private
boolean
wasLoadTimeLessThanNHoursAgo
(
long
numHours
)
{
long
dateDifference
=
(
new
Date
()).
getTime
()
-
loadTime
;
long
numMilliSecondsPerHour
=
3600000
;
return
(
dateDifference
<
(
numMilliSecondsPerHour
*
numHours
));
}
/**
* Check if ad exists and can be shown.
*/
public
boolean
isAdAvailable
()
{
return
appOpenAd
!=
null
&&
wasLoadTimeLessThanNHoursAgo
(
4
);
}
/**
* Show the ad if one isn't already showing.
*
* @param activity the activity that shows the app open ad
*/
public
boolean
showAdIfAvailable
(
@NonNull
Activity
activity
,
@NonNull
ViewGroup
viewGroup
)
{
if
(
isShowingAd
)
{
LogUtils
.
d
(
LOG_TAG
,
"The app open ad is already showing."
);
return
false
;
}
if
(!
isAdAvailable
())
{
LogUtils
.
d
(
LOG_TAG
,
"The app open ad is not ready yet."
);
loadAd
();
return
false
;
}
LogUtils
.
d
(
LOG_TAG
,
"Will show ad."
);
isShowingAd
=
true
;
appOpenAd
.
show
(
activity
,
viewGroup
);
return
true
;
}
public
interface
OnShowAdCompleteListener
{
void
onShowAdComplete
();
void
onShowAdFailed
(
String
errorMsg
);
}
public
interface
OnLoadAdCompleteListener
{
void
onLoadAdComplete
();
void
onLoadAdFailed
(
String
errorMsg
);
}
public
void
setOnLoadAdCompleteListener
(
OnLoadAdCompleteListener
onLoadAdCompleteListener
)
{
this
.
onLoadAdCompleteListener
=
onLoadAdCompleteListener
;
}
public
void
setOnShowAdCompleteListener
(
OnShowAdCompleteListener
onShowAdCompleteListener
)
{
this
.
onShowAdCompleteListener
=
onShowAdCompleteListener
;
}
}
app/src/main/java/com/ads/cal/picturetranslate/TopOnItAdManager.java
0 → 100644
View file @
00ba1ba0
package
com
.
ads
.
cal
.
picturetranslate
;
import
android.app.Activity
;
import
com.anythink.core.api.ATAdInfo
;
import
com.anythink.core.api.AdError
;
import
com.anythink.interstitial.api.ATInterstitial
;
import
com.anythink.interstitial.api.ATInterstitialListener
;
public
class
TopOnItAdManager
{
private
static
final
String
IT_AD_UNIT_ID
=
"b6509805ed0208"
;
private
static
ATInterstitial
itAd
=
null
;
private
static
OnItAdListener
listener
=
null
;
public
static
void
loadItAd
()
{
if
(
itAd
!=
null
)
{
itAd
.
load
();
return
;
}
itAd
=
new
ATInterstitial
(
PictureApplication
.
getApplication
(),
IT_AD_UNIT_ID
);
itAd
.
setAdListener
(
new
ATInterstitialListener
()
{
@Override
public
void
onInterstitialAdLoaded
()
{
}
@Override
public
void
onInterstitialAdLoadFail
(
AdError
adError
)
{
}
@Override
public
void
onInterstitialAdClicked
(
ATAdInfo
atAdInfo
)
{
}
@Override
public
void
onInterstitialAdShow
(
ATAdInfo
atAdInfo
)
{
if
(
listener
!=
null
)
{
listener
.
onShow
();
}
}
@Override
public
void
onInterstitialAdClose
(
ATAdInfo
atAdInfo
)
{
if
(
listener
!=
null
)
{
listener
.
onClose
();
}
loadItAd
();
}
@Override
public
void
onInterstitialAdVideoStart
(
ATAdInfo
atAdInfo
)
{
}
@Override
public
void
onInterstitialAdVideoEnd
(
ATAdInfo
atAdInfo
)
{
}
@Override
public
void
onInterstitialAdVideoError
(
AdError
adError
)
{
if
(
listener
!=
null
)
{
listener
.
onFail
(
adError
.
getPlatformMSG
());
}
loadItAd
();
}
});
itAd
.
load
();
}
public
static
void
showItAd
(
Activity
activity
,
OnItAdListener
listener
)
{
LogUtils
.
d
(
"anythink showItAd"
);
if
(
itAd
==
null
)
{
loadItAd
();
if
(
listener
!=
null
)
{
listener
.
onFail
(
"it ad is null"
);
}
return
;
}
if
(!
itAd
.
isAdReady
())
{
loadItAd
();
if
(
listener
!=
null
)
{
listener
.
onFail
(
"it ad is not ready"
);
}
return
;
}
itAd
.
show
(
activity
);
}
interface
OnItAdListener
{
void
onShow
();
void
onClose
();
void
onFail
(
String
reason
);
}
}
app/src/main/java/com/ads/cal/picturetranslate/TopOnManager.java
0 → 100644
View file @
00ba1ba0
package
com
.
ads
.
cal
.
picturetranslate
;
import
android.content.Context
;
import
com.anythink.core.api.ATSDK
;
public
class
TopOnManager
{
private
TopOnManager
()
{
}
private
static
class
Holder
{
private
static
final
TopOnManager
INSTANCE
=
new
TopOnManager
();
}
public
static
TopOnManager
get
()
{
return
Holder
.
INSTANCE
;
}
public
static
final
String
TOPON_APP_ID
=
"a6501757a165c4"
;
// Field from default config.
public
static
final
String
TOPON_APP_KEY
=
"a53892abacdd1aebf0ea1d927ab0f0d88"
;
public
void
initSDK
(
Context
context
)
{
//SDK日志功能,集成测试阶段建议开启,上线前必须关闭
// ATSDK.setNetworkLogDebug(true);
// //检查广告平台的集成状态,提交审核时需注释此API
// ATSDK.integrationChecking(context);
//
// ATSDK.setDebuggerConfig(
// context,
// "596795a7-b851-4514-bd7e-8561d641a968",
// new ATDebuggerConfig.Builder(Pangle_NETWORK).build());
ATSDK
.
init
(
context
,
TOPON_APP_ID
,
TOPON_APP_KEY
);
//SDK版本
LogUtils
.
d
(
"TopOn SDK version: "
+
ATSDK
.
getSDKVersionName
());
//(v5.7.77新增) 打印当前设备的设备信息(IMEI、OAID、GAID、AndroidID等)
// ATSDK.testModeDeviceInfo(context, new DeviceInfoCallback() {
// @Override
// public void deviceInfo(String deviceInfo) {
// Log.i(TAG, "deviceInfo: " + deviceInfo);
// }
// });
}
}
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateListMainActivity.java
View file @
00ba1ba0
...
@@ -35,6 +35,7 @@ import com.ads.cal.picturetranslate.PictureApplication;
...
@@ -35,6 +35,7 @@ import com.ads.cal.picturetranslate.PictureApplication;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.SharedPreferencesUtil
;
import
com.ads.cal.picturetranslate.SharedPreferencesUtil
;
import
com.ads.cal.picturetranslate.ThreadUtils
;
import
com.ads.cal.picturetranslate.ThreadUtils
;
import
com.ads.cal.picturetranslate.TopOnItAdManager
;
import
com.ads.cal.picturetranslate.adapter.PictureTranslateListAdapter
;
import
com.ads.cal.picturetranslate.adapter.PictureTranslateListAdapter
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
...
@@ -75,6 +76,8 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
...
@@ -75,6 +76,8 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
initData
();
initData
();
requestData
();
requestData
();
EventBus
.
getDefault
().
register
(
this
);
EventBus
.
getDefault
().
register
(
this
);
TopOnItAdManager
.
loadItAd
();
}
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateResultActivity.java
View file @
00ba1ba0
...
@@ -41,6 +41,7 @@ import com.ads.cal.picturetranslate.PictureApplication;
...
@@ -41,6 +41,7 @@ import com.ads.cal.picturetranslate.PictureApplication;
import
com.ads.cal.picturetranslate.PictureTranslateUtils
;
import
com.ads.cal.picturetranslate.PictureTranslateUtils
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.ThreadUtils
;
import
com.ads.cal.picturetranslate.ThreadUtils
;
import
com.ads.cal.picturetranslate.TopOnItAdManager
;
import
com.ads.cal.picturetranslate.Util
;
import
com.ads.cal.picturetranslate.Util
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
...
@@ -71,6 +72,8 @@ public class PictureTranslateResultActivity extends BaseActivity {
...
@@ -71,6 +72,8 @@ public class PictureTranslateResultActivity extends BaseActivity {
setContentView
(
R
.
layout
.
activity_picture_translate_result
);
setContentView
(
R
.
layout
.
activity_picture_translate_result
);
initView
();
initView
();
initData
();
initData
();
TopOnItAdManager
.
showItAd
(
this
,
null
);
}
}
private
void
initView
()
{
private
void
initView
()
{
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateShowPhotoActivity.java
View file @
00ba1ba0
...
@@ -24,6 +24,7 @@ import com.ads.cal.picturetranslate.MessageEvent;
...
@@ -24,6 +24,7 @@ import com.ads.cal.picturetranslate.MessageEvent;
import
com.ads.cal.picturetranslate.PictureApplication
;
import
com.ads.cal.picturetranslate.PictureApplication
;
import
com.ads.cal.picturetranslate.PictureTranslateUtils
;
import
com.ads.cal.picturetranslate.PictureTranslateUtils
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.TopOnItAdManager
;
import
com.ads.cal.picturetranslate.Util
;
import
com.ads.cal.picturetranslate.Util
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateStartActivity.java
View file @
00ba1ba0
...
@@ -22,16 +22,13 @@ import androidx.camera.core.ExperimentalGetImage;
...
@@ -22,16 +22,13 @@ import androidx.camera.core.ExperimentalGetImage;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.viewpager.widget.ViewPager
;
import
com.ads.cal.picturetranslate.AppOpenAdManager
;
import
com.ads.cal.picturetranslate.PictureTranslateUtils
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.R
;
import
com.ads.cal.picturetranslate.SharedPreferencesUtil
;
import
com.ads.cal.picturetranslate.SharedPreferencesUtil
;
import
com.ads.cal.picturetranslate.TopOnAppOpenAdManager
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
com.ads.cal.picturetranslate.base.BaseActivity
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.lang.ref.WeakReference
;
import
java.lang.ref.WeakReference
;
import
java.util.Timer
;
import
java.util.TimerTask
;
import
pl.droidsonroids.gif.GifDrawable
;
import
pl.droidsonroids.gif.GifDrawable
;
import
pl.droidsonroids.gif.GifImageView
;
import
pl.droidsonroids.gif.GifImageView
;
...
@@ -79,7 +76,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
...
@@ -79,7 +76,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
playBanner
();
playBanner
();
}
}
if
(
AppOpenAdManager
.
getInstance
().
isAdAvailable
())
{
if
(
TopOn
AppOpenAdManager
.
getInstance
().
isAdAvailable
())
{
showOpenAd
();
showOpenAd
();
}
else
{
}
else
{
loadOpenAd
();
loadOpenAd
();
...
@@ -88,7 +85,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
...
@@ -88,7 +85,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
private
void
showOpenAd
()
{
private
void
showOpenAd
()
{
handler
.
removeCallbacksAndMessages
(
null
);
handler
.
removeCallbacksAndMessages
(
null
);
AppOpenAdManager
.
getInstance
().
setOnShowAdCompleteListener
(
new
AppOpenAdManager
.
OnShowAdCompleteListener
()
{
TopOnAppOpenAdManager
.
getInstance
().
setOnShowAdCompleteListener
(
new
TopOn
AppOpenAdManager
.
OnShowAdCompleteListener
()
{
@Override
@Override
public
void
onShowAdComplete
()
{
public
void
onShowAdComplete
()
{
PictureTranslateListMainActivity
.
PictureTranslateListMainActivityStart
(
PictureTranslateStartActivity
.
this
);
PictureTranslateListMainActivity
.
PictureTranslateListMainActivityStart
(
PictureTranslateStartActivity
.
this
);
...
@@ -102,11 +99,11 @@ public class PictureTranslateStartActivity extends BaseActivity {
...
@@ -102,11 +99,11 @@ public class PictureTranslateStartActivity extends BaseActivity {
}
}
});
});
AppOpenAdManager
.
getInstance
().
showAdIfAvailable
(
this
);
TopOnAppOpenAdManager
.
getInstance
().
showAdIfAvailable
(
this
,
findViewById
(
R
.
id
.
root_view
)
);
}
}
private
void
loadOpenAd
()
{
private
void
loadOpenAd
()
{
AppOpenAdManager
.
getInstance
().
setOnLoadAdCompleteListener
(
new
AppOpenAdManager
.
OnLoadAdCompleteListener
()
{
TopOnAppOpenAdManager
.
getInstance
().
setOnLoadAdCompleteListener
(
new
TopOn
AppOpenAdManager
.
OnLoadAdCompleteListener
()
{
@Override
@Override
public
void
onLoadAdComplete
()
{
public
void
onLoadAdComplete
()
{
showOpenAd
();
showOpenAd
();
...
@@ -117,7 +114,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
...
@@ -117,7 +114,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
}
}
});
});
AppOpenAdManager
.
getInstance
().
loadAd
();
TopOn
AppOpenAdManager
.
getInstance
().
loadAd
();
}
}
public
void
setProgressBarProgress
(
int
i
)
{
public
void
setProgressBarProgress
(
int
i
)
{
...
@@ -134,8 +131,8 @@ public class PictureTranslateStartActivity extends BaseActivity {
...
@@ -134,8 +131,8 @@ public class PictureTranslateStartActivity extends BaseActivity {
@Override
@Override
protected
void
onDestroy
()
{
protected
void
onDestroy
()
{
AppOpenAdManager
.
getInstance
().
setOnShowAdCompleteListener
(
null
);
TopOn
AppOpenAdManager
.
getInstance
().
setOnShowAdCompleteListener
(
null
);
AppOpenAdManager
.
getInstance
().
setOnLoadAdCompleteListener
(
null
);
TopOn
AppOpenAdManager
.
getInstance
().
setOnLoadAdCompleteListener
(
null
);
super
.
onDestroy
();
super
.
onDestroy
();
if
(
handler
!=
null
)
{
if
(
handler
!=
null
)
{
handler
.
removeCallbacksAndMessages
(
null
);
handler
.
removeCallbacksAndMessages
(
null
);
...
...
app/src/main/res/layout/activity_start.xml
View file @
00ba1ba0
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:id=
"@+id/root_view"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<pl.droidsonroids.gif.GifImageView
<pl.droidsonroids.gif.GifImageView
...
...
build.gradle
View file @
00ba1ba0
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript
{
buildscript
{
repositories
{
repositories
{
mavenCentral
()
mavenCentral
()
mavenLocal
()
mavenLocal
()
google
()
google
()
}
}
dependencies
{
dependencies
{
classpath
'com.android.tools.build:gradle:7.4.2'
classpath
'com.android.tools.build:gradle:7.4.2'
classpath
'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
classpath
'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
}
}
...
@@ -23,4 +18,5 @@ plugins {
...
@@ -23,4 +18,5 @@ plugins {
task
clean
(
type:
Delete
)
{
task
clean
(
type:
Delete
)
{
delete
rootProject
.
buildDir
delete
rootProject
.
buildDir
}
}
\ No newline at end of file
settings.gradle
View file @
00ba1ba0
...
@@ -3,6 +3,17 @@ pluginManagement {
...
@@ -3,6 +3,17 @@ pluginManagement {
google
()
google
()
mavenCentral
()
mavenCentral
()
gradlePluginPortal
()
gradlePluginPortal
()
maven
{
url
"https://jfrog.anythinktech.com/artifactory/overseas_sdk"
}
//applovin
maven
{
url
'https://artifacts.applovin.com/android'
}
//Pangle
maven
{
url
"https://artifact.bytedance.com/repository/pangle"
}
//Mintegral
maven
{
url
"https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
}
}
}
}
}
dependencyResolutionManagement
{
dependencyResolutionManagement
{
...
@@ -11,6 +22,17 @@ dependencyResolutionManagement {
...
@@ -11,6 +22,17 @@ dependencyResolutionManagement {
google
()
google
()
mavenCentral
()
mavenCentral
()
gradlePluginPortal
()
gradlePluginPortal
()
maven
{
url
"https://jfrog.anythinktech.com/artifactory/overseas_sdk"
}
//applovin
maven
{
url
'https://artifacts.applovin.com/android'
}
//Pangle
maven
{
url
"https://artifact.bytedance.com/repository/pangle"
}
//Mintegral
maven
{
url
"https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
}
}
}
}
}
rootProject
.
name
=
"PictureTranslate"
rootProject
.
name
=
"PictureTranslate"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment