summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-10-11 18:10:20 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-10-11 18:13:46 +0200
commitb6430ed7fd4b6d3656f70f98ea1b089e049a3847 (patch)
tree33cad83d5a1cff116c35e1aeda516809a9e0214c /android
parent4d8b2f8b996e2ff396a5b492125410ccc8ee2802 (diff)
tdf#94891 fix crash when rotating screen in docbrowser right after launch
will likely also lose the current directory, but much better than crashing. Change-Id: I9ce20e1954a6f58325413046e258ded75b6c8848
Diffstat (limited to 'android')
-rw-r--r--android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 5290a50cf7b8..29229e142b1c 100644
--- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -82,6 +82,7 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements ActionBa
private IFile currentDirectory;
private static final String CURRENT_DIRECTORY_KEY = "CURRENT_DIRECTORY";
+ private static final String DOC_PROIVDER_KEY = "CURRENT_DOCUMENT_PROVIDER";
private static final String FILTER_MODE_KEY = "FILTER_MODE";
public static final String EXPLORER_VIEW_TYPE_KEY = "EXPLORER_VIEW_TYPE";
public static final String EXPLORER_PREFS_KEY = "EXPLORER_PREFS";
@@ -610,8 +611,9 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements ActionBa
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putString(CURRENT_DIRECTORY_KEY, currentDirectory.getUri().toString());
- outState.putInt(FILTER_MODE_KEY , filterMode);
+ outState.putInt(FILTER_MODE_KEY, filterMode);
outState.putInt(EXPLORER_VIEW_TYPE_KEY , viewMode);
+ outState.putInt(DOC_PROIVDER_KEY, documentProvider.getId());
Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode) + Integer.toString(viewMode));
//prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
@@ -625,14 +627,19 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements ActionBa
if (savedInstanceState.isEmpty()){
return;
}
+ if (documentProvider == null) {
+ Log.d(LOGTAG, "onRestoreInstanceState - documentProvider is null");
+ documentProvider = DocumentProviderFactory.getInstance()
+ .getProvider(savedInstanceState.getInt(DOC_PROIVDER_KEY));
+ }
try {
currentDirectory = documentProvider.createFromUri(new URI(
savedInstanceState.getString(CURRENT_DIRECTORY_KEY)));
} catch (URISyntaxException e) {
currentDirectory = documentProvider.getRootDirectory();
}
- filterMode = savedInstanceState.getInt(FILTER_MODE_KEY , FileUtilities.ALL) ;
- viewMode = savedInstanceState.getInt(EXPLORER_VIEW_TYPE_KEY , GRID_VIEW);
+ filterMode = savedInstanceState.getInt(FILTER_MODE_KEY, FileUtilities.ALL);
+ viewMode = savedInstanceState.getInt(EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
//openDirectory(currentDirectory);
Log.d(LOGTAG, "onRestoreInstanceState");
Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode) + Integer.toString(viewMode));