Fix number of channels in inline notification settings
Fixes: 38236091
Test: runtest systemui
Change-Id: I813fc17a9d50b5ee563190dd956284554b4ff3dc
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
index 4feaf5c..7062216 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
@@ -115,25 +115,6 @@
mPm = pm;
mAppSettingsClickListener = onAppSettingsClick;
mStartingUserImportance = startingUserImportance;
- int numTotalChannels = 1;
- numTotalChannels = iNotificationManager.getNumNotificationChannelsForPackage(
- pkg, mAppUid, false /* includeDeleted */);
- if (mNotificationChannels.isEmpty()) {
- throw new IllegalArgumentException("bindNotification requires at least one channel");
- } else {
- if (mNotificationChannels.size() == 1) {
- mSingleNotificationChannel = mNotificationChannels.get(0);
- // Special behavior for the Default channel if no other channels have been defined.
- mIsSingleDefaultChannel =
- (mSingleNotificationChannel.getId()
- .equals(NotificationChannel.DEFAULT_CHANNEL_ID) &&
- numTotalChannels <= 1);
- } else {
- mSingleNotificationChannel = null;
- mIsSingleDefaultChannel = false;
- }
- }
-
mAppName = mPkg;
Drawable pkgicon = null;
CharSequence channelNameText = "";
@@ -155,6 +136,24 @@
}
((ImageView) findViewById(R.id.pkgicon)).setImageDrawable(pkgicon);
+ int numTotalChannels = iNotificationManager.getNumNotificationChannelsForPackage(
+ pkg, mAppUid, false /* includeDeleted */);
+ if (mNotificationChannels.isEmpty()) {
+ throw new IllegalArgumentException("bindNotification requires at least one channel");
+ } else {
+ if (mNotificationChannels.size() == 1) {
+ mSingleNotificationChannel = mNotificationChannels.get(0);
+ // Special behavior for the Default channel if no other channels have been defined.
+ mIsSingleDefaultChannel =
+ (mSingleNotificationChannel.getId()
+ .equals(NotificationChannel.DEFAULT_CHANNEL_ID) &&
+ numTotalChannels <= 1);
+ } else {
+ mSingleNotificationChannel = null;
+ mIsSingleDefaultChannel = false;
+ }
+ }
+
String channelsDescText;
mNumChannelsView = findViewById(R.id.num_channels_desc);
if (mIsSingleDefaultChannel) {