Add listener for panel header icon
Bug: 146813761 Test: make -j42 RunSettingsRoboTests Change-Id: I473b535593d4ecb445027d6c7dafbb235a70ffcf
This commit is contained in:
@@ -55,7 +55,6 @@ public interface PanelContent extends Instrumentable {
|
|||||||
*/
|
*/
|
||||||
List<Uri> getSlices();
|
List<Uri> getSlices();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return an {@link Intent} to the full content in Settings that is summarized by the Panel.
|
* @return an {@link Intent} to the full content in Settings that is summarized by the Panel.
|
||||||
*
|
*
|
||||||
@@ -64,4 +63,15 @@ public interface PanelContent extends Instrumentable {
|
|||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
Intent getSeeMoreIntent();
|
Intent getSeeMoreIntent();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return an {@link Intent} to the go to the target activity.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* A common usage is to go back to previous panel.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
default Intent getHeaderIconIntent() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -201,6 +201,9 @@ public class PanelFragment extends Fragment {
|
|||||||
mTitleIcon.setImageIcon(icon.toIcon(getContext()));
|
mTitleIcon.setImageIcon(icon.toIcon(getContext()));
|
||||||
mHeaderTitle.setText(mPanel.getTitle());
|
mHeaderTitle.setText(mPanel.getTitle());
|
||||||
mHeaderSubtitle.setText(mPanel.getSubTitle());
|
mHeaderSubtitle.setText(mPanel.getSubTitle());
|
||||||
|
if (mPanel.getHeaderIconIntent() != null) {
|
||||||
|
mTitleIcon.setOnClickListener(getHeaderIconListener());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mSeeMoreButton.setOnClickListener(getSeeMoreListener());
|
mSeeMoreButton.setOnClickListener(getSeeMoreListener());
|
||||||
mDoneButton.setOnClickListener(getCloseListener());
|
mDoneButton.setOnClickListener(getCloseListener());
|
||||||
@@ -381,4 +384,12 @@ public class PanelFragment extends Fragment {
|
|||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
View.OnClickListener getHeaderIconListener() {
|
||||||
|
return (v) -> {
|
||||||
|
final FragmentActivity activity = getActivity();
|
||||||
|
activity.startActivity(mPanel.getHeaderIconIntent());
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user