Fix the incorrect title of Panel

Since panel activity is singleInstance, a newer panel will reuse the
same fragment as the previous panel when they are displayed one after
another.

Panel fragment has two kinds of exclusive header layout which shouldn't
be showed at the same time, so we have to reset their visible states
when creating panel content.

Fixes: 154668079
Test: robotest
Change-Id: I701a7cde4b43322fbc63ae1cb74c41dd23b37c0c
This commit is contained in:
Jason Chiu
2020-04-22 11:44:17 +08:00
parent 12a838d1f6
commit 4bbc85eb54
2 changed files with 4 additions and 1 deletions

View File

@@ -201,6 +201,8 @@ public class PanelFragment extends Fragment {
final IconCompat icon = mPanel.getIcon();
if (icon == null) {
mTitleView.setVisibility(View.VISIBLE);
mPanelHeader.setVisibility(View.GONE);
mTitleView.setText(mPanel.getTitle());
} else {
mTitleView.setVisibility(View.GONE);
@@ -220,6 +222,7 @@ public class PanelFragment extends Fragment {
if (TextUtils.isEmpty(customTitle)) {
mSeeMoreButton.setVisibility(View.GONE);
} else {
mSeeMoreButton.setVisibility(View.VISIBLE);
mSeeMoreButton.setText(customTitle);
}
} else if (mPanel.getSeeMoreIntent() == null) {

View File

@@ -117,7 +117,7 @@ public class SettingsPanelActivity extends FragmentActivity {
if (!shouldForceCreation && fragment != null && fragment instanceof PanelFragment) {
final PanelFragment panelFragment = (PanelFragment) fragment;
panelFragment.setArguments(mBundle);
((PanelFragment) fragment).updatePanelWithAnimation();
panelFragment.updatePanelWithAnimation();
} else {
setContentView(R.layout.settings_panel);