diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java index 53aeb637f0cb..9d0b66aac57d 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java @@ -50,7 +50,7 @@ public class ActivitiesActivity extends DrawerActivity implements ActivityListIn ActivityListLayoutBinding binding; private ActivityListAdapter adapter; - private int lastGiven; + private long lastGiven; private boolean isLoadingActivities; private ActivitiesContract.ActionListener actionListener; private Snackbar snackbar; @@ -162,7 +162,7 @@ public void onActivityClicked(RichObject richObject) { } @Override - public void showActivities(List activities, NextcloudClient client, int lastGiven) { + public void showActivities(List activities, NextcloudClient client, long lastGiven) { boolean clear = false; if (this.lastGiven == ActivitiesContract.ActionListener.UNDEFINED) { clear = true; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java index d993a974f080..b5396d47ef81 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java @@ -15,7 +15,7 @@ public interface ActivitiesContract { interface View { - void showActivities(List activities, NextcloudClient client, int lastGiven); + void showActivities(List activities, NextcloudClient client, long lastGiven); void showActivitiesLoadError(String error); void showActivityDetailUI(OCFile ocFile); void showActivityDetailUIIsNull(); @@ -28,7 +28,7 @@ interface View { interface ActionListener { int UNDEFINED = -1; - void loadActivities(int lastGiven); + void loadActivities(long lastGiven); void openActivity(String fileUrl, BaseActivity baseActivity); diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java index 74da94496495..1c4ff09cbab5 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java @@ -34,7 +34,7 @@ public class ActivitiesPresenter implements ActivitiesContract.ActionListener { } @Override - public void loadActivities(int lastGiven) { + public void loadActivities(long lastGiven) { if (UNDEFINED == lastGiven) { activitiesView.showLoadingMessage(); } else { @@ -42,7 +42,7 @@ public void loadActivities(int lastGiven) { } activitiesRepository.getActivities(lastGiven, new ActivitiesRepository.LoadActivitiesCallback() { @Override - public void onActivitiesLoaded(List activities, NextcloudClient client, int lastGiven) { + public void onActivitiesLoaded(List activities, NextcloudClient client, long lastGiven) { if (!activityStopped) { activitiesView.setProgressIndicatorState(false); diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java index ce33c97d9f38..e23c3a391cdb 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java @@ -17,9 +17,9 @@ */ public interface ActivitiesRepository { interface LoadActivitiesCallback { - void onActivitiesLoaded(List activities, NextcloudClient client, int lastGiven); + void onActivitiesLoaded(List activities, NextcloudClient client, long lastGiven); void onActivitiesLoadedError(String error); } - void getActivities(int lastGiven, @NonNull LoadActivitiesCallback callback); + void getActivities(long lastGiven, @NonNull LoadActivitiesCallback callback); } diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java index 2b70e5baf2dc..870416c81132 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java @@ -19,10 +19,10 @@ public interface ActivitiesServiceApi { interface ActivitiesServiceCallback { - void onLoaded(T activities, NextcloudClient client, int lastGiven); + void onLoaded(T activities, NextcloudClient client, long lastGiven); void onError (String error); } - void getAllActivities(int lastGiven, ActivitiesServiceApi.ActivitiesServiceCallback> callback); + void getAllActivities(long lastGiven, ActivitiesServiceApi.ActivitiesServiceCallback> callback); } diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java index 251d043855ce..0534b6f5dff8 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java @@ -1,6 +1,7 @@ /* * Nextcloud - Android Client * + * SPDX-FileCopyrightText: 2025 Alper Ozturk * SPDX-FileCopyrightText: 2019 Chris Narkiewicz * SPDX-FileCopyrightText: 2018 Edvard Holst * SPDX-FileCopyrightText: 2025 TSI-mc @@ -43,7 +44,7 @@ public ActivitiesServiceApiImpl(UserAccountManager accountManager) { } @Override - public void getAllActivities(int lastGiven, ActivitiesServiceCallback> callback) { + public void getAllActivities(long lastGiven, ActivitiesServiceCallback> callback) { GetActivityListTask getActivityListTask = new GetActivityListTask(accountManager.getUser(), lastGiven, callback); @@ -55,12 +56,12 @@ private static class GetActivityListTask extends AsyncTask private final ActivitiesServiceCallback> callback; private List activities; private final User user; - private int lastGiven; + private long lastGiven; private String errorMessage; private NextcloudClient client; private GetActivityListTask(User user, - int lastGiven, + long lastGiven, ActivitiesServiceCallback> callback) { this.user = user; this.lastGiven = lastGiven; @@ -90,7 +91,7 @@ protected Boolean doInBackground(Void... voids) { final ArrayList data = result.getData(); activities = (ArrayList) data.get(0); - lastGiven = (int) data.get(1); + lastGiven = (long) data.get(1); return Boolean.TRUE; } else { Log_OC.d(TAG, result.getLogMessage()); diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java index 32e3b19aafaa..20a9f635ce62 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java @@ -22,11 +22,11 @@ public RemoteActivitiesRepository(@NonNull ActivitiesServiceApi activitiesServic @Override - public void getActivities(int lastGiven, @NonNull LoadActivitiesCallback callback) { + public void getActivities(long lastGiven, @NonNull LoadActivitiesCallback callback) { activitiesServiceApi.getAllActivities(lastGiven, new ActivitiesServiceApi.ActivitiesServiceCallback>() { @Override - public void onLoaded(List activities, NextcloudClient client, int lastGiven) { + public void onLoaded(List activities, NextcloudClient client, long lastGiven) { callback.onActivitiesLoaded(activities, client, lastGiven); } diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java index 4b53078e5e9f..b095eadf4d76 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java @@ -85,7 +85,7 @@ public class FileDetailActivitiesFragment extends Fragment implements private OCFile file; private User user; - private int lastGiven; + private long lastGiven; private boolean isLoadingActivities; private boolean isDataFetched = false; @@ -255,9 +255,9 @@ public void reload() { } /** - * @param lastGiven int; -1 to disable + * @param lastGiven long; -1 to disable */ - private void fetchAndSetData(int lastGiven) { + private void fetchAndSetData(long lastGiven) { final FragmentActivity activity = getActivity(); if (activity == null) { @@ -312,7 +312,7 @@ private void fetchAndSetData(int lastGiven) { final List data = result.getData(); final List activitiesAndVersions = (ArrayList) data.get(0); - this.lastGiven = (int) data.get(1); + this.lastGiven = (long) data.get(1); if (activitiesAndVersions.isEmpty()) { this.lastGiven = END_REACHED; diff --git a/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java b/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java index 4d656e3268a9..38af0ad430d4 100644 --- a/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java +++ b/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java @@ -87,42 +87,48 @@ public void setupActivitiesPresenter() { @Test public void loadInitialActivitiesFromRepositoryIntoView() { + long lastGiven = -1L; + // When loading activities from repository is requested from presenter... - activitiesPresenter.loadActivities(-1); + activitiesPresenter.loadActivities(lastGiven); // empty list view is hidden in view verify(view).showLoadingMessage(); // Repository starts retrieving activities from server - verify(activitiesRepository).getActivities(eq(-1), loadActivitiesCallbackArgumentCaptor.capture()); + verify(activitiesRepository).getActivities(eq(lastGiven), loadActivitiesCallbackArgumentCaptor.capture()); // Repository returns data - loadActivitiesCallbackArgumentCaptor.getValue().onActivitiesLoaded(activitiesList, nextcloudClient, -1); + loadActivitiesCallbackArgumentCaptor.getValue().onActivitiesLoaded(activitiesList, nextcloudClient, lastGiven); // Progress indicator is hidden verify(view).setProgressIndicatorState(eq(false)); // List of activities is shown in view. - verify(view).showActivities(eq(activitiesList), eq(nextcloudClient), eq(-1)); + verify(view).showActivities(eq(activitiesList), eq(nextcloudClient), eq(lastGiven)); } @Test public void loadFollowUpActivitiesFromRepositoryIntoView() { + long lastGiven = 1L; + // When loading activities from repository is requested from presenter... - activitiesPresenter.loadActivities(1); + activitiesPresenter.loadActivities(lastGiven); // Progress indicator is shown in view verify(view).setProgressIndicatorState(eq(true)); // Repository starts retrieving activities from server - verify(activitiesRepository).getActivities(eq(1), loadActivitiesCallbackArgumentCaptor.capture()); + verify(activitiesRepository).getActivities(eq(lastGiven), loadActivitiesCallbackArgumentCaptor.capture()); // Repository returns data - loadActivitiesCallbackArgumentCaptor.getValue().onActivitiesLoaded(activitiesList, nextcloudClient, 1); + loadActivitiesCallbackArgumentCaptor.getValue().onActivitiesLoaded(activitiesList, nextcloudClient, lastGiven); // Progress indicator is hidden verify(view).setProgressIndicatorState(eq(false)); // List of activities is shown in view. - verify(view).showActivities(eq(activitiesList), eq(nextcloudClient), eq(1)); + verify(view).showActivities(eq(activitiesList), eq(nextcloudClient), eq(lastGiven)); } @Test public void loadActivitiesFromRepositoryShowError() { + long lastGiven = -1L; + // When loading activities from repository is requested from presenter... - activitiesPresenter.loadActivities(-1); + activitiesPresenter.loadActivities(lastGiven); // Repository starts retrieving activities from server - verify(activitiesRepository).getActivities(eq(-1), loadActivitiesCallbackArgumentCaptor.capture()); + verify(activitiesRepository).getActivities(eq(lastGiven), loadActivitiesCallbackArgumentCaptor.capture()); // Repository returns data loadActivitiesCallbackArgumentCaptor.getValue().onActivitiesLoadedError("error"); // Correct error is shown in view diff --git a/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java b/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java index 85205464b228..d6d35bfad55b 100644 --- a/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java +++ b/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java @@ -48,16 +48,20 @@ public void setUpActivitiesRepository() { @Test public void loadActivitiesReturnSuccess() { - mActivitiesRepository.getActivities(-1, mockedLoadActivitiesCallback); - verify(serviceApi).getAllActivities(eq(-1), activitiesServiceCallbackCaptor.capture()); - activitiesServiceCallbackCaptor.getValue().onLoaded(activitiesList, nextcloudClient, -1); - verify(mockedLoadActivitiesCallback).onActivitiesLoaded(eq(activitiesList), eq(nextcloudClient), eq(-1)); + long lastGiven = -1L; + + mActivitiesRepository.getActivities(lastGiven, mockedLoadActivitiesCallback); + verify(serviceApi).getAllActivities(eq(lastGiven), activitiesServiceCallbackCaptor.capture()); + activitiesServiceCallbackCaptor.getValue().onLoaded(activitiesList, nextcloudClient, lastGiven); + verify(mockedLoadActivitiesCallback).onActivitiesLoaded(eq(activitiesList), eq(nextcloudClient), eq(lastGiven)); } @Test public void loadActivitiesReturnError() { - mActivitiesRepository.getActivities(-1, mockedLoadActivitiesCallback); - verify(serviceApi).getAllActivities(eq(-1), activitiesServiceCallbackCaptor.capture()); + long lastGiven = -1L; + + mActivitiesRepository.getActivities(lastGiven, mockedLoadActivitiesCallback); + verify(serviceApi).getAllActivities(eq(lastGiven), activitiesServiceCallbackCaptor.capture()); activitiesServiceCallbackCaptor.getValue().onError("error"); verify(mockedLoadActivitiesCallback).onActivitiesLoadedError(eq("error")); } diff --git a/build.gradle b/build.gradle index aaff4863a10f..afa5940bc077 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ */ buildscript { ext { - androidLibraryVersion ="4e47b7649d224217830101779e37add5344a3805" + androidLibraryVersion ="e7b8c6f87fe82bc6029808702d561a4dd01aa854" androidCommonLibraryVersion = "0.25.0" androidPluginVersion = "8.9.1" androidxMediaVersion = "1.5.1" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 421303c79580..ea389f5ad3b6 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -11007,6 +11007,14 @@ + + + + + + + + @@ -11023,6 +11031,14 @@ + + + + + + + + @@ -17494,6 +17510,11 @@ + + + + + @@ -20596,6 +20617,11 @@ + + + + +