From 677ca1d59618c592786292ac275497e0ce753604 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 13 Nov 2012 13:35:55 +0100 Subject: android: remember displayed page during rotation in DocumentLoader Change-Id: I1948dcc76026e4c906407932aa67371e5e9e8bb6 --- .../org/libreoffice/android/examples/DocumentLoader.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'android') diff --git a/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java b/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java index 8c9a71374196..806fcabd49ff 100644 --- a/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java +++ b/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java @@ -916,6 +916,13 @@ public class DocumentLoader } } + @Override + public void onSaveInstanceState(Bundle savedInstance) + { + super.onSaveInstanceState(savedInstance); + savedInstance.putInt("currentPageNumber", ((PageViewer)flipper.getCurrentView()).currentPageNumber); + } + @Override public void onCreate(Bundle savedInstanceState) { @@ -978,11 +985,14 @@ public class DocumentLoader matchParent = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - flipper.addView(new PageViewer(0), 0, matchParent); + int currentPageNumber = 0; + if (savedInstanceState != null) + currentPageNumber = savedInstanceState.getInt("currentPageNumber"); + flipper.addView(new PageViewer(currentPageNumber), 0, matchParent); for (int i = 0; i < PAGECACHE_PLUSMINUS; i++) - flipper.addView(new PageViewer(i+1), i+1, matchParent); + flipper.addView(new PageViewer(currentPageNumber+i+1), i+1, matchParent); for (int i = 0; i < PAGECACHE_PLUSMINUS; i++) - flipper.addView(new PageViewer(-1), PAGECACHE_PLUSMINUS + i+1, matchParent); + flipper.addView(new PageViewer(currentPageNumber+(i*-1)-1), PAGECACHE_PLUSMINUS + i+1, matchParent); setContentView(flipper); } -- cgit