Merge pull request #4444 from nextcloud/fileActivity

fix endless scroll on file detail activity stream
This commit is contained in:
Andy Scherzinger 2019-09-02 15:32:19 +02:00 committed by GitHub
commit 8418bc4e31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -99,6 +99,7 @@ public class FileDetailActivitiesFragment extends Fragment implements
private static final String ARG_FILE = "FILE"; private static final String ARG_FILE = "FILE";
private static final String ARG_ACCOUNT = "ACCOUNT"; private static final String ARG_ACCOUNT = "ACCOUNT";
private static final int END_REACHED = 0;
private ActivityAndVersionListAdapter adapter; private ActivityAndVersionListAdapter adapter;
private Unbinder unbinder; private Unbinder unbinder;
@ -311,9 +312,9 @@ public class FileDetailActivitiesFragment extends Fragment implements
GetActivitiesRemoteOperation getRemoteNotificationOperation; GetActivitiesRemoteOperation getRemoteNotificationOperation;
if (lastGiven > 0) { if (lastGiven > 0) {
getRemoteNotificationOperation = new GetActivitiesRemoteOperation(file.getLocalId());
} else {
getRemoteNotificationOperation = new GetActivitiesRemoteOperation(file.getLocalId(), lastGiven); getRemoteNotificationOperation = new GetActivitiesRemoteOperation(file.getLocalId(), lastGiven);
} else {
getRemoteNotificationOperation = new GetActivitiesRemoteOperation(file.getLocalId());
} }
Log_OC.d(TAG, "BEFORE getRemoteActivitiesOperation.execute"); Log_OC.d(TAG, "BEFORE getRemoteActivitiesOperation.execute");
@ -333,14 +334,19 @@ public class FileDetailActivitiesFragment extends Fragment implements
final List<Object> data = result.getData(); final List<Object> data = result.getData();
final List<Object> activitiesAndVersions = (ArrayList) data.get(0); final List<Object> activitiesAndVersions = (ArrayList) data.get(0);
this.lastGiven = (int) data.get(1);
if (activitiesAndVersions.isEmpty()) {
this.lastGiven = END_REACHED;
}
if (restoreFileVersionSupported && versions != null) { if (restoreFileVersionSupported && versions != null) {
activitiesAndVersions.addAll(versions); activitiesAndVersions.addAll(versions);
} }
this.lastGiven = (int) data.get(1);
activity.runOnUiThread(() -> { activity.runOnUiThread(() -> {
populateList(activitiesAndVersions, lastGiven == -1); populateList(activitiesAndVersions, lastGiven == -1);
if (activitiesAndVersions.isEmpty()) { if (adapter.getItemCount() == 0) {
setEmptyContent(noResultsHeadline, noResultsMessage); setEmptyContent(noResultsHeadline, noResultsMessage);
list.setVisibility(View.GONE); list.setVisibility(View.GONE);
empty.setVisibility(View.VISIBLE); empty.setVisibility(View.VISIBLE);