Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
F
File Recovery RecycleBin
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
File Recovery RecycleBin
Commits
b5f42aee
Commit
b5f42aee
authored
Jul 19, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...底部广告
parent
99da756e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
84 additions
and
10 deletions
+84
-10
MainActivity.kt
.../com/base/filerecoveryrecyclebin/activity/MainActivity.kt
+13
-7
AdmobBannerColla.kt
...base/filerecoveryrecyclebin/ads/admob/AdmobBannerColla.kt
+53
-0
ConfigHelper.kt
...java/com/base/filerecoveryrecyclebin/help/ConfigHelper.kt
+2
-0
PermissionDialog.kt
.../com/base/filerecoveryrecyclebin/view/PermissionDialog.kt
+7
-2
activity_main.xml
app/src/main/res/layout/activity_main.xml
+9
-1
No files found.
app/src/main/java/com/base/filerecoveryrecyclebin/activity/MainActivity.kt
View file @
b5f42aee
...
...
@@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment
import
androidx.lifecycle.lifecycleScope
import
androidx.viewpager2.adapter.FragmentStateAdapter
import
androidx.viewpager2.widget.ViewPager2
import
com.base.filerecoveryrecyclebin.
R
import
com.base.filerecoveryrecyclebin.
ads.admob.AdmobBannerUtils
import
com.base.filerecoveryrecyclebin.databinding.ActivityMainBinding
import
com.base.filerecoveryrecyclebin.fragment.HomeFragment
import
com.base.filerecoveryrecyclebin.fragment.RecycleBinFragment
...
...
@@ -17,7 +17,6 @@ import com.base.filerecoveryrecyclebin.help.BaseActivity
import
com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import
com.base.filerecoveryrecyclebin.service.StayNotificationService
import
com.base.filerecoveryrecyclebin.utils.BarUtils
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.base.filerecoveryrecyclebin.view.DialogViews.showExitDialog
import
com.base.filerecoveryrecyclebin.view.PermissionDialog.showPermissionBottomSheet
import
com.base.filerecoveryrecyclebin.view.RateStarPop.showRateStarPopDialog
...
...
@@ -47,6 +46,16 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
BarUtils
.
setStatusBarColor
(
this
,
Color
.
parseColor
(
"#F2F3F7"
))
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
if
(!
checkStorePermission
())
{
if
(
dialog
==
null
)
{
dialog
=
showPermissionBottomSheet
(
launcher
)
{
AdmobBannerUtils
.
showCollapsibleBannerAd
(
this
,
binding
.
flBanner
)
}
}
}
else
{
AdmobBannerUtils
.
showCollapsibleBannerAd
(
this
,
binding
.
flBanner
)
}
binding
.
viewpager2
.
run
{
adapter
=
object
:
FragmentStateAdapter
(
this
@MainActivity
)
{
override
fun
getItemCount
():
Int
{
...
...
@@ -116,11 +125,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
override
fun
onResume
()
{
super
.
onResume
()
if
(!
checkStorePermission
())
{
if
(
dialog
==
null
)
{
dialog
=
showPermissionBottomSheet
(
launcher
)
}
}
else
{
if
(
checkStorePermission
())
{
initStayServiceObserver
()
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/admob/AdmobBannerColla.kt
0 → 100644
View file @
b5f42aee
package
com.base.filerecoveryrecyclebin.ads.admob
import
android.content.Context
import
android.os.Bundle
import
android.util.Log
import
android.view.ViewGroup
import
android.view.ViewTreeObserver
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.google.ads.mediation.admob.AdMobAdapter
import
com.google.android.gms.ads.AdListener
import
com.google.android.gms.ads.AdRequest
import
com.google.android.gms.ads.AdSize
import
com.google.android.gms.ads.AdView
import
java.util.UUID
object
AdmobBannerUtils
{
private
var
adView
:
AdView
?
=
null
private
var
listener
:
ViewTreeObserver
.
OnGlobalLayoutListener
?
=
null
fun
showCollapsibleBannerAd
(
context
:
Context
,
parent
:
ViewGroup
)
{
if
(
adView
!=
null
)
{
adView
?.
destroy
()
}
adView
=
AdView
(
context
)
parent
.
removeAllViews
()
parent
.
addView
(
adView
)
listener
=
ViewTreeObserver
.
OnGlobalLayoutListener
{
val
screenPixelDensity
=
context
.
resources
.
displayMetrics
.
density
val
adWidth
=
(
parent
.
width
/
screenPixelDensity
).
toInt
()
val
adSize
=
AdSize
.
getCurrentOrientationAnchoredAdaptiveBannerAdSize
(
context
,
adWidth
)
adView
?.
adUnitId
=
ConfigHelper
.
bannerMaxId
adView
?.
setAdSize
(
adSize
)
loadCollapsibleBanner
()
parent
.
viewTreeObserver
.
removeOnGlobalLayoutListener
(
listener
)
}
parent
.
viewTreeObserver
.
addOnGlobalLayoutListener
(
listener
)
}
private
fun
loadCollapsibleBanner
()
{
val
extras
=
Bundle
()
extras
.
putString
(
"collapsible"
,
"bottom"
)
extras
.
putString
(
"collapsible_request_id"
,
UUID
.
randomUUID
().
toString
())
val
adRequest
=
AdRequest
.
Builder
().
addNetworkExtrasBundle
(
AdMobAdapter
::
class
.
java
,
extras
).
build
()
adView
?.
adListener
=
object
:
AdListener
()
{
override
fun
onAdLoaded
()
{}
}
adView
?.
loadAd
(
adRequest
)
}
}
\ No newline at end of file
app/src/main/java/com/base/filerecoveryrecyclebin/help/ConfigHelper.kt
View file @
b5f42aee
...
...
@@ -17,10 +17,12 @@ object ConfigHelper {
const
val
interAdmobId
=
"ca-app-pub-3940256099942544/1033173712"
const
val
nativeAdmobId
=
"ca-app-pub-3940256099942544/2247696110"
const
val
openAdmobId
=
"/6499/example/app-open"
const
val
bannerAdmobId
=
"ca-app-pub-3940256099942544/9214589741"
const
val
interAdMaxId
=
"YOUR_AD_UNIT_ID"
const
val
nativeAdMaxId
=
"YOUR_AD_UNIT_ID"
const
val
openAdMaxId
=
"YOUR_AD_UNIT_ID"
const
val
bannerMaxId
=
"ca-app-pub-3940256099942544/9214589741"
//一定展示大图广告
var
mustShowNativeAd
:
Boolean
=
false
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/view/PermissionDialog.kt
View file @
b5f42aee
...
...
@@ -7,12 +7,13 @@ import com.base.filerecoveryrecyclebin.activity.MainActivity
import
com.base.filerecoveryrecyclebin.databinding.DialogPermissionBottomsheetBinding
import
com.base.filerecoveryrecyclebin.help.ActivityLauncher
import
com.base.filerecoveryrecyclebin.help.PermissionHelp.requestStorePermission
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.google.android.material.bottomsheet.BottomSheetBehavior
import
com.google.android.material.bottomsheet.BottomSheetDialog
object
PermissionDialog
{
fun
Context
.
showPermissionBottomSheet
(
launcher
:
ActivityLauncher
):
BottomSheetDialog
{
private
val
TAG
=
"PermissionDialog"
fun
Context
.
showPermissionBottomSheet
(
launcher
:
ActivityLauncher
,
dismissAction
:
()
->
Unit
):
BottomSheetDialog
{
val
dialog
=
BottomSheetDialog
(
this
)
val
binding
=
DialogPermissionBottomsheetBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setContentView
(
binding
.
root
)
...
...
@@ -30,6 +31,10 @@ object PermissionDialog {
}
})
}
dialog
.
setOnDismissListener
{
LogEx
.
logDebug
(
TAG
,
"dismissAction 2"
)
dismissAction
.
invoke
()
}
return
dialog
}
...
...
app/src/main/res/layout/activity_main.xml
View file @
b5f42aee
...
...
@@ -15,12 +15,13 @@
app:layout_constraintTop_toTopOf=
"parent"
/>
<LinearLayout
app:layout_constraintTop_toBottomOf=
"@id/viewpager2"
android:id=
"@+id/ll"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
app:layout_constraintBottom_to
BottomOf=
"parent
"
app:layout_constraintBottom_to
TopOf=
"@id/fl_banner
"
tools:ignore=
"DisableBaselineAlignment"
>
<LinearLayout
...
...
@@ -85,4 +86,11 @@
</LinearLayout>
<FrameLayout
android:id=
"@+id/fl_banner"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/ll"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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