From 4b1c516b3e34ce5d922a49dc2d69ae88f6b7110d Mon Sep 17 00:00:00 2001 From: seven332 Date: Fri, 21 Dec 2018 17:01:37 +0800 Subject: [PATCH] Refresh if can't restore ContentLayout data --- .../java/com/hippo/widget/ContentLayout.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/widget/ContentLayout.java b/app/src/main/java/com/hippo/widget/ContentLayout.java index 7520d350c..971018223 100644 --- a/app/src/main/java/com/hippo/widget/ContentLayout.java +++ b/app/src/main/java/com/hippo/widget/ContentLayout.java @@ -898,12 +898,13 @@ public class ContentLayout extends FrameLayout { mTipView.setText(bundle.getString(KEY_TIP)); mSavedDataId = bundle.getInt(KEY_DATA); + ArrayList newData = null; EhApplication app = (EhApplication) getContext().getApplicationContext(); if (mSavedDataId != IntIdGenerator.INVALID_ID) { - ArrayList data = (ArrayList) app.removeGlobalStuff(mSavedDataId); + newData = (ArrayList) app.removeGlobalStuff(mSavedDataId); mSavedDataId = IntIdGenerator.INVALID_ID; - if (data != null) { - mData = data; + if (newData != null) { + mData = newData; } } @@ -912,6 +913,15 @@ public class ContentLayout extends FrameLayout { mStartPage = bundle.getInt(KEY_START_PAGE); mEndPage = bundle.getInt(KEY_END_PAGE); mPages = bundle.getInt(KEY_PAGES); + + if (newData == null) { + mPageDivider.clear(); + mStartPage = 0; + mEndPage = 0; + mPages = 0; + firstRefresh(); + } + return bundle.getParcelable(KEY_SUPER); } else { return state;