From: David A. Velasco Date: Mon, 21 Apr 2014 12:27:06 +0000 (+0200) Subject: Fixed crash when browsing app from instantUploads folder after entering into the... X-Git-Tag: oc-android-1.7.0_signed~332^2~2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/37b44a551a19a275eba4097b8eeffcc36a9a98e9 Fixed crash when browsing app from instantUploads folder after entering into the app from a notification --- diff --git a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java index fb0e4fa7..95847ba2 100644 --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -196,31 +196,32 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName * Restore index and position */ private void restoreIndexAndTopPosition() { - int index = mIndexes.get(mIndexes.size() - 1); - mIndexes.remove(mIndexes.size() - 1); - - int firstPosition = mFirstPositions.get(mFirstPositions.size() - 1); - mFirstPositions.remove(mFirstPositions.size() -1); - - int top = mTops.get(mTops.size() - 1); - mTops.remove(mTops.size() - 1); - - mList.setSelectionFromTop(firstPosition, top); - - // Move the scroll if the selection is not visible - int indexPosition = mHeightCell*index; - int height = mList.getHeight(); - - if (indexPosition > height) { - if (android.os.Build.VERSION.SDK_INT >= 11) - { - mList.smoothScrollToPosition(index); - } - else if (android.os.Build.VERSION.SDK_INT >= 8) - { - mList.setSelectionFromTop(index, 0); - } + if (mIndexes.size() > 0) { + // needs to be checked; not every browse-up had a browse-down before + + int index = mIndexes.remove(mIndexes.size() - 1); + int firstPosition = mFirstPositions.remove(mFirstPositions.size() -1); + + int top = mTops.remove(mTops.size() - 1); + + mList.setSelectionFromTop(firstPosition, top); + + // Move the scroll if the selection is not visible + int indexPosition = mHeightCell*index; + int height = mList.getHeight(); + + if (indexPosition > height) { + if (android.os.Build.VERSION.SDK_INT >= 11) + { + mList.smoothScrollToPosition(index); + } + else if (android.os.Build.VERSION.SDK_INT >= 8) + { + mList.setSelectionFromTop(index, 0); + } + + } } }