Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
D
Data Recovery White
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
Data Recovery White
Commits
979002ed
Commit
979002ed
authored
Jul 08, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...ui
parent
f375de24
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
462 additions
and
16 deletions
+462
-16
build.gradle
app/build.gradle
+4
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+18
-14
MyApplication.kt
app/src/main/java/com/base/datarecovery/MyApplication.kt
+3
-1
RepeatActivity.kt
...ain/java/com/base/datarecovery/activity/RepeatActivity.kt
+40
-0
SplashActivity.kt
...ain/java/com/base/datarecovery/activity/SplashActivity.kt
+8
-0
PrivacyManageActivity.kt
...tarecovery/activity/privacyspace/PrivacyManageActivity.kt
+29
-0
HomeFragment.kt
.../main/java/com/base/datarecovery/fragment/HomeFragment.kt
+0
-1
UmpHelp.kt
app/src/main/java/com/base/datarecovery/help/UmpHelp.kt
+44
-0
activity_privacy_manage.xml
app/src/main/res/layout/activity_privacy_manage.xml
+127
-0
activity_repeat.xml
app/src/main/res/layout/activity_repeat.xml
+189
-0
delete.png
app/src/main/res/mipmap-xxhdpi/delete.png
+0
-0
download.png
app/src/main/res/mipmap-xxhdpi/download.png
+0
-0
guanbi_b.png
app/src/main/res/mipmap-xxhdpi/guanbi_b.png
+0
-0
No files found.
app/build.gradle
View file @
979002ed
...
...
@@ -90,6 +90,10 @@ dependencies {
implementation
'com.google.ads.mediation:mintegral:16.7.21.0'
implementation
'com.google.ads.mediation:pangle:5.9.0.4.0'
//Google UMP
//https://docs.tradplusad.com/docs/tradplussdk_android_doc_v6/privacy_policy/google_ump/
implementation
'com.google.android.ump:user-messaging-platform:2.1.0'
//firebase
implementation
platform
(
'com.google.firebase:firebase-bom:32.3.1'
)
implementation
'com.google.firebase:firebase-analytics:21.6.2'
...
...
app/src/main/AndroidManifest.xml
View file @
979002ed
...
...
@@ -18,7 +18,12 @@
android:supportsRtl=
"true"
android:theme=
"@style/Theme.DataRecovery"
tools:targetApi=
"34"
>
<activity
android:name=
".activity.privacyspace.PrivacyManageActivity"
android:exported=
"false"
/>
<activity
android:name=
".activity.RepeatActivity"
android:exported=
"false"
/>
<activity
android:name=
".activity.SplashActivity"
android:exported=
"true"
>
...
...
@@ -33,19 +38,18 @@
android:exported=
"false"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<!-- <activity-->
<!-- android:name=".activity.whatsapp.WhatsAppCleanerActivity"-->
<!-- android:exported="false"-->
<!-- android:launchMode="singleTop"-->
<!-- android:screenOrientation="portrait"-->
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" />-->
<!-- <activity-->
<!-- android:name=".activity.whatsapp.WhatsAppMessageCleanActivity"-->
<!-- android:exported="false"-->
<!-- android:launchMode="singleTop"-->
<!-- android:screenOrientation="portrait"-->
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" />-->
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<!-- <activity -->
<!-- android:name=".activity.whatsapp.WhatsAppCleanerActivity" -->
<!-- android:exported="false" -->
<!-- android:launchMode="singleTop" -->
<!-- android:screenOrientation="portrait" -->
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" /> -->
<!-- <activity -->
<!-- android:name=".activity.whatsapp.WhatsAppMessageCleanActivity" -->
<!-- android:exported="false" -->
<!-- android:launchMode="singleTop" -->
<!-- android:screenOrientation="portrait" -->
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" /> -->
<activity
android:name=
".activity.MainActivity"
android:exported=
"false"
...
...
app/src/main/java/com/base/datarecovery/MyApplication.kt
View file @
979002ed
...
...
@@ -23,7 +23,7 @@ class MyApplication : BaseApplication() {
initApp
()
}
private
fun
initApp
()
{
fun
initApp
()
{
if
(
ifAgreePrivacy
)
{
MobileAds
.
initialize
(
this
)
{
initializationStatus
->
}
...
...
@@ -98,4 +98,6 @@ class MyApplication : BaseApplication() {
override
fun
onActivityDestroyed
(
activity
:
Activity
)
{}
})
}
}
\ No newline at end of file
app/src/main/java/com/base/datarecovery/activity/RepeatActivity.kt
0 → 100644
View file @
979002ed
package
com.base.datarecovery.activity
import
android.graphics.Color
import
android.icu.util.MeasureUnit
import
android.view.View
import
androidx.core.view.updatePadding
import
androidx.lifecycle.lifecycleScope
import
com.base.datarecovery.bean.MediaBean
import
com.base.datarecovery.databinding.ActivityRepeatBinding
import
com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.help.MediaStoreHelp.getImageMedia
import
com.base.datarecovery.utils.BarUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
class
RepeatActivity
:
BaseActivity
<
ActivityRepeatBinding
>()
{
override
val
binding
:
ActivityRepeatBinding
by
lazy
{
ActivityRepeatBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
BarUtils
.
setStatusBarLightMode
(
this
,
true
)
BarUtils
.
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
}
fun
initData
()
{
binding
.
progressBar
.
visibility
=
View
.
VISIBLE
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
list
=
arrayListOf
<
MediaBean
>()
getImageMedia
(
list
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/datarecovery/activity/SplashActivity.kt
View file @
979002ed
...
...
@@ -9,12 +9,14 @@ import android.text.Spanned
import
android.text.style.UnderlineSpan
import
android.view.View
import
androidx.lifecycle.lifecycleScope
import
com.base.datarecovery.MyApplication
import
com.base.datarecovery.ads.AdmobNativeUtils
import
com.base.datarecovery.ads.AdmobOpenUtils
import
com.base.datarecovery.bean.ConstObject.ifAgreePrivacy
import
com.base.datarecovery.databinding.ActivitySplashBinding
import
com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.help.ConfigHelper
import
com.base.datarecovery.help.UmpHelp.requestUMP
import
com.base.datarecovery.utils.BarUtils
import
com.base.datarecovery.utils.LogEx
import
com.base.datarecovery.utils.SPUtils
...
...
@@ -102,6 +104,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
binding
.
llStart
.
visibility
=
View
.
GONE
binding
.
llProgress
.
visibility
=
View
.
VISIBLE
startProgress
()
this
.
requestUMP
{
flag
->
if
(
flag
)
{
(
application
as
MyApplication
).
initApp
()
}
}
}
}
...
...
app/src/main/java/com/base/datarecovery/activity/privacyspace/PrivacyManageActivity.kt
0 → 100644
View file @
979002ed
package
com.base.datarecovery.activity.privacyspace
import
android.graphics.Color
import
android.os.Bundle
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.view.ViewCompat
import
androidx.core.view.WindowInsetsCompat
import
androidx.core.view.updatePadding
import
com.base.datarecovery.R
import
com.base.datarecovery.databinding.ActivityPrivacyManageBinding
import
com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.utils.BarUtils
class
PrivacyManageActivity
:
BaseActivity
<
ActivityPrivacyManageBinding
>()
{
override
val
binding
:
ActivityPrivacyManageBinding
by
lazy
{
ActivityPrivacyManageBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
BarUtils
.
setStatusBarLightMode
(
this
,
true
)
BarUtils
.
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
}
}
\ No newline at end of file
app/src/main/java/com/base/datarecovery/fragment/HomeFragment.kt
View file @
979002ed
...
...
@@ -10,7 +10,6 @@ import com.base.datarecovery.activity.FileScanActivity
import
com.base.datarecovery.activity.ScreenShotActivity
import
com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity
import
com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
import
com.base.datarecovery.activity.whatsapp.WhatsAppCleanerActivity
import
com.base.datarecovery.ads.AdmobNativeUtils
import
com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS
import
com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS
...
...
app/src/main/java/com/base/datarecovery/help/UmpHelp.kt
0 → 100644
View file @
979002ed
package
com.base.datarecovery.help
import
android.app.Activity
import
com.google.android.ump.ConsentRequestParameters
import
com.google.android.ump.FormError
import
com.google.android.ump.UserMessagingPlatform
object
UmpHelp
{
fun
Activity
.
requestUMP
(
gatherAction
:
(
flag
:
Boolean
)
->
Unit
)
{
val
params
=
ConsentRequestParameters
.
Builder
()
// 指示用户是否低于同意年龄; true 低于同意年龄
// 未满同意年龄的用户不会收到 GDPR 消息表单
.
setTagForUnderAgeOfConsent
(
false
)
.
build
()
val
consentInformation
=
UserMessagingPlatform
.
getConsentInformation
(
this
)
consentInformation
.
requestConsentInfoUpdate
(
this
,
params
,
{
UserMessagingPlatform
.
loadAndShowConsentFormIfRequired
(
this
)
{
loadAndShowError
:
FormError
?
->
if
(
loadAndShowError
!=
null
)
{
// Consent gathering failed.
gatherAction
.
invoke
(
false
)
}
// Consent has been gathered.
if
(
consentInformation
.
canRequestAds
())
{
// 授权完成,初始化SDK
gatherAction
.
invoke
(
true
)
}
}
},
{
requestConsentError
:
FormError
?
->
gatherAction
.
invoke
(
false
)
})
if
(
consentInformation
.
canRequestAds
())
{
// 授权完成,初始化SDK
gatherAction
.
invoke
(
true
)
}
}
}
\ No newline at end of file
app/src/main/res/layout/activity_privacy_manage.xml
0 → 100644
View file @
979002ed
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".activity.privacyspace.PrivacyManageActivity"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"start"
android:orientation=
"horizontal"
>
<FrameLayout
android:id=
"@+id/fl_guanbi"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"15dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/guanbi_b"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"15dp"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_select_all"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"end|center_vertical"
android:layout_marginEnd=
"16dp"
android:text=
"Select All"
android:textColor=
"#3A9BFF"
android:textSize=
"18sp"
tools:ignore=
"HardcodedText"
/>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"wrap_content"
android:layout_height=
"0dp"
android:layout_gravity=
"center_horizontal"
android:layout_weight=
"1"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:spanCount=
"4"
tools:listitem=
"@layout/item_media_grid_select"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"#577DFD"
>
<LinearLayout
android:id=
"@+id/ll_download"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginVertical=
"15dp"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/download"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:text=
"Download"
android:textColor=
"@color/white"
android:textSize=
"15sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_delete"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginVertical=
"15dp"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/delete"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:text=
"Delete"
android:textColor=
"@color/white"
android:textSize=
"15sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/activity_repeat.xml
0 → 100644
View file @
979002ed
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#F4F5F9"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
>
<FrameLayout
android:id=
"@+id/fl_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"20dp"
android:padding=
"8dp"
app:layout_constraintBottom_toBottomOf=
"@id/tv_title"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_title"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/fanhui"
android:tint=
"@color/black"
tools:ignore=
"ContentDescription,UseAppTint"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Screenshot Cleaner"
android:textSize=
"19sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.1"
tools:ignore=
"HardcodedText"
/>
<FrameLayout
android:id=
"@+id/fl_recycle_bin"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"20dp"
android:layout_marginEnd=
"16dp"
android:padding=
"8dp"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.3"
/>
<LinearLayout
android:id=
"@+id/ll_size"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"20dp"
android:orientation=
"horizontal"
app:layout_constraintEnd_toEndOf=
"@id/tv_title"
app:layout_constraintStart_toStartOf=
"@id/tv_title"
app:layout_constraintTop_toBottomOf=
"@id/tv_title"
>
<TextView
android:id=
"@+id/tv_size"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/theme_color"
android:textSize=
"40sp"
android:textStyle=
"bold"
tools:text=
"90.1"
/>
<TextView
android:id=
"@+id/tv_unit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"start"
android:includeFontPadding=
"false"
android:textColor=
"@color/theme_color"
android:textSize=
"16sp"
tools:text=
"MB"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"12dp"
android:layout_marginBottom=
"30dp"
android:text=
"Screenshots totally"
android:textColor=
"#666666"
android:textSize=
"15sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"@id/tv_title"
app:layout_constraintStart_toStartOf=
"@id/tv_title"
app:layout_constraintTop_toBottomOf=
"@id/ll_size"
tools:ignore=
"HardcodedText"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
/>
<ProgressBar
android:id=
"@+id/progress_bar"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
/>
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"80dp"
>
<LinearLayout
android:id=
"@+id/ll_select_all"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"30dp"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:minWidth=
"23dp"
android:minHeight=
"23dp"
android:src=
"@drawable/bg_square_selector"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Select All"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_clean"
android:layout_width=
"266dp"
android:layout_height=
"50dp"
android:background=
"@drawable/bg_button_enable_selector"
android:enabled=
"false"
android:gravity=
"center"
android:text=
"CLEAN"
android:textColor=
"@color/white"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/ll_select_all"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</FrameLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/delete.png
0 → 100644
View file @
979002ed
1.43 KB
app/src/main/res/mipmap-xxhdpi/download.png
0 → 100644
View file @
979002ed
1.48 KB
app/src/main/res/mipmap-xxhdpi/guanbi_b.png
0 → 100644
View file @
979002ed
1.39 KB
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