From cc0069e42fe0495b958a5e8bf300e4f806113944 Mon Sep 17 00:00:00 2001
From: timhypeng
+ * A common usage is to go back to previous panel. + *
+ */ + default Intent getHeaderIconIntent() { + return null; + } } diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java index 8fda894adaf..0f467582443 100644 --- a/src/com/android/settings/panel/PanelFragment.java +++ b/src/com/android/settings/panel/PanelFragment.java @@ -201,6 +201,9 @@ public class PanelFragment extends Fragment { mTitleIcon.setImageIcon(icon.toIcon(getContext())); mHeaderTitle.setText(mPanel.getTitle()); mHeaderSubtitle.setText(mPanel.getSubTitle()); + if (mPanel.getHeaderIconIntent() != null) { + mTitleIcon.setOnClickListener(getHeaderIconListener()); + } } mSeeMoreButton.setOnClickListener(getSeeMoreListener()); mDoneButton.setOnClickListener(getCloseListener()); @@ -381,4 +384,12 @@ public class PanelFragment extends Fragment { getActivity().finish(); }; } + + @VisibleForTesting + View.OnClickListener getHeaderIconListener() { + return (v) -> { + final FragmentActivity activity = getActivity(); + activity.startActivity(mPanel.getHeaderIconIntent()); + }; + } }