Commit 26faf931 authored by wanglei's avatar wanglei

[拆包]拆包

parent f92cd5a9
......@@ -4,6 +4,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.BATTERY_STATS"
......
......@@ -9,9 +9,10 @@ class FeatureBean(
val icon: Int = 0,
val content: Int = 0,
) {
var color: Int = 0
var bg: Int = 0
var span: Int = 1
var todayUsed = false
var showTitle = false
companion object {
const val JUNK_CLEAN = "junk_clean"
......
......@@ -20,20 +20,29 @@ class FeatureItemAdapter : BaseQuickAdapter<FeatureBean, FeatureItemAdapter.Koko
override fun onBindViewHolder(holder: Koko8888, position: Int, item: FeatureBean?) {
item ?: return
val context = holder.itemView.context
when(item.span){
1->{
when (item.span) {
1 -> {
val binding = ItemFeatureSpan2Binding.bind(holder.itemView)
binding.ivIcon.setImageResource(item.icon)
binding.tvName.text = context.getString(item.titleRes)
binding.ivBg.setBackgroundResource(item.bg)
binding.root.setOnClickListener {
itemClick?.invoke(item)
}
}
2->{
2 -> {
val binding = ItemFeatureSpan1Binding.bind(holder.itemView)
binding.ivIcon.setImageResource(item.icon)
binding.tvName.text = context.getString(item.titleRes)
binding.root.setOnClickListener {
if (item.showTitle) {
binding.tvTitle.visibility = View.VISIBLE
} else {
binding.tvTitle.visibility = View.GONE
}
binding.card.setOnClickListener {
itemClick?.invoke(item)
}
}
......
package com.base.appzxhy.ui.main
import androidx.core.graphics.Insets
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.recyclerview.widget.GridLayoutManager
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
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.DEVICE_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.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SETTINGS
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.UNINSTALL_APP
import com.base.appzxhy.databinding.FragmentHome3Binding
import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.ui.set.SettingActivity
import com.base.appzxhy.utils.BarUtils
import com.base.appzxhy.utils.MyAnimationUtils
class Home2Fragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::inflate) {
private val adapter = FeatureItemAdapter()
private val featureList by lazy {
listOf<FeatureBean>(
FeatureBean(
JUNK_CLEAN,
R.string.quick_clean,
R.drawable.icon_clean_h,
).apply {
bg = R.drawable.beijing1
},
FeatureBean(
BATTERY_INFO,
R.string.battery_info,
R.drawable.icon_battery_h,
).apply {
bg = R.drawable.beijing2
},
FeatureBean(
SIMILAR_PHOTOS,
R.string.similar_photos,
R.drawable.icon_similar_h,
).apply {
bg = R.drawable.bejing3
},
FeatureBean(
UNINSTALL_APP,
R.string.uninstall_app,
R.drawable.icon_app_uninstall_h,
).apply {
bg = R.drawable.bejing4
},
FeatureBean(
PHOTO_COMPRESSION,
R.string.photo_compression,
R.drawable.icon_compression_h,
).apply {
bg = R.color.color_f5fff9
span = 2
showTitle = true
},
FeatureBean(
LARGE_FILE_CLEAN,
R.string.large_file_clean,
R.drawable.icon_large_file_h,
).apply {
bg = R.color.color_f7feff
span = 2
},
FeatureBean(
SCREENSHOT_CLEAN,
R.string.screenshot_clean,
R.drawable.icon_screenshot_h,
).apply {
bg = R.color.color_f7feff
span = 2
},
// FeatureBean(
// DEVICE_INFO,
// R.string.device_info,
// R.drawable.icon_device_info_h,
// ).apply {
// bg = R.color.color_fff7fe
// span = 2
// },
)
}
override fun initView() {
super.initView()
binding.flTop.setPadding(0, BarUtils.getStatusBarHeight(), 0, 0)
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars: Insets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
binding.flTop.setPadding(0, systemBars.top, 0, 0)
insets
}
val layoutManager = GridLayoutManager(requireContext(), 2)
layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
val span = featureList[position].span
return span
}
}
binding.rv.layoutManager = layoutManager
binding.rv.adapter = adapter
adapter.submitList(featureList)
MyAnimationUtils.rotation(binding.ivYuan)
}
override fun initListener() {
super.initListener()
binding.flClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
}
binding.ivSet.setOnClickListener {
goToAc(SettingActivity::class.java)
}
adapter.itemClick = {
when (it.key) {
JUNK_CLEAN,
SCREENSHOT_CLEAN,
LARGE_FILE_CLEAN,
PHOTO_COMPRESSION, SIMILAR_PHOTOS -> {
(requireActivity() as MainActivity).permissionStorageJump(it.key)
}
BATTERY_INFO, UNINSTALL_APP, DEVICE_INFO -> {
(requireActivity() as MainActivity).jumpAction(it.key)
}
SETTINGS -> {
(requireActivity() as MainActivity).goToAc(SettingActivity::class.java)
}
}
}
}
}
\ No newline at end of file
......@@ -3,8 +3,6 @@ package com.base.appzxhy.ui.main
import android.annotation.SuppressLint
import android.app.ActivityManager
import android.view.View
import android.widget.Toast
import androidx.appcompat.widget.TooltipCompat
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.getSystemService
import androidx.core.graphics.Insets
......@@ -55,51 +53,51 @@ class HomeFragment : BaseFragment<FragmentHome1Binding>(FragmentHome1Binding::in
R.string.quick_clean,
R.drawable.icon_clean_h,
).apply {
color = R.color.color_fffaf7
bg = R.color.color_fffaf7
},
FeatureBean(
BATTERY_INFO,
R.string.battery_info,
R.drawable.icon_battery_h,
).apply {
color = R.color.color_fdfff5
bg = R.color.color_fdfff5
},
FeatureBean(
PHOTO_COMPRESSION,
R.string.photo_compression,
R.drawable.icon_compression_h,
).apply {
color = R.color.color_f5fff9
bg = R.color.color_f5fff9
},
FeatureBean(
SCREENSHOT_CLEAN,
R.string.screenshot_clean,
R.drawable.icon_screenshot_h,
).apply {
color = R.color.color_f7feff
bg = R.color.color_f7feff
},
FeatureBean(
SIMILAR_PHOTOS,
R.string.similar_photos,
R.drawable.icon_similar_h,
).apply {
color = R.color.color_fefaff
bg = R.color.color_fefaff
},
FeatureBean(
UNINSTALL_APP,
R.string.uninstall_app,
R.drawable.icon_app_uninstall_h,
).apply {
color = R.color.color_fffafa
bg = R.color.color_fffafa
},
FeatureBean(
DEVICE_INFO,
R.string.device_info,
R.drawable.icon_device_info_h,
).apply {
color = R.color.color_fff7fe
},
// FeatureBean(
// DEVICE_INFO,
// R.string.device_info,
// R.drawable.icon_device_info_h,
// ).apply {
// bg = R.color.color_fff7fe
// },
)
}
......
......@@ -42,7 +42,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
val viewModel by lazy { ViewModelProvider(this)[MainViewModel::class.java] }
private val fragmentList = listOf(
HomeFragment(),
Home2Fragment(),
SettingsFragment()
)
private val viewPagerAdapter by lazy {
......@@ -125,7 +125,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
val view = LayoutInflater.from(this).inflate(R.layout.item_home_tab, null)
val tabBinding = ItemHomeTabBinding.bind(view)
tabBinding.ivIcon.setImageResource(homeTab.icon)
tabBinding.ivIcon.isSelected=false
tabBinding.ivIcon.isSelected = false
tabBinding.tvTab.text = homeTab.tab
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
tabBinding.v.tooltipText = homeTab.tab
......
......@@ -21,6 +21,7 @@ import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.ui.dialog.RateDialog
import com.base.appzxhy.utils.BarUtils
import com.base.appzxhy.utils.ClipboardUtils.copyText
import com.base.appzxhy.utils.MyAnimationUtils
import com.base.appzxhy.utils.ToastUtils.toast
import com.google.gson.GsonBuilder
import com.base.appzxhy.utils.WriteLogEx.writeLogFile
......@@ -40,10 +41,9 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>(FragmentSettingsB
binding.clTop.setPadding(0, systemBars.top, 0, 0)
insets
}
// binding.tvCleanedUp.text = cleanedSize.toFormatSize()
// binding.tvVersion.text = "v${BuildConfig.VERSION_NAME}"
// MyAnimationUtils.rotation(binding.ivBlade)
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
binding.tvCleanedUp.text = cleanedSize.toFormatSize()
binding.tvVersion.text = "v${BuildConfig.VERSION_NAME}"
MyAnimationUtils.rotation(binding.icon)
if (BuildConfig.DEBUG) {
binding.tvToken.visibility = View.VISIBLE
......@@ -75,16 +75,16 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>(FragmentSettingsB
override fun initListener() {
super.initListener()
binding.cardPrivacy.setOnClickListener {
binding.clPrivacyPolicy.setOnClickListener {
startActivity(Intent(Intent.ACTION_VIEW, URL_PRIVACY.toUri()))
}
binding.cardRate.setOnClickListener {
binding.clRateUs.setOnClickListener {
val dialog = RateDialog(requireActivity())
dialog.showDialog(true)
}
// binding.ivBack.setOnClickListener {
// (requireActivity() as SettingActivity).onBackPressedDispatcher.onBackPressed()
// }
binding.ivBack.setOnClickListener {
(requireActivity() as SettingActivity).onBackPressedDispatcher.onBackPressed()
}
}
override fun onResume() {
......
......@@ -23,7 +23,8 @@
<FrameLayout
android:id="@+id/flBottom"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:visibility="gone">
<com.google.android.material.tabs.TabLayout
......
......@@ -38,14 +38,21 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginBottom="@dimen/dp_16"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="@dimen/sp_19"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:padding="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:srcCompat="@drawable/icon_set" />
</FrameLayout>
<androidx.core.widget.NestedScrollView
......
<?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:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_400"
app:layout_constraintTop_toTopOf="parent" />
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="-20dp"
android:cropToPadding="true"
android:scaleType="fitCenter"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/iv"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.45"
app:lottie_fileName="qiling_dongxiao.json" />
<FrameLayout
android:id="@+id/flTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_24"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="@dimen/dp_16"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="@dimen/sp_19"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivSet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="@dimen/dp_8"
android:padding="@dimen/dp_8"
app:srcCompat="@drawable/icon_set" />
</FrameLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/flTop">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/dp_10">
<FrameLayout
android:id="@+id/flClean"
android:layout_width="@dimen/dp_220"
android:layout_height="@dimen/dp_220"
android:layout_gravity="center_horizontal"
android:layout_marginTop="0dp">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:id="@+id/ivYuan"
android:layout_height="wrap_content"
app:srcCompat="@drawable/qingli" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/CLEAN"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_32"
android:textStyle="bold" />
</LinearLayout>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_16"
android:overScrollMode="never"
android:paddingHorizontal="@dimen/dp_8" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<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:layout_width="match_parent"
android:layout_height="@dimen/dp_70"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_marginVertical="@dimen/dp_6"
app:cardCornerRadius="@dimen/dp_8"
app:cardElevation="0dp">
<LinearLayout
android:id="@+id/ll"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:text="More Tools"
android:textColor="#404040"
android:textSize="@dimen/sp_18"
android:textStyle="bold"
android:visibility="gone" />
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:foreground="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
tools:background="@drawable/bg_ffffff_8">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivIcon"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:layout_marginStart="@dimen/dp_16" />
android:layout_height="@dimen/dp_70"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_marginVertical="@dimen/dp_6"
app:cardCornerRadius="@dimen/dp_8"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#262626"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
tools:text="@string/clean_junk" />
<TextView
android:id="@+id/tvContent"
android:layout_width="match_parent"
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:foreground="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
tools:background="@drawable/bg_ffffff_8">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivIcon"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:layout_marginStart="@dimen/dp_16" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="#999999"
android:textSize="@dimen/sp_14"
android:visibility="gone"
tools:text="Make your phone clean" />
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#262626"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
tools:text="@string/clean_junk" />
<TextView
android:id="@+id/tvContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#999999"
android:textSize="@dimen/sp_14"
android:visibility="gone"
tools:text="Make your phone clean" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
app:srcCompat="@drawable/icon_next" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
app:srcCompat="@drawable/icon_jiantou" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
\ No newline at end of file
......@@ -3,11 +3,17 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_6"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginVertical="@dimen/dp_6"
android:orientation="vertical"
app:cardElevation="0dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -16,20 +22,22 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivIcon"
android:layout_width="@dimen/dp_72"
android:layout_height="@dimen/dp_72"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_6" />
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:layout_gravity="start"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_20" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="15dp"
android:gravity="center_horizontal|top"
android:lines="2"
android:layout_gravity="start"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_20"
android:gravity="start"
android:text="@string/app_name"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_14" />
......
......@@ -72,4 +72,5 @@
<dimen name="dp_56">56dp</dimen>
<dimen name="dp_52">52dp</dimen>
<dimen name="dp_120">120dp</dimen>
<dimen name="sp_32">32sp</dimen>
</resources>
\ No newline at end of file
......@@ -180,6 +180,8 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="rom_information">ROM Information</string>
<string name="camera_information">Camera Information</string>
<string name="battery_information">Battery Information</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</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