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:
@@ -201,6 +201,8 @@ public class PanelFragment extends Fragment {
|
|||||||
|
|
||||||
final IconCompat icon = mPanel.getIcon();
|
final IconCompat icon = mPanel.getIcon();
|
||||||
if (icon == null) {
|
if (icon == null) {
|
||||||
|
mTitleView.setVisibility(View.VISIBLE);
|
||||||
|
mPanelHeader.setVisibility(View.GONE);
|
||||||
mTitleView.setText(mPanel.getTitle());
|
mTitleView.setText(mPanel.getTitle());
|
||||||
} else {
|
} else {
|
||||||
mTitleView.setVisibility(View.GONE);
|
mTitleView.setVisibility(View.GONE);
|
||||||
@@ -220,6 +222,7 @@ public class PanelFragment extends Fragment {
|
|||||||
if (TextUtils.isEmpty(customTitle)) {
|
if (TextUtils.isEmpty(customTitle)) {
|
||||||
mSeeMoreButton.setVisibility(View.GONE);
|
mSeeMoreButton.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
|
mSeeMoreButton.setVisibility(View.VISIBLE);
|
||||||
mSeeMoreButton.setText(customTitle);
|
mSeeMoreButton.setText(customTitle);
|
||||||
}
|
}
|
||||||
} else if (mPanel.getSeeMoreIntent() == null) {
|
} else if (mPanel.getSeeMoreIntent() == null) {
|
||||||
|
@@ -117,7 +117,7 @@ public class SettingsPanelActivity extends FragmentActivity {
|
|||||||
if (!shouldForceCreation && fragment != null && fragment instanceof PanelFragment) {
|
if (!shouldForceCreation && fragment != null && fragment instanceof PanelFragment) {
|
||||||
final PanelFragment panelFragment = (PanelFragment) fragment;
|
final PanelFragment panelFragment = (PanelFragment) fragment;
|
||||||
panelFragment.setArguments(mBundle);
|
panelFragment.setArguments(mBundle);
|
||||||
((PanelFragment) fragment).updatePanelWithAnimation();
|
panelFragment.updatePanelWithAnimation();
|
||||||
} else {
|
} else {
|
||||||
setContentView(R.layout.settings_panel);
|
setContentView(R.layout.settings_panel);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user