Loading src/com/android/settings/spa/notification/AppNotificationRepository.kt +13 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.app.usage.UsageEvents import android.content.Context import android.content.pm.ApplicationInfo import android.os.Build import android.os.IUserManager import android.os.RemoteException import android.os.ServiceManager import android.util.Log Loading Loading @@ -66,6 +67,9 @@ class AppNotificationRepository( private val notificationManager: INotificationManager = INotificationManager.Stub.asInterface( ServiceManager.getService(Context.NOTIFICATION_SERVICE) ), private val userManager: IUserManager = IUserManager.Stub.asInterface( ServiceManager.getService(Context.USER_SERVICE) ), ) : IAppNotificationRepository { fun getAggregatedUsageEvents(userIdFlow: Flow<Int>): Flow<Map<String, NotificationSentState>> = userIdFlow.map { userId -> Loading Loading @@ -122,6 +126,15 @@ class AppNotificationRepository( } } fun isUserUnlocked(user: Int): Boolean { return try { userManager.isUserUnlocked(user) } catch (e: Exception) { Log.w(TAG, "Error calling UserManager", e) false } } override fun getNotificationSummary(app: ApplicationInfo): String { if (!isEnabled(app)) return context.getString(R.string.notifications_disabled) val channelCount = getChannelCount(app) Loading src/com/android/settings/spa/notification/AppNotificationsListModel.kt +13 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settingslib.spa.widget.ui.SpinnerOption import com.android.settingslib.spaprivileged.model.app.AppEntry import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.userId import com.android.settingslib.spaprivileged.template.app.AppListItemModel import com.android.settingslib.spaprivileged.template.app.AppListTwoTargetSwitchItem import com.android.settingslib.utils.StringUtil Loading Loading @@ -102,13 +103,21 @@ class AppNotificationsListModel( } } override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> = SpinnerItem.entries.map { override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> { val options = mutableListOf(SpinnerItem.AllApps, SpinnerItem.TurnedOff) if (repository.isUserUnlocked(recordList[0].app.userId)) { options.add(0, SpinnerItem.MostRecent) options.add(1, SpinnerItem.MostFrequent) } return options.map { SpinnerOption( id = it.ordinal, text = context.getString(it.stringResId), ) } } private fun formatLastSent(lastSent: Long) = StringUtil.formatRelativeTime( Loading Loading
src/com/android/settings/spa/notification/AppNotificationRepository.kt +13 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.app.usage.UsageEvents import android.content.Context import android.content.pm.ApplicationInfo import android.os.Build import android.os.IUserManager import android.os.RemoteException import android.os.ServiceManager import android.util.Log Loading Loading @@ -66,6 +67,9 @@ class AppNotificationRepository( private val notificationManager: INotificationManager = INotificationManager.Stub.asInterface( ServiceManager.getService(Context.NOTIFICATION_SERVICE) ), private val userManager: IUserManager = IUserManager.Stub.asInterface( ServiceManager.getService(Context.USER_SERVICE) ), ) : IAppNotificationRepository { fun getAggregatedUsageEvents(userIdFlow: Flow<Int>): Flow<Map<String, NotificationSentState>> = userIdFlow.map { userId -> Loading Loading @@ -122,6 +126,15 @@ class AppNotificationRepository( } } fun isUserUnlocked(user: Int): Boolean { return try { userManager.isUserUnlocked(user) } catch (e: Exception) { Log.w(TAG, "Error calling UserManager", e) false } } override fun getNotificationSummary(app: ApplicationInfo): String { if (!isEnabled(app)) return context.getString(R.string.notifications_disabled) val channelCount = getChannelCount(app) Loading
src/com/android/settings/spa/notification/AppNotificationsListModel.kt +13 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settingslib.spa.widget.ui.SpinnerOption import com.android.settingslib.spaprivileged.model.app.AppEntry import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.userId import com.android.settingslib.spaprivileged.template.app.AppListItemModel import com.android.settingslib.spaprivileged.template.app.AppListTwoTargetSwitchItem import com.android.settingslib.utils.StringUtil Loading Loading @@ -102,13 +103,21 @@ class AppNotificationsListModel( } } override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> = SpinnerItem.entries.map { override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> { val options = mutableListOf(SpinnerItem.AllApps, SpinnerItem.TurnedOff) if (repository.isUserUnlocked(recordList[0].app.userId)) { options.add(0, SpinnerItem.MostRecent) options.add(1, SpinnerItem.MostFrequent) } return options.map { SpinnerOption( id = it.ordinal, text = context.getString(it.stringResId), ) } } private fun formatLastSent(lastSent: Long) = StringUtil.formatRelativeTime( Loading