Revert changes, only bug-fix

Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
alperozturk 2024-09-23 12:13:03 +02:00
parent d6f57ed97a
commit 08bf32a39f
No known key found for this signature in database
GPG key ID: 4E577DC593B59BDF

View file

@ -924,45 +924,39 @@ public class OCFileListFragment extends ExtendedListFragment implements
* return Count of folder levels browsed up.
*/
public int onBrowseUp() {
if (mFile == null) {
return 0;
}
OCFile parentDir = null;
OCFile parentDir;
int moveCount = 0;
FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
String parentPath = null;
if (mFile.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) {
parentPath = new File(mFile.getRemotePath()).getParent();
if (parentPath != null) {
if (mFile != null) {
FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
String parentPath = null;
if (mFile.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) {
parentPath = new File(mFile.getRemotePath()).getParent();
parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath :
parentPath + OCFile.PATH_SEPARATOR;
parentDir = storageManager.getFileByPath(parentPath);
moveCount++;
} else {
parentDir = storageManager.getFileByPath(ROOT_PATH);
}
} else {
parentDir = storageManager.getFileByPath(ROOT_PATH);
}
while (parentDir == null) {
parentPath = new File(parentPath).getParent();
if (parentPath != null) {
while (parentDir == null) {
parentPath = new File(parentPath).getParent();
parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath :
parentPath + OCFile.PATH_SEPARATOR;
parentDir = storageManager.getFileByPath(parentPath);
moveCount++;
}
}
} // exit is granted because storageManager.getFileByPath("/") never returns null
mFile = parentDir;
mFile = parentDir;
listDirectory(mFile, MainApp.isOnlyOnDevice(), false);
listDirectory(mFile, MainApp.isOnlyOnDevice(), false);
onRefresh(false);
onRefresh(false);
// restore index and top position
restoreIndexAndTopPosition();
// restore index and top position
restoreIndexAndTopPosition();
} // else - should never happen now
return moveCount;
}