Commit 316b3021 authored by wanglei's avatar wanglei

...

parent 1f651ced
...@@ -16,8 +16,10 @@ object ConstObject { ...@@ -16,8 +16,10 @@ object ConstObject {
const val ID_JUNK_CLEANER = 12001 const val ID_JUNK_CLEANER = 12001
const val ID_NEWS = 12002 const val ID_NEWS = 12002
const val ID_SCAN_CODE = 12003 const val ID_SCAN_CODE = 12003
const val ID_APP_PROCESS = 12004 const val ID_APP_PROCESS_1 = 12004
const val ID_APP_PROCESS_2 = 12014
const val ID_WEATHER = 12012 const val ID_WEATHER = 12012
const val ID_CONSTELLATION=13000
const val JUNK_CLEANER = "Junk Cleaner" const val JUNK_CLEANER = "Junk Cleaner"
const val NEWS = "News" const val NEWS = "News"
......
...@@ -48,7 +48,7 @@ object NotificationHelp { ...@@ -48,7 +48,7 @@ object NotificationHelp {
LogEx.logDebug(TAG, "ID_WEATHER canPush=$canPush") LogEx.logDebug(TAG, "ID_WEATHER canPush=$canPush")
} }
ConstObject.ID_APP_PROCESS -> { ConstObject.ID_APP_PROCESS_1 -> {
canPush = canPushAppProcess() canPush = canPushAppProcess()
} }
...@@ -117,7 +117,7 @@ object NotificationHelp { ...@@ -117,7 +117,7 @@ object NotificationHelp {
private val NOTIFICATION_IDS = intArrayOf( private val NOTIFICATION_IDS = intArrayOf(
ConstObject.ID_JUNK_CLEANER, ConstObject.ID_JUNK_CLEANER,
ConstObject.ID_NEWS, ConstObject.ID_NEWS,
ConstObject.ID_APP_PROCESS, ConstObject.ID_APP_PROCESS_1,
ConstObject.ID_WEATHER ConstObject.ID_WEATHER
) )
} }
...@@ -11,12 +11,15 @@ import android.graphics.drawable.Icon ...@@ -11,12 +11,15 @@ import android.graphics.drawable.Icon
import android.os.Build import android.os.Build
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.view.View
import android.widget.RemoteViews import android.widget.RemoteViews
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.graphics.drawable.IconCompat import androidx.core.graphics.drawable.IconCompat
import com.base.browserwhite.MyApplication import com.base.browserwhite.MyApplication
import com.base.browserwhite.R import com.base.browserwhite.R
import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS_1
import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS_2
import com.base.browserwhite.bean.ConstObject.ID_CONSTELLATION
import com.base.browserwhite.bean.ConstObject.ID_INSTALL_APP import com.base.browserwhite.bean.ConstObject.ID_INSTALL_APP
import com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER import com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER
import com.base.browserwhite.bean.ConstObject.ID_NEWS import com.base.browserwhite.bean.ConstObject.ID_NEWS
...@@ -51,7 +54,33 @@ object NotificationUiUtil { ...@@ -51,7 +54,33 @@ object NotificationUiUtil {
@SuppressLint("RemoteViewLayout") @SuppressLint("RemoteViewLayout")
fun sendNotification(context: Context, actionId: Int) { fun sendNotification(context: Context, actionId: Int) {
when (actionId) { when (actionId) {
ID_JUNK_CLEANER, ID_INSTALL_APP, ID_UNINSTALL_APP -> {//清理 //安装
ID_INSTALL_APP -> {
val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_un_install_small)
smallRemoteViews.setTextViewText(R.id.tv_tittle_1, "Clean up useless installation packages")
smallRemoteViews.setTextViewText(R.id.tv_tittle_2, "App installation successful")
val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_un_install_big)
bigRemoteViews.setTextViewText(R.id.tv_tittle_1, "Clean up useless installation packages")
bigRemoteViews.setTextViewText(R.id.tv_tittle_2, "App installation successful")
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
}
//卸载
ID_UNINSTALL_APP -> {
val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_un_install_small)
smallRemoteViews.setTextViewText(R.id.tv_tittle_1, "Clean up residual files")
smallRemoteViews.setViewVisibility(R.id.tv_tittle_2, View.GONE)
val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_un_install_big)
bigRemoteViews.setTextViewText(R.id.tv_tittle_1, "Clean up residual files")
bigRemoteViews.setTextViewText(R.id.tv_tittle_2, "Uninstalling successful")
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
}
ID_JUNK_CLEANER -> {//清理
var size = fastGetJunkSize(context) var size = fastGetJunkSize(context)
if (size == 0L) { if (size == 0L) {
size = Random.nextLong(1024 * 5, 1024 * 10) size = Random.nextLong(1024 * 5, 1024 * 10)
...@@ -64,20 +93,6 @@ object NotificationUiUtil { ...@@ -64,20 +93,6 @@ object NotificationUiUtil {
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews) sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
} }
// ID_CLEAN_JUNK_MEMORY -> {//清理和内存
// var size = fastGetJunkSize(context)
// if (size == 0L) {
// size = Random.nextLong(1024 * 5, 1024 * 10)
// }
// val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_junk_memory_small)
// bigRemoteViews.setTextViewText(R.id.tv_size, size.toFormatSize())
//
// val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_junk_memory_small)
// smallRemoteViews.setTextViewText(R.id.tv_size, size.toFormatSize())
//
// sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
// }
ID_NEWS -> {//新闻 ID_NEWS -> {//新闻
val mainHandler = Handler(Looper.getMainLooper()) val mainHandler = Handler(Looper.getMainLooper())
...@@ -108,22 +123,26 @@ object NotificationUiUtil { ...@@ -108,22 +123,26 @@ object NotificationUiUtil {
}.start() }.start()
} }
ID_APP_PROCESS -> {//内存 ID_APP_PROCESS_1 -> {//内存样式一
val pair = MyApplication.context.ramPair() val pair = MyApplication.context.ramPair()
val percent = (pair.first * 100 / pair.second).toInt() val percent = (pair.first * 100 / pair.second).toInt()
val desc = "Memory is $percent% used" val desc = "Memory is $percent% used"
val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_small) val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_small_1)
smallRemoteViews.setProgressBar(R.id.progress_bar, percent, 100, false) smallRemoteViews.setProgressBar(R.id.progress_bar, percent, 100, false)
smallRemoteViews.setTextViewText(R.id.tv_desc, desc) smallRemoteViews.setTextViewText(R.id.tv_desc, desc)
val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_small) val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_big)
bigRemoteViews.setProgressBar(R.id.progress_bar, percent, 100, false)
bigRemoteViews.setTextViewText(R.id.tv_desc, desc)
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews) sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
} }
ID_APP_PROCESS_2 -> {//内存样式二
val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_small_2)
val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_memory_big)
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
}
ID_WEATHER -> {//天气 ID_WEATHER -> {//天气
val weatherBean: WeatherBean = WeatherUtils.getWeatherEntity() ?: return val weatherBean: WeatherBean = WeatherUtils.getWeatherEntity() ?: return
...@@ -168,6 +187,14 @@ object NotificationUiUtil { ...@@ -168,6 +187,14 @@ object NotificationUiUtil {
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews) sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
} }
ID_CONSTELLATION -> {//星座
val smallRemoteViews = RemoteViews(context.packageName, R.layout.notification_constellation_small)
val bigRemoteViews = RemoteViews(context.packageName, R.layout.notification_constellation_big)
sendNotificationUI(context, actionId, bigRemoteViews, smallRemoteViews)
}
else -> { else -> {
} }
} }
...@@ -269,7 +296,7 @@ object NotificationUiUtil { ...@@ -269,7 +296,7 @@ object NotificationUiUtil {
if (actionId == ID_NEWS) { if (actionId == ID_NEWS) {
AppPreferences.getInstance().put("last_news_notification_time", System.currentTimeMillis()) AppPreferences.getInstance().put("last_news_notification_time", System.currentTimeMillis())
} }
if (actionId == ID_APP_PROCESS) { if (actionId == ID_APP_PROCESS_1) {
AppPreferences.getInstance().put("last_process_notification_time", System.currentTimeMillis()) AppPreferences.getInstance().put("last_process_notification_time", System.currentTimeMillis())
} }
} }
......
...@@ -129,7 +129,7 @@ class StayNotificationService : Service() { ...@@ -129,7 +129,7 @@ class StayNotificationService : Service() {
val requestCode4 = Random.nextInt(1800) val requestCode4 = Random.nextInt(1800)
val intent4 = Intent(context, Splash2Activity::class.java).apply { val intent4 = Intent(context, Splash2Activity::class.java).apply {
putExtra("actionId", ConstObject.ID_APP_PROCESS) putExtra("actionId", ConstObject.ID_APP_PROCESS_1)
} }
val pendingIntent4 = val pendingIntent4 =
PendingIntent.getActivity(context, requestCode4, intent4, PendingIntent.FLAG_IMMUTABLE) PendingIntent.getActivity(context, requestCode4, intent4, PendingIntent.FLAG_IMMUTABLE)
......
...@@ -3,15 +3,20 @@ package com.base.browserwhite.ui.activity.splash ...@@ -3,15 +3,20 @@ package com.base.browserwhite.ui.activity.splash
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import android.util.Log import android.util.Log
import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS_1
import com.base.browserwhite.bean.ConstObject.ID_APP_PROCESS_2
import com.base.browserwhite.bean.ConstObject.ID_CONSTELLATION
import com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER import com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER
import com.base.browserwhite.bean.ConstObject.ID_NEWS import com.base.browserwhite.bean.ConstObject.ID_NEWS
import com.base.browserwhite.bean.ConstObject.ID_SCAN_CODE import com.base.browserwhite.bean.ConstObject.ID_SCAN_CODE
import com.base.browserwhite.bean.ConstObject.ID_WEATHER
import com.base.browserwhite.ui.activity.MainActivity import com.base.browserwhite.ui.activity.MainActivity
import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity
import com.base.browserwhite.ui.activity.cleanjunk.ScanJunkActivity import com.base.browserwhite.ui.activity.cleanjunk.ScanJunkActivity
import com.base.browserwhite.ui.activity.news.NewsActivity import com.base.browserwhite.ui.activity.news.NewsActivity
import com.base.browserwhite.ui.activity.scanqrc.ScanQRCActivity import com.base.browserwhite.ui.activity.scanqrc.ScanQRCActivity
import com.base.browserwhite.ui.activity.weather.WeatherInterface
import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.utils.PermissionUtils.checkCameraPermission import com.base.browserwhite.utils.PermissionUtils.checkCameraPermission
object StartUtils { object StartUtils {
...@@ -36,7 +41,7 @@ object StartUtils { ...@@ -36,7 +41,7 @@ object StartUtils {
context.startActivity(Intent(context, ScanJunkActivity::class.java)) context.startActivity(Intent(context, ScanJunkActivity::class.java))
} else { } else {
context.startActivity(Intent(context, MainActivity::class.java).apply { context.startActivity(Intent(context, MainActivity::class.java).apply {
putExtra("cleanAskPermission",true) putExtra("cleanAskPermission", true)
}) })
} }
} }
...@@ -49,10 +54,21 @@ object StartUtils { ...@@ -49,10 +54,21 @@ object StartUtils {
context.startActivity(Intent(context, ScanQRCActivity::class.java)) context.startActivity(Intent(context, ScanQRCActivity::class.java))
} }
ID_APP_PROCESS -> { ID_WEATHER -> {
context.startActivity(Intent(context, WeatherInterface::class.java))
}
ID_APP_PROCESS_1, ID_APP_PROCESS_2 -> {
context.startActivity(Intent(context, AppProcessActivity::class.java)) context.startActivity(Intent(context, AppProcessActivity::class.java))
} }
ID_CONSTELLATION -> {
context.startActivity(Intent(context, WebBrowserActivity::class.java).apply {
putExtra("url", "https://www.horoscope.com/us/index.aspx")
})
}
else -> { else -> {
val isHotLaunch = context.intent?.extras?.getBoolean("isHotLaunch", false) ?: false val isHotLaunch = context.intent?.extras?.getBoolean("isHotLaunch", false) ?: false
if (!isHotLaunch) { if (!isHotLaunch) {
......
...@@ -51,7 +51,7 @@ internal fun updateAppWidget(context: Context, appWidgetManager: AppWidgetManage ...@@ -51,7 +51,7 @@ internal fun updateAppWidget(context: Context, appWidgetManager: AppWidgetManage
//进程 //进程
val requestCode2 = Random.nextInt(1800) val requestCode2 = Random.nextInt(1800)
val intent2 = Intent(context, Splash2Activity::class.java).apply { val intent2 = Intent(context, Splash2Activity::class.java).apply {
putExtra("actionId", ConstObject.ID_APP_PROCESS) putExtra("actionId", ConstObject.ID_APP_PROCESS_1)
} }
val pendingIntent2 = val pendingIntent2 =
PendingIntent.getActivity(context, requestCode2, intent2, PendingIntent.FLAG_IMMUTABLE) PendingIntent.getActivity(context, requestCode2, intent2, PendingIntent.FLAG_IMMUTABLE)
......
...@@ -105,7 +105,7 @@ object ShortcutUtils { ...@@ -105,7 +105,7 @@ object ShortcutUtils {
.setShortLabel("App Process") .setShortLabel("App Process")
.setIcon(Icon.createWithResource(this, R.mipmap.notifi_process)) .setIcon(Icon.createWithResource(this, R.mipmap.notifi_process))
.setIntent(Intent(Intent.ACTION_MAIN, null, this, Splash2Activity::class.java).apply { .setIntent(Intent(Intent.ACTION_MAIN, null, this, Splash2Activity::class.java).apply {
putExtra("actionId", ConstObject.ID_APP_PROCESS) putExtra("actionId", ConstObject.ID_APP_PROCESS_1)
}) })
.build() .build()
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:src="@mipmap/d_xingzuo"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_tittle_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check out your luck today!"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_tittle_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="#898989"
android:textSize="12sp"
android:visibility="gone"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="25dp"
android:layout_marginVertical="16dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Clean"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/bg_ffffff_15">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/x_xingzuo"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="7dp"
android:layout_marginEnd="40dp"
android:layout_weight="1"
android:textColor="@color/black"
android:textSize="14sp"
tools:text="Check out your luck today!" />
<TextView
android:id="@+id/tv_btn"
android:layout_width="69dp"
android:layout_height="34dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="13dp"
android:background="@drawable/bg_0571ed_18"
android:gravity="center"
android:text="View"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:src="@mipmap/d_process"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_tittle_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mobile phone memory usage is high?"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_tittle_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="App installation successful"
android:textColor="#898989"
android:textSize="12sp"
android:visibility="gone"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="25dp"
android:layout_marginVertical="16dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Clean"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/bg_ffffff_15">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/process_notification"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="7dp"
android:layout_marginEnd="40dp"
android:layout_weight="1"
android:textColor="@color/black"
android:textSize="14sp"
tools:text="Mobile phone memory usage is high?" />
<TextView
android:id="@+id/tv_btn"
android:layout_width="69dp"
android:layout_height="34dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="13dp"
android:background="@drawable/bg_0571ed_18"
android:gravity="center"
android:text="Scan"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:src="@mipmap/clean"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_tittle_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF3722"
android:textSize="14sp"
android:textStyle="bold"
tools:text="Clean up useless installation packages" />
<TextView
android:id="@+id/tv_tittle_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="App installation successful"
android:textColor="#898989"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="25dp"
android:layout_marginVertical="16dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Clean"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/bg_ffffff_15">
<ImageView
android:layout_width="34dp"
android:layout_height="34dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/clean"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="6dp"
android:layout_weight="1"
android:orientation="vertical"
tools:ignore="HardcodedText">
<TextView
android:id="@+id/tv_tittle_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FF4343"
android:textSize="14sp"
tools:text="Clean up useless installatio..." />
<TextView
android:id="@+id/tv_tittle_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#898989"
android:textSize="12sp"
tools:text="App installation successful" />
</LinearLayout>
<TextView
android:id="@+id/tv_btn"
android:layout_width="69dp"
android:layout_height="34dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="12dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Clean"
android:textColor="@color/white"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</LinearLayout>
\ No newline at end of file
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