Merge pull request #7992 from nextcloud/fixSharing
Fix wrong sharing behavior.
This commit is contained in:
commit
ecbf815f23
|
@ -294,6 +294,10 @@ public abstract class FileActivity extends DrawerActivity
|
|||
* @return Main {@link OCFile} handled by the activity.
|
||||
*/
|
||||
public OCFile getFile() {
|
||||
FileDetailSharingFragment fragment = getShareFileFragment();
|
||||
if (fragment != null) {
|
||||
return fragment.getFile();
|
||||
}
|
||||
return mFile;
|
||||
}
|
||||
|
||||
|
@ -763,18 +767,10 @@ public abstract class FileActivity extends DrawerActivity
|
|||
sharingFragment.onUpdateShareInformation(result, getFile());
|
||||
}
|
||||
} else if (sharingFragment != null && sharingFragment.getView() != null) {
|
||||
String errorResponse;
|
||||
|
||||
if (result.getData() != null && result.getData().size() > 0) {
|
||||
errorResponse = result.getData().get(0).toString();
|
||||
} else {
|
||||
errorResponse = "";
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(errorResponse)) {
|
||||
snackbar = Snackbar.make(sharingFragment.getView(), errorResponse, Snackbar.LENGTH_LONG);
|
||||
} else {
|
||||
if (TextUtils.isEmpty(result.getMessage())) {
|
||||
snackbar = Snackbar.make(sharingFragment.getView(), defaultError, Snackbar.LENGTH_LONG);
|
||||
} else {
|
||||
snackbar = Snackbar.make(sharingFragment.getView(), result.getMessage(), Snackbar.LENGTH_LONG);
|
||||
}
|
||||
|
||||
ThemeSnackbarUtils.colorSnackbar(this, snackbar);
|
||||
|
|
|
@ -1149,6 +1149,17 @@ public class FileDisplayActivity extends FileActivity
|
|||
// Instead of onPostCreate, starting the loading in onResume for children fragments
|
||||
Fragment leftFragment = getLeftFragment();
|
||||
|
||||
// Listen for sync messages
|
||||
if (!(leftFragment instanceof OCFileListFragment) || !((OCFileListFragment) leftFragment).isSearchFragment()) {
|
||||
IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
|
||||
syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
|
||||
syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
|
||||
syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
|
||||
syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
|
||||
mSyncBroadcastReceiver = new SyncBroadcastReceiver();
|
||||
localBroadcastManager.registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
||||
}
|
||||
|
||||
if (!(leftFragment instanceof OCFileListFragment)) {
|
||||
return;
|
||||
}
|
||||
|
@ -1175,17 +1186,6 @@ public class FileDisplayActivity extends FileActivity
|
|||
updateActionBarTitleAndHomeButton(startFile);
|
||||
}
|
||||
|
||||
// Listen for sync messages
|
||||
if (!ocFileListFragment.isSearchFragment()) {
|
||||
IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
|
||||
syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
|
||||
syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
|
||||
syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
|
||||
syncIntentFilter.addAction(RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
|
||||
mSyncBroadcastReceiver = new SyncBroadcastReceiver();
|
||||
localBroadcastManager.registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
|
||||
}
|
||||
|
||||
// Listen for upload messages
|
||||
IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.getUploadFinishMessage());
|
||||
mUploadFinishReceiver = new UploadFinishReceiver();
|
||||
|
|
|
@ -716,4 +716,8 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
|
|||
SearchView searchView = getView().findViewById(R.id.searchView);
|
||||
searchView.setQuery(query, true);
|
||||
}
|
||||
|
||||
public OCFile getFile() {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -244,24 +244,22 @@ public final class ErrorMessageAdapter {
|
|||
|
||||
} else if (result.getCode() == ResultCode.FORBIDDEN) {
|
||||
return String.format(res.getString(R.string.forbidden_permissions),
|
||||
res.getString(R.string.forbidden_permissions_copy));
|
||||
res.getString(R.string.forbidden_permissions_copy));
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String getMessageForCreateShareOperations(RemoteOperationResult result, Resources res) {
|
||||
if (result.getData() != null && result.getData().size() > 0) {
|
||||
return (String) result.getData().get(0); // share API sends its own error messages
|
||||
|
||||
} else if (result.getCode() == ResultCode.SHARE_NOT_FOUND) {
|
||||
private static @Nullable
|
||||
String getMessageForCreateShareOperations(RemoteOperationResult result, Resources res) {
|
||||
if (!TextUtils.isEmpty(result.getMessage())) {
|
||||
return result.getMessage(); // share API sends its own error messages
|
||||
} else if (result.getCode() == ResultCode.SHARE_NOT_FOUND) {
|
||||
return res.getString(R.string.share_link_file_no_exist);
|
||||
|
||||
} else if (result.getCode() == ResultCode.SHARE_FORBIDDEN) {
|
||||
// Error --> No permissions
|
||||
return String.format(res.getString(R.string.forbidden_permissions),
|
||||
res.getString(R.string.share_link_forbidden_permissions));
|
||||
|
||||
res.getString(R.string.share_link_forbidden_permissions));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue