Commit c3593211 authored by wanglei's avatar wanglei

[修改]修改首页

parent f07a457d
Pipeline #1737 canceled with stages
......@@ -147,6 +147,7 @@ dependencies {
kapt("com.github.bumptech.glide:compiler:4.16.0")
implementation("jp.wasabeef:glide-transformations:4.3.0")
implementation("com.github.pokercc:ExpandableRecyclerView:0.9.3")
implementation("com.mikhaellopez:circularprogressbar:3.1.0")
//可选
// implementation("com.github.angcyo.DslTablayout:ViewPager1Delegate:3.7.1")
......
......@@ -27,9 +27,6 @@
android:theme="@style/Theme.AppTheme"
tools:targetApi="31">
<activity
android:name=".ui.photocompression.PhotoCompressionDetailActivity"
android:exported="false" />
<activity
android:name=".ui.splash.SplashActivity"
android:exported="true"
......@@ -103,6 +100,16 @@
android:name=".ui.recovery.FileRecoveryActivity"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.main.SettingActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.photocompression.PhotoCompressionDetailActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider
android:name="androidx.core.content.FileProvider"
......@@ -113,6 +120,7 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<receiver
android:name=".push.receiver.AlarmReceiver"
android:enabled="true"
......@@ -175,7 +183,6 @@
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
</application>
</manifest>
\ No newline at end of file
......@@ -37,5 +37,14 @@ object SpConstObject {
AppPreferences.getInstance().put("languageCountrySp", value, true)
}
var cleanedSize = 0L
get() {
return AppPreferences.getInstance().getLong("cleanedSize", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("cleanedSize", value, true)
}
}
\ No newline at end of file
package com.base.appzxhy.ui.dialog
import android.app.Activity
class RateDialog(
val activity: Activity
) {
}
\ No newline at end of file
package com.base.appzxhy.ui.main
import android.annotation.SuppressLint
import androidx.lifecycle.lifecycleScope
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseFragment
import com.base.appzxhy.base.goToAc
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.FragmentHome2Binding
import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.utils.Utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
class Home2Fragment : BaseFragment<FragmentHome2Binding>(FragmentHome2Binding::inflate) {
override fun initView() {
super.initView()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
initData()
}
override fun initListener() {
super.initListener()
binding.ivSet.setOnClickListener {
goToAc(SettingActivity::class.java)
}
binding.flClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
}
binding.tvClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
}
binding.llClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
}
binding.llBattery.setOnClickListener {
(requireActivity() as MainActivity).jumpAction(BATTERY_INFO)
}
binding.llLarge.setOnClickListener {
(requireActivity() as MainActivity).jumpAction(LARGE_FILE_CLEAN)
}
binding.llDuplicate.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(SIMILAR_PHOTOS)
}
binding.llScreenshot.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(SCREENSHOT_CLEAN)
}
}
@SuppressLint("SetTextI18n")
private fun initData() {
lifecycleScope.launch(Dispatchers.IO) {
val totalStorageSize = async { Utils.getTotalStorageSize() }.await()
val availableStorageSize = async { Utils.getAvailableStorageSize() }.await()
val usedStorageSize = totalStorageSize - availableStorageSize
val totalStorage = Utils.getSizeFormat(totalStorageSize)
val usedStorage = Utils.getSizeFormat(usedStorageSize)
val percent = (usedStorageSize * 100 / totalStorageSize).toInt()
launch(Dispatchers.Main) {
binding.tvUsed.text = usedStorage
binding.tvTotal.text = " / $totalStorage"
binding.circleProgress.setProgressWithAnimation(percent.toFloat(), 1000)
}
}
}
}
\ No newline at end of file
......@@ -20,9 +20,9 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::inflate) {
private val fragmentList = listOf(
HomeFragment(),
Home2Fragment(),
RecoveryFragment(),
SettingsFragment()
RecycleBinFragment()
)
private val viewPagerAdapter by lazy {
......@@ -54,9 +54,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
private fun initTab() {
arrayOf(
HomeTabUIBean(R.drawable.tab_home_selector, getString(R.string.home)),
HomeTabUIBean(R.drawable.tab_clean_selector, getString(R.string.clean)),
HomeTabUIBean(R.drawable.tab_recovery_selector, getString(R.string.recovery)),
HomeTabUIBean(R.drawable.tab_settings_selector, getString(R.string.settings)),
HomeTabUIBean(R.drawable.tab_recyclebin_selector, getString(R.string.recyclebin)),
).forEachIndexed { index, homeTab ->
val tab = binding.tabLayout.newTab()
val view = LayoutInflater.from(this).inflate(R.layout.item_home_tab, null)
......@@ -91,7 +91,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
})
}
fun TabLayout.Tab.setSelected() {
val textView = customView?.findViewById<TextView>(R.id.tv_tab)
textView?.setTextColor(
......
......@@ -2,8 +2,14 @@ package com.base.appzxhy.ui.main
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseFragment
import com.base.appzxhy.base.goToAc
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.FragmentRecoveryBinding
import com.base.appzxhy.ui.recovery.FileScanResultActivity
import com.base.appzxhy.ui.recovery.FileScanResultActivity.Companion.SCAN_AUDIOS
import com.base.appzxhy.ui.recovery.FileScanResultActivity.Companion.SCAN_DOCUMENTS
import com.base.appzxhy.ui.recovery.FileScanResultActivity.Companion.SCAN_PHOTOS
import com.base.appzxhy.ui.recovery.FileScanResultActivity.Companion.SCAN_VIDEOS
class RecoveryFragment : BaseFragment<FragmentRecoveryBinding>(FragmentRecoveryBinding::inflate) {
......@@ -16,7 +22,24 @@ class RecoveryFragment : BaseFragment<FragmentRecoveryBinding>(FragmentRecoveryB
override fun initListener() {
super.initListener()
binding.llPhoto.setOnClickListener {
goToAc(FileScanResultActivity::class.java) {
putExtra("ScanType", SCAN_PHOTOS)
}
}
binding.llVideo.setOnClickListener {
goToAc(FileScanResultActivity::class.java) {
putExtra("ScanType", SCAN_VIDEOS)
}
}
binding.llDocument.setOnClickListener {
goToAc(FileScanResultActivity::class.java) {
putExtra("ScanType", SCAN_DOCUMENTS)
}
}
binding.llDocument.setOnClickListener {
goToAc(FileScanResultActivity::class.java) {
putExtra("ScanType", SCAN_AUDIOS)
}
}
}
......
package com.base.appzxhy.ui.main
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseFragment
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.FragmentRecycleBinBinding
class RecycleBinFragment : BaseFragment<FragmentRecycleBinBinding>(FragmentRecycleBinBinding::inflate) {
override fun initView() {
super.initView()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
}
override fun initListener() {
super.initListener()
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_clean_s" android:state_selected="true" />
<item android:drawable="@drawable/icon_clean_n" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F5F7F8" />
<corners android:radius="@dimen/dp_8" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF3434" />
<corners android:radius="@dimen/dp_4" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false">
<solid android:color="#E7F1FD" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/tab_recovery_s" android:state_selected="true" />
<item android:drawable="@drawable/tab_recovery_n" android:state_selected="false" />
<item android:drawable="@drawable/icon_recovery_s" android:state_selected="true" />
<item android:drawable="@drawable/icon_recovery_n" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_recyclebin_s" android:state_selected="true" />
<item android:drawable="@drawable/icon_recyclebin_n" android:state_selected="false" />
</selector>
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F4F5F9"
tools:context=".ui.main.RecycleBinFragment">
<FrameLayout
android:id="@+id/flTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/dp_20"
android:layout_marginStart="@dimen/dp_15"
android:text="@string/recycle_bin"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_17"
android:textStyle="bold" />
</FrameLayout>
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
app:layout_constraintTop_toBottomOf="@id/flTop">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
<LinearLayout
android:id="@+id/llEmpty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/flAd"
app:layout_constraintVertical_bias="0.2">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image" />
<TextView
android:textSize="@dimen/sp_14"
android:textColor="#666666"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_30"
android:gravity="center"
android:text="@string/recyclebin_tip" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -3,7 +3,7 @@
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="transparent">#00000000</color>
<color name="colorPrimary">#3e7bf7</color>
<color name="colorPrimary">#328EF6</color>
<color name="colorDisEnable">#FF7DB9FF</color>
<color name="color_66000000">#66000000</color>
......
......@@ -27,4 +27,9 @@
<dimen name="dp_4">4dp</dimen>
<dimen name="dp_60">60dp</dimen>
<dimen name="sp_14">14sp</dimen>
<dimen name="dp_12">12dp</dimen>
<dimen name="dp_14">14dp</dimen>
<dimen name="sp_20">20sp</dimen>
<dimen name="dp_70">70dp</dimen>
<dimen name="dp_38">38dp</dimen>
</resources>
\ No newline at end of file
......@@ -109,5 +109,17 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="audios">Audios</string>
<string name="documents">Documents</string>
<string name="recover_lost_documents">Recover lost Documents</string>
<string name="scan">Scan</string>
<string name="click_to_view">Click to view</string>
<string name="clean_junk">Clean Junk</string>
<string name="more">More</string>
<string name="duplicate_photos">Duplicate Photos</string>
<string name="already_saved_for_you">Already saved for you</string>
<string name="rate_us">Rate us</string>
<string name="version">Version</string>
<string name="recycle_bin">Recycle Bin</string>
<string name="recyclebin_tip"><![CDATA[Mobispeedy is protecting your photos, videos, files & App files from being deleted]]></string>
<string name="recyclebin">Recycle Bin</string>
</resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment