Commit 15ac3cf7 authored by wanglei's avatar wanglei

...

parent 848dc3be
...@@ -15,6 +15,17 @@ ...@@ -15,6 +15,17 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
</intent>
</queries>
<application <application
android:name=".MyApplication" android:name=".MyApplication"
android:allowBackup="true" android:allowBackup="true"
......
package com.base.browserwhite.bean
import android.graphics.drawable.Drawable
class AppBean(
val icon: Drawable, val name: String, val packageName: String
)
\ No newline at end of file
package com.base.browserwhite.ui.activity.appprocess
import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.base.browserwhite.bean.AppBean
import com.chad.library.adapter4.BaseQuickAdapter
class AppBeanAdapter : BaseQuickAdapter<AppBean, AppBeanAdapter.AppHolder>() {
inner class AppHolder(view: View) : RecyclerView.ViewHolder(view)
override fun onBindViewHolder(holder: AppHolder, position: Int, item: AppBean?) {
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): AppHolder {
TODO("Not yet implemented")
}
}
\ No newline at end of file
package com.base.browserwhite.ui.activity.appprocess package com.base.browserwhite.ui.activity.appprocess
import android.annotation.SuppressLint
import android.content.Context
import android.content.pm.ApplicationInfo
import android.content.pm.PackageInfo
import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.bean.AppBean
import com.base.browserwhite.databinding.ActivityAppProcessBinding import com.base.browserwhite.databinding.ActivityAppProcessBinding
import com.base.browserwhite.ui.activity.BaseActivity import com.base.browserwhite.ui.activity.BaseActivity
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() { class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
...@@ -13,4 +21,32 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() { ...@@ -13,4 +21,32 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
override fun initView() { override fun initView() {
} }
@SuppressLint("QueryPermissionsNeeded")
private fun initData() = lifecycleScope.launch(Dispatchers.IO) {
val pm = packageManager
val packages = pm.getInstalledPackages(0)
val list = arrayListOf<AppBean>()
packages.forEach { app ->
if (isLaunchApp(this@AppProcessActivity, app)) {
val appBean = AppBean(
app.applicationInfo.loadIcon(pm),
app.applicationInfo.loadLabel(pm).toString(),
app.applicationInfo.packageName
)
list.add(appBean)
}
}
}
private fun isLaunchApp(context: Context, app: PackageInfo, filterSystem: Boolean = true): Boolean {
val flagSystem = (app.applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM) < 1
val flag = if (filterSystem) flagSystem else true
return flag && app.applicationInfo.packageName != context.packageName
}
} }
\ No newline at end of file
...@@ -49,8 +49,9 @@ ...@@ -49,8 +49,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:includeFontPadding="false"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="4dp"
android:text="Home" android:text="Home"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
...@@ -78,8 +79,9 @@ ...@@ -78,8 +79,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:includeFontPadding="false"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="4dp"
android:text="File" android:text="File"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<TextView <TextView
...@@ -50,4 +51,12 @@ ...@@ -50,4 +51,12 @@
app:layout_constraintTop_toTopOf="@id/card" app:layout_constraintTop_toTopOf="@id/card"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<View
android:layout_width="0dp"
android:layout_height="1px"
android:layout_marginBottom="2dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/card" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
android:id="@+id/rv_website" android:id="@+id/rv_website"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/item_website_grid" /> tools:listitem="@layout/item_website_grid" />
......
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