Merge "Automatic reformatting by ktlint.py" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bba05dfecc
@@ -53,8 +53,8 @@ import com.android.systemui.dagger.SysUISingleton
|
|||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.shared.system.SysUiStatsLog
|
|
||||||
import com.android.systemui.settings.UserTracker
|
import com.android.systemui.settings.UserTracker
|
||||||
|
import com.android.systemui.shared.system.SysUiStatsLog
|
||||||
import com.android.systemui.statusbar.phone.SystemUIDialog
|
import com.android.systemui.statusbar.phone.SystemUIDialog
|
||||||
import com.android.systemui.util.DeviceConfigProxy
|
import com.android.systemui.util.DeviceConfigProxy
|
||||||
import com.android.systemui.util.indentIfPossible
|
import com.android.systemui.util.indentIfPossible
|
||||||
@@ -153,31 +153,38 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
currentProfileIds.addAll(userTracker.userProfiles.map { it.id })
|
currentProfileIds.addAll(userTracker.userProfiles.map { it.id })
|
||||||
|
|
||||||
deviceConfigProxy.addOnPropertiesChangedListener(NAMESPACE_SYSTEMUI,
|
deviceConfigProxy.addOnPropertiesChangedListener(
|
||||||
backgroundExecutor) {
|
NAMESPACE_SYSTEMUI,
|
||||||
|
backgroundExecutor
|
||||||
|
) {
|
||||||
isAvailable = it.getBoolean(TASK_MANAGER_ENABLED, isAvailable)
|
isAvailable = it.getBoolean(TASK_MANAGER_ENABLED, isAvailable)
|
||||||
showFooterDot =
|
showFooterDot =
|
||||||
it.getBoolean(TASK_MANAGER_SHOW_FOOTER_DOT, showFooterDot)
|
it.getBoolean(TASK_MANAGER_SHOW_FOOTER_DOT, showFooterDot)
|
||||||
}
|
}
|
||||||
|
|
||||||
isAvailable = deviceConfigProxy.getBoolean(NAMESPACE_SYSTEMUI,
|
isAvailable = deviceConfigProxy.getBoolean(
|
||||||
TASK_MANAGER_ENABLED, DEFAULT_TASK_MANAGER_ENABLED)
|
NAMESPACE_SYSTEMUI,
|
||||||
showFooterDot = deviceConfigProxy.getBoolean(NAMESPACE_SYSTEMUI,
|
TASK_MANAGER_ENABLED, DEFAULT_TASK_MANAGER_ENABLED
|
||||||
TASK_MANAGER_SHOW_FOOTER_DOT, DEFAULT_TASK_MANAGER_SHOW_FOOTER_DOT)
|
)
|
||||||
|
showFooterDot = deviceConfigProxy.getBoolean(
|
||||||
|
NAMESPACE_SYSTEMUI,
|
||||||
|
TASK_MANAGER_SHOW_FOOTER_DOT, DEFAULT_TASK_MANAGER_SHOW_FOOTER_DOT
|
||||||
|
)
|
||||||
|
|
||||||
dumpManager.registerDumpable(this)
|
dumpManager.registerDumpable(this)
|
||||||
|
|
||||||
broadcastDispatcher.registerReceiver(
|
broadcastDispatcher.registerReceiver(
|
||||||
object : BroadcastReceiver() {
|
object : BroadcastReceiver() {
|
||||||
override fun onReceive(context: Context, intent: Intent) {
|
override fun onReceive(context: Context, intent: Intent) {
|
||||||
if (intent.action == Intent.ACTION_SHOW_FOREGROUND_SERVICE_MANAGER) {
|
if (intent.action == Intent.ACTION_SHOW_FOREGROUND_SERVICE_MANAGER) {
|
||||||
showDialog(null)
|
showDialog(null)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
IntentFilter(Intent.ACTION_SHOW_FOREGROUND_SERVICE_MANAGER),
|
},
|
||||||
executor = mainExecutor,
|
IntentFilter(Intent.ACTION_SHOW_FOREGROUND_SERVICE_MANAGER),
|
||||||
flags = Context.RECEIVER_NOT_EXPORTED)
|
executor = mainExecutor,
|
||||||
|
flags = Context.RECEIVER_NOT_EXPORTED
|
||||||
|
)
|
||||||
|
|
||||||
initialized = true
|
initialized = true
|
||||||
}
|
}
|
||||||
@@ -193,10 +200,12 @@ class FgsManagerController @Inject constructor(
|
|||||||
val userPackageKey = UserPackage(userId, packageName)
|
val userPackageKey = UserPackage(userId, packageName)
|
||||||
if (isForeground) {
|
if (isForeground) {
|
||||||
runningServiceTokens.getOrPut(userPackageKey) { StartTimeAndTokens(systemClock) }
|
runningServiceTokens.getOrPut(userPackageKey) { StartTimeAndTokens(systemClock) }
|
||||||
.addToken(token)
|
.addToken(token)
|
||||||
} else {
|
} else {
|
||||||
if (runningServiceTokens[userPackageKey]?.also {
|
if (runningServiceTokens[userPackageKey]?.also {
|
||||||
it.removeToken(token) }?.isEmpty() == true) {
|
it.removeToken(token)
|
||||||
|
}?.isEmpty() == true
|
||||||
|
) {
|
||||||
runningServiceTokens.remove(userPackageKey)
|
runningServiceTokens.remove(userPackageKey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -209,7 +218,7 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
@GuardedBy("lock")
|
@GuardedBy("lock")
|
||||||
val onNumberOfPackagesChangedListeners: MutableSet<OnNumberOfPackagesChangedListener> =
|
val onNumberOfPackagesChangedListeners: MutableSet<OnNumberOfPackagesChangedListener> =
|
||||||
mutableSetOf()
|
mutableSetOf()
|
||||||
|
|
||||||
@GuardedBy("lock")
|
@GuardedBy("lock")
|
||||||
val onDialogDismissedListeners: MutableSet<OnDialogDismissedListener> = mutableSetOf()
|
val onDialogDismissedListeners: MutableSet<OnDialogDismissedListener> = mutableSetOf()
|
||||||
@@ -284,7 +293,7 @@ class FgsManagerController @Inject constructor(
|
|||||||
recyclerView.adapter = appListAdapter
|
recyclerView.adapter = appListAdapter
|
||||||
|
|
||||||
val topSpacing = dialogContext.resources
|
val topSpacing = dialogContext.resources
|
||||||
.getDimensionPixelSize(R.dimen.fgs_manager_list_top_spacing)
|
.getDimensionPixelSize(R.dimen.fgs_manager_list_top_spacing)
|
||||||
dialog.setView(recyclerView, 0, topSpacing, 0, 0)
|
dialog.setView(recyclerView, 0, topSpacing, 0, 0)
|
||||||
|
|
||||||
this.dialog = dialog
|
this.dialog = dialog
|
||||||
@@ -302,7 +311,7 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
mainExecutor.execute {
|
mainExecutor.execute {
|
||||||
viewLaunchedFrom
|
viewLaunchedFrom
|
||||||
?.let { dialogLaunchAnimator.showFromView(dialog, it) } ?: dialog.show()
|
?.let { dialogLaunchAnimator.showFromView(dialog, it) } ?: dialog.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
backgroundExecutor.execute {
|
backgroundExecutor.execute {
|
||||||
@@ -328,11 +337,14 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
addedPackages.forEach {
|
addedPackages.forEach {
|
||||||
val ai = packageManager.getApplicationInfoAsUser(it.packageName, 0, it.userId)
|
val ai = packageManager.getApplicationInfoAsUser(it.packageName, 0, it.userId)
|
||||||
runningApps[it] = RunningApp(it.userId, it.packageName,
|
runningApps[it] = RunningApp(
|
||||||
runningServiceTokens[it]!!.startTime, it.uiControl,
|
it.userId, it.packageName,
|
||||||
packageManager.getApplicationLabel(ai),
|
runningServiceTokens[it]!!.startTime, it.uiControl,
|
||||||
packageManager.getUserBadgedIcon(
|
packageManager.getApplicationLabel(ai),
|
||||||
packageManager.getApplicationIcon(ai), UserHandle.of(it.userId)))
|
packageManager.getUserBadgedIcon(
|
||||||
|
packageManager.getApplicationIcon(ai), UserHandle.of(it.userId)
|
||||||
|
)
|
||||||
|
)
|
||||||
logEvent(stopped = false, it.packageName, it.userId, runningApps[it]!!.timeStarted)
|
logEvent(stopped = false, it.packageName, it.userId, runningApps[it]!!.timeStarted)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,7 +360,7 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
mainExecutor.execute {
|
mainExecutor.execute {
|
||||||
appListAdapter
|
appListAdapter
|
||||||
.setData(runningApps.values.toList().sortedByDescending { it.timeStarted })
|
.setData(runningApps.values.toList().sortedByDescending { it.timeStarted })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -366,8 +378,10 @@ class FgsManagerController @Inject constructor(
|
|||||||
}
|
}
|
||||||
backgroundExecutor.execute {
|
backgroundExecutor.execute {
|
||||||
val uid = packageManager.getPackageUidAsUser(packageName, userId)
|
val uid = packageManager.getPackageUidAsUser(packageName, userId)
|
||||||
SysUiStatsLog.write(SysUiStatsLog.TASK_MANAGER_EVENT_REPORTED, uid, event,
|
SysUiStatsLog.write(
|
||||||
timeLogged - timeStarted)
|
SysUiStatsLog.TASK_MANAGER_EVENT_REPORTED, uid, event,
|
||||||
|
timeLogged - timeStarted
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,8 +392,10 @@ class FgsManagerController @Inject constructor(
|
|||||||
private var data: List<RunningApp> = listOf()
|
private var data: List<RunningApp> = listOf()
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AppItemViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AppItemViewHolder {
|
||||||
return AppItemViewHolder(LayoutInflater.from(parent.context)
|
return AppItemViewHolder(
|
||||||
.inflate(R.layout.fgs_manager_app_item, parent, false))
|
LayoutInflater.from(parent.context)
|
||||||
|
.inflate(R.layout.fgs_manager_app_item, parent, false)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: AppItemViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: AppItemViewHolder, position: Int) {
|
||||||
@@ -391,8 +407,9 @@ class FgsManagerController @Inject constructor(
|
|||||||
iconView.setImageDrawable(runningApp.icon)
|
iconView.setImageDrawable(runningApp.icon)
|
||||||
appLabelView.text = runningApp.appLabel
|
appLabelView.text = runningApp.appLabel
|
||||||
durationView.text = DateUtils.formatDuration(
|
durationView.text = DateUtils.formatDuration(
|
||||||
max(systemClock.elapsedRealtime() - runningApp.timeStarted, 60000),
|
max(systemClock.elapsedRealtime() - runningApp.timeStarted, 60000),
|
||||||
DateUtils.LENGTH_MEDIUM)
|
DateUtils.LENGTH_MEDIUM
|
||||||
|
)
|
||||||
stopButton.setOnClickListener {
|
stopButton.setOnClickListener {
|
||||||
stopButton.setText(R.string.fgs_manager_app_item_stop_button_stopped_label)
|
stopButton.setText(R.string.fgs_manager_app_item_stop_button_stopped_label)
|
||||||
stopPackage(runningApp.userId, runningApp.packageName, runningApp.timeStarted)
|
stopPackage(runningApp.userId, runningApp.packageName, runningApp.timeStarted)
|
||||||
@@ -430,12 +447,12 @@ class FgsManagerController @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int):
|
override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int):
|
||||||
Boolean {
|
Boolean {
|
||||||
return oldData[oldItemPosition] == newData[newItemPosition]
|
return oldData[oldItemPosition] == newData[newItemPosition]
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int):
|
override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int):
|
||||||
Boolean {
|
Boolean {
|
||||||
return oldData[oldItemPosition].stopped == newData[newItemPosition].stopped
|
return oldData[oldItemPosition].stopped == newData[newItemPosition].stopped
|
||||||
}
|
}
|
||||||
}).dispatchUpdatesTo(this)
|
}).dispatchUpdatesTo(this)
|
||||||
@@ -461,7 +478,7 @@ class FgsManagerController @Inject constructor(
|
|||||||
|
|
||||||
fun updateUiControl() {
|
fun updateUiControl() {
|
||||||
backgroundRestrictionExemptionReason =
|
backgroundRestrictionExemptionReason =
|
||||||
activityManager.getBackgroundRestrictionExemptionReason(uid)
|
activityManager.getBackgroundRestrictionExemptionReason(uid)
|
||||||
uiControl = when (backgroundRestrictionExemptionReason) {
|
uiControl = when (backgroundRestrictionExemptionReason) {
|
||||||
PowerExemptionManager.REASON_SYSTEM_UID,
|
PowerExemptionManager.REASON_SYSTEM_UID,
|
||||||
PowerExemptionManager.REASON_DEVICE_DEMO_MODE -> UIControl.HIDE_ENTRY
|
PowerExemptionManager.REASON_DEVICE_DEMO_MODE -> UIControl.HIDE_ENTRY
|
||||||
@@ -522,8 +539,10 @@ class FgsManagerController @Inject constructor(
|
|||||||
fun dump(pw: PrintWriter) {
|
fun dump(pw: PrintWriter) {
|
||||||
pw.println("StartTimeAndTokens: [")
|
pw.println("StartTimeAndTokens: [")
|
||||||
pw.indentIfPossible {
|
pw.indentIfPossible {
|
||||||
pw.println("startTime=$startTime (time running =" +
|
pw.println(
|
||||||
" ${systemClock.elapsedRealtime() - startTime}ms)")
|
"startTime=$startTime (time running =" +
|
||||||
|
" ${systemClock.elapsedRealtime() - startTime}ms)"
|
||||||
|
)
|
||||||
pw.println("tokens: [")
|
pw.println("tokens: [")
|
||||||
pw.indentIfPossible {
|
pw.indentIfPossible {
|
||||||
for (token in tokens) {
|
for (token in tokens) {
|
||||||
@@ -571,8 +590,10 @@ class FgsManagerController @Inject constructor(
|
|||||||
pw.indentIfPossible {
|
pw.indentIfPossible {
|
||||||
pw.println("userId=$userId")
|
pw.println("userId=$userId")
|
||||||
pw.println("packageName=$packageName")
|
pw.println("packageName=$packageName")
|
||||||
pw.println("timeStarted=$timeStarted (time since start =" +
|
pw.println(
|
||||||
" ${systemClock.elapsedRealtime() - timeStarted}ms)")
|
"timeStarted=$timeStarted (time since start =" +
|
||||||
|
" ${systemClock.elapsedRealtime() - timeStarted}ms)"
|
||||||
|
)
|
||||||
pw.println("uiControl=$uiControl")
|
pw.println("uiControl=$uiControl")
|
||||||
pw.println("appLabel=$appLabel")
|
pw.println("appLabel=$appLabel")
|
||||||
pw.println("icon=$icon")
|
pw.println("icon=$icon")
|
||||||
|
|||||||
Reference in New Issue
Block a user