Merge pull request #6961 from nextcloud/comment
Fix not showing comments in file detail view
This commit is contained in:
commit
5f8bd7d5f0
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
|
@ -25,10 +25,16 @@ package com.owncloud.android.ui.fragment
|
|||
import androidx.test.espresso.intent.rule.IntentsTestRule
|
||||
import com.nextcloud.client.TestActivity
|
||||
import com.owncloud.android.AbstractIT
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import com.owncloud.android.lib.resources.activities.model.Activity
|
||||
import com.owncloud.android.lib.resources.activities.model.RichElement
|
||||
import com.owncloud.android.lib.resources.activities.model.RichObject
|
||||
import com.owncloud.android.lib.resources.activities.models.PreviewObject
|
||||
import com.owncloud.android.utils.ScreenshotTest
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import java.util.GregorianCalendar
|
||||
|
||||
class FileDetailFragmentStaticServerIT : AbstractIT() {
|
||||
@get:Rule
|
||||
|
@ -58,12 +64,110 @@ class FileDetailFragmentStaticServerIT : AbstractIT() {
|
|||
|
||||
@Test
|
||||
@ScreenshotTest
|
||||
fun showDetails_Activities() {
|
||||
val sut = testActivityRule.launchActivity(null)
|
||||
sut.addFragment(FileDetailFragment.newInstance(file, user, 0))
|
||||
@Suppress("MagicNumber")
|
||||
fun showDetailsActivities() {
|
||||
val activity = testActivityRule.launchActivity(null)
|
||||
val sut = FileDetailFragment.newInstance(file, user, 0)
|
||||
activity.addFragment(sut)
|
||||
|
||||
waitForIdleSync()
|
||||
screenshot(sut)
|
||||
|
||||
val date = GregorianCalendar()
|
||||
date.set(2005, 4, 17, 10, 35, 30) // random date
|
||||
|
||||
val richObjectList: ArrayList<RichObject> = ArrayList()
|
||||
richObjectList.add(RichObject("file", "abc", "text.txt", "/text.txt", "link", "tag"))
|
||||
richObjectList.add(RichObject("file", "1", "text.txt", "/text.txt", "link", "tag"))
|
||||
|
||||
val previewObjectList1: ArrayList<PreviewObject> = ArrayList()
|
||||
previewObjectList1.add(PreviewObject(1, "source", "link", true, "text/plain", "view"))
|
||||
|
||||
val richObjectList2: ArrayList<RichObject> = ArrayList()
|
||||
richObjectList2.add(RichObject("user", "admin", "Admin", "", "", ""))
|
||||
|
||||
val activities = mutableListOf(
|
||||
Activity(
|
||||
1,
|
||||
date.time,
|
||||
date.time,
|
||||
"files",
|
||||
"file_changed",
|
||||
"user1",
|
||||
"user1",
|
||||
"You changed text.txt",
|
||||
"",
|
||||
"icon",
|
||||
"link",
|
||||
"files",
|
||||
"1",
|
||||
"/text.txt",
|
||||
previewObjectList1,
|
||||
RichElement("", richObjectList)
|
||||
),
|
||||
Activity(
|
||||
2,
|
||||
date.time,
|
||||
date.time,
|
||||
"comments",
|
||||
"comments",
|
||||
"user1",
|
||||
"user1",
|
||||
"admin commented",
|
||||
"test2",
|
||||
"icon",
|
||||
"link",
|
||||
"files",
|
||||
"1",
|
||||
"/text.txt",
|
||||
null,
|
||||
null
|
||||
)
|
||||
)
|
||||
|
||||
activity.runOnUiThread {
|
||||
sut.fileDetailActivitiesFragment.populateList(activities as List<Any>?, true)
|
||||
}
|
||||
|
||||
screenshot(activity)
|
||||
}
|
||||
|
||||
@Test
|
||||
@ScreenshotTest
|
||||
fun showDetailsActivitiesNone() {
|
||||
val activity = testActivityRule.launchActivity(null)
|
||||
val sut = FileDetailFragment.newInstance(file, user, 0)
|
||||
activity.addFragment(sut)
|
||||
|
||||
waitForIdleSync()
|
||||
|
||||
activity.runOnUiThread {
|
||||
sut.fileDetailActivitiesFragment.populateList(emptyList(), true)
|
||||
}
|
||||
|
||||
shortSleep()
|
||||
|
||||
screenshot(activity)
|
||||
}
|
||||
|
||||
@Test
|
||||
@ScreenshotTest
|
||||
fun showDetailsActivitiesError() {
|
||||
val activity = testActivityRule.launchActivity(null)
|
||||
val sut = FileDetailFragment.newInstance(file, user, 0)
|
||||
activity.addFragment(sut)
|
||||
|
||||
waitForIdleSync()
|
||||
|
||||
activity.runOnUiThread {
|
||||
sut
|
||||
.fileDetailActivitiesFragment
|
||||
.setErrorContent(targetContext.resources.getString(R.string.file_detail_activity_error))
|
||||
}
|
||||
|
||||
shortSleep()
|
||||
shortSleep()
|
||||
|
||||
screenshot(activity)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -74,6 +74,7 @@ import java.util.List;
|
|||
import javax.inject.Inject;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
@ -340,7 +341,6 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
|
||||
Log_OC.d(TAG, "BEFORE getRemoteActivitiesOperation.execute");
|
||||
RemoteOperationResult result = nextcloudClient.execute(getRemoteNotificationOperation);
|
||||
result = new RemoteOperationResult(RemoteOperationResult.ResultCode.UNHANDLED_HTTP_CODE);
|
||||
|
||||
ArrayList<Object> versions = null;
|
||||
if (restoreFileVersionSupported) {
|
||||
|
@ -368,15 +368,6 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
|
||||
activity.runOnUiThread(() -> {
|
||||
populateList(activitiesAndVersions, lastGiven == -1);
|
||||
if (adapter.getItemCount() == 0) {
|
||||
setEmptyContent(noResultsHeadline, noResultsMessage);
|
||||
list.setVisibility(View.GONE);
|
||||
empty.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
empty.setVisibility(View.GONE);
|
||||
list.setVisibility(View.VISIBLE);
|
||||
}
|
||||
isLoadingActivities = false;
|
||||
});
|
||||
} else {
|
||||
Log_OC.d(TAG, result.getLogMessage());
|
||||
|
@ -415,8 +406,19 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
}).start();
|
||||
}
|
||||
|
||||
private void populateList(List<Object> activities, boolean clear) {
|
||||
@VisibleForTesting
|
||||
public void populateList(List<Object> activities, boolean clear) {
|
||||
adapter.setActivityAndVersionItems(activities, nextcloudClient, clear);
|
||||
|
||||
if (adapter.getItemCount() == 0) {
|
||||
setEmptyContent(noResultsHeadline, noResultsMessage);
|
||||
swipeListRefreshLayout.setVisibility(View.GONE);
|
||||
swipeEmptyListRefreshLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
swipeListRefreshLayout.setVisibility(View.VISIBLE);
|
||||
swipeEmptyListRefreshLayout.setVisibility(View.GONE);
|
||||
}
|
||||
isLoadingActivities = false;
|
||||
}
|
||||
|
||||
private void setEmptyContent(String headline, String message) {
|
||||
|
@ -433,7 +435,8 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
}
|
||||
}
|
||||
|
||||
private void setErrorContent(String message) {
|
||||
@VisibleForTesting
|
||||
public void setErrorContent(String message) {
|
||||
if (emptyContentContainer != null && emptyContentMessage != null) {
|
||||
emptyContentHeadline.setText(R.string.common_error);
|
||||
emptyContentIcon.setImageDrawable(ResourcesCompat.getDrawable(requireContext().getResources(),
|
||||
|
@ -444,6 +447,8 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
emptyContentMessage.setVisibility(View.VISIBLE);
|
||||
emptyContentProgressBar.setVisibility(View.GONE);
|
||||
emptyContentIcon.setVisibility(View.VISIBLE);
|
||||
swipeListRefreshLayout.setVisibility(View.GONE);
|
||||
swipeEmptyListRefreshLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue