Skip to content

Commit d11dcdc

Browse files
Merge pull request #15194 from nextcloud/backport/15170/stable-3.32
[stable-3.32] BugFix - UploadFinishReceiver NPE
2 parents b1f44b9 + e395b55 commit d11dcdc

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

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
@@ -1495,24 +1495,28 @@ public void onReceive(Context context, Intent intent) {
14951495
}
14961496

14971497
boolean uploadWasFine = intent.getBooleanExtra(FileUploadWorker.EXTRA_UPLOAD_RESULT, false);
1498-
boolean renamedInUpload = getFile().getRemotePath().equals(intent.getStringExtra(FileUploadWorker.EXTRA_OLD_REMOTE_PATH));
14991498

1500-
boolean sameFile = getFile().getRemotePath().equals(uploadedRemotePath) || renamedInUpload;
1501-
Fragment details = getLeftFragment();
1499+
boolean renamedInUpload = false;
1500+
boolean sameFile = false;
1501+
if (getFile() != null) {
1502+
renamedInUpload = getFile().getRemotePath().equals(intent.getStringExtra(FileUploadWorker.EXTRA_OLD_REMOTE_PATH));
1503+
sameFile = getFile().getRemotePath().equals(uploadedRemotePath) || renamedInUpload;
1504+
}
15021505

1503-
if (sameAccount && sameFile && details instanceof FileDetailFragment) {
1506+
if (sameAccount && sameFile && getLeftFragment() instanceof FileDetailFragment fileDetailFragment) {
15041507
if (uploadWasFine) {
15051508
setFile(getStorageManager().getFileByPath(uploadedRemotePath));
15061509
} else {
15071510
//TODO remove upload progress bar after upload failed.
15081511
Log_OC.d(TAG, "Remove upload progress bar after upload failed");
15091512
}
1510-
if (renamedInUpload) {
1513+
if (renamedInUpload && !TextUtils.isEmpty(uploadedRemotePath)) {
15111514
String newName = new File(uploadedRemotePath).getName();
15121515
DisplayUtils.showSnackMessage(getActivity(), R.string.filedetails_renamed_in_upload_msg, newName);
15131516
}
1514-
if (uploadWasFine || getFile().fileExists()) {
1515-
((FileDetailFragment) details).updateFileDetails(false, true);
1517+
1518+
if (uploadWasFine || getFile() != null && getFile().fileExists()) {
1519+
fileDetailFragment.updateFileDetails(false, true);
15161520
} else {
15171521
onBackPressed();
15181522
}
@@ -1528,6 +1532,7 @@ public void onReceive(Context context, Intent intent) {
15281532
// TODO what about other kind of previews?
15291533
}
15301534
}
1535+
15311536
OCFileListFragment ocFileListFragment = getListOfFilesFragment();
15321537
if (ocFileListFragment != null) {
15331538
ocFileListFragment.setLoading(false);

0 commit comments

Comments
 (0)