Skip to content

Commit 5d9b92a

Browse files
Merge pull request #15170 from nextcloud/bugfix/UploadFinishReceiver-npe
BugFix - UploadFinishReceiver NPE
2 parents 2ef4d5f + c275ac4 commit 5d9b92a

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,24 +1513,28 @@ public void onReceive(Context context, Intent intent) {
15131513
}
15141514

15151515
boolean uploadWasFine = intent.getBooleanExtra(FileUploadWorker.EXTRA_UPLOAD_RESULT, false);
1516-
boolean renamedInUpload = getFile().getRemotePath().equals(intent.getStringExtra(FileUploadWorker.EXTRA_OLD_REMOTE_PATH));
15171516

1518-
boolean sameFile = getFile().getRemotePath().equals(uploadedRemotePath) || renamedInUpload;
1519-
Fragment details = getLeftFragment();
1517+
boolean renamedInUpload = false;
1518+
boolean sameFile = false;
1519+
if (getFile() != null) {
1520+
renamedInUpload = getFile().getRemotePath().equals(intent.getStringExtra(FileUploadWorker.EXTRA_OLD_REMOTE_PATH));
1521+
sameFile = getFile().getRemotePath().equals(uploadedRemotePath) || renamedInUpload;
1522+
}
15201523

1521-
if (sameAccount && sameFile && details instanceof FileDetailFragment) {
1524+
if (sameAccount && sameFile && getLeftFragment() instanceof FileDetailFragment fileDetailFragment) {
15221525
if (uploadWasFine) {
15231526
setFile(getStorageManager().getFileByPath(uploadedRemotePath));
15241527
} else {
15251528
//TODO remove upload progress bar after upload failed.
15261529
Log_OC.d(TAG, "Remove upload progress bar after upload failed");
15271530
}
1528-
if (renamedInUpload) {
1531+
if (renamedInUpload && !TextUtils.isEmpty(uploadedRemotePath)) {
15291532
String newName = new File(uploadedRemotePath).getName();
15301533
DisplayUtils.showSnackMessage(getActivity(), R.string.filedetails_renamed_in_upload_msg, newName);
15311534
}
1532-
if (uploadWasFine || getFile().fileExists()) {
1533-
((FileDetailFragment) details).updateFileDetails(false, true);
1535+
1536+
if (uploadWasFine || getFile() != null && getFile().fileExists()) {
1537+
fileDetailFragment.updateFileDetails(false, true);
15341538
} else {
15351539
onBackPressed();
15361540
}
@@ -1546,6 +1550,7 @@ public void onReceive(Context context, Intent intent) {
15461550
// TODO what about other kind of previews?
15471551
}
15481552
}
1553+
15491554
OCFileListFragment ocFileListFragment = getListOfFilesFragment();
15501555
if (ocFileListFragment != null) {
15511556
ocFileListFragment.setLoading(false);

0 commit comments

Comments
 (0)