Commit a1701937 authored by wanghai's avatar wanghai

广告合规修改

parent 23411b6c
......@@ -18,16 +18,12 @@ import android.util.Log
import android.widget.RemoteViews
import androidx.core.app.NotificationCompat
import androidx.work.Configuration
import com.swiftcleaner.chovey.GlobalConfig
import com.swiftcleaner.chovey.GlobalConfig.ID_BATTERY_INFO
import com.swiftcleaner.chovey.GlobalConfig.ID_CLEAN_JUNK
import com.swiftcleaner.chovey.GlobalConfig.ID_LARGE_FILE_CLEANER
import com.swiftcleaner.chovey.GlobalConfig.ID_SCREENSHOT_CLEAN
import com.swiftcleaner.chovey.GlobalConfig.KEY_NOTIFICATION_ID
import com.swiftcleaner.chovey.R
import com.swiftcleaner.chovey.view.activity.CleanJunkActivity
import com.swiftcleaner.chovey.view.activity.InfoActivity
import com.swiftcleaner.chovey.view.activity.LargeFileActivity
import com.swiftcleaner.chovey.view.activity.ScreenShotActivity
import com.swiftcleaner.chovey.view.activity.StartActivity
import kotlin.random.Random
......@@ -108,19 +104,20 @@ class NotificationJobService : JobService() {
.setCustomBigContentView(notificationLayoutExpanded)
.setCategory(NotificationCompat.CATEGORY_CALL)
val cleanPendingIntent = createPendingIntent(context, ID_CLEAN_JUNK, CleanJunkActivity::class.java)
val cleanPendingIntent = startPending(context, ID_CLEAN_JUNK)
notificationLayout.setOnClickPendingIntent(R.id.id_ll_clean, cleanPendingIntent)
notificationLayoutExpanded.setOnClickPendingIntent(R.id.id_ll_clean, cleanPendingIntent)
val largeFilePendingIntent = createPendingIntent(context, ID_LARGE_FILE_CLEANER, LargeFileActivity::class.java)
val largeFilePendingIntent = startPending(context, ID_LARGE_FILE_CLEANER)
notificationLayout.setOnClickPendingIntent(R.id.id_large_file, largeFilePendingIntent)
notificationLayoutExpanded.setOnClickPendingIntent(R.id.id_large_file, largeFilePendingIntent)
val batteryPendingIntent = createPendingIntent(context, ID_BATTERY_INFO, InfoActivity::class.java)
val batteryPendingIntent = startPending(context, ID_BATTERY_INFO)
notificationLayout.setOnClickPendingIntent(R.id.id_battery, batteryPendingIntent)
notificationLayoutExpanded.setOnClickPendingIntent(R.id.id_battery, batteryPendingIntent)
val appPendingIntent = createPendingIntent(context, ID_SCREENSHOT_CLEAN, ScreenShotActivity::class.java)
val appPendingIntent = startPending(context, ID_SCREENSHOT_CLEAN)
notificationLayout.setOnClickPendingIntent(R.id.id_app_manager, appPendingIntent)
notificationLayoutExpanded.setOnClickPendingIntent(R.id.id_app_manager, appPendingIntent)
......@@ -137,8 +134,13 @@ class NotificationJobService : JobService() {
return builder.build()
}
private fun startPending(context: Context, id: Int): PendingIntent{
return createPendingIntent(context, id, StartActivity::class.java)
}
private fun createPendingIntent(context: Context, id: Int, clz: Class<*>): PendingIntent {
val intent = Intent(context, clz)
intent.putExtra(GlobalConfig.KEY_NOTIFICATION_ID, id)
return PendingIntent.getActivity(context, Random.Default.nextInt(5000), intent, PendingIntent.FLAG_IMMUTABLE)
}
......
......@@ -369,6 +369,8 @@ public class MainActivity extends AppCompatActivity {
}
private void requestFilesAccessPermission() {
if (customBottomSheetDialog != null) customBottomSheetDialog.dismiss();
if (fullscreenDialog != null) fullscreenDialog.dismiss();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
try {
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
......
......@@ -557,8 +557,8 @@ public class CleanJunkActivity extends BaseActivity<ActivityCleanJunkBinding> {
private void initAnimation(String str) {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("cleanstr", "Cleaned " + str + " junk files");
intent.putExtra("title", "Clean Junk");
intent.putExtra("cleanstr", "Cleaned " + str + " useless files");
intent.putExtra("title", "Clean Up");
intent.putExtra("animator",5);
startActivity(intent);
finish();
......@@ -579,7 +579,7 @@ public class CleanJunkActivity extends BaseActivity<ActivityCleanJunkBinding> {
private void initCustDialog() {
Activity activity = this;
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this);
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this, 1);
customScoreDialog.setOnDialogClickListener(new CustomScoreDialog.OnDialogClickListener() {
@Override
public void onCancel() {
......
......@@ -13,7 +13,6 @@ import com.swiftcleaner.chovey.view.BaseActivity;
import com.swiftcleaner.chovey.view.dialog.CustomScoreDialog;
public class EndCleanJunkActivity extends BaseActivity<ActivityEndCleanJunkBinding> {
private CustomScoreDialog customScoreDialog;
@Override
protected ActivityEndCleanJunkBinding getViewBinding() {
return ActivityEndCleanJunkBinding.inflate(getLayoutInflater());
......@@ -92,15 +91,6 @@ public class EndCleanJunkActivity extends BaseActivity<ActivityEndCleanJunkBindi
}
private void initCustDialog(){
customScoreDialog = new CustomScoreDialog(this);
customScoreDialog.setOnDialogClickListener(new CustomScoreDialog.OnDialogClickListener() {
@Override
public void onCancel() {
customScoreDialog.dismiss();
}
@Override
public void onSubmit() {
AdmobHelps.INSTANCE.showInterstitialAd(
EndCleanJunkActivity.this,
() -> {
......@@ -122,19 +112,12 @@ public class EndCleanJunkActivity extends BaseActivity<ActivityEndCleanJunkBindi
},
false,true, true
);
}
});
customScoreDialog.show();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (customScoreDialog!=null&&customScoreDialog.isShowing()){
customScoreDialog.dismiss();
customScoreDialog=null;
}
}
}
\ No newline at end of file
......@@ -164,7 +164,7 @@ public class InfoActivity extends BaseActivity<ActivityInfoBinding> {
private void initCustDialog() {
Activity activity = this;
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this);
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this, 2);
customScoreDialog.setOnDialogClickListener(new CustomScoreDialog.OnDialogClickListener() {
@Override
public void onCancel() {
......
......@@ -246,8 +246,8 @@ public class LargeFileActivity extends BaseActivity<ActivityLargeFileBinding> {
private void initAnimation(String str) {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("cleanstr", "Cleaned " + str + " junk files");
intent.putExtra("title", "Clean Junk");
intent.putExtra("cleanstr", "Cleaned " + str + " useless files");
intent.putExtra("title", "Clean Up");
intent.putExtra("animator",5);
startActivity(intent);
finish();
......@@ -269,7 +269,7 @@ public class LargeFileActivity extends BaseActivity<ActivityLargeFileBinding> {
private void initCustDialog() {
Activity activity = this;
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this);
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this, 3);
customScoreDialog.setOnDialogClickListener(new CustomScoreDialog.OnDialogClickListener() {
@Override
public void onCancel() {
......
......@@ -340,7 +340,7 @@ class MalwareCleanActivity : AppCompatActivity() {
private fun initCustomDialog() {
val activity: Activity = this
val customScoreDialog = CustomScoreDialog(this)
val customScoreDialog = CustomScoreDialog(this, 0)
customScoreDialog.setOnDialogClickListener(object :
CustomScoreDialog.OnDialogClickListener {
override fun onCancel() {
......@@ -348,7 +348,6 @@ class MalwareCleanActivity : AppCompatActivity() {
}
override fun onSubmit() {
if (AdmobHelps.isShowAdBackInter()) {
showInterstitialAd(
this@MalwareCleanActivity,
{
......@@ -368,11 +367,9 @@ class MalwareCleanActivity : AppCompatActivity() {
Log.d("AdmobHelps", "Interstitial Ad failed to load.")
null
},
false
false, isShowInterAd = AdmobHelps.isShowAdBackInter()
)
} else {
finishToMain(activity)
}
}
})
customScoreDialog.show()
......
......@@ -239,8 +239,8 @@ public class ScreenShotActivity extends BaseActivity<ActivityScreenShotBinding>
}
private void initAnimation(String cleanSize) {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("cleanstr", "Cleaned " + cleanSize + " junk files");
intent.putExtra("title", "Clean Junk");
intent.putExtra("cleanstr", "Cleaned " + cleanSize + " useless files");
intent.putExtra("title", "Clean Up");
intent.putExtra("animator",5);
startActivity(intent);
finish();
......@@ -285,7 +285,7 @@ public class ScreenShotActivity extends BaseActivity<ActivityScreenShotBinding>
private void initCustDialog() {
Activity activity = this;
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this);
CustomScoreDialog customScoreDialog = new CustomScoreDialog(this, 4);
customScoreDialog.setOnDialogClickListener(new CustomScoreDialog.OnDialogClickListener() {
@Override
public void onCancel() {
......
package com.swiftcleaner.chovey.view.activity
import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
import android.content.ActivityNotFoundException
import android.content.Context
......@@ -20,25 +21,28 @@ import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.isShowAdBackInter
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.isShowAdInter
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.showInterstitialAd
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.showNativeAd
import com.gyf.immersionbar.ImmersionBar
import com.swiftcleaner.chovey.R
import com.swiftcleaner.chovey.business.EventUtils.event
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.isShowAdBackInter
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.isShowAdInter
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.showInterstitialAd
import com.swiftcleaner.chovey.business.newAdmob.AdmobHelps.showNativeAd
import com.swiftcleaner.chovey.databinding.ActivitySimilarPhotosBinding
import com.swiftcleaner.chovey.model.bean.ImageHelpers
import com.swiftcleaner.chovey.model.bean.SimilarBean
import com.swiftcleaner.chovey.model.tool.FileHelps
import com.swiftcleaner.chovey.model.tool.MediaHelps
import com.swiftcleaner.chovey.model.tool.ToastUtil
import com.swiftcleaner.chovey.model.util.FinishMain.finishToMain
import com.swiftcleaner.chovey.view.MainActivity
import com.swiftcleaner.chovey.view.adapter.SimilarPhotosAdapter
import com.swiftcleaner.chovey.view.adapter.SimilarPhotosAdapter.OnItemClick
import com.swiftcleaner.chovey.view.dialog.CustomScoreDialog
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.text.DecimalFormat
......@@ -63,14 +67,18 @@ class SimilarPhotosActivity : AppCompatActivity() {
}
private fun initShow() {
similarPhotosAdapter = SimilarPhotosAdapter(this, ArrayList())
similarPhotosAdapter = SimilarPhotosAdapter(this, ArrayList()) {
updateDeleteButton()
}
binding.similarPhotosExrecy.adapter = similarPhotosAdapter
binding.similarPhotosExrecy.layoutManager = LinearLayoutManager(this)
initData()
binding.ivReturn.setOnClickListener { v: View? -> initCustDialog() }
binding.similarPhotosDeleteButton.setOnClickListener { v: View? ->
val selectedItems = similarPhotosAdapter.selectedItems
cleanFiles(selectedItems)
if (selectedItems.size == 0) {
ToastUtil.showLongToast(this, "Please check the file to be deleted")
} else cleanFiles(selectedItems)
Log.d("selectedItems", "selectedItems=" + selectedItems.size)
}
binding.switchId.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { compoundButton, isChecked ->
......@@ -80,8 +88,9 @@ class SimilarPhotosActivity : AppCompatActivity() {
}
//全选
@SuppressLint("NotifyDataSetChanged")
private fun toggleSelection(isChecked: Boolean) {
Thread {
lifecycleScope.launch(Dispatchers.IO){
for (group in imageGroups) {
if (group.items.size > 1) {
for (i in 1 until group.items.size) {
......@@ -90,9 +99,11 @@ class SimilarPhotosActivity : AppCompatActivity() {
}
}
}
// Notify the adapter on the main thread
runOnUiThread { similarPhotosAdapter.notifyDataSetChanged() }
}.start()
lifecycleScope.launch(Dispatchers.Main) {
updateDeleteButton()
similarPhotosAdapter.notifyDataSetChanged()
}
}
}
private fun initData() {
......@@ -216,6 +227,25 @@ class SimilarPhotosActivity : AppCompatActivity() {
}
}
private fun updateDeleteButton() {
val selectedItems = similarPhotosAdapter.selectedItems
if (selectedItems.isEmpty()) {
binding.similarPhotosDeleteButton.setBackground(
ContextCompat.getDrawable(
this,
R.drawable.shape_radio_80dp_hui_se
)
)
} else {
binding.similarPhotosDeleteButton.setBackground(
ContextCompat.getDrawable(
this,
R.drawable.shape_clean_up
)
)
}
}
private fun cleanFiles(selectedFiles: List<SimilarBean>) {
// 更新媒体库
Log.d("selectedFiles", "更新媒体库")
......@@ -225,8 +255,8 @@ class SimilarPhotosActivity : AppCompatActivity() {
withContext(Dispatchers.Main) {
MediaHelps.updateMedia(applicationContext, paths)
val intent: Intent = Intent(this@SimilarPhotosActivity, AnimatorActivity::class.java)
intent.putExtra("cleanstr", "Cleaned"+formatFileSize(selectedFiles.sumOf { it.size })+"junk files")
intent.putExtra("title", "Clean Junk")
intent.putExtra("cleanstr", "Cleaned"+formatFileSize(selectedFiles.sumOf { it.size })+"useless files")
intent.putExtra("title", "Clean Up")
intent.putExtra("animator", 5)
startActivity(intent)
finish()
......@@ -244,7 +274,7 @@ class SimilarPhotosActivity : AppCompatActivity() {
private fun initCustDialog() {
val activity: Activity = this
val customScoreDialog = CustomScoreDialog(this)
val customScoreDialog = CustomScoreDialog(this, 5)
customScoreDialog.setOnDialogClickListener(object :
CustomScoreDialog.OnDialogClickListener {
override fun onCancel() {
......
......@@ -405,6 +405,7 @@ public class StartActivity extends AppCompatActivity {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("animator", 1);
startActivity(intent);
finish();
return;
}
......@@ -412,6 +413,7 @@ public class StartActivity extends AppCompatActivity {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("animator", 2);
startActivity(intent);
finish();
return;
}
......@@ -419,6 +421,7 @@ public class StartActivity extends AppCompatActivity {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("animator", 3);
startActivity(intent);
finish();
return;
}
if (Objects.equals(actionId, GlobalConfig.ID_SIMILAR_PHOTOS)) {
......@@ -430,6 +433,7 @@ public class StartActivity extends AppCompatActivity {
Intent intent = new Intent(this, AnimatorActivity.class);
intent.putExtra("animator", 4);
startActivity(intent);
finish();
return;
}
if (Objects.equals(actionId, ID_WHEATHER)) {
......
......@@ -28,9 +28,12 @@ public class SimilarPhotosAdapter extends RecyclerView.Adapter<SimilarPhotosAdap
private final Context context;
private List<SimilarBean> list;
public SimilarPhotosAdapter(Context context, List<SimilarBean> list) {
private OnItemClick onItemClick;
public SimilarPhotosAdapter(Context context, List<SimilarBean> list, OnItemClick onItemClick) {
this.context = context;
this.list = new ArrayList<>(list); // 创建一个新的列表,避免外部修改
this.onItemClick = onItemClick;
}
public synchronized void setData(List<SimilarBean> newList) {
......@@ -117,6 +120,7 @@ public class SimilarPhotosAdapter extends RecyclerView.Adapter<SimilarPhotosAdap
} else {
Log.e("SimilarPhotosAdapter", "Invalid position: " + position + ", list size: " + list.size());
}
if (onItemClick != null) onItemClick.OnClick();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
......@@ -159,4 +163,8 @@ public class SimilarPhotosAdapter extends RecyclerView.Adapter<SimilarPhotosAdap
return oldList.get(oldItemPosition).equals(newList.get(newItemPosition));
}
}
public interface OnItemClick{
public void OnClick();
}
}
......@@ -3,6 +3,7 @@ package com.swiftcleaner.chovey.view.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.widget.FrameLayout;
import android.widget.TextView;
import androidx.appcompat.widget.AppCompatButton;
import androidx.cardview.widget.CardView;
......@@ -25,7 +26,7 @@ public class CustomScoreDialog extends Dialog {
void onSubmit();
}
public CustomScoreDialog(Activity activity) {
public CustomScoreDialog(Activity activity, int type) {
super(activity, R.style.TransparentDialogTheme);
this.weakActivity = new WeakReference<>(activity);
setContentView(R.layout.dialog_function_exit_item);
......@@ -33,6 +34,8 @@ public class CustomScoreDialog extends Dialog {
AppCompatButton dialog_cancel = findViewById(R.id.dialog_cancel);
AppCompatButton dialog_ok = findViewById(R.id.dialog_ok);
CardView cardView = findViewById(R.id.cardview);
TextView tvExitTitle = findViewById(R.id.tv_exit_title);
TextView tvExitContent = findViewById(R.id.tv_exit_content);
cardView.setCardBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
FrameLayout nativeView = findViewById(R.id.fl_ad);
......@@ -53,7 +56,7 @@ public class CustomScoreDialog extends Dialog {
}
dismiss();
});
setExitText(tvExitTitle, tvExitContent, type);
setCanceledOnTouchOutside(false);
}
@Override
......@@ -72,4 +75,41 @@ public class CustomScoreDialog extends Dialog {
public void setOnDialogClickListener(OnDialogClickListener listener) {
this.listener = listener;
}
private void setExitText(TextView titleTextView, TextView contentTextView, int type){
int resTitleId = R.string.exit_title_0;
switch (type){
case 1: resTitleId = R.string.exit_title_1;
break;
case 2: resTitleId = R.string.exit_title_2;
break;
case 3: resTitleId = R.string.exit_title_3;
break;
case 4: resTitleId = R.string.exit_title_4;
break;
case 5: resTitleId = R.string.exit_title_5;
break;
case 6: resTitleId = R.string.exit_title_6;
break;
default: break;
}
titleTextView.setText(resTitleId);
int resContentId = R.string.exit_content_0;
switch (type){
case 1: resContentId = R.string.exit_content_1;
break;
case 2: resContentId = R.string.exit_content_2;
break;
case 3: resContentId = R.string.exit_content_3;
break;
case 4: resContentId = R.string.exit_content_4;
break;
case 5: resContentId = R.string.exit_content_5;
break;
case 6: resContentId = R.string.exit_content_6;
break;
default: break;
}
contentTextView.setText(resContentId);
}
}
\ No newline at end of file
......@@ -56,7 +56,7 @@ class WeatherInterface : BaseActivityKotlin<ActivityWeatherInterfaceBinding>() {
private fun initCustDialog() {
val activity: Activity = this
val customScoreDialog = CustomScoreDialog(this)
val customScoreDialog = CustomScoreDialog(this, 0)
customScoreDialog.setOnDialogClickListener(object :
CustomScoreDialog.OnDialogClickListener {
override fun onCancel() {
......
......@@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Clean Junk"
android:text="Clean Up"
android:textColor="@color/white"
android:textSize="19sp"
android:textStyle="bold"
......
......@@ -49,7 +49,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Clean Junk"
android:text="Clean Up"
android:textColor="@color/white"
android:textSize="19sp"
android:textStyle="bold"
......@@ -77,7 +77,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="Cleaned 25 MB junk files"
android:text="Cleaned 25 MB useless files"
android:textColor="#FFFFFF"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
......@@ -126,7 +126,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="3dp"
android:text="Clean Junk"
android:text="Clean Up"
android:textColor="#000000"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@id/iv_cl_end_clean_junk_img"
......@@ -137,7 +137,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginBottom="4dp"
android:text="Clean junk regularly to free up space"
android:text="Clean useless files regularly to free up space"
android:textColor="#999999"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/iv_cl_end_clean_junk_img"
......
......@@ -249,7 +249,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="Clean Junk"
android:text="Clean Up"
android:textColor="#000000"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="@id/cl3_clean_junk"
......@@ -509,7 +509,13 @@
android:layout_height="60dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/zhanweitu2"
android:scaleType="centerCrop"
android:tag="zhanweitu"
tools:ignore="ContentDescription" />
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
......@@ -517,15 +523,10 @@
android:background="@color/white"
app:shimmer_highlight_color="#66242424">
</com.facebook.shimmer.ShimmerFrameLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/zhanweitu2"
android:scaleType="centerCrop"
android:tag="zhanweitu"
tools:ignore="ContentDescription" />
</FrameLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
\ No newline at end of file
......@@ -134,8 +134,8 @@
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_clean_up"
android:layout_marginBottom="15dp"
android:background="@drawable/shape_radio_80dp_hui_se"
android:text="Delete"
android:textAllCaps="false"
android:textColor="@color/white"
......@@ -212,6 +212,7 @@
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginHorizontal="16dp"
app:layout_constraintBottom_toBottomOf="parent">
......
......@@ -92,7 +92,7 @@
android:id="@+id/ll_agreement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="47dp"
android:layout_marginHorizontal="5dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:orientation="horizontal"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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/cardview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -21,17 +22,19 @@
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_exit_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="34dp"
android:gravity="center"
android:text="Clean Junk"
tools:text="Title"
android:textColor="#000000"
android:textSize="20sp"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_exit_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="29dp"
......@@ -39,14 +42,15 @@
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:text="Exit Junk Cleaner? Unremoved junk files may be taking up space."
tools:text="Exit Junk Cleaner? Unremoved useless files may be taking up space."
android:textColor="#666666"
android:textSize="17sp" />
android:textSize="14sp" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
android:layout_marginTop="24dp"
android:layout_marginBottom="10dp">
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/dialog_cancel"
......
......@@ -83,7 +83,7 @@
android:layout_marginHorizontal="113dp"
android:layout_marginTop="14dp"
android:background="@drawable/shape_clean_up"
android:text="Clean Junk"
android:text="Clean Up"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="19sp"
......
......@@ -30,7 +30,7 @@
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="2"
tools:text="Clean out junk files to free up space on your phone!"
tools:text="Clean out useless files to free up space on your phone!"
android:textColor="#000000"
android:textSize="16sp" />
......
......@@ -34,7 +34,7 @@
android:textColor="#666666"
android:textSize="12sp"
android:textStyle="bold"
tools:text="Clean out junk files to free up space on your phone!" />
tools:text="Clean out useless files to free up space on your phone!" />
<TextView
......
......@@ -18,7 +18,7 @@
<item>1111</item>
</string-array>
<string name="preparing_advertisement">Preparing advertisement</string>
<string name="notification_clean">Phone slow? Junk clean for space!</string>
<string name="notification_clean">Phone slow? Useless files clean for space!</string>
<string name="notification_battery">Watch battery, extend life</string>
<string name="notification_manager">Manage apps easily with AntiVirus Cleaner Junk</string>
<string name="notification_large_file">Low space? Clean large files</string>
......@@ -30,10 +30,10 @@
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="fragment_gudie_one_text">Clean up clutter to unlock more space and keep your phone running smoothly.</string>
<string name="fragment_gudie_two_text">Quickly clear junk files and free up valuable storage with just a few taps.</string>
<string name="fragment_gudie_two_text">Quickly clear useless files and free up valuable storage with just a few taps.</string>
<string name="fragment_gudie_three_text">Clean photos,videos,and audio files to save space and keep your phone tidy.</string>
<string name="fragment_gudie_end_text">Maximize your storage and enjoy a clutter- free phone experience</string>
<string name="scan_text">Attention To find junk files completely, the first scan may take a little time</string>
<string name="scan_text">Attention To find useless files completely, the first scan may take a little time</string>
<string name="malware_scan">Antivirus Scan</string>
<string name="uninstall">Uninstall</string>
<string name="powered_by_trustlook">Powered by Trustlook</string>
......@@ -57,4 +57,20 @@
<string name="consent_string">During the use of this APP, we need to obtain the following information:Mobile phone model, mobile phone manufacturer,Android system version,Application version number, application version name,Package name,Google Ad ID,Mobile phone local time zone,Mobile phone photo album, empty folders, apk files, temp files, log files,Audio files, video files, document file, file storage locations,Battery power, mobile phone standby time, battery temperature, battery voltage, battery technology, battery capacity, battery current, current average value of the battery,The package name, signature, code version, hash, file name, size, service name, etc. of the scanned APK file
Please rest assured that we will handle your information in strict accordance with relevant laws and regulations. All the information we collect will be used reasonably to ensure the normal operation and service improvement of the APP, and we will take all necessary measures to protect the security of your personal information. Your privacy is of utmost importance to us.</string>
<string name="exit_title_0">Exit</string>
<string name="exit_title_1">Exit Clean Up?</string>
<string name="exit_title_2">Exit Battery Info?</string>
<string name="exit_title_3">Exit Large File Cleaner?</string>
<string name="exit_title_4">Exit Screenshot Cleaner?</string>
<string name="exit_title_5">Exit Similar Photos Cleaner?</string>
<string name="exit_title_6">Exit Image Compression</string>
<string name="exit_content_0">Are you sure you want to exit?</string>
<string name="exit_content_1">Exit Junk Cleaner? Unremoved junkhles may be taking up space.</string>
<string name="exit_content_2">You are currently viewing the detailed battery info. If you exit, you will not be able to continue monitoring the battery data in real time. Are you sure you want to return?</string>
<string name="exit_content_3">The large file cleaner task is in progress. Exiting at this time will interrupt the scanning and cleaning operations. Are you sure you want to exit?</string>
<string name="exit_content_4">Your screenshot cleaning work hasn\'t been completed yet. Are you sure you want to abandon the current cleaning and return?</string>
<string name="exit_content_5">The similar picture cleaning has not been finished yet. Exiting may lead to incomplete cleaning. Are you sure you want to exit this function page?</string>
<string name="exit_content_6">The image compression program is in progress. Are you sure you don\'t want to continue with the image compression</string>
</resources>
\ No newline at end of file
File added
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