From ee5870bac636c6241bcad5ef02479e1bbf19eea5 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Wed, 14 Mar 2018 16:28:39 -0400 Subject: [PATCH] Fix channel screen launching Test: launch channel screen from Settings & external app Change-Id: Ib9add2f25cbacde192095407b83b17438946a493 Fixes: 73814186 --- .../notification/NotificationSettingsBase.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/notification/NotificationSettingsBase.java b/src/com/android/settings/notification/NotificationSettingsBase.java index a4310a10f5d..c318d90a079 100644 --- a/src/com/android/settings/notification/NotificationSettingsBase.java +++ b/src/com/android/settings/notification/NotificationSettingsBase.java @@ -44,6 +44,7 @@ import android.util.Log; import android.widget.Toast; import com.android.settings.R; +import com.android.settings.SettingsActivity; import com.android.settings.applications.AppInfoBase; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; @@ -143,9 +144,13 @@ abstract public class NotificationSettingsBase extends DashboardFragment { return; } collectConfigActivities(); - Bundle args = getArguments(); - mChannel = (args != null && args.containsKey(Settings.EXTRA_CHANNEL_ID)) ? - mBackend.getChannel(mPkg, mUid, args.getString(Settings.EXTRA_CHANNEL_ID)) : null; + Intent intent = getActivity().getIntent(); + String channelId = intent != null ? intent.getStringExtra(Settings.EXTRA_CHANNEL_ID) : null; + if (channelId == null && intent != null) { + Bundle args = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS); + channelId = args != null ? args.getString(Settings.EXTRA_CHANNEL_ID) : null; + } + mChannel = mBackend.getChannel(mPkg, mUid, channelId); NotificationChannelGroup group = null;