Commit d4d58fc6 authored by wanglei's avatar wanglei

图片压缩部分代码优化

parent 5d29e2e2
...@@ -56,21 +56,24 @@ ...@@ -56,21 +56,24 @@
android:name=".activity.RecentAppActivity" android:name=".activity.RecentAppActivity"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.PermissionManagerActivity" android:name=".activity.PermissionManagerActivity"
android:exported="false" android:exported="false"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.AppManagerActivity" android:name=".activity.AppManagerActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Theme.clean" android:theme="@style/Theme.clean"
tools:ignore="LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.BatteryInfoActivity" android:name=".activity.BatteryInfoActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.MainActivity" android:name=".activity.MainActivity"
android:exported="true"> android:exported="true">
...@@ -82,13 +85,16 @@ ...@@ -82,13 +85,16 @@
</activity> </activity>
<activity <activity
android:name=".activity.ScanJunkActivity" android:name=".activity.ScanJunkActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.CleanJunkActivity" android:name=".activity.CleanJunkActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.CleaningActivity" android:name=".activity.CleaningActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<!-- <activity--> <!-- <activity-->
<!-- android:name=".activity.VirusActivity"--> <!-- android:name=".activity.VirusActivity"-->
<!-- android:screenOrientation="portrait" />--> <!-- android:screenOrientation="portrait" />-->
...@@ -98,33 +104,42 @@ ...@@ -98,33 +104,42 @@
<activity <activity
android:name=".activity.PermissionTripActivity" android:name=".activity.PermissionTripActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/FullScreenTheme.Null" /> android:theme="@style/FullScreenTheme.Null"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.LargeFileCleanActivity" android:name=".activity.LargeFileCleanActivity"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".notificationclean.NotificationGuestActivity" android:name=".notificationclean.NotificationGuestActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".notificationclean.NotificationCleanActivity" android:name=".notificationclean.NotificationCleanActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.ResultActivity" android:name=".activity.ResultActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.SpeakerCleanerActivity" android:name=".activity.SpeakerCleanerActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.SpeakCleaningActivity" android:name=".activity.SpeakCleaningActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.RepeatedPhotoActivity" android:name=".activity.RepeatedPhotoActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.NetWorkActivity" android:name=".activity.NetWorkActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<meta-data <meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID" android:name="com.google.android.gms.ads.APPLICATION_ID"
...@@ -147,7 +162,7 @@ ...@@ -147,7 +162,7 @@
<!-- 添加以下服务 --> <!-- 添加以下服务 -->
<service <service
android:name=".display.fcm.MyFirebaseMessagingService" android:name=".display.fcm.MyFirebaseMessagingService"
android:exported="true"> android:exported="false">
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" /> <action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter> </intent-filter>
...@@ -193,19 +208,24 @@ ...@@ -193,19 +208,24 @@
<!--照片压缩--> <!--照片压缩-->
<activity <activity
android:name=".activity.photocompress.photo.StartCompressionPhotoActivity" android:name=".activity.photocompress.photo.StartCompressionPhotoActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.photocompress.photo.CompressionSuccessActivity" android:name=".activity.photocompress.photo.CompressionSuccessActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.photocompress.photo.CompressioningActivity" android:name=".activity.photocompress.photo.CompressingActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.photocompress.photo.CompressionPhotoListActivity" android:name=".activity.photocompress.photo.CompressionPhotoListActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.photocompress.photo.PreviewCompressionPhotoActivity" android:name=".activity.photocompress.photo.PreviewCompressionPhotoActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<meta-data <meta-data
android:name="com.facebook.sdk.ApplicationId" android:name="com.facebook.sdk.ApplicationId"
......
...@@ -9,12 +9,12 @@ import androidx.core.view.updatePadding ...@@ -9,12 +9,12 @@ import androidx.core.view.updatePadding
import com.blankj.utilcode.util.BarUtils import com.blankj.utilcode.util.BarUtils
import com.test.basd.onecleanmaster.R import com.test.basd.onecleanmaster.R
import com.test.basd.onecleanmaster.activity.ResultActivity import com.test.basd.onecleanmaster.activity.ResultActivity
import com.test.basd.onecleanmaster.databinding.ActivityCompressioningBinding import com.test.basd.onecleanmaster.databinding.ActivityCompressingBinding
import com.test.basd.onecleanmaster.helps.BaseActivity import com.test.basd.onecleanmaster.helps.BaseActivity
import com.test.basd.onecleanmaster.helps.ads.AdmobUtils import com.test.basd.onecleanmaster.helps.ads.AdmobUtils
import com.test.basd.onecleanmaster.view.AFunOb import com.test.basd.onecleanmaster.view.AFunOb
class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), CompressionImageUtils.BitmapCallback, class CompressingActivity : BaseActivity<ActivityCompressingBinding>(), CompressionImageUtils.BitmapCallback,
CompressionImageUtils.OnSaveBitmapListener { CompressionImageUtils.OnSaveBitmapListener {
...@@ -24,10 +24,12 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co ...@@ -24,10 +24,12 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co
private var mode = 50; private var mode = 50;
override val binding: ActivityCompressioningBinding by lazy { override val binding: ActivityCompressingBinding by lazy {
ActivityCompressioningBinding.inflate(layoutInflater) ActivityCompressingBinding.inflate(layoutInflater)
} }
override fun initView() { override fun initView() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
...@@ -38,7 +40,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co ...@@ -38,7 +40,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co
mProgressBar = findViewById(R.id.compressing_progress) mProgressBar = findViewById(R.id.compressing_progress)
mode = intent.getIntExtra("mode", 50) mode = intent.getIntExtra("mode", 50)
PhotoCache.getInstance().photoList?.forEachIndexed { index, it -> PhotoCache.getInstance().photoList?.forEachIndexed { index, it ->
CompressionImageUtils.compressImage(it.src, mode, index, this@CompressioningActivity) CompressionImageUtils.compressImage(it.src, mode, index, this@CompressingActivity)
} }
mProgressBar?.max = PhotoCache.getInstance().count mProgressBar?.max = PhotoCache.getInstance().count
updateProgress() updateProgress()
...@@ -56,7 +58,6 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co ...@@ -56,7 +58,6 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co
} }
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
PhotoCache.getInstance().clearCache() PhotoCache.getInstance().clearCache()
...@@ -80,7 +81,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co ...@@ -80,7 +81,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co
} }
private fun onSuccess() { private fun onSuccess() {
AdmobUtils.showInterstitialAd(this){ AdmobUtils.showInterstitialAd(this) {
val intent = Intent(this, ResultActivity::class.java) val intent = Intent(this, ResultActivity::class.java)
intent.putExtra("from", AFunOb.PHOTO_COMPRESS) intent.putExtra("from", AFunOb.PHOTO_COMPRESS)
intent.putExtra("num", mNum) intent.putExtra("num", mNum)
...@@ -98,7 +99,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co ...@@ -98,7 +99,7 @@ class CompressioningActivity : BaseActivity<ActivityCompressioningBinding>(), Co
// } // }
// //
// dialog.setButtonClickListener(R.id.btnContinue) { // dialog.setButtonClickListener(R.id.btnContinue) {
super.onBackPressed() super.onBackPressed()
// } // }
// dialog.show() // dialog.show()
} }
......
...@@ -77,7 +77,7 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C ...@@ -77,7 +77,7 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C
mIndex = position mIndex = position
Log.d("glc", "") Log.d("glc", "")
refreshPreviewImage(true) refreshPreviewImage(true, 50)
} }
override fun onBitmapReady(bitmap: Bitmap?, size: Long, position: Int) { override fun onBitmapReady(bitmap: Bitmap?, size: Long, position: Int) {
...@@ -89,14 +89,10 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C ...@@ -89,14 +89,10 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C
val entity = mList[position] val entity = mList[position]
mPreviewView?.visibility = View.VISIBLE mPreviewView?.visibility = View.VISIBLE
mLoadingView?.visibility = View.GONE mLoadingView?.visibility = View.GONE
if (mBeforeImage != null) { Glide.with(mContext).load(entity.src).into(mBeforeImage)
Glide.with(mContext).load(entity.src).into(mBeforeImage)
}
mBeforeSize?.text = entity.sizeText mBeforeSize?.text = entity.sizeText
mAfterSize?.text = ImagesMediaUtils.formatFileSize(size) mAfterSize?.text = ImagesMediaUtils.formatFileSize(size)
if (mAfterImage != null) { Glide.with(mContext).load(bitmap).into(mAfterImage)
Glide.with(mContext).load(bitmap).into(mAfterImage)
}
} }
} }
...@@ -111,9 +107,9 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C ...@@ -111,9 +107,9 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
when { when {
progress <= 25 -> seekBar?.progress = 0 // progress <= 25 -> seekBar?.progress = 0
progress in 26..75 -> seekBar?.progress = 50 // progress in 26..75 -> seekBar?.progress = 50
progress > 75 -> seekBar?.progress = 100 // progress > 75 -> seekBar?.progress = 100
} }
} }
...@@ -124,25 +120,29 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C ...@@ -124,25 +120,29 @@ class PreviewCompressionManager : GalleryLayoutManager.OnItemSelectedListener, C
override fun onStopTrackingTouch(seekBar: SeekBar?) { override fun onStopTrackingTouch(seekBar: SeekBar?) {
val progress = seekBar?.progress ?: 0 val progress = seekBar?.progress ?: 0
var mode: Int = 0
// when {
// (seekBar?.progress ?: 0) <= 1 -> seekBar?.progress = 0
// (seekBar?.progress ?: 0) > 1 && (seekBar?.progress ?: 0) <= 50 -> seekBar?.progress = 50
// (seekBar?.progress ?: 0) > 50 -> seekBar?.progress = 100
// }
when { when {
seekBar?.progress ?: 0 <= 1 -> seekBar?.progress = 0 (seekBar?.progress ?: 0) <= 1 -> mode = 0
(seekBar?.progress ?: 0) > 1 && (seekBar?.progress ?: 0) <= 50 -> seekBar?.progress = (seekBar?.progress ?: 0) > 1 && (seekBar?.progress ?: 0) <= 50 -> mode = 50
50 (seekBar?.progress ?: 0) > 50 -> mode = 100
seekBar?.progress ?: 0 > 50 -> seekBar?.progress = 100
} }
if (progress != lastProgress) { if (progress != lastProgress) {
refreshPreviewImage(false) refreshPreviewImage(false, mode)
lastProgress = progress lastProgress = progress
} }
} }
private fun refreshPreviewImage(boolean: Boolean) { private fun refreshPreviewImage(boolean: Boolean, mode: Int) {
loading(boolean) loading(boolean)
val entity = mList[mIndex] val entity = mList[mIndex]
mTitleView?.text = "Preview (" + (mIndex + 1) + "/${mList.size})" mTitleView?.text = "Preview (" + (mIndex + 1) + "/${mList.size})"
CompressionImageUtils.compressImage(entity.src, mSeekBar.progress, mIndex, this) // CompressionImageUtils.compressImage(entity.src, mSeekBar.progress, mIndex, this)
CompressionImageUtils.compressImage(entity.src, mode, mIndex, this)
} }
fun getMode() = mSeekBar.progress fun getMode() = mSeekBar.progress
......
...@@ -38,7 +38,7 @@ class PreviewCompressionPhotoActivity : BaseActivity<ActivityPreviewCompressionP ...@@ -38,7 +38,7 @@ class PreviewCompressionPhotoActivity : BaseActivity<ActivityPreviewCompressionP
dialog.setButtonClickListener(R.id.btnContinue) { dialog.setButtonClickListener(R.id.btnContinue) {
CompressionPhotoListActivity.mActivity?.finish() CompressionPhotoListActivity.mActivity?.finish()
val intent = Intent(this, CompressioningActivity::class.java) val intent = Intent(this, CompressingActivity::class.java)
intent.putExtra("mode", manager.getMode()) intent.putExtra("mode", manager.getMode())
startActivity(intent) startActivity(intent)
dialog.dismiss() dialog.dismiss()
......
...@@ -33,12 +33,12 @@ class ToolsAdapter( ...@@ -33,12 +33,12 @@ class ToolsAdapter(
tittle = "Popular", tools = listOf( tittle = "Popular", tools = listOf(
ToolUI(JUNK_CLEANER, context.getString(R.string.clean_junk), R.drawable.tool_cleanjunk), ToolUI(JUNK_CLEANER, context.getString(R.string.clean_junk), R.drawable.tool_cleanjunk),
// ToolUI(VIRUS_SCAN, context.getString(R.string.virus_scan), R.drawable.virusscan_tools), // ToolUI(VIRUS_SCAN, context.getString(R.string.virus_scan), R.drawable.virusscan_tools),
ToolUI(PHOTO_COMPRESS, context.getString(R.string.photo_compress), R.drawable.tool_photo),
ToolUI(SIMILAR_PHOTOS, "Similar Photos", R.drawable.tool_similar),
ToolUI(LARGE_FILE_CLEANER, context.getString(R.string.large_file_cleaner), R.drawable.tool_large), ToolUI(LARGE_FILE_CLEANER, context.getString(R.string.large_file_cleaner), R.drawable.tool_large),
ToolUI(APP_MANAGER, context.getString(R.string.app_manager), R.drawable.tool_appmanager), ToolUI(PHOTO_COMPRESS, context.getString(R.string.photo_compress), R.drawable.tool_photo),
ToolUI(SPEAK_CLEANER, context.getString(R.string.speaker_cleaner), R.drawable.tool_speaker), ToolUI(SPEAK_CLEANER, context.getString(R.string.speaker_cleaner), R.drawable.tool_speaker),
ToolUI(BATTERY_INFO, context.getString(R.string.battery_info), R.drawable.battery_tools) ToolUI(BATTERY_INFO, context.getString(R.string.battery_info), R.drawable.battery_tools),
ToolUI(APP_MANAGER, context.getString(R.string.app_manager), R.drawable.tool_appmanager),
ToolUI(SIMILAR_PHOTOS, "Similar Photos", R.drawable.tool_similar),
) )
), ),
// ToolsUI(isAd = true), // ToolsUI(isAd = true),
......
...@@ -135,68 +135,68 @@ object NotificationHelper { ...@@ -135,68 +135,68 @@ object NotificationHelper {
val remoteViews = RemoteViews(packageName, R.layout.notification_common_notify) val remoteViews = RemoteViews(packageName, R.layout.notification_common_notify)
when (actionId) { when (actionId) {
ID_JUNK_CLEAN_PUSH -> { ID_JUNK_CLEAN_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_cleanjunk) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_cleanjunk)
remoteViews.setTextViewText(R.id.tv_desc, "Clean up remaining junk files") remoteViews.setTextViewText(R.id.tv_desc, "Clean up remaining junk files")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up") remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
} }
ID_VIRUS_PUSH -> { ID_VIRUS_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_cleanjunk) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_cleanjunk)
remoteViews.setTextViewText(R.id.tv_desc, "Protect your device and privacy, scan for virus threats now!") remoteViews.setTextViewText(R.id.tv_desc, "Protect your device and privacy, scan for virus threats now!")
remoteViews.setTextViewText(R.id.tv_btn, "Scan") remoteViews.setTextViewText(R.id.tv_btn, "Scan")
} }
ID_BATTERY_OPTIMIZATION -> { ID_BATTERY_OPTIMIZATION -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_batteryinfo) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_batteryinfo)
val random = Random.nextInt(0, 50) val random = Random.nextInt(0, 50)
remoteViews.setTextViewText(R.id.tv_desc, "$random Apps are consuming photo power") remoteViews.setTextViewText(R.id.tv_desc, "$random Apps are consuming photo power")
remoteViews.setTextViewText(R.id.tv_btn, "Optimize") remoteViews.setTextViewText(R.id.tv_btn, "Optimize")
} }
ID_LARGE_FILE_PUSH -> { ID_LARGE_FILE_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_large) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_large)
remoteViews.setTextViewText(R.id.tv_desc, "Clean big files to free up storage space") remoteViews.setTextViewText(R.id.tv_desc, "Clean big files to free up storage space")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up") remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
} }
ID_PHOTO_COMPRESS -> { ID_PHOTO_COMPRESS -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_photo) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_photo)
remoteViews.setTextViewText(R.id.tv_desc, "Compress images to release more space") remoteViews.setTextViewText(R.id.tv_desc, "Compress images to release more space")
remoteViews.setTextViewText(R.id.tv_btn, "Compress") remoteViews.setTextViewText(R.id.tv_btn, "Compress")
} }
ID_APP_MANAGER -> { ID_APP_MANAGER -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_appmanager) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_appmanager)
remoteViews.setTextViewText(R.id.tv_desc, "Check apps size and uninstall junk apps to release storage space") remoteViews.setTextViewText(R.id.tv_desc, "Check apps size and uninstall junk apps to release storage space")
remoteViews.setTextViewText(R.id.tv_btn, "Manage") remoteViews.setTextViewText(R.id.tv_btn, "Manage")
} }
ID_NETWORK_TRAFFIC -> { ID_NETWORK_TRAFFIC -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_network) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_network)
remoteViews.setTextViewText(R.id.tv_desc, "View network traffic usage and stop traffic-consuming apps.") remoteViews.setTextViewText(R.id.tv_desc, "View network traffic usage and stop traffic-consuming apps.")
remoteViews.setTextViewText(R.id.tv_btn, "View") remoteViews.setTextViewText(R.id.tv_btn, "View")
} }
ID_CLEAN_NOTIFICATION -> { ID_CLEAN_NOTIFICATION -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_notification) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_notification)
remoteViews.setTextViewText(R.id.tv_desc, "Too many annoying notifications? Block and clean") remoteViews.setTextViewText(R.id.tv_desc, "Too many annoying notifications? Block and clean")
remoteViews.setTextViewText(R.id.tv_btn, "View") remoteViews.setTextViewText(R.id.tv_btn, "View")
} }
ID_RECENT_USE_APP -> { ID_RECENT_USE_APP -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_recent)
remoteViews.setTextViewText(R.id.tv_desc, "Check and manage recently active apps") remoteViews.setTextViewText(R.id.tv_desc, "Check and manage recently active apps")
remoteViews.setTextViewText(R.id.tv_btn, "Manage") remoteViews.setTextViewText(R.id.tv_btn, "Manage")
} }
ID_SIMILAR_IMAGE -> { ID_SIMILAR_IMAGE -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_similar) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_similar)
remoteViews.setTextViewText(R.id.tv_desc, "Check similar photos to release more space") remoteViews.setTextViewText(R.id.tv_desc, "Check similar photos to release more space")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up") remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
} }
ID_CLEAN_SPEAKER -> { ID_CLEAN_SPEAKER -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_speaker) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.tz_speaker)
remoteViews.setTextViewText(R.id.tv_desc, "Clean the speaker dust and fix the low volume problem") remoteViews.setTextViewText(R.id.tv_desc, "Clean the speaker dust and fix the low volume problem")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up") remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
} }
...@@ -204,31 +204,31 @@ object NotificationHelper { ...@@ -204,31 +204,31 @@ object NotificationHelper {
//==================================下面是被动推送的情况=============================================== //==================================下面是被动推送的情况===============================================
ID_INSTALL_PACKAGE_PUSH -> { ID_INSTALL_PACKAGE_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.install)
remoteViews.setTextViewText(R.id.tv_desc, "Install successfully, scan for virus threats now!") remoteViews.setTextViewText(R.id.tv_desc, "Install successfully, scan for virus threats now!")
remoteViews.setTextViewText(R.id.tv_btn, "Scan") remoteViews.setTextViewText(R.id.tv_btn, "Scan")
} }
ID_UNINSTALL_PACKAGE_PUSH -> { ID_UNINSTALL_PACKAGE_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.uninstall)
remoteViews.setTextViewText(R.id.tv_desc, "Uninstalled successfully, clean residual files from your device") remoteViews.setTextViewText(R.id.tv_desc, "Uninstalled successfully, clean residual files from your device")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up") remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
} }
ID_CHARGE -> { ID_CHARGE -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.start)
remoteViews.setTextViewText(R.id.tv_desc, "View phone battery consumption recently") remoteViews.setTextViewText(R.id.tv_desc, "View phone battery consumption recently")
remoteViews.setTextViewText(R.id.tv_btn, "View") remoteViews.setTextViewText(R.id.tv_btn, "View")
} }
ID_LOW_BATTERY_PUSH -> { ID_LOW_BATTERY_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.batter)
remoteViews.setTextViewText(R.id.tv_desc, "The battery is $extra%, view the battery information") remoteViews.setTextViewText(R.id.tv_desc, "The battery is $extra%, view the battery information")
remoteViews.setTextViewText(R.id.tv_btn, "View") remoteViews.setTextViewText(R.id.tv_btn, "View")
} }
ID_PHONE_ACCELERATE -> { ID_PHONE_ACCELERATE -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.home_recent) remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.memory)
remoteViews.setTextViewText(R.id.tv_desc, "Ram usage reached $extra%, optimize now!") remoteViews.setTextViewText(R.id.tv_desc, "Ram usage reached $extra%, optimize now!")
remoteViews.setTextViewText(R.id.tv_btn, "Optimize") remoteViews.setTextViewText(R.id.tv_btn, "Optimize")
} }
...@@ -281,7 +281,14 @@ object NotificationHelper { ...@@ -281,7 +281,14 @@ object NotificationHelper {
val requestCode = Random.nextInt(0, 1000) val requestCode = Random.nextInt(0, 1000)
val pendingIntent = PendingIntent.getActivity(applicationContext, requestCode, intent, FLAG_UPDATE_CURRENT or FLAG_MUTABLE) val pendingIntent = PendingIntent.getActivity(applicationContext, requestCode, intent, FLAG_UPDATE_CURRENT or FLAG_MUTABLE)
NotificationUtils.showNotification(applicationContext, notificationId, remoteViews, R.id.fl_cancel, pendingIntent, pushStayTime ?: 0) NotificationUtils.showNotification(
applicationContext,
notificationId,
remoteViews,
R.id.fl_cancel,
pendingIntent,
pushStayTime ?: 0
)
} }
......
...@@ -8,7 +8,7 @@ import javax.crypto.spec.SecretKeySpec ...@@ -8,7 +8,7 @@ import javax.crypto.spec.SecretKeySpec
object AESHelper { object AESHelper {
private const val aesKey = "frwjvzvevqddgkpi" private const val aesKey = "dxccdxlrmh47vvf4"
private val cipher by lazy { private val cipher by lazy {
Cipher.getInstance("AES/GCM/NoPadding") Cipher.getInstance("AES/GCM/NoPadding")
......
...@@ -18,7 +18,7 @@ object ComUtils { ...@@ -18,7 +18,7 @@ object ComUtils {
private val TAG = "ComUtils" private val TAG = "ComUtils"
val localConfig = val localConfig =
"UhvxWoalOdMvwDx3vyGjZJ5EyKhd/5zkB5gGx6KGZ+kAEYNveDTF9jJRaLfETaTWZ5AHXUR2j2tCyZYZVKaO1xct7mvbJsUylvG4IOURHq8/CoozWYpAShN2B9nPeJE6dcVfp36Squ4dHzwR/vzKXkoqNxiSYggCVOQtf3cPbWfF5ZXBGuRjZd3R33Rxp4DIvD6XrdxeCRyC+BorWaumngvq3EyV8ChiIazLe1NuWOSFOvQlE0iOjAMgYvu68bQ7t/7hdcvouzTQ8MfYaCM9J9nY1zHQRKasZs8YN+atgsfM57EnXzp+kfkKBYHi/Qgt4Z6HcM7H+IseSJEpFBEan3O3tHJRa5yzNvFwb7+zZDlUrXvv/UbYtUOFGxxY2VLuseqyXRFywHPqsLefSGV7ciB4+4h+ri3GSuSgRt7p/zLDBQcSbVT7IWNrNUW3iTczY+WdYWy7++FBsWx8J6NrhV4+UArqjcGXVm39JMBuxRUoO27KjHtGdx/X8XXKlelOpCAv0rYQbgAsdN/PyD7mzktUv+PncoyK6GT3uvjKhbTmxiPSaZ5Zae0Z0HjyrlNO7mXr5jBJRRMuQQYROZjwV/M/1H2xpF2tMoP5xramLv/QLgykJpZ6xRYSkXVQ4Y9ankFF5ZmarCq1JokCkINimhjD1QXPfli1+MNWRVNzJSekNJx8VFNCuYnH7c2rBIO7wGDfGigWGb3E6Qyb9aubLS6mJiBXzU42oJaiy/lxCTfGq3vCEeKNcILkM2DoAEL0vF4mNW+RP04RNwb7A+kUbhyjPw3CkUiTZPLqOigJaga5+IxSXTGqh2/EZ0UamvS3rl9Qj8Fy/Afe6Fi/aBag54kpMA6edthD7epNPU2dK+Sk6gdqtOd+Vx14f/mwtrC6Kx1JqAA=" "cnG2NLgvQHzcxVJ3AiB+sICg/PZBBYjyfZ9x+xTTYlTVJIPDiPztYwXTsX6/9cHbTwxfHMZfycniFOMo9cV0VQonZ+mCpYwNXa48ahHlrzMhbWBY+GBdi7K2zWvOrMgFGeCNchkRp57RK6ustOMixdzLl7Ko6K1i49LUYXPNLZDKpcxWSLDp6BkaOWCdhFogJ8OI6FzS7sXdz1L/9yws5x5KsY/ol6qgQWE9J5mUrB0XoHLonJ/4mSvDMui9eew2cz/T2/gTtfQP49LtzO5sDhUXDiSTfPT912x1IgQpQ4mS1I/Y7AqxD6BajX2B44Y3eHAUiHGq05u0rR4IKzBqVRBCZiTzm81TeEfb+5pvNgPo1JHQh/ur3r4mqW9P62vxJ7i6r0QAEqaoRbx065xf8Ws17k5acjN4D/qjfJEZVP1B0bHbVnALtWKC11xLBsTWw35ThZBw1dAVhSLuvIobH6LPdWTHVah/UdAc8tOJ7khrTThdP9dNS5TgtVRzjwfou3qItieKkACUgihkuGLANnhP9LS9I3CRWIGj0XyHh6bbxZXrrNh0ImgkK7SILIDtViC5qCkI8+kjHbRk1ASzpS6SkunR6KEmKvMBjyStRcGOzB4XNZuMv3mcVffM1He2Y7AbwD+kbttSVEb2vk3EmmgIc0mAuTjkS6LFZHUnPUweq+N60IWqEipndFeD8hQmrWrRJBAYnCK1famTqQ9eFNuOt8pEv5hkgkHKVKNxFDoDiFiQ4xMpvcSMQTp18SYivMZv1pFfZM4G6tirQpzSw6BtNmW5o5oZLR4t1NooelMloGgrYQkvqUocarpZlzdLqjySpPWFUHJhedjFjLcnjwXoai3yUnFE2IeYfy7tWjo5YtXUoaqIO73ENpflrZgxFyW26ZZsjnb8LnAqpmBcJXK3FaBmjmnO0R2xXu2W9ZCwB2GE6rzXa75nIFV8XkAO6UMh42Ul/w8bFyCkH3vOZEzIuyLLSCB4duiCgjKvvtdqgzuNyPSc14NX"
var configSp = "" var configSp = ""
get() { get() {
......
...@@ -38,7 +38,7 @@ object ConfigHelper { ...@@ -38,7 +38,7 @@ object ConfigHelper {
const val nativeAdmobId = "ca-app-pub-3940256099942544/2247696110" const val nativeAdmobId = "ca-app-pub-3940256099942544/2247696110"
// 正式包名 // 正式包名
const val packageName = "com.kkzxkk.cleaner.quick" const val packageName = "com.kcleank.utility.opt"
val noLoadingActivities = listOf( val noLoadingActivities = listOf(
"full", // 过滤全屏广告 "full", // 过滤全屏广告
......
app/src/main/res/drawable-xxhdpi/l_lower.png

457 Bytes | W: | H:

app/src/main/res/drawable-xxhdpi/l_lower.png

518 Bytes | W: | H:

app/src/main/res/drawable-xxhdpi/l_lower.png
app/src/main/res/drawable-xxhdpi/l_lower.png
app/src/main/res/drawable-xxhdpi/l_lower.png
app/src/main/res/drawable-xxhdpi/l_lower.png
  • 2-up
  • Swipe
  • Onion skin
app/src/main/res/drawable-xxhdpi/l_upper.png

456 Bytes | W: | H:

app/src/main/res/drawable-xxhdpi/l_upper.png

487 Bytes | W: | H:

app/src/main/res/drawable-xxhdpi/l_upper.png
app/src/main/res/drawable-xxhdpi/l_upper.png
app/src/main/res/drawable-xxhdpi/l_upper.png
app/src/main/res/drawable-xxhdpi/l_upper.png
  • 2-up
  • Swipe
  • Onion skin
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--suppress AndroidElementNotAllowed -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
...@@ -39,9 +39,9 @@ ...@@ -39,9 +39,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="-160dp" android:layout_marginTop="-160dp"
app:lottie_rawRes="@raw/compression_ing"
app:lottie_autoPlay="true" app:lottie_autoPlay="true"
app:lottie_loop="true" /> app:lottie_loop="true"
app:lottie_rawRes="@raw/compression_ing" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -168,32 +168,33 @@ ...@@ -168,32 +168,33 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout <LinearLayout
android:id="@+id/bottom_layout" android:id="@+id/bottom_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="170dp" android:layout_height="170dp"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"
android:paddingTop="21dp"> android:paddingTop="21dp">
<RelativeLayout
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/view_line"> android:max="100"
android:progress="50"
android:progressDrawable="@drawable/seekbar_bg"
android:thumb="@drawable/preview" />
<SeekBar <FrameLayout
android:id="@+id/seekBar" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:max="100"
android:progress="50"
android:progressDrawable="@drawable/seekbar_bg"
android:thumb="@drawable/preview" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/seekBar" android:layout_gravity="start"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:text="Best photo quality" android:text="Best photo quality"
android:textColor="#ff000000" android:textColor="#ff000000"
...@@ -203,36 +204,36 @@ ...@@ -203,36 +204,36 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/seekBar" android:layout_gravity="end"
android:layout_alignParentRight="true" android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="Most space saved" android:text="Most space saved"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="14sp" /> android:textSize="14sp" />
</RelativeLayout>
</FrameLayout>
<View <View
android:id="@+id/view_line" android:id="@+id/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_above="@+id/btn_compress" android:layout_above="@+id/btn_compress"
android:layout_marginTop="33dp" android:layout_marginTop="5dp"
android:background="#EEEEEE" /> android:background="#EEEEEE" />
<TextView <com.noober.background.view.BLTextView
android:id="@+id/btn_compress" android:id="@+id/btn_compress"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="50dp"
android:layout_alignParentBottom="true" android:layout_marginHorizontal="40dp"
android:layout_marginLeft="43dp" android:layout_marginTop="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="43dp"
android:layout_marginBottom="8dp"
android:background="@drawable/btn_blue_bg" android:background="@drawable/btn_blue_bg"
android:gravity="center" android:gravity="center"
android:text="COMPRESS ALL" android:text="COMPRESS ALL"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="19sp" android:textSize="19sp"
android:textStyle="bold" /> android:textStyle="bold"
</RelativeLayout> app:bl_corners_radius="5dp"
app:bl_solid_color="@color/theme_color" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
...@@ -320,8 +320,8 @@ ...@@ -320,8 +320,8 @@
<com.noober.background.view.BLLinearLayout <com.noober.background.view.BLLinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="10dp"
android:layout_marginTop="16dp" android:layout_marginTop="15dp"
android:layout_marginBottom="24dp" android:layout_marginBottom="24dp"
android:orientation="vertical" android:orientation="vertical"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
...@@ -342,7 +342,7 @@ ...@@ -342,7 +342,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#F3FCFA" app:bl_solid_color="#F3FCFA"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
...@@ -376,7 +376,7 @@ ...@@ -376,7 +376,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#F3FBFF" app:bl_solid_color="#F3FBFF"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
...@@ -416,7 +416,7 @@ ...@@ -416,7 +416,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#FFF8F9" app:bl_solid_color="#FFF8F9"
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#FAF8FE" app:bl_solid_color="#FAF8FE"
...@@ -477,7 +477,8 @@ ...@@ -477,7 +477,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal"
tools:ignore="DisableBaselineAlignment">
<!--Recent App Usage--> <!--Recent App Usage-->
<com.noober.background.view.BLLinearLayout <com.noober.background.view.BLLinearLayout
...@@ -488,7 +489,7 @@ ...@@ -488,7 +489,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#FFFBF2" app:bl_solid_color="#FFFBF2"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
...@@ -522,7 +523,7 @@ ...@@ -522,7 +523,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingVertical="13dp" android:paddingVertical="13dp"
android:paddingStart="7dp" android:paddingStart="6dp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_solid_color="#F3FBFF" app:bl_solid_color="#F3FBFF"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
......
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