remove: activity_status string and uses

This commit is contained in:
Hamza Rizwan
2026-01-17 13:26:34 +05:30
parent ca95860bbb
commit d8a6e39e12
12 changed files with 136 additions and 101 deletions

View File

@@ -15,6 +15,7 @@ import app.simple.inure.models.ActivityInfoModel
import app.simple.inure.preferences.ConfigurationPreferences
import app.simple.inure.util.ActivityUtils
import app.simple.inure.util.AdapterUtils
import app.simple.inure.util.StringUtils.appendFlag
import app.simple.inure.util.ViewUtils.gone
import app.simple.inure.util.ViewUtils.visible
@@ -32,35 +33,43 @@ class AdapterActivities(private val packageInfo: PackageInfo, private val activi
holder.name.text = activities[holder.absoluteAdapterPosition].name.substring(activities[holder.absoluteAdapterPosition].name.lastIndexOf(".") + 1)
holder.activityPackageID.text = activities[position].name
holder.icon.loadIconFromActivityInfo(activities[position].activityInfo)
holder.status.text = holder.itemView.context.getString(
R.string.activity_status,
if (activities[position].exported) {
holder.itemView.context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.not_exported)
},
val context = holder.itemView.context
val activity = activities[holder.absoluteAdapterPosition]
kotlin.runCatching {
if (ActivityUtils.isEnabled(holder.itemView.context, packageInfo.packageName, activities[position].name)) {
holder.itemView.context.getString(R.string.enabled)
holder.status.text = buildString {
appendFlag(
if (activity.exported) {
context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.disabled)
context.getString(R.string.not_exported)
}
}.getOrElse {
holder.itemView.context.getString(R.string.no_state)
}
)
holder.status.append(activities[position].status)
holder.name.setTrackingIcon(activities[position].trackerId.isNullOrEmpty().not())
)
holder.launch.setOnClickListener {
activitiesCallbacks.onLaunchClicked(packageInfo.packageName, activities[holder.absoluteAdapterPosition].name)
appendFlag(
runCatching {
if (ActivityUtils.isEnabled(context, packageInfo.packageName, activity.name)) {
context.getString(R.string.enabled)
} else {
context.getString(R.string.disabled)
}
}.getOrElse {
context.getString(R.string.no_state)
}
)
appendFlag(activities[position].status)
}
if (activities[position].exported) {
holder.name.setTrackingIcon(activity.trackerId.isNullOrEmpty().not())
holder.launch.setOnClickListener {
activitiesCallbacks.onLaunchClicked(packageInfo.packageName, activity.name)
}
if (activity.exported) {
kotlin.runCatching {
if (ActivityUtils.isEnabled(holder.itemView.context, packageInfo.packageName, activities[holder.absoluteAdapterPosition].name)) {
if (ActivityUtils.isEnabled(context, packageInfo.packageName, activity.name)) {
holder.launch.visible(false)
holder.divider.visible(false)
} else {
@@ -77,16 +86,17 @@ class AdapterActivities(private val packageInfo: PackageInfo, private val activi
}
holder.container.setOnClickListener {
activitiesCallbacks.onActivityClicked(activities[holder.absoluteAdapterPosition], activities[holder.absoluteAdapterPosition].name)
activitiesCallbacks.onActivityClicked(activity, activity.name)
}
holder.container.setOnLongClickListener {
activitiesCallbacks
.onActivityLongPressed(
activities[holder.absoluteAdapterPosition],
activity,
packageInfo,
it,
holder.absoluteAdapterPosition)
holder.absoluteAdapterPosition
)
true
}
@@ -103,7 +113,7 @@ class AdapterActivities(private val packageInfo: PackageInfo, private val activi
return activities[position].name.hashCode().toLong()
}
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
class Holder(itemView: View) : VerticalListViewHolder(itemView) {
val icon: AppIconImageView = itemView.findViewById(R.id.adapter_activity_icon)
val name: TypeFaceTextView = itemView.findViewById(R.id.adapter_activity_name)
val status: TypeFaceTextView = itemView.findViewById(R.id.adapter_activity_status)

View File

@@ -15,6 +15,7 @@ import app.simple.inure.decorations.views.AppIconImageView
import app.simple.inure.glide.util.ImageLoader.loadIconFromActivityInfo
import app.simple.inure.preferences.ConfigurationPreferences
import app.simple.inure.util.AdapterUtils
import app.simple.inure.util.StringUtils.appendFlag
import app.simple.inure.util.ViewUtils.visible
class AdapterBoot(private val resolveInfoList: ArrayList<ResolveInfo>, val keyword: String)
@@ -28,27 +29,37 @@ class AdapterBoot(private val resolveInfoList: ArrayList<ResolveInfo>, val keywo
}
override fun onBindViewHolder(holder: Holder, position: Int) {
val context = holder.itemView.context
val resolveInfo = resolveInfoList[position]
val isEnabled = ReceiversUtils.isEnabled(
holder.itemView.context, resolveInfoList[position].activityInfo.packageName, resolveInfoList[position].activityInfo.name)
holder.icon.loadIconFromActivityInfo(resolveInfoList[position].activityInfo)
holder.name.text = resolveInfoList[position].activityInfo.name.substring(resolveInfoList[position].activityInfo.name.lastIndexOf(".") + 1)
holder.packageId.text = resolveInfoList[position].activityInfo.name
holder.status.text = holder.itemView.context.getString(
R.string.activity_status,
if (resolveInfoList[position].activityInfo.exported) {
holder.itemView.context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.not_exported)
},
if (isEnabled) {
holder.itemView.context.getString(R.string.enabled)
} else {
holder.itemView.context.getString(R.string.disabled)
}
context,
resolveInfo.activityInfo.packageName,
resolveInfo.activityInfo.name
)
holder.icon.loadIconFromActivityInfo(resolveInfo.activityInfo)
holder.name.text = resolveInfo.activityInfo.name.substring(resolveInfo.activityInfo.name.lastIndexOf(".") + 1)
holder.packageId.text = resolveInfo.activityInfo.name
holder.status.text = buildString {
appendFlag(
if (resolveInfo.activityInfo.exported) {
context.getString(R.string.exported)
} else {
context.getString(R.string.not_exported)
}
)
appendFlag(
if (isEnabled) {
context.getString(R.string.enabled)
} else {
context.getString(R.string.disabled)
}
)
}
holder.switch.isChecked = isEnabled
// holder.status.append(receivers[position].status)
// holder.name.setTrackingIcon(receivers[position].trackerId.isNullOrEmpty().not())
@@ -88,7 +99,7 @@ class AdapterBoot(private val resolveInfoList: ArrayList<ResolveInfo>, val keywo
return resolveInfoList.size
}
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
class Holder(itemView: View) : VerticalListViewHolder(itemView) {
val icon: AppIconImageView = itemView.findViewById(R.id.icon)
val name: TypeFaceTextView = itemView.findViewById(R.id.name)
val packageId: TypeFaceTextView = itemView.findViewById(R.id.id)

View File

@@ -14,6 +14,7 @@ import app.simple.inure.decorations.views.AppIconImageView
import app.simple.inure.glide.util.ImageLoader.loadIconFromProviderInfo
import app.simple.inure.models.ProviderInfoModel
import app.simple.inure.util.AdapterUtils
import app.simple.inure.util.StringUtils.appendFlag
class AdapterProviders(private val providers: MutableList<ProviderInfoModel>, private val packageInfo: PackageInfo, val keyword: String)
: RecyclerView.Adapter<AdapterProviders.Holder>() {
@@ -29,26 +30,34 @@ class AdapterProviders(private val providers: MutableList<ProviderInfoModel>, pr
holder.name.text = providers[position].name.substring(providers[position].name.lastIndexOf(".") + 1)
holder.packageId.text = providers[position].name
holder.status.text = holder.itemView.context.getString(
R.string.activity_status,
val context = holder.itemView.context
val provider = providers[position]
if (providers[position].isExported) {
holder.itemView.context.getString(R.string.exported)
holder.status.text = buildString {
appendFlag(
if (provider.isExported) {
context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.not_exported)
},
context.getString(R.string.not_exported)
}
)
kotlin.runCatching {
if (ProvidersUtils.isEnabled(holder.itemView.context, packageInfo.packageName, providers[position].name)) {
holder.itemView.context.getString(R.string.enabled)
appendFlag(
runCatching {
if (ProvidersUtils.isEnabled(context, packageInfo.packageName, provider.name)) {
context.getString(R.string.enabled)
} else {
holder.itemView.context.getString(R.string.disabled)
context.getString(R.string.disabled)
}
}.getOrElse {
holder.itemView.context.getString(R.string.no_state)
})
holder.status.append(providers[position].status)
holder.name.setTrackingIcon(providers[position].trackingId.isNullOrEmpty().not())
context.getString(R.string.no_state)
}
)
appendFlag(provider.status)
}
holder.name.setTrackingIcon(provider.trackingId.isNullOrEmpty().not())
holder.container.setOnLongClickListener {
providersCallbacks
@@ -76,7 +85,7 @@ class AdapterProviders(private val providers: MutableList<ProviderInfoModel>, pr
return providers.size
}
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
class Holder(itemView: View) : VerticalListViewHolder(itemView) {
val icon: AppIconImageView = itemView.findViewById(R.id.adapter_providers_icon)
val name: TypeFaceTextView = itemView.findViewById(R.id.adapter_providers_name)
val packageId: TypeFaceTextView = itemView.findViewById(R.id.adapter_providers_package)

View File

@@ -14,6 +14,7 @@ import app.simple.inure.decorations.views.AppIconImageView
import app.simple.inure.glide.util.ImageLoader.loadIconFromActivityInfo
import app.simple.inure.models.ActivityInfoModel
import app.simple.inure.util.AdapterUtils
import app.simple.inure.util.StringUtils.appendFlag
class AdapterReceivers(private val receivers: MutableList<ActivityInfoModel>, private val packageInfo: PackageInfo, val keyword: String)
: RecyclerView.Adapter<AdapterReceivers.Holder>() {
@@ -28,26 +29,35 @@ class AdapterReceivers(private val receivers: MutableList<ActivityInfoModel>, pr
holder.icon.loadIconFromActivityInfo(receivers[position].activityInfo)
holder.name.text = receivers[position].name.substring(receivers[position].name.lastIndexOf(".") + 1)
holder.packageId.text = receivers[position].name
holder.status.text = holder.itemView.context.getString(
R.string.activity_status,
if (receivers[position].exported) {
holder.itemView.context.getString(R.string.exported)
val context = holder.itemView.context
val receiver = receivers[position]
holder.status.text = buildString {
appendFlag(
if (receiver.exported) {
context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.not_exported)
},
context.getString(R.string.not_exported)
}
)
kotlin.runCatching {
if (ReceiversUtils.isEnabled(holder.itemView.context, packageInfo.packageName, receivers[position].name)) {
holder.itemView.context.getString(R.string.enabled)
appendFlag(
runCatching {
if (ReceiversUtils.isEnabled(context, packageInfo.packageName, receiver.name)) {
context.getString(R.string.enabled)
} else {
holder.itemView.context.getString(R.string.disabled)
context.getString(R.string.disabled)
}
}.getOrElse {
holder.itemView.context.getString(R.string.no_state)
})
holder.status.append(receivers[position].status)
holder.name.setTrackingIcon(receivers[position].trackerId.isNullOrEmpty().not())
context.getString(R.string.no_state)
}
)
appendFlag(receiver.status)
}
holder.name.setTrackingIcon(receiver.trackerId.isNullOrEmpty().not())
holder.container.setOnLongClickListener {
receiversCallbacks
@@ -75,7 +85,7 @@ class AdapterReceivers(private val receivers: MutableList<ActivityInfoModel>, pr
return receivers.size
}
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
class Holder(itemView: View) : VerticalListViewHolder(itemView) {
val icon: AppIconImageView = itemView.findViewById(R.id.icon)
val name: TypeFaceTextView = itemView.findViewById(R.id.name)
val packageId: TypeFaceTextView = itemView.findViewById(R.id.process)

View File

@@ -14,6 +14,7 @@ import app.simple.inure.decorations.views.AppIconImageView
import app.simple.inure.glide.util.ImageLoader.loadIconFromServiceInfo
import app.simple.inure.models.ServiceInfoModel
import app.simple.inure.util.AdapterUtils
import app.simple.inure.util.StringUtils.appendFlag
import com.bumptech.glide.Glide
class AdapterServices(private val services: MutableList<ServiceInfoModel>, private val packageInfo: PackageInfo, private val keyword: String) : RecyclerView.Adapter<AdapterServices.Holder>() {
@@ -30,30 +31,32 @@ class AdapterServices(private val services: MutableList<ServiceInfoModel>, priva
holder.packageId.text = services[position].name
holder.name.setTrackingIcon(services[position].trackerId.isNullOrEmpty().not())
holder.status.text = kotlin.runCatching {
holder.itemView.context.getString(
R.string.activity_status,
val context = holder.itemView.context
val service = services[position]
if (services[position].isExported) {
holder.itemView.context.getString(R.string.exported)
holder.status.text = buildString {
appendFlag(
if (service.isExported) {
context.getString(R.string.exported)
} else {
holder.itemView.context.getString(R.string.not_exported)
},
context.getString(R.string.not_exported)
}
)
kotlin.runCatching {
if (ServicesUtils.isEnabled(holder.itemView.context, packageInfo.packageName, services[position].name)) {
holder.itemView.context.getString(R.string.enabled)
appendFlag(
runCatching {
if (ServicesUtils.isEnabled(context, packageInfo.packageName, service.name)) {
context.getString(R.string.enabled)
} else {
holder.itemView.context.getString(R.string.disabled)
context.getString(R.string.disabled)
}
}.getOrElse {
holder.itemView.context.getString(R.string.no_state)
})
}.getOrElse {
it.message ?: holder.itemView.context.getString(R.string.error)
}
context.getString(R.string.no_state)
}
)
holder.status.append(services[position].status)
appendFlag(service.status)
}
holder.container.setOnLongClickListener {
servicesCallbacks
@@ -86,7 +89,7 @@ class AdapterServices(private val services: MutableList<ServiceInfoModel>, priva
Glide.with(holder.icon.context).clear(holder.icon)
}
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
class Holder(itemView: View) : VerticalListViewHolder(itemView) {
val icon: AppIconImageView = itemView.findViewById(R.id.adapter_services_icon)
val name: TypeFaceTextView = itemView.findViewById(R.id.adapter_services_name)
val packageId: TypeFaceTextView = itemView.findViewById(R.id.adapter_services_package)

View File

@@ -60,7 +60,6 @@ class ActivitiesViewModel(application: Application, private val packageInfo: Pac
}
with(StringBuilder()) {
append(" | ")
append(MetaUtils.getLaunchMode(ai.launchMode, applicationContext()))
append(" | ")
append(MetaUtils.getOrientation(ai.screenOrientation, applicationContext()))

View File

@@ -57,9 +57,7 @@ class ProvidersViewModel(application: Application, val packageInfo: PackageInfo)
}
with(StringBuilder()) {
append(" | ")
append(MetaUtils.getServiceFlags(pi.flags, applicationContext()))
providerInfoModel.status = this.toString()
}

View File

@@ -59,7 +59,6 @@ class ServicesViewModel(application: Application, private val packageInfo: Packa
}
with(StringBuilder()) {
append(" | ")
append(MetaUtils.getForegroundServiceType(serviceInfoModel.foregroundType, applicationContext()))
append(" | ")
append(MetaUtils.getServiceFlags(info.flags, applicationContext()))

View File

@@ -112,7 +112,6 @@
<string name="method_count">عدد الطرق</string>
<string name="multi_dex">متعدد Dex, %1$s</string>
<string name="single_dex">واحد Dex, %1$s</string>
<string name="activity_status">%1$s | %2$s</string>
<string name="terminal">الطرفية</string>
<string name="usage_statistics">إحصائية الاستخدام</string>
<string name="close">اغلاق</string>

View File

@@ -117,7 +117,6 @@ Ein gerootetes Gerät wird benötigt.</string>
<string name="method_count">Methodenanzahl</string>
<string name="multi_dex">%1$s</string>
<string name="single_dex">Single Dex, %1$s</string>
<string name="activity_status">%1$s | %2$s</string>
<string name="terminal">Terminal</string>
<string name="usage_statistics">Nutzungsstatistiken</string>
<string name="close">Schließen</string>

View File

@@ -112,7 +112,6 @@
<string name="method_count">Contador de métodos</string>
<string name="multi_dex">Multi Dex, %1$s</string>
<string name="single_dex">Único Dex, %1$s</string>
<string name="activity_status">%1$s | %2$s</string>
<string name="terminal">Terminal</string>
<string name="usage_statistics">Estadísticas de uso</string>
<string name="close">Cerrar</string>

View File

@@ -111,7 +111,6 @@
<string name="method_count">Method Count</string>
<string name="multi_dex">Multi Dex, %1$s</string>
<string name="single_dex">Single Dex, %1$s</string>
<string name="activity_status">%1$s | %2$s</string>
<string name="terminal">Terminal</string>
<string name="usage_statistics">Usage Statistics</string>
<string name="close">Close</string>