If two groups are posted to settings, remove old group and log.
Bug: 62136650 Test: manual: set debugger in asynctask at line 110 to force race condition, triggered task twice then released both. also ran existing tests with no new failures. Change-Id: I8508fe9f191ca6cd0bb6dfbc62d884420d3fd747
This commit is contained in:
@@ -51,7 +51,6 @@ import com.android.settings.widget.MasterSwitchPreference;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settingslib.RestrictedSwitchPreference;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
@@ -147,6 +146,15 @@ public class AppNotificationSettings extends NotificationSettingsBase {
|
||||
}
|
||||
|
||||
private void populateChannelList() {
|
||||
if (!mChannelGroups.isEmpty()) {
|
||||
// If there's anything in mChannelGroups, we've called populateChannelList twice.
|
||||
// Clear out existing channels and log.
|
||||
Log.w(TAG, "Notification channel group posted twice to settings - old size " +
|
||||
mChannelGroups.size() + ", new size " + mChannelGroupList.size());
|
||||
for (Preference p : mChannelGroups) {
|
||||
getPreferenceScreen().removePreference(p);
|
||||
}
|
||||
}
|
||||
if (mChannelGroupList.isEmpty()) {
|
||||
PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext());
|
||||
groupCategory.setTitle(R.string.notification_channels);
|
||||
|
Reference in New Issue
Block a user