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
dc43ebc1
Commit
dc43ebc1
authored
Jun 19, 2025
by
bixing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
ae63e625
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
544 additions
and
16 deletions
+544
-16
build.gradle
app/build.gradle
+5
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+4
-0
PictureTranslateListMainActivity.java
...etranslate/activity/PictureTranslateListMainActivity.java
+521
-4
build.gradle
media_app/build.gradle
+6
-2
AndroidManifest.xml
media_app/src/main/AndroidManifest.xml
+4
-1
PictureTranslateResultActivity.java
...uretranslate/activity/PictureTranslateResultActivity.java
+1
-0
InitA.java
media_app/src/main/java/com/gem/media/InitA.java
+3
-8
No files found.
app/build.gradle
View file @
dc43ebc1
...
...
@@ -56,7 +56,7 @@ android {
applicationId
"com.ads.cal.picturetranslate"
versionName
"1.0.0.0"
signingConfig
signingConfigs
.
toolsTest
manifestPlaceholders
=
[
signature:
"04ced0bb5c9f0b2adf2f27dd57538cc8"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
manifestPlaceholders
=
[
google_ad_app_id:
"ca-app-pub-9356757350640102~6934070860"
,
signature:
"04ced0bb5c9f0b2adf2f27dd57538cc8"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
}
}
}
...
...
@@ -164,6 +164,10 @@ dependencies {
api
"com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.11"
api
"androidx.recyclerview:recyclerview:1.1.0"
//Admob
api
"com.anythink.sdk:adapter-admob:6.4.69.2"
api
"com.google.android.gms:play-services-ads:24.0.0"
//Tramini
api
"com.anythink.sdk:tramini-plugin:6.4.69"
...
...
app/src/main/AndroidManifest.xml
View file @
dc43ebc1
...
...
@@ -39,6 +39,9 @@
<meta-data
android:name=
"com.google.mlkit.vision.DEPENDENCIES"
android:value=
"ocr,ocr_chinese,ocr_devanagari,ocr_japanese,ocr_korean"
/>
<meta-data
android:name=
"com.google.android.gms.ads.APPLICATION_ID"
android:value=
"${google_ad_app_id}"
/>
<activity
android:name=
"com.ads.cal.picturetranslate.activity.PictureTranslateStartActivity"
...
...
@@ -62,6 +65,7 @@
<activity
android:name=
"com.ads.cal.picturetranslate.activity.PictureTranslateListMainActivity"
android:exported=
"true"
android:windowSoftInputMode=
"adjustResize"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
/>
<activity
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateListMainActivity.java
View file @
dc43ebc1
...
...
@@ -5,13 +5,20 @@ import static com.ads.cal.picturetranslate.SharedPreferencesUtil.KEY_FIRST_CLK_T
import
android.Manifest
;
import
android.animation.AnimatorSet
;
import
android.animation.ObjectAnimator
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.os.Messenger
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.KeyEvent
;
import
android.view.View
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.animation.AccelerateInterpolator
;
import
android.view.animation.DecelerateInterpolator
;
import
android.widget.FrameLayout
;
...
...
@@ -41,18 +48,38 @@ import com.ads.cal.picturetranslate.base.BaseActivity;
import
com.ads.cal.picturetranslate.bean.PictureTranslateBean
;
import
com.ads.cal.picturetranslate.fragment.DeleteFragment
;
import
com.ads.cal.picturetranslate.fragment.SettingFragment
;
import
com.android.gem.core.Event
;
import
com.android.gem.core.Node
;
import
com.gem.media.InitA
;
import
com.gem.media.PViewManager
;
import
com.gem.media.StatsStaticHelper
;
import
com.gem.media.ad.AdData
;
import
com.gem.media.ad.CpAdData
;
import
com.gem.media.ad.InterstitialAdManager
;
import
com.gem.media.ad.OpenAdManager
;
import
com.gem.media.splash.base.AdUtils
;
import
com.gem.media.splash.base.protocol.AdCallback
;
import
com.gem.media.splash.base.protocol.AdLoadedCallback
;
import
com.gem.media.splash.base.protocol.Constants
;
import
com.gem.media.splash.base.utils.ALog
;
import
com.gem.media.splash.base.utils.PkgUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
import
org.greenrobot.eventbus.ThreadMode
;
import
org.json.JSONObject
;
import
java.lang.ref.WeakReference
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Random
;
@ExperimentalGetImage
public
class
PictureTranslateListMainActivity
extends
BaseActivity
implements
ActivityCompat
.
OnRequestPermissionsResultCallback
{
private
static
final
String
TAG
=
"PictureTranslateListMainActivity"
;
private
static
final
int
REQUEST_CODE_PERMISSIONS
=
1
;
private
static
final
int
PICK_IMAGE_REQUEST
=
2
;
...
...
@@ -80,6 +107,500 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
TopOnItAdManager
.
loadItAd
();
}
private
String
cvPkg
;
private
Messenger
messenger
;
private
boolean
isResume
=
false
;
private
boolean
isFinished
=
false
;
private
Node
node
;
private
boolean
forceStart
=
false
;
private
long
splashWindowViewCloseTime
=
-
1L
;
private
boolean
showSplashWindow
;
private
String
chapinAdId
;
private
String
kaipinAdId
;
private
FrameLayout
frameLayout
;
private
OpenAdCallBack
openAdCallBack
;
private
InterstitialAdCallback
interstitialAdCallback
;
private
void
init
()
{
PViewManager
.
getInstance
().
showOrRemoveWindow
();
Window
window
=
getWindow
();
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_SECURE
);
setContentView
(
R
.
layout
.
splash_layout
);
frameLayout
=
findViewById
(
R
.
id
.
ad_content
);
try
{
initAdCallBack
();
initSource
();
statPageShow
();
initAdLoadedCallBack
();
if
(
OpenAdManager
.
getInstance
().
hasCache
()
&&
InterstitialAdManager
.
getInstance
().
hasCache
())
{
cancelAdLoadedCallback
();
ALog
.
w
(
TAG
,
" Open Interstitial ad has cache "
);
Random
random
=
new
Random
();
int
randomInRange
=
random
.
nextInt
(
2
);
if
(
randomInRange
==
0
)
{
OpenAdManager
.
getInstance
().
showAd
(
this
,
frameLayout
);
report
(
Constants
.
NODE_CACHE
,
"open"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"open"
);
}
else
{
InterstitialAdManager
.
getInstance
().
showAd
(
this
);
report
(
Constants
.
NODE_CACHE
,
"interstitial"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"interstitial"
);
}
}
else
{
if
(
OpenAdManager
.
getInstance
().
hasCache
())
{
cancelAdLoadedCallback
();
ALog
.
w
(
TAG
,
" Open ad has cache "
);
OpenAdManager
.
getInstance
().
showAd
(
this
,
frameLayout
);
report
(
Constants
.
NODE_CACHE
,
"open"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"open"
);
}
else
if
(
InterstitialAdManager
.
getInstance
().
hasCache
())
{
cancelAdLoadedCallback
();
ALog
.
w
(
TAG
,
" Interstitial ad has cache "
);
InterstitialAdManager
.
getInstance
().
showAd
(
this
);
report
(
Constants
.
NODE_CACHE
,
"interstitial"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"interstitial"
);
}
else
{
boolean
isShow
=
false
;
ALog
.
w
(
TAG
,
" Open Interstitial ad load "
);
if
(!
TextUtils
.
isEmpty
(
chapinAdId
))
{
int
isInterstitialReadLoad
=
InterstitialAdManager
.
getInstance
().
loadAd
(
chapinAdId
);
if
(
isInterstitialReadLoad
>
0
)
{
report
(
Constants
.
NODE_REQUEST_EID
,
"interstitial type = "
+
isInterstitialReadLoad
);
}
else
if
(
isInterstitialReadLoad
<
0
){
if
(
isInterstitialReadLoad
==
-
7
)
{
report
(
Constants
.
NODE_REQUEST_LOADING
,
"interstitial type = "
+
isInterstitialReadLoad
);
}
else
if
(
isInterstitialReadLoad
!=
-
8
)
{
report
(
Constants
.
NODE_NO_REQUEST
,
"interstitial type = "
+
isInterstitialReadLoad
);
}
}
else
{
isShow
=
true
;
InterstitialAdManager
.
getInstance
().
showAd
(
this
);
report
(
Constants
.
NODE_CACHE
,
"interstitial"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"interstitial"
);
}
}
else
{
StatsStaticHelper
.
onEvent
(
"c_r"
,
"interstitial"
);
}
if
(!
TextUtils
.
isEmpty
(
kaipinAdId
))
{
int
isOpenReadLoad
=
OpenAdManager
.
getInstance
().
loadAd
(
kaipinAdId
);
if
(
isOpenReadLoad
>
0
)
{
report
(
Constants
.
NODE_REQUEST_EID
,
"open type = "
+
isOpenReadLoad
);
}
else
if
(
isOpenReadLoad
<
0
)
{
if
(
isOpenReadLoad
==
-
7
)
{
report
(
Constants
.
NODE_REQUEST_LOADING
,
"open type = "
+
isOpenReadLoad
);
}
else
if
(
isOpenReadLoad
!=
-
8
)
{
report
(
Constants
.
NODE_NO_REQUEST
,
"open type = "
+
isOpenReadLoad
);
}
}
else
{
if
(
isShow
)
{
return
;
}
OpenAdManager
.
getInstance
().
showAd
(
this
,
frameLayout
);
report
(
Constants
.
NODE_CACHE
,
"open"
);
StatsStaticHelper
.
onEvent
(
Constants
.
NODE_CACHE
,
"open"
);
}
}
else
{
StatsStaticHelper
.
onEvent
(
"c_r"
,
"open"
);
}
}
}
}
catch
(
Throwable
throwable
)
{
ALog
.
e
(
TAG
,
"onCreate throwable "
+
Log
.
getStackTraceString
(
throwable
));
}
finally
{
if
(!
showSplashWindow
)
{
finish
();
}
}
ALog
.
d
(
TAG
,
"onCreate"
);
}
private
void
report
(
String
type
,
String
reason
)
{
Event
event
=
new
Event
();
event
.
type
=
type
;
event
.
reason
=
reason
;
addNodeEvent
(
event
);
}
private
void
initAdCallBack
()
{
if
(
null
==
interstitialAdCallback
)
{
interstitialAdCallback
=
new
InterstitialAdCallback
(
this
);
}
InterstitialAdManager
.
getInstance
().
setAdCallback
(
interstitialAdCallback
);
if
(
null
==
openAdCallBack
)
{
openAdCallBack
=
new
OpenAdCallBack
(
this
);
}
OpenAdManager
.
getInstance
().
setAdCallback
(
openAdCallBack
);
}
private
OpenAdLoadCallback
openAdLoadCallback
;
private
InterstitialAdLoadCallback
interstitialAdLoadCallback
;
private
void
initAdLoadedCallBack
()
{
if
(
interstitialAdLoadCallback
==
null
)
{
interstitialAdLoadCallback
=
new
InterstitialAdLoadCallback
(
this
);
}
InterstitialAdManager
.
getInstance
().
setAdLoadedCallback
(
interstitialAdLoadCallback
);
if
(
openAdLoadCallback
==
null
)
{
openAdLoadCallback
=
new
OpenAdLoadCallback
(
this
,
frameLayout
);
}
OpenAdManager
.
getInstance
().
setAdLoadedCallback
(
openAdLoadCallback
);
}
private
void
cancelAdLoadedCallback
()
{
OpenAdManager
.
getInstance
().
clearAdLoadedCallback
();
InterstitialAdManager
.
getInstance
().
clearAdLoadedCallback
();
}
private
void
statPageShow
()
{
Event
event
=
new
Event
();
event
.
type
=
Constants
.
NODE_PAGE_SHOW
;
event
.
reason
=
getPackageName
();
addNodeEvent
(
event
);
}
@Override
protected
void
onResume
()
{
ALog
.
w
(
TAG
,
"onResume"
);
super
.
onResume
();
isResume
=
true
;
ALog
.
d
(
TAG
,
"onResume"
);
}
@Override
protected
void
onPause
()
{
isResume
=
false
;
super
.
onPause
();
ALog
.
d
(
TAG
,
"onPause"
);
}
@Override
protected
void
onStop
()
{
if
(!
isFinished
)
{
forceStart
=
true
;
finish
();
}
ALog
.
d
(
TAG
,
"onStop"
);
super
.
onStop
();
}
private
void
initSource
()
{
Intent
intent
=
getIntent
();
if
(
intent
==
null
)
{
finish
();
return
;
}
cvPkg
=
intent
.
getStringExtra
(
"cv_pkg"
);
messenger
=
intent
.
getParcelableExtra
(
"messenger"
);
node
=
intent
.
getParcelableExtra
(
"node"
);
showSplashWindow
=
intent
.
getBooleanExtra
(
"showSplashWindow"
,
false
);
splashWindowViewCloseTime
=
intent
.
getLongExtra
(
"close_time"
,
-
1L
);
String
cpId
=
intent
.
getStringExtra
(
"cpid"
);
String
adAppId_channelId
=
intent
.
getStringExtra
(
"appid"
);
String
appKey
=
intent
.
getStringExtra
(
"appKey"
);
ALog
.
w
(
TAG
,
"initSource cpId = "
+
cpId
+
" adAppId_channelId = "
+
adAppId_channelId
+
" chapinAdId ="
+
chapinAdId
);
AdUtils
.
getInstance
().
setOutTime
(
splashWindowViewCloseTime
);
if
(!
TextUtils
.
isEmpty
(
cpId
))
{
AdData
adData
=
CpAdData
.
getInstance
().
getAdData
(
cpId
);
if
(
adData
==
null
)
{
adData
=
new
AdData
();
}
if
(!
TextUtils
.
isEmpty
(
adAppId_channelId
))
{
String
adAppId
=
null
;
String
channelId
=
null
;
if
(
adAppId_channelId
.
contains
(
"_"
))
{
String
[]
s
=
adAppId_channelId
.
split
(
"_"
);
if
(
s
.
length
>
0
)
{
adAppId
=
s
[
0
];
}
if
(
s
.
length
>
1
)
{
channelId
=
s
[
1
];
}
}
else
{
adAppId
=
adAppId_channelId
;
}
if
(
TextUtils
.
isEmpty
(
adAppId
))
{
return
;
}
InitA
.
getInstance
().
initMediaApp
(
channelId
,
this
);
if
(
CpAdData
.
CP_TOPON
.
equals
(
cpId
))
{
CpAdData
.
initTopOnAdSdk
(
adAppId
,
appKey
,
channelId
);
kaipinAdId
=
intent
.
getStringExtra
(
AdData
.
AD_TYPE_OPEN
);
ALog
.
w
(
TAG
,
"AD_TYPE_OPEN "
+
adAppId_channelId
+
" "
+
kaipinAdId
);
if
(!
TextUtils
.
isEmpty
(
kaipinAdId
))
{
adData
.
setAdType
(
AdData
.
AD_TYPE_OPEN
);
adData
.
setAppId
(
adAppId
);
adData
.
addData
(
AdData
.
AD_TYPE_OPEN
,
kaipinAdId
);
}
chapinAdId
=
intent
.
getStringExtra
(
AdData
.
AD_TYPE_INTERSTITIAL
);
ALog
.
w
(
TAG
,
"AD_TYPE_INTERSTITIAL "
+
adAppId_channelId
+
" "
+
chapinAdId
);
if
(!
TextUtils
.
isEmpty
(
chapinAdId
))
{
adData
.
setAdType
(
AdData
.
AD_TYPE_INTERSTITIAL
);
adData
.
setAppId
(
adAppId
);
adData
.
addData
(
AdData
.
AD_TYPE_INTERSTITIAL
,
chapinAdId
);
}
CpAdData
.
getInstance
().
setCpData
(
cpId
,
adData
);
}
}
}
InitA
.
getInstance
().
setCvPkg
(
cvPkg
);
}
private
void
sendAdShowMessage
()
{
if
(
messenger
!=
null
)
{
try
{
Message
message
=
Message
.
obtain
();
message
.
what
=
405
;
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"pkgName"
,
getPackageName
());
message
.
setData
(
bundle
);
messenger
.
send
(
message
);
}
catch
(
Throwable
e
)
{
ALog
.
e
(
TAG
,
"finish e: "
+
Log
.
getStackTraceString
(
e
));
}
}
}
@Override
public
void
finish
()
{
ALog
.
d
(
TAG
,
"finish isFinished :"
+
isFinished
);
if
(
isFinished
)
{
super
.
finish
();
return
;
}
isFinished
=
true
;
try
{
if
(
messenger
!=
null
)
{
Message
message
=
Message
.
obtain
();
message
.
what
=
404
;
Bundle
bundle
=
new
Bundle
();
if
(
node
!=
null
)
{
bundle
.
putParcelable
(
"node"
,
node
);
}
message
.
setData
(
bundle
);
messenger
.
send
(
message
);
}
}
catch
(
Throwable
throwable
)
{
ALog
.
e
(
TAG
,
"finish e: "
+
Log
.
getStackTraceString
(
throwable
));
}
finally
{
ALog
.
d
(
TAG
,
" isResume:"
+
isResume
+
",forceStart :"
+
forceStart
);
if
(
isResume
||
forceStart
)
{
try
{
ALog
.
d
(
TAG
,
">>>>>>>>>>>>>>>>>>>>>>"
);
}
catch
(
Exception
e
)
{
ALog
.
d
(
TAG
,
"e:"
+
Log
.
getStackTraceString
(
e
));
}
}
super
.
finish
();
}
}
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
return
true
;
}
return
super
.
onKeyDown
(
keyCode
,
event
);
}
private
void
addNodeEvent
(
Event
event
)
{
if
(
node
!=
null
)
{
try
{
JSONObject
reason
=
new
JSONObject
();
reason
.
put
(
Constants
.
TARGET_PKG
,
cvPkg
);
reason
.
put
(
Constants
.
MEDIA_PKG
,
getPackageName
());
reason
.
put
(
Constants
.
REASON
,
event
.
reason
);
reason
.
put
(
"vn"
,
PkgUtils
.
getAppVersionName
(
this
,
getPackageName
()));
reason
.
put
(
"vc"
,
PkgUtils
.
getAppVersionCode
(
this
,
getPackageName
()));
event
.
reason
=
reason
.
toString
();
}
catch
(
Exception
e
)
{
}
node
.
addEvent
(
event
);
}
}
protected
static
void
clearTask
()
{
InitA
.
getInstance
().
cleanTask
();
}
private
static
class
InterstitialAdLoadCallback
implements
AdLoadedCallback
{
private
final
WeakReference
<
PictureTranslateListMainActivity
>
activityReference
;
public
InterstitialAdLoadCallback
(
PictureTranslateListMainActivity
activity
)
{
activityReference
=
new
WeakReference
<>(
activity
);
}
@Override
public
void
onLoaded
()
{
OpenAdManager
.
getInstance
().
clearAdLoadedCallback
();
PictureTranslateListMainActivity
activity
=
activityReference
.
get
();
if
(
null
!=
activity
)
{
InterstitialAdManager
.
getInstance
().
showAd
(
activity
);
}
}
}
private
static
class
OpenAdLoadCallback
implements
AdLoadedCallback
{
private
final
WeakReference
<
PictureTranslateListMainActivity
>
activityReference
;
private
final
FrameLayout
frameLayout
;
public
OpenAdLoadCallback
(
PictureTranslateListMainActivity
activity
,
FrameLayout
frameLayout
)
{
activityReference
=
new
WeakReference
<>(
activity
);
this
.
frameLayout
=
frameLayout
;
}
@Override
public
void
onLoaded
()
{
InterstitialAdManager
.
getInstance
().
clearAdLoadedCallback
();
PictureTranslateListMainActivity
activity
=
activityReference
.
get
();
if
(
null
!=
activity
)
{
if
(
frameLayout
!=
null
)
{
OpenAdManager
.
getInstance
().
showAd
(
activity
,
frameLayout
);
}
}
}
}
private
static
class
InterstitialAdCallback
implements
AdCallback
{
private
final
WeakReference
<
PictureTranslateListMainActivity
>
weakReference
;
public
InterstitialAdCallback
(
PictureTranslateListMainActivity
activity
)
{
weakReference
=
new
WeakReference
<>(
activity
);
}
private
void
report
(
String
type
,
String
reason
)
{
PictureTranslateListMainActivity
activity
=
weakReference
.
get
();
if
(
null
!=
activity
)
{
activity
.
report
(
type
,
reason
);
}
}
private
void
sendAdShowMessage
()
{
PictureTranslateListMainActivity
activity
=
weakReference
.
get
();
if
(
null
!=
activity
)
{
activity
.
sendAdShowMessage
();
}
}
@Override
public
void
onAdLoaded
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdShow
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
sendAdShowMessage
();
}
@Override
public
void
onAdError
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdClick
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdClose
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
ALog
.
w
(
TAG
,
"Interstitial close "
);
Activity
activity
=
weakReference
.
get
();
if
(
activity
==
null
)
{
clearTask
();
return
;
}
try
{
Intent
intent
=
new
Intent
(
activity
,
PictureTranslateResultActivity
.
class
);
activity
.
startActivity
(
intent
);
}
catch
(
Exception
e
)
{
activity
.
finish
();
}
}
@Override
public
void
onAdTimeOut
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
}
}
private
static
class
OpenAdCallBack
implements
AdCallback
{
private
final
WeakReference
<
PictureTranslateListMainActivity
>
weakReference
;
public
OpenAdCallBack
(
PictureTranslateListMainActivity
activity
)
{
weakReference
=
new
WeakReference
<>(
activity
);
}
private
void
report
(
String
type
,
String
reason
)
{
PictureTranslateListMainActivity
activity
=
weakReference
.
get
();
if
(
null
!=
activity
)
{
activity
.
report
(
type
,
reason
);
}
}
private
void
sendAdShowMessage
()
{
PictureTranslateListMainActivity
activity
=
weakReference
.
get
();
if
(
null
!=
activity
)
{
activity
.
sendAdShowMessage
();
}
}
@Override
public
void
onAdLoaded
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdShow
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
sendAdShowMessage
();
}
@Override
public
void
onAdError
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdClick
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
@Override
public
void
onAdClose
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
ALog
.
w
(
TAG
,
"open ad close"
);
clearTask
();
}
@Override
public
void
onAdTimeOut
(
String
type
,
String
ad_type
,
String
reason
,
long
time
)
{
report
(
type
,
"ad_type:"
+
ad_type
+
",reason:"
+
reason
+
",time:"
+
time
);
}
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
onMessageEvent
(
MessageEvent
event
)
{
if
(
event
!=
null
&&
event
.
type
==
MessageEvent
.
UPDATE_HOME_DATA
)
{
...
...
@@ -97,10 +618,6 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
super
.
onStart
();
}
@Override
protected
void
onStop
()
{
super
.
onStop
();
}
@Override
protected
void
onDestroy
()
{
...
...
media_app/build.gradle
View file @
dc43ebc1
...
...
@@ -62,14 +62,14 @@ android {
applicationId
"picturetranslate.extractor.text.lite"
versionName
"1.0.0.0"
signingConfig
signingConfigs
.
toolsTest
manifestPlaceholders
=
[
signature:
"04ced0bb5c9f0b2adf2f27dd57538cc8"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
manifestPlaceholders
=
[
google_ad_app_id:
"ca-app-pub-9356757350640102~6934070860"
,
signature:
"04ced0bb5c9f0b2adf2f27dd57538cc8"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
}
ceshi
{
versionCode
90015
versionName
"1.0.15"
signingConfig
signingConfigs
.
testSign
applicationId
"com.hr.heart.rate"
manifestPlaceholders
=
[
signature:
"8112af66991cd22a83219a1fd10403c9"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
manifestPlaceholders
=
[
google_ad_app_id:
"ca-app-pub-3940256099942544~3347511713"
,
signature:
"8112af66991cd22a83219a1fd10403c9"
,
flavor_name:
"GemHeart"
,
authorities:
"$applicationId-media-AProvider"
,
media_version:
"1"
]
ndk
{
abiFilters
'armeabi-v7a'
,
'arm64-v8a'
,
'armeabi'
}
...
...
@@ -179,6 +179,10 @@ dependencies {
api
"com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.11"
api
"androidx.recyclerview:recyclerview:1.1.0"
//Admob
api
"com.anythink.sdk:adapter-admob:6.4.69.2"
api
"com.google.android.gms:play-services-ads:24.0.0"
//Tramini
api
"com.anythink.sdk:tramini-plugin:6.4.69"
...
...
media_app/src/main/AndroidManifest.xml
View file @
dc43ebc1
...
...
@@ -49,6 +49,9 @@
<meta-data
android:name=
"com.google.mlkit.vision.DEPENDENCIES"
android:value=
"ocr,ocr_chinese,ocr_devanagari,ocr_japanese,ocr_korean"
/>
<meta-data
android:name=
"com.google.android.gms.ads.APPLICATION_ID"
android:value=
"${google_ad_app_id}"
/>
<activity
android:name=
"com.ads.cal.picturetranslate.activity.PictureTranslateStartActivity"
...
...
@@ -74,6 +77,7 @@
android:configChanges=
"keyboardHidden|screenSize|screenLayout|orientation"
android:excludeFromRecents=
"true"
android:noHistory=
"true"
android:windowSoftInputMode=
"adjustResize"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/heart_lable"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
>
...
...
@@ -101,7 +105,6 @@
android:configChanges=
"keyboardHidden|screenSize|screenLayout|orientation"
android:excludeFromRecents=
"true"
android:exported=
"true"
android:noHistory=
"true"
android:icon=
"@android:drawable/divider_horizontal_bright"
android:label=
"@string/heart_lable"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
...
...
media_app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateResultActivity.java
View file @
dc43ebc1
...
...
@@ -89,6 +89,7 @@ public class PictureTranslateResultActivity extends BaseActivity {
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
handler
.
removeCallbacksAndMessages
(
null
);
InitA
.
getInstance
().
cleanTask
();
}
...
...
media_app/src/main/java/com/gem/media/InitA.java
View file @
dc43ebc1
...
...
@@ -188,14 +188,6 @@ public class InitA {
foregroundPageNumbers
--;
ALog
.
d
(
"MediaApplication"
,
"onActivityStopped :"
+
activity
);
if
(
isAppBackground
())
{
if
(
activity
instanceof
PictureTranslateResultActivity
)
{
return
;
}
try
{
activity
.
onBackPressed
();
}
catch
(
Exception
e
)
{
StatsStaticHelper
.
onEvent
(
"b_er"
,
e
.
getMessage
());
}
cleanTask
();
}
}
...
...
@@ -240,6 +232,9 @@ public class InitA {
};
public
void
cleanTask
()
{
if
(!
isAppBackground
())
{
return
;
}
try
{
ActivityManager
activityManager
=
(
ActivityManager
)
PictureApplication
.
getApplication
().
getSystemService
(
Context
.
ACTIVITY_SERVICE
);
List
<
ActivityManager
.
AppTask
>
appTasks
=
activityManager
.
getAppTasks
();
...
...
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