android icon indicating copy to clipboard operation
android copied to clipboard

[New arch] Synchronization

Open davigonz opened this issue 4 years ago • 19 comments

Introduction

We have been working on updating the old Android App to a new architecture for a long time.

The new architecture is MVVM and we can find more details about it here: https://github.com/owncloud/android/issues/2351

To do this, we started with Shares functionality, we continued with Authentication, and finally, we are working on the most crytical part of the app: the Synchronization. This last epic is huge and we created a milestone to keep track of it: https://github.com/owncloud/android/milestone/43

Synchronization

App PR: https://github.com/owncloud/android/pull/2934 Library PR: https://github.com/owncloud/android-library/pull/339

Atomic Operations

Create folder [QA Passed] ✅

Issue: https://github.com/owncloud/android/issues/2861 PR: https://github.com/owncloud/android/pull/2923 QA: https://github.com/owncloud/android/issues/2818#issuecomment-683732010 QA reports fixed:

  • [x] (1)

Rename [QA Passed] ✅

Issue: https://github.com/owncloud/android/issues/2863 PR: https://github.com/owncloud/android/pull/3231 QA: https://github.com/owncloud/android/issues/2818#issuecomment-846984004 QA reports fixed:

  • [x] (1)
  • [x] (2)
  • [x] (3)
  • [x] (4)

Remove [Bugfixing]

Issue: https://github.com/owncloud/android/issues/2864 PR: https://github.com/owncloud/android/pull/3214 QA: https://github.com/owncloud/android/issues/2818#issuecomment-834301102 QA reports fixed:

  • [x] (1)
  • [x] (2)
  • [ ] (3) [P2] Removing many files blocks the app

Copy [Bugfixing]

Issue: https://github.com/owncloud/android/issues/2866 PR: https://github.com/owncloud/android/pull/3253 QA: https://github.com/owncloud/android/issues/2818#issuecomment-849394483 QA reports fixed:

  • [x] (1)
  • [x] (2)
  • [ ] (3) [P3] Error message too long

Move [QA Passed] ✅

Issue: https://github.com/owncloud/android/issues/2865 PR: https://github.com/owncloud/android/pull/3232 QA: https://github.com/owncloud/android/issues/2818#issuecomment-844022500 QA reports fixed:

  • [x] (1)

Transfers

Transfers have changed completely from the previous version. We have moved from foreground services to WorkManager. They can be done parallely now.

Some notifications have been removed, previously it was a little bit messy when several uploads/downloads were done very fast.

Uploads [Bugfixing]

There are two types of uploads at the moment. Plain Uploads: When we get the content Uri via SAF or Camera Uploads Plain or Chunks(depending on file size): When we share with oC, via documents provider, upload via camera, and when we upload conflicts.

Issue: https://github.com/owncloud/android/issues/3424 PR: https://github.com/owncloud/android/pull/3686 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1157608496 QA reports fixed:

  • [x] (1) [P2] Error takes long to happen
  • [x] (2) Upload with no connection [FIXED]
  • [ ] (3) [P3] Discussion: create or not a deleted target folder
  • [x] (4) Folder error [FIXED]
  • [ ] (5) [P2] Notifications missing
  • [x] (6) Share txt does not work. [FIXED]
  • [X] (7) [NON REPRODUCIBLE]
  • [ ] (8) [P1] Chunking [Ready for QA]
  • [x] (9) Failed uploads are resumed after removing individually [FIXED]
  • [x] (10) Error in maintenance mode [FIXED]
  • [X] (11) Folder error [WONT FIX, same as (4)]
  • [x] (12) Share txt does not work. [FIXED]
  • [X] (13) Create with external [FIXED]
  • [ ] (14) [P2] Not posible to read uploads view when many uploads running
  • [x] (15) [P1] Uploading many files, part of them are missing [FIXED]
  • [x] (16) Failed uploads are resumed after clearing all [FIXED]
  • [x] (17) [P1] Folder error after killing the app [FIXED]
  • [ ] (18) [P3] Same status for uploading and pending uploads
  • [ ] (19) [P3] Clear button in enqueued section of uploads view

Downloads [Bugfixing]

Issue: https://github.com/owncloud/android/issues/2872 PR: https://github.com/owncloud/android/pull/2918 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1155115346 QA reports fixed:

  • [X] (1) [P1] Crash when download some kind of files [FIXED]
  • [X] (2) Notifications [FIXED]
  • [X] (3) [P1] Downloads in uploads view [FIXED]
  • [X] (4) Green badge in downloaded items [FIXED]
  • [ ] (5) [P1] Crash when download is cancelled
  • [ ] (6) [P2] OAuth2 expired token
  • [ ] (7) [P1] Progress bar missing

Open with [Bugfixing]

QA: https://github.com/owncloud/android/issues/2818#issuecomment-1157358210 QA reports fixed:

  • [x] (1)

Store uploads into the new Room database [Bugfixing]

At the moment, we have the uploads database in the old database. We need to move it to the new one. Also, we need to move the current OCUpload model to the domain module. By the way, we should consider adding Downloads to that new table. At the moment we don't store the downloads in the database and it could be beneficial.

Issue: https://github.com/owncloud/android/issues/3426 & https://github.com/owncloud/android/issues/3717 PR: https://github.com/owncloud/android/pull/3710 & https://github.com/owncloud/android/pull/3729

Transfers view [Bugfixing]

We need to adapt the uploads screen when we migrate the database. The idea is to take advantage of room improvements and observe any change via LiveData or Flow. By the way, we think that it would be a good idea to transform the uploads screen into a Transfer screen where the user could check the latest transfers, not only the uploads but also the downloads.

Issue: https://github.com/owncloud/android/issues/2858 PR: https://github.com/owncloud/android/pull/3718

File list view [Bugfixing]

The main screen of the app has been refactored. Lots of changes have been applied including recycler view, live data... etc

Issue: https://github.com/owncloud/android/issues/2869 PR: https://github.com/owncloud/android/pull/3517 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1155087211 QA reports fixed:

  • [x] (1)
  • [x] (2)
  • [ ] (3) [Ready to test @jesmrec]
  • [x] (4)
  • [x] (5) [DONE]
  • [X] (6) [P2] Scroll bar missing [FIXED]

Av. Offline [Bugfixing]

As we already did some time ago with the camera uploads periodic work, we need to move the av offline job to work manager.

Issue: https://github.com/owncloud/android/issues/3246 PR: https://github.com/owncloud/android/pull/3715 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1198961987 QA reports fixed:

  • [X] (1) File automatic [FIXED]
  • [ ] (2) [P1] Sync when opening file - more file sync suitable
  • [ ] (3) [P1] Folder not synced, only discovered
  • [ ] (4) [P1] Crash when moving av. offline folder
  • [ ] (5) [P2] Upload changes in advance
  • [ ] (6) [P3] unav. offline icon located in menu, not in toolbar
  • [ ] (7) Remove all av. offline stuff when account is removed

Bottom navigation bar [Bugfixing]

At the moment the bottom navigation bar is not working properly. It should update the file list with the new upload list option and show only the files for that shortcut.

PR: https://github.com/owncloud/android/pull/3719 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1216772525 QA reports fixed:

  • [x] (1)
  • [x] (2)
  • [x] (3)
  • [x] (4)
  • [ ] (5) [P3] Glitch when browsing back after open in
  • [X] (6) To fix in https://github.com/owncloud/android/issues/3016

Conflicts Management [TO DO]

We need to detect if there are new conflicts between local and remote files and let the user choose to keep local, remote or both.

Issue: https://github.com/owncloud/android/issues/3005

Refresh folder [Tested with folder synchronization]

Refreshing the folder should keep the folder updated with remote content and also, remove any file locally that is not available on the remote server anymore

Issue: https://github.com/owncloud/android/issues/3268 PR: https://github.com/owncloud/android/pull/3709

File synchronization [Bugfixing]

Files should be synchronized, updating or removing local data in ScopedStorage and database depending on the remote changes.

Issue: https://github.com/owncloud/android/issues/3350 PR: https://github.com/owncloud/android/pull/3704 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1173699585 QA reports fixed:

  • [ ] (1) [P1] Updates in server not reflected
  • [ ] (2) Badge gone

Folder synchronization [Bugfixing]

Same as file synchronization but for folders. Recursively. PR: https://github.com/owncloud/android/pull/3707 & https://github.com/owncloud/android/pull/3709 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1176105909 QA reports fixed:

  • [ ] (1) [P2] Relocation mechanism
  • [x] (2)
  • [x] (3)
  • [x] (4)
  • [X] (5) [P3] No error message after pulling down if no connection available [DONE]
  • [X] (6) [P1] Whole account refreshed after pulling down in root [FIXED]
  • [X] (7) [P1] All files synced after reopening [FIXED]
  • [X] (8) [P1] Request flooding [FIXED]

Uploads migration (Under QA)

Issue: https://github.com/owncloud/android/issues/2858 PR: https://github.com/owncloud/android/pull/3718 QA: https://github.com/owncloud/android/issues/2818#issuecomment-1230150745 QA reports:

  • [X] (1) Uploads enqueued forever, after upgrade [FIXED]
  • [x] (2) [P1] Sharing big file with oC causes a crash [FIXED]
  • [x] https://github.com/owncloud/android/issues/3741
  • [ ] (3) [P1] Uploads replayed after upgrading [WON'T FIX]
  • [ ] (4) [P2] Uploads in progress do not end

Miscellaneous

https://github.com/owncloud/android/issues/2818#issuecomment-1247805171

  • [ ] (1) [P2] Toolbar incorrect after browsing

Issues to have a look after this:

https://github.com/owncloud/android/issues/3721 [FIXED] https://github.com/owncloud/android/issues/3741 [P1] [FIXED] https://github.com/owncloud/android/issues/2070 https://github.com/owncloud/android/issues/2149 https://github.com/owncloud/android/issues/2834 https://github.com/owncloud/android/issues/2829 https://github.com/owncloud/android/issues/2921 [P1] https://github.com/owncloud/android/issues/3708 [P2] [FIXED]

davigonz avatar Feb 18 '20 07:02 davigonz

Create Folder https://github.com/owncloud/android/issues/2861 [APPROVED]

AC:

  • Folder created in the current path
  • Name must not be already used
  • Characters "/" and "\" are forbidden
  • Other errors:
    • No connectivity
    • Server not reached
    • Maintenance mode

QA:

  • [X] Create folder in root
  • [X] Create folder in non-root
  • [X] Create folder with special characters
  • [X] Create folder with an existing name
  • [X] Create folder with no network connectivity
  • [X] Create folder with no server connectivity
  • [X] Create folder in maintenance mode

Reports and improvements:

(1) Create folder with an existing name [FIXED]

Current: Folder could not be created because unknown error Expected: More accurate error, like Name already exists, choose another one or similar

Nexus6P Android7 f0c05841

jesmrec avatar Aug 31 '20 11:08 jesmrec

Fetch List of files https://github.com/owncloud/android/issues/2873

  • Once a folder is browsed, list of files is fetched. Important data:

    • File name
    • Extension (to set a thumbnail)
    • Size
    • Date
    • Permissions?
    • Private/Universal link (if included in the response)

jesmrec avatar Aug 31 '20 11:08 jesmrec

Remove file or folder #2864

AC:

  • Support removing the content in local (if downloaded), remote or both
  • Removing a file locally, will remove the file from local storage
  • Removing a file, will remove the file from the server and from local storage
  • Removing a file that was already removed in the server, will remove local storage data
  • Removing a folder will delete its content and itself, locally and on the server
  • Removing a folder will remove all its hierarchy

QA:

  • [X] Remove file locally
  • [X] Remove image locally
  • [X] Remove file locally and remotely
  • [X] Remove folder locally
  • [X] Remove folder locally and remotely
  • [X] Remove item that was removed in other client
  • [X] Remove with no network connectivity
  • [X] Remove with no server connectivity
  • [X] Remove in maintenance mode
  • [x] Remove locally without connection -> fixed in https://github.com/owncloud/android/pull/3727

Reports and improvements

(1) [FIXED]

  1. Download an image -> image previewed and stored in Scoped Storage
  2. Select image and Remove

Current: Only option to remove remotely. Local only option is not available Expected: As any other kind of file. Images with the option Local only to be removed from device

Nexus 6P Android 7 624608f8

(2) [FIXED]

  1. Download a file
  2. Remove device connection
  3. Select the downloaded file to remove
  4. Select Local Only

Current: Remove operation fails because lack of connection Expected: Remove operation success because the local copy is able to be removed, no matter if connection or not

Pixel5 v12 a078c950

(3) [P2]

  1. Browse to a folder that contains a huge amount of files (f.ex ~1000 files)
  2. Select all
  3. Select Remove -> Yes to remove from server, not only locally

Current: Spinner and waiter in the screen for a long time. App is blocked for the user. Expected (master): App is not blocked while files are being deleted

Samsung A51 Android12 e9b7e24c

(4) [P2]

  1. Download a txt file
  2. Select it in the list of files -> Remove -> Local only

Current: List of files is cleaned up and file name is set on the tool bar Expected: File loses the green bagde of dowloaded and list of files in the screen

Samsung A51 Android 12 2e2a0e2d

abelgardep avatar May 07 '21 11:05 abelgardep

Download a single file #2872

AC: https://github.com/owncloud/QA/blob/master/Mobile/Android/Sync/Download%20.md

Not finished yet. Following points are needed before approval:

  • Group notifications with progress. We need to decide how to show them when several downloads are performed parallelly. - This will have the same behavior for uploads. To be done together.
  • No information will be shown in the adapters due to performance issues. (Icon downloading in the file list)
  • Tests will be included in upcoming PR because several things will change till the final version.

Issues:

(1) (p1)

  1. Remove device connection
  2. Click on image to download -> Downloading status on screen
  3. Click on x to cancel

Current: app crashes Expected: no crash, go back to the list of files

Pixel 5 Android12 a14fe20c

abelgardep avatar May 07 '21 12:05 abelgardep

Move #2865 [APPROVED]

AC: https://github.com/owncloud/QA/blob/master/Mobile/Android/Sync/Move.md

Pending:

  • Check behavior when moving Av. Offline or moving to a folder marked as Av. Offline -> to test in Av. offline feature
  • Check performance when moving A LOT OF files (Way to improve if needed) -> tested with 6K downloaded files in same folder (tree structure to test when folder sync is done). Fast.

Reports and improvements:

(1) Crash [FIXED]

  1. Select a file from the list
  2. Select Move

Current: app crashes. Stacktrace:

2022-06-14 13:13:18.264 23459-23459/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 23459
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.owncloud.android.debug/com.owncloud.android.ui.activity.FolderPickerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Integer com.owncloud.android.ui.activity.FolderPickerActivity$PickerMode.getButtonString()' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6121)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Integer com.owncloud.android.ui.activity.FolderPickerActivity$PickerMode.getButtonString()' on a null object reference
        at com.owncloud.android.ui.activity.FolderPickerActivity.setActionButtonText(FolderPickerActivity.java:148)
        at com.owncloud.android.ui.activity.FolderPickerActivity.onCreate(FolderPickerActivity.java:102)
        at android.app.Activity.performCreate(Activity.java:6682)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6121) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 

Nexus6P Android7 f0c05841

abelgardep avatar May 19 '21 11:05 abelgardep

Rename #2863 [APPROVED]

AC: https://github.com/owncloud/QA/blob/master/Mobile/Android/Sync/Rename.md

Reports and improvements

(1) Rename with > 250 chars [FIXED]

Rename an item, adding a name longer than 250

Current: Rename could not be completed because unknown error Expected: More accurate error, or limit the input text field to 250 characters

Nexus6P Android7 f0c05841

(2) Rename with empty [FIXED]

Rename an item, letting the input text field empty

Current: Nothing happens Expected: Block the OK button, or show an appropiate error like File name cannot be empy (message in master)

(3) Rename with "/" [FIXED]

Rename an item, including forbidden "/" character

Current: Nothing happens Expected: Renamed could not be completed because file name contains at least one forbidden character

(4) Rename with existing name of folder [FIXED]

Rename a folder, using an existing name in the same directory

Current: Rename could not be completed because unknown error Expected: More accurate error

Nexus6P Android7 f0c05841

abelgardep avatar May 24 '21 11:05 abelgardep

Copy #2866

AC: https://github.com/owncloud/QA/blob/master/Mobile/Android/Sync/Copy.md

Files downloaded won't be copied in the local storage. We may save some local space this way, but we could duplicate them if needed.

Reports and improvements:

(1) [FIXED]

Same crash as report (1) in Move operation: https://github.com/owncloud/android/issues/2818#issuecomment-844022500

(2) [FIXED]

  1. Select any item of the list
  2. Select Copy

Current: in the bottom folder picker button: Move Here Expected: in the bottom folder picker button: Copy Here

(3)

  1. Select a folder
  2. Select Copy
  3. Select as target folder, same folder as 1.

Current: error message is too long, and could not be read completely:

Screenshot 2022-08-19 at 13 45 51

Expected (master): message is reduced: It is not possible to copy a folder into a descendant

NOTE: same for move

abelgardep avatar May 27 '21 07:05 abelgardep

File list view

The main screen of the app has been refactored. Lots of changes have been applied including recycler view, live data... etc

Issue: https://github.com/owncloud/android/issues/2869 PR: https://github.com/owncloud/android/pull/3517

Reports and improvements

(1) Multiselection [FIXED]

When long pressing, the multiselection checkboxes only displayed for the selected item:

Screenshot 2022-06-14 at 13 45 24

(2) Share icons [FIXED]

  1. Create a public link over an item -> chain icon is listed
  2. Pull down to refresh

Current: Sharing icons are gone Expected: Sharing icons in the list

(3) Thumbnails non-downladed files [FIXED]

Thumbnails for non-downloded files are lost. Related: https://github.com/owncloud/android/issues/3525

(4) [DONE]

Show hidden files setting ignored. Hidden files always shown

(5) [DONE]

The new message when the folder is empty:

Screenshot 2022-06-16 at 10 58 15

I'd remove the Nothing in here because is redundant with the message above There are no files in this folder

(6) [FIXED]

Scroll bar on the right is missing (comparing with master)

jesmrec avatar Jun 14 '22 11:06 jesmrec

Downloads

Issue: https://github.com/owncloud/android/issues/2872 PR: https://github.com/owncloud/android/pull/2918

QA

https://github.com/owncloud/QA/blob/master/Mobile/Android/Sync/Download%20.md

Known issues: downloading badge is not shown

Reports and improvements:

(1) Crashes [No reproducible]

Some kind of files cause a crash when clicking on them to download and preview: pdf, video, txt

2022-06-14 14:18:53.214 29253-29253/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 29253
    java.lang.NullPointerException: Attempt to invoke interface method 'android.view.MenuItem android.view.MenuItem.setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener)' on a null object reference
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.onCreateOptionsMenu(MainFileListFragment.kt:146)

(2) Notifications [FIXED]

Current: By clicking on a file (image, to avoid (1)), file is downloaded and notification displayed By longpressing to select an image, and clicling on the down-arrow icon on the top, file is downloaded but no notification is displayed.

Expected (master): using the down-arrow to download, should show also de notification (i know that notifications are pending to be rechecked)

Obs: Currently, the progress in the notification is not shown. It only shows the notification when the download is finished (success or fail). That said, I got the notification when using the down-arrow to download, so it could be fixed by the way. Ready to check again @jesmrec

(3) In uploads view [FIXED]

  1. Click on a file to download

Current: some seconds later, the file appears in the uploads view (does it try to sync?) Expected: no news in the uploads view, at least in terms of downloads

(4) [FIXED]

Something not to forget in our side: we have to mark somehow when a file is downloaded. Using the green badge as before or any other way.

(5) [P1] [FIXED]

  1. Remove device connection
  2. Download a file by clicking on it

Current: Downloading forever. Clicking on (x), the app crashes Expected: Download failed message, as in current master

Obs: (Only reproducible with images(?), otherwise in the details view, we will see a snackbar("Sync failed")).

(6) [P2]

This one is about notifications, so maybe not to fix as downloads but directly related

  1. Enter in an OAuth2 account
  2. In the server, remove the token
  3. In the app, download a file

Current: notification Download failed. Not clickable Expected: notification: Download failed, you need to login again. By clicking, redirection to login view.

(7) [P2]

  1. Click on a big previewable file (for example, a 30M big image)

Current: Progress bar is missing Expected: Progress bar works

Nexus6P Android7 f0c05841

jesmrec avatar Jun 14 '22 12:06 jesmrec

@jesmrec Atomic operations are ready to test again

abelgardep avatar Jun 14 '22 16:06 abelgardep

Open With

(1) Crash [FIXED]

  1. Select a non-downloaded file from the list
  2. Select Open with

Current: app crashes

2022-06-16 10:01:39.304 18045-18045/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 18045
    java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.lastIndexOf(int)' on a null object reference
        at com.owncloud.android.ui.helpers.FileOperationsHelper.getIntentForGuessedMimeType(FileOperationsHelper.java:81)
        at com.owncloud.android.ui.helpers.FileOperationsHelper.openFile(FileOperationsHelper.java:97)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.onFileActionChosen(MainFileListFragment.kt:504)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.access$onFileActionChosen(MainFileListFragment.kt:82)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment$actionModeCallback$1.onActionItemClicked(MainFileListFragment.kt:697)
        at androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9.onActionItemClicked(AppCompatDelegateImpl.java:2708)
        at androidx.appcompat.view.StandaloneActionMode.onMenuItemSelected(StandaloneActionMode.java:140)
        at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:834)
        at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
        at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:985)
        at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
        at android.widget.AdapterView.performItemClick(AdapterView.java:310)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1164)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3132)
        at android.widget.AbsListView$3.run(AbsListView.java:4047)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6121)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Expected: no crash

Android 7 624608f8

jesmrec avatar Jun 16 '22 08:06 jesmrec

Uploads

(1) (p2) [FIXED]

  1. Remove server connection
  2. Upload a file

Current: error takes long to happen (no notification) Expected: lack of connection is detected and error happens quickly

(2) [FIXED]

  1. Remove device connection
  2. Upload a file

Current: Unknown error Expected: enqueued till connections comes back

UPDATE: After the domain model and UI migration, a new status has been added for uploads (now transfers): enqueued. Now uploads are enqueued until the device is connected to the network, so they won't be moved to failed section following these steps

(3) (p3)

  1. Browse to folder Photos
  2. Select a file to upload inside
  3. Before submitting, remove the folder Photos in another client
  4. Submit the upload

Current: Photos folder is created again with the picture inside Expected: Folder was deleted, so it should trigger a Folder error. Maybe the current behaviour is not too evil, open to discussion

(4) (p1) [FIXED in https://github.com/owncloud/android/pull/3757]

  1. Upload a file
  2. Kill the app before the upload ends

Current: Folder error Expected: Enqueued again

NOTE: URI upload (manual upload via FAB) returns folder error. System upload (share with oC) sometimes resumes after reopening correctly, other times fails with unknown error in uploads view and The resource you tried to create already exists in notification.Complete stack trace of that case:

2022-08-31 13:49:31.406 26781-26841/com.owncloud.android.debug E/(UploadFileFromFileSystemWorker.kt:109) .doWork(): com.owncloud.android.domain.exceptions.SpecificMethodNotAllowedException: The resource you tried to create already exists
        at com.owncloud.android.data.RemoteOperationHandlerKt.handleRemoteOperationResult(RemoteOperationHandler.kt:136)
        at com.owncloud.android.data.RemoteOperationHandlerKt.executeRemoteOperation(RemoteOperationHandler.kt:76)
        at com.owncloud.android.workers.UploadFileFromFileSystemWorker.uploadChunkedFile(UploadFileFromFileSystemWorker.kt:254)
        at com.owncloud.android.workers.UploadFileFromFileSystemWorker.uploadDocument(UploadFileFromFileSystemWorker.kt:225)
        at com.owncloud.android.workers.UploadFileFromFileSystemWorker.doWork(UploadFileFromFileSystemWorker.kt:104)
        at androidx.work.CoroutineWorker$startWork$1.invokeSuspend(CoroutineWorker.kt:68)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

(5) (p2)

When a file is uploaded, the notification is missing. Is this intended or pending to do?

Note: same behaviours as downloads is feasible

(6) [FIXED]

  1. Open web browser and any web
  2. Select some text from the web
  3. Share with oC
  4. Select any file name and submit

Current: nothing is uploaded Expected: text file with the selected text is uploaded

Android 7, Android12 624608f8

(7) [Non-reproducible]

  1. Click the FAB -> Upload -> Files
  2. Select several files, for example 10
  3. Before the upload is finished or just after finishing, refresh the view

Current: sometimes app crashes, and sometimes it doesn't crash but not every file was uploaded Expected: the view is refreshed and all the files that have been already uploaded are shown

Logs: Some clarifying notes:

  • They start at the moment in which the BottomSheetFragment appears, and then, the 10 uploads are logged
  • The only red statement is this one: E/libperflog: [LIBPERFLOG] socket_local_client fail = -1, one per each of the uploads
Click me
W/ResourcesCompat: Failed to inflate ColorStateList, leaving it to the framework
    java.lang.UnsupportedOperationException: Failed to resolve attribute at index 0: TypedValue{t=0x2/d=0x7f0400fc a=-1}
        at android.content.res.TypedArray.getColor(TypedArray.java:477)
        at androidx.core.content.res.ColorStateListInflaterCompat.inflate(ColorStateListInflaterCompat.java:160)
        at androidx.core.content.res.ColorStateListInflaterCompat.createFromXmlInner(ColorStateListInflaterCompat.java:125)
        at androidx.core.content.res.ColorStateListInflaterCompat.createFromXml(ColorStateListInflaterCompat.java:104)
        at androidx.core.content.res.ResourcesCompat.inflateColorStateList(ResourcesCompat.java:229)
        at androidx.core.content.res.ResourcesCompat.getColorStateList(ResourcesCompat.java:203)
        at androidx.core.content.ContextCompat.getColorStateList(ContextCompat.java:519)
        at androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:48)
        at com.google.android.material.resources.MaterialResources.getColorStateList(MaterialResources.java:60)
        at com.google.android.material.imageview.ShapeableImageView.<init>(ShapeableImageView.java:112)
        at com.google.android.material.imageview.ShapeableImageView.<init>(ShapeableImageView.java:92)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at com.owncloud.android.databinding.BottomSheetFragmentItemBinding.inflate(BottomSheetFragmentItemBinding.java:56)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(BottomSheetFragmentItemView.kt:58)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(BottomSheetFragmentItemView.kt:30)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(Unknown Source:11)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.openBottomSheetToUploadFiles(MainFileListFragment.kt:377)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.registerFabUploadListener$lambda-12(MainFileListFragment.kt:365)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.$r8$lambda$VRVkJ0Lb-GeLwj0NFHasihVWZQY(Unknown Source:0)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment$$ExternalSyntheticLambda4.onClick(Unknown Source:2)
        at android.view.View.performClick(View.java:7333)
        at android.view.View.performClickInternal(View.java:7299)
        at android.view.View.access$3200(View.java:846)
        at android.view.View$PerformClick.run(View.java:27773)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:6986)
W/ResourcesCompat:     at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
W/ResourcesCompat: Failed to inflate ColorStateList, leaving it to the framework
    java.lang.UnsupportedOperationException: Failed to resolve attribute at index 0: TypedValue{t=0x2/d=0x7f0400fc a=-1}
        at android.content.res.TypedArray.getColor(TypedArray.java:477)
        at androidx.core.content.res.ColorStateListInflaterCompat.inflate(ColorStateListInflaterCompat.java:160)
        at androidx.core.content.res.ColorStateListInflaterCompat.createFromXmlInner(ColorStateListInflaterCompat.java:125)
        at androidx.core.content.res.ColorStateListInflaterCompat.createFromXml(ColorStateListInflaterCompat.java:104)
        at androidx.core.content.res.ResourcesCompat.inflateColorStateList(ResourcesCompat.java:229)
        at androidx.core.content.res.ResourcesCompat.getColorStateList(ResourcesCompat.java:203)
        at androidx.core.content.ContextCompat.getColorStateList(ContextCompat.java:519)
        at androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:48)
        at com.google.android.material.resources.MaterialResources.getColorStateList(MaterialResources.java:60)
        at com.google.android.material.imageview.ShapeableImageView.<init>(ShapeableImageView.java:112)
        at com.google.android.material.imageview.ShapeableImageView.<init>(ShapeableImageView.java:92)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at com.owncloud.android.databinding.BottomSheetFragmentItemBinding.inflate(BottomSheetFragmentItemBinding.java:56)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(BottomSheetFragmentItemView.kt:58)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(BottomSheetFragmentItemView.kt:30)
        at com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView.<init>(Unknown Source:11)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.openBottomSheetToUploadFiles(MainFileListFragment.kt:377)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.registerFabUploadListener$lambda-12(MainFileListFragment.kt:365)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.$r8$lambda$VRVkJ0Lb-GeLwj0NFHasihVWZQY(Unknown Source:0)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment$$ExternalSyntheticLambda4.onClick(Unknown Source:2)
        at android.view.View.performClick(View.java:7333)
        at android.view.View.performClickInternal(View.java:7299)
        at android.view.View.access$3200(View.java:846)
        at android.view.View$PerformClick.run(View.java:27773)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:6986)
W/ResourcesCompat:     at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
D/Dialog: mIsSamsungBasicInteraction = false
D/Dialog: mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
D/InputTransport: Input channel constructed: fd=102
D/ViewRootImpl@25f63ed[FileDisplayActivity]: setView = DecorView@95df222[FileDisplayActivity] TM=true MM=false
D/ViewRootImpl@25f63ed[FileDisplayActivity]: dispatchAttachedToWindow
D/ViewRootImpl@25f63ed[FileDisplayActivity]: Relayout returned: old=[0,63][1080,2094] new=[0,0][1080,2220] result=0x7 surface={valid=true 481627955200} changed=true
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/OpenGLRenderer: eglCreateWindowSurface = 0x6f82d00e00, 0x7023436010
D/ViewRootImpl@25f63ed[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@95df222[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/InputMethodManager: prepareNavigationBarInfo() DecorView@95df222[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.owncloud.android.debug ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: fd=127
D/InputTransport: Input channel destroyed: fd=101
D/ViewRootImpl@25f63ed[FileDisplayActivity]: MSG_RESIZED: frame=Rect(0, 0 - 1080, 2220) ci=Rect(0, 63 - 0, 126) vi=Rect(0, 63 - 0, 126) or=1
D/ViewRootImpl@1e52f36[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/ViewRootImpl@25f63ed[FileDisplayActivity]: ViewPostIme pointer 0
D/ViewRootImpl@25f63ed[FileDisplayActivity]: ViewPostIme pointer 1
D/ViewRootImpl@25f63ed[FileDisplayActivity]: ViewPostIme pointer 0
D/ViewRootImpl@25f63ed[FileDisplayActivity]: ViewPostIme pointer 1
W/libEGL: EGLNativeWindowType 0x7023436010 disconnect failed
D/OpenGLRenderer: eglDestroySurface = 0x6f82d00e00, 0x7023436000
D/ViewRootImpl@25f63ed[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x5 surface={valid=false 0} changed=true
V/(FileDisplayActivity.kt:678) .onPause(): onPause() start
V/(MainApp.kt:142) $onCreate.onActivityPaused(): FileDisplayActivity onPause() ending
V/(FileDisplayActivity.kt:689) .onPause(): onPause() end
D/ViewRootImpl@1e52f36[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.owncloud.android.debug ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: fd=101
D/InputTransport: Input channel destroyed: fd=127
D/ViewRootImpl@25f63ed[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@95df222[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/ViewRootImpl@1e52f36[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/InputTransport: Input channel destroyed: fd=101
D/ViewRootImpl@25f63ed[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=false 0} changed=false
D/ViewRootImpl@25f63ed[FileDisplayActivity]: Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7646 android.app.ActivityThread.callActivityOnStop:4358 android.app.ActivityThread.performStopActivityInner:4336 android.app.ActivityThread.handleStopActivity:4411 android.app.servertransaction.StopActivityItem.execute:41 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145 android.app.servertransaction.TransactionExecutor.execute:70 
D/ViewRootImpl@1e52f36[FileDisplayActivity]: Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7646 android.app.ActivityThread.callActivityOnStop:4358 android.app.ActivityThread.performStopActivityInner:4336 android.app.ActivityThread.handleStopActivity:4411 android.app.servertransaction.StopActivityItem.execute:41 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145 android.app.servertransaction.TransactionExecutor.execute:70 
V/(MainApp.kt:146) $onCreate.onActivityStopped(): FileDisplayActivity onStop() ending
V/(FileDisplayActivity.kt:643) .onSaveInstanceState(): onSaveInstanceState() start
V/(MainApp.kt:155) $onCreate.onActivitySaveInstanceState(): FileDisplayActivity onSaveInstanceState(Bundle) starting
V/(FileDisplayActivity.kt:653) .onSaveInstanceState(): onSaveInstanceState() end
W/libEGL: EGLNativeWindowType 0x7023de1010 disconnect failed
D/OpenGLRenderer: eglDestroySurface = 0x703c928e80, 0x7023de1000
D/ViewRootImpl@1e52f36[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x5 surface={valid=false 0} changed=false
D/ViewRootImpl@25f63ed[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=false 0} changed=false
D/ViewRootImpl@1e52f36[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=false 0} changed=false
V/(BaseActivity.java:101) .onRestart(): onRestart() start
V/(BaseActivity.java:107) .onRestart(): onRestart() end
V/(MainApp.kt:129) $onCreate.onActivityStarted(): FileDisplayActivity onStart() starting
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_085740.jpg has been stored in the uploads database with id: 25
D/(DrawerActivity.kt:394) .updateQuota(): Update Quota
D/(FileDisplayActivity.kt:288) .onAccountSet(): Initializing Fragments in onAccountChanged..
I/(AvatarManager.kt:87) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Generating one...
D/(ViewModelExt.kt:64) $runUseCaseWithResult.invokeSuspend(): Use case executed: GetStoredQuotaUseCase with result: Success(data=UserQuota(available=-3, used=7712372))
I/(AvatarManager.kt:78) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Fetching from server...
V/(FileDisplayActivity.kt:657) .onResume(): onResume() start
V/(MainApp.kt:138) $onCreate.onActivityResumed(): FileDisplayActivity onResume() starting
W/(DrawerActivity.kt:506) .setDrawerMenuItemChecked(): setDrawerMenuItemChecked has been called with invalid menu-item-ID
V/(FileDisplayActivity.kt:674) .onResume(): onResume() end
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_085740.jpg has been enqueued.
D/(GetRemoteUserAvatarOperation.kt:53) .run(): avatar URI: http://135.181.149.201:10000/index.php/avatar/admin/336
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id ebb6f293-cc38-404c-921b-31af9e8e9914
D/ViewRootImpl@1e52f36[FileDisplayActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x7 surface={valid=true 481627955200} changed=true
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_102641.jpg has been stored in the uploads database with id: 26
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/OpenGLRenderer: eglCreateWindowSurface = 0x6f820e4b80, 0x7023436010
V/StudioTransport: Agent handling command (id:895 type:APP_INSPECTION) for pid:1767.
I/(AvatarManager.kt:78) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Fetching from server...
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(GetRemoteUserAvatarOperation.kt:53) .run(): avatar URI: http://135.181.149.201:10000/index.php/avatar/admin/336
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_102641.jpg has been enqueued.
D/ViewRootImpl@1e52f36[FileDisplayActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_095739.jpg has been stored in the uploads database with id: 27
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.owncloud.android.debug ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: fd=103
W/System: A resource failed to call response.body().close(). 
W/System: A resource failed to call response.body().close(). 
I/(MainFileListViewModel.kt:226) .composeFileListUiState(): ================ Composing a new file list Ui state ==============
I/(MainFileListViewModel.kt:227) .composeFileListUiState(): Account received from parameter: Account {[email protected]:10000, type=owncloud}
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_095739.jpg has been enqueued.
I/(MainFileListViewModel.kt:228) .composeFileListUiState(): FolderToDisplay received from parameter: OCFile(id=1, parentId=0, [email protected]:10000, length=7712372, creationTimestamp=0, modificationTimestamp=1657726910000, remotePath=/, mimeType=DIR, etag=62cee7be861b8, permissions=RDNVCK, remoteId=00000006ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/6, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=0, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false)
I/(MainFileListViewModel.kt:229) .composeFileListUiState(): FolderContent received from parameter: [OCFile(id=3, parentId=1, [email protected]:10000, length=3193, creationTimestamp=0, modificationTimestamp=1657721167000, remotePath=/Documents/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000007ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/7, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727486726, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true), OCFile(id=4, parentId=1, [email protected]:10000, length=1011464, creationTimestamp=0, modificationTimestamp=1653908379000, remotePath=/Photos/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000010ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/10, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727486726, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false), OCFile(id=5, parentId=1, [email protected]:10000, length=6697715, creationTimestamp=0, modificationTimestamp=1653908378000, remotePath=/ownCloud Manual.pdf, mimeType=application/pdf, etag=057b75e2a1b5b5bac6878869dad66231, permissions=RDNVW, remoteId=00000009ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/9, storagePath=/data/user/0/com.owncloud.android.debug/files/owncloud/[email protected]%3A10000/ownCloud Manual.pdf, treeEtag=, keepInSync=null, lastSyncDateForData=1657725099075, lastSyncDateForProperties=1657727486726, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=1653908378000, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true)]
I/(MainFileListViewModel.kt:230) .composeFileListUiState(): FileListOption received from parameter: ALL_FILES
I/(MainFileListViewModel.kt:231) .composeFileListUiState(): SearchFilter received from parameter: null
I/(MainFileListViewModel.kt:240) .composeFileListUiState(): ================ Already composed a new file list Ui state ==============
I/(MainFileListViewModel.kt:241) .composeFileListUiState(): Account: [email protected]:10000
I/(MainFileListViewModel.kt:242) .composeFileListUiState(): File list option: ALL_FILES
I/(MainFileListViewModel.kt:243) .composeFileListUiState(): Search filter text:
I/(MainFileListViewModel.kt:244) .composeFileListUiState(): Folder to display: id[1], fileName[/]
I/(MainFileListViewModel.kt:245) .composeFileListUiState(): Folder content: size[3]
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191120_184151.jpg has been stored in the uploads database with id: 28
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191120_184151.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_100351.jpg has been stored in the uploads database with id: 29
D/ConnectivityManager: requestNetwork; CallingUid : 10963, CallingPid : 1767
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_100351.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191120_183654.jpg has been stored in the uploads database with id: 30
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191120_183654.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_102451.jpg has been stored in the uploads database with id: 31
W/(GetRemoteUserAvatarOperation.kt:67) .run(): Not an image, failing with no avatar
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 4bba800d-94cd-467b-9ac7-6c417cd7c3d0
D/(AvatarManager.kt:114) .handleAvatarUseCaseResult(): Fetch avatar use case is success: false
I/(AvatarManager.kt:140) .handleAvatarUseCaseResult(): No avatar available, removing cached copy
D/(DiskLruImageCache.java:143) .removeKey(): removeKey from cache: -597772860
I/(AvatarManager.kt:87) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Generating one...
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_102451.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191120_183927.jpg has been stored in the uploads database with id: 32
V/StudioTransport: Agent handling command (id:896 type:APP_INSPECTION) for pid:1767.
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191120_183927.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191120_183909.jpg has been stored in the uploads database with id: 33
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191120_183909.jpg has been enqueued.
I/(UploadFilesFromSAFUseCase.kt:90) .storeInUploadsDatabase(): Upload of //20191114_085742.jpg has been stored in the uploads database with id: 34
I/(UploadFileFromContentUriUseCase.kt:73) .enqueuePlainUpload(): Plain upload of /document/primary:DCIM/Camera/20191114_085742.jpg has been enqueued.
V/StudioTransport: Agent handling command (id:897 type:APP_INSPECTION) for pid:1767.
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 6834846c-6464-4d74-a96a-36c1bbc66750
W/(GetRemoteUserAvatarOperation.kt:67) .run(): Not an image, failing with no avatar
D/(AvatarManager.kt:114) .handleAvatarUseCaseResult(): Fetch avatar use case is success: false
I/(AvatarManager.kt:140) .handleAvatarUseCaseResult(): No avatar available, removing cached copy
D/(DiskLruImageCache.java:143) .removeKey(): removeKey from cache: -597772860
I/(AvatarManager.kt:87) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Generating one...
V/StudioTransport: Agent handling command (id:898 type:APP_INSPECTION) for pid:1767.
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(MainFileListFragment.kt:708) .setProgressBarAsIndeterminate(): Setting progress visibility to true
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:899 type:APP_INSPECTION) for pid:1767.
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id ad804748-99b7-4031-8c37-a645a5c81793
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
    
    [          1657727499.547  1767: 1862 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:900 type:APP_INSPECTION) for pid:1767.
W/System: A resource failed to call response.body().close(). 
W/System: A resource failed to call response.body().close(). 
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id ad4ef53f-aba4-47d7-94b9-856371e8c95b
    
    [          1657727499.688  1767: 1863 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 25b70ead-9786-41b7-8dba-77eddef137db
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
    
    [          1657727499.823  1767: 1868 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:901 type:APP_INSPECTION) for pid:1767.
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 2afd7512-6526-43e7-9c7f-678e04698e7e
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
    
    [          1657727499.957  1767: 1867 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:902 type:APP_INSPECTION) for pid:1767.
D/LeakCanary: Setting up flushing for Thread[ConnectivityThread,5,main]
V/StudioTransport: Agent handling command (id:903 type:APP_INSPECTION) for pid:1767.
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id fd634ce7-fd71-49a2-bd5f-086275d1ca48
D/(GetRemoteCapabilitiesOperation.kt:71) .run(): Successful response {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK","totalitems":"","itemsperpage":""},"data":{"version":{"major":10,"minor":10,"micro":0,"string":"10.10.0","edition":"Community","product":"ownCloud"},"capabilities":{"core":{"pollinterval":30000,"webdav-root":"remote.php\/webdav","status":{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"10.10.0.3","versionstring":"10.10.0","edition":"Community","productname":"ownCloud","product":"ownCloud","hostname":"6d38dd0ce9ae"},"support-url-signing":true},"checksums":{"supportedTypes":["SHA1"],"preferredUploadType":"SHA1"},"files":{"privateLinks":true,"privateLinksDetailsParam":true,"bigfilechunking":true,"blacklisted_files":[".htaccess"],"blacklisted_files_regex":"\\.(part|filepart)$","favorites":true,"file_locking_support":true,"file_locking_enable_file_action":false,"undelete":true,"versioning":true},"dav":{"chunking":"1.0","reports":["search-files"],"propfind":{"depth_infinity":false},"trashbin":"1.0"},"files_sharing":{"api_enabled":true,"public":{"enabled":true,"password":{"enforced_for":{"read_only":false,"read_write":false,"upload_only":false,"read_write_delete":false},"enforced":false},"roles_api":true,"can_create_public_link":true,"expire_date":{"enabled":false},"send_mail":false,"social_share":true,"upload":true,"multiple":true,"supports_upload_only":true,"defaultPublicLinkShareName":"Public link"},"user":{"send_mail":false,"profile_picture":true,"expire_date":{"enabled":false}},"group":{"expire_date":{"enabled":false}},"remote":{"expire_date":{"enabled":false}},"resharing":true,"group_sharing":true,"auto_accept_share":true,"share_with_group_members_only":true,"share_with_membership_groups_only":true,"can_share":true,"user_enumeration":{"enabled":true,"group_members_only":false},"default_permissions":31,"providers_capabilities":{"ocinternal":{"user":["shareExpiration"],"group":["shareExpiration"],"link":["shareExpiration","passwordProtected"]},"ocFederatedSharing":{"remote":["shareExpiration"]}},"federation":{"outgoing":true,"incoming":true},"search_min_length":2},"notifications":{"ocs-endpoints":["list","get","delete"]}}}}}
D/(GetRemoteCapabilitiesOperation.kt:82) .run(): Get Capabilities completed and parsed to RemoteCapability(accountName=, versionMayor=10, versionMinor=10, versionMicro=0, versionString=10.10.0, versionEdition=Community, corePollinterval=30000, chunkingVersion=1.0, filesSharingApiEnabled=TRUE, filesSharingPublicEnabled=TRUE, filesSharingPublicPasswordEnforced=FALSE, filesSharingPublicPasswordEnforcedReadOnly=FALSE, filesSharingPublicPasswordEnforcedReadWrite=FALSE, filesSharingPublicPasswordEnforcedUploadOnly=FALSE, filesSharingPublicExpireDateEnabled=FALSE, filesSharingPublicExpireDateDays=0, filesSharingPublicExpireDateEnforced=FALSE, filesSharingPublicUpload=TRUE, filesSharingPublicMultiple=TRUE, filesSharingPublicSupportsUploadOnly=TRUE, filesSharingResharing=TRUE, filesSharingFederationOutgoing=TRUE, filesSharingFederationIncoming=TRUE, filesSharingUserProfilePicture=TRUE, filesBigFileChunking=TRUE, filesUndelete=TRUE, filesVersioning=TRUE)
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
D/(SynchronizeFolderOperation.java:264) .fetchRemoteFolder(): Fetching list of files in  [email protected]:10000/, if changed
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:904 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=4 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 713ms
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 0e607fc8-0418-4585-a6b8-d3c266d9196b
    
    [          1657727500.267  1767: 1864 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:905 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=5 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 847ms
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 1b8d7cd7-3bcf-4ae2-bde3-c71fd67e6aad
V/StudioTransport: Agent handling command (id:906 type:APP_INSPECTION) for pid:1767.
I/d.android.debu: Waiting for a blocking GC ClassLinker
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
I/d.android.debu: WaitForGcToComplete blocked ClassLinker on ClassLinker for 48.934ms
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=6 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.055s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id dcd6a9c5-df46-4818-853d-bcfe0e4d5f37
    
    [          1657727500.619  1767: 1865 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=7 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.194s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_085740.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 95786dd4-c988-4387-967d-4add760c32d9
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-7 (1868) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=7 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.221s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id e73c148e-1d7f-4d36-87dd-2472eb1682de
    
    [          1657727500.920  1767: 2087 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/StudioTransport: Agent handling command (id:907 type:APP_INSPECTION) for pid:1767.
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:908 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-6 (1867) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=7 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.270s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id fd1c14b7-861a-4949-a821-213047444779
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_102641.jpg finished with HTTP status 404(FAIL)
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:909 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:910 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner Thread-27 (2084) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=7 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.269s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_095739.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 5e5fcb60-ddb7-4b09-9582-999cbc2c1891
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:911 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-3 (1864) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=7 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.233s
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191120_184151.jpg finished with HTTP status 404(FAIL)
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 03948be5-e719-4f70-80e4-a65372a3ae10
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:912 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-3 (1864) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.385s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 1b97c8c6-4c38-4828-9cce-42a27b6a8c73
D/(GetRemoteUserInfoOperation.kt:58) .run(): Successful response {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK","totalitems":"","itemsperpage":""},"data":{"id":"admin","display-name":"admin","email":null}}}
D/(GetRemoteUserInfoOperation.kt:68) .run(): Get User Info completed and parsed to RemoteUserInfo(id=admin, displayName=admin, email=null)
D/(SyncProfileOperation.kt:56) $syncUserProfile.invokeSuspend(): User info synchronized for account [email protected]:10000
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-3 (1864) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.558s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 2234f2b9-0fba-4f0d-aaa7-fbcd709d753f
I/(ReadRemoteFolderOperation.kt:96) .run(): Synchronized / with 4 files. Operation finished with HTTP status code -1 (success)
D/(SynchronizeFolderOperation.java:302) .mergeRemoteFolder(): Synchronizing [email protected]:10000/
D/(SynchronizeFolderOperation.java:312) .mergeRemoteFolder(): Remote folder / changed - starting update of local data
D/(FileDataStorageManager.kt:356) .saveFolder(): Saving folder / with 3 children and 0 files to remove
V/(SynchronizeFolderOperation.java:468) .syncContents(): Starting content synchronization...
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-5 (1866) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.602s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id b3853255-75f7-4cb2-8c48-367304b0b913
I/(ReadRemoteFolderOperation.kt:96) .run(): Synchronized / with 4 files. Operation finished with HTTP status code -1 (success)
D/(ViewModelExt.kt:64) $runUseCaseWithResult.invokeSuspend(): Use case executed: RefreshFolderFromServerAsyncUseCase with result: Success(data=kotlin.Unit)
I/(MainFileListViewModel.kt:226) .composeFileListUiState(): ================ Composing a new file list Ui state ==============
I/(MainFileListViewModel.kt:227) .composeFileListUiState(): Account received from parameter: Account {[email protected]:10000, type=owncloud}
I/(MainFileListViewModel.kt:228) .composeFileListUiState(): FolderToDisplay received from parameter: OCFile(id=1, parentId=0, [email protected]:10000, length=7712372, creationTimestamp=0, modificationTimestamp=1657726910000, remotePath=/, mimeType=DIR, etag=62cee7be861b8, permissions=RDNVCK, remoteId=00000006ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/6, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=0, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false)
I/(MainFileListViewModel.kt:229) .composeFileListUiState(): FolderContent received from parameter: [OCFile(id=3, parentId=1, [email protected]:10000, length=3193, creationTimestamp=0, modificationTimestamp=1657721167000, remotePath=/Documents/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000007ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/7, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true), OCFile(id=4, parentId=1, [email protected]:10000, length=1011464, creationTimestamp=0, modificationTimestamp=1653908379000, remotePath=/Photos/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000010ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/10, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false), OCFile(id=5, parentId=1, [email protected]:10000, length=6697715, creationTimestamp=0, modificationTimestamp=1653908378000, remotePath=/ownCloud Manual.pdf, mimeType=application/pdf, etag=057b75e2a1b5b5bac6878869dad66231, permissions=RDNVW, remoteId=00000009ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/9, storagePath=/data/user/0/com.owncloud.android.debug/files/owncloud/[email protected]%3A10000/ownCloud Manual.pdf, treeEtag=, keepInSync=null, lastSyncDateForData=1657725099075, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=1653908378000, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true)]
I/(MainFileListViewModel.kt:230) .composeFileListUiState(): FileListOption received from parameter: ALL_FILES
I/(MainFileListViewModel.kt:231) .composeFileListUiState(): SearchFilter received from parameter: null
I/(MainFileListViewModel.kt:240) .composeFileListUiState(): ================ Already composed a new file list Ui state ==============
I/(MainFileListViewModel.kt:241) .composeFileListUiState(): Account: [email protected]:10000
I/(MainFileListViewModel.kt:242) .composeFileListUiState(): File list option: ALL_FILES
I/(MainFileListViewModel.kt:243) .composeFileListUiState(): Search filter text:
I/(MainFileListViewModel.kt:244) .composeFileListUiState(): Folder to display: id[1], fileName[/]
I/(MainFileListViewModel.kt:245) .composeFileListUiState(): Folder content: size[3]
V/StudioTransport: Agent handling command (id:913 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-4 (1865) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.611s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_100351.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id bb6177ab-01f1-4354-81b9-6fedf738a399
V/StudioTransport: Agent handling command (id:914 type:APP_INSPECTION) for pid:1767.
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:915 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-1 (1862) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.552s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_102451.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 27313779-395e-4381-bba5-253ae00acdca
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:916 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:917 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-8 (2087) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 1.572s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 41a249e7-eb46-466f-9382-9f9c3afab6c7
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191120_183654.jpg finished with HTTP status 404(FAIL)
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:918 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 90 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 124 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 62 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 133 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 90 milliseconds
I/d.android.debu: Background concurrent copying GC freed 105392(6MB) AllocSpace objects, 39(14MB) LOS objects, 50% free, 17MB/34MB, paused 370us total 114.349ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 117 milliseconds
V/StudioTransport: Agent handling command (id:919 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 2384 milliseconds
V/StudioTransport: Agent handling command (id:920 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 6.553s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id a1b33362-e72f-4417-9afa-3d82786fc69b
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=bca0c78a-2008-497c-8e3e-2ae282c57403, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, 25, [email protected]:10000 } ]
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-7 (1868) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 6.505s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191120_183927.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 50a60b2d-a546-467e-8ff0-d51ac422078d
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 71 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 87 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 45 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 62 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 40 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 80 milliseconds
V/StudioTransport: Agent handling command (id:921 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:922 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:923 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:924 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:925 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:926 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 1474 milliseconds
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-6 (1867) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 9.740s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 60e5d0db-f6e0-4e28-a532-f94db0bd81f7
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=6272bc84-d1d0-4239-b6be-951325a6a360, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, 26, [email protected]:10000 } ]
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 64 milliseconds
I/d.android.debu: Background concurrent copying GC freed 314028(13MB) AllocSpace objects, 15(6MB) LOS objects, 50% free, 18MB/37MB, paused 837us total 110.459ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 96 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 59 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 105 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 58 milliseconds
I/d.android.debu: Background concurrent copying GC freed 237828(11MB) AllocSpace objects, 39(15MB) LOS objects, 50% free, 19MB/38MB, paused 226us total 156.376ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 89 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 2342 milliseconds
V/StudioTransport: Agent handling command (id:927 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:928 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:929 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:930 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:931 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:932 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:933 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:934 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:935 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-9 (2127) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 14.834s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=e021491d-26fc-4c61-9501-451c3a3929b8, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 27 } ]
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id a4472913-7b79-47f5-9b22-59a10eaec165
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 62 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 85 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 27 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 58 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 41 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 69 milliseconds
V/StudioTransport: Agent handling command (id:936 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 2081 milliseconds
V/StudioTransport: Agent handling command (id:937 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner Thread-27 (2084) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 19.109s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 4da3b341-17e2-43fb-8070-cb25dc4f3751
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=7aa627f6-39a3-4139-aa6d-af08537997d6, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 28 } ]
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-10 (2128) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=9 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 19.112s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(GetRemoteUserQuotaOperation.kt:102) .readData(): Quota used: 20441175, QuotaAvailable: -3
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 508eb281-ab21-4862-b386-3e10e32d7058
I/(GetRemoteUserQuotaOperation.kt:62) .run(): Get quota completed: RemoteQuota(free=-3, used=20441175, total=0, relative=0.0) and message: Operation finished with HTTP status code -1 (success)
D/(SyncProfileOperation.kt:71) $syncUserProfile.invokeSuspend(): User quota synchronized for account [email protected]:10000
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(GetRemoteUserAvatarOperation.kt:53) .run(): avatar URI: http://135.181.149.201:10000/index.php/avatar/admin/336
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-5 (1866) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 18.927s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
I/(ReadRemoteFileOperation.kt:69) .run(): Read remote file /ownCloud Manual.pdf with status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id edffb622-a2f1-407e-8973-941c4eecde23
I/(SynchronizeFileUseCase.kt:65) .run(): Local file modification timestamp :1657725095000 and last sync date for data :1657725099075
I/(SynchronizeFileUseCase.kt:66) .run(): So it has changed locally: false
I/(SynchronizeFileUseCase.kt:70) .run(): Local etag :057b75e2a1b5b5bac6878869dad66231 and remote etag :057b75e2a1b5b5bac6878869dad66231
I/(SynchronizeFileUseCase.kt:71) .run(): So it has changed remotely: false
I/(SynchronizeFileUseCase.kt:91) .run(): File ownCloud Manual.pdf is already synchronized. Nothing to do here
D/(RefreshFolderOperation.java:198) .sendLocalBroadcast(): Send broadcast com.owncloud.android.operations.RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED
D/(RefreshFolderOperation.java:198) .sendLocalBroadcast(): Send broadcast com.owncloud.android.operations.RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED
D/(FileDisplayActivity.kt:699) $SyncBroadcastReceiver.onReceive(): Received broadcast com.owncloud.android.operations.RefreshFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED
D/(DrawerActivity.kt:394) .updateQuota(): Update Quota
I/(AvatarManager.kt:87) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Generating one...
D/(MainFileListFragment.kt:708) .setProgressBarAsIndeterminate(): Setting progress visibility to true
D/(FileDisplayActivity.kt:793) $SyncBroadcastReceiver.onReceive(): Setting progress visibility to true
D/(FileDisplayActivity.kt:699) $SyncBroadcastReceiver.onReceive(): Received broadcast com.owncloud.android.operations.RefreshFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED
D/(ViewModelExt.kt:64) $runUseCaseWithResult.invokeSuspend(): Use case executed: GetStoredQuotaUseCase with result: Success(data=UserQuota(available=-3, used=20441175))
D/(MainFileListFragment.kt:708) .setProgressBarAsIndeterminate(): Setting progress visibility to false
D/(FileDisplayActivity.kt:793) $SyncBroadcastReceiver.onReceive(): Setting progress visibility to false
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 43 milliseconds
I/(AvatarManager.kt:78) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Fetching from server...
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(GetRemoteUserAvatarOperation.kt:53) .run(): avatar URI: http://135.181.149.201:10000/index.php/avatar/admin/336
I/(MainFileListViewModel.kt:226) .composeFileListUiState(): ================ Composing a new file list Ui state ==============
I/(MainFileListViewModel.kt:227) .composeFileListUiState(): Account received from parameter: Account {[email protected]:10000, type=owncloud}
I/(MainFileListViewModel.kt:228) .composeFileListUiState(): FolderToDisplay received from parameter: OCFile(id=1, parentId=0, [email protected]:10000, length=7712372, creationTimestamp=0, modificationTimestamp=1657726910000, remotePath=/, mimeType=DIR, etag=62cee7be861b8, permissions=RDNVCK, remoteId=00000006ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/6, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=0, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false)
I/(MainFileListViewModel.kt:229) .composeFileListUiState(): FolderContent received from parameter: [OCFile(id=3, parentId=1, [email protected]:10000, length=3193, creationTimestamp=0, modificationTimestamp=1657721167000, remotePath=/Documents/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000007ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/7, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true), OCFile(id=4, parentId=1, [email protected]:10000, length=1011464, creationTimestamp=0, modificationTimestamp=1653908379000, remotePath=/Photos/, mimeType=DIR, etag=, permissions=RDNVCK, remoteId=00000010ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/10, storagePath=null, treeEtag=, keepInSync=null, lastSyncDateForData=0, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=0, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=false, sharedByLink=false), OCFile(id=5, parentId=1, [email protected]:10000, length=6697715, creationTimestamp=0, modificationTimestamp=1653908378000, remotePath=/ownCloud Manual.pdf, mimeType=application/pdf, etag=057b75e2a1b5b5bac6878869dad66231, permissions=RDNVW, remoteId=00000009ocue9eqx54q0, privateLink=http://135.181.149.201:10000/f/9, storagePath=/data/user/0/com.owncloud.android.debug/files/owncloud/[email protected]%3A10000/ownCloud Manual.pdf, treeEtag=, keepInSync=null, lastSyncDateForData=1657725099075, lastSyncDateForProperties=1657727500154, needsToUpdateThumbnail=false, modifiedAtLastSyncForData=1653908378000, etagInConflict=null, fileIsDownloading=false, sharedWithSharee=true, sharedByLink=true)]
I/(MainFileListViewModel.kt:230) .composeFileListUiState(): FileListOption received from parameter: ALL_FILES
I/(MainFileListViewModel.kt:231) .composeFileListUiState(): SearchFilter received from parameter: null
I/(MainFileListViewModel.kt:240) .composeFileListUiState(): ================ Already composed a new file list Ui state ==============
I/(MainFileListViewModel.kt:241) .composeFileListUiState(): Account: [email protected]:10000
I/(MainFileListViewModel.kt:242) .composeFileListUiState(): File list option: ALL_FILES
I/(MainFileListViewModel.kt:243) .composeFileListUiState(): Search filter text:
I/(MainFileListViewModel.kt:244) .composeFileListUiState(): Folder to display: id[1], fileName[/]
I/(MainFileListViewModel.kt:245) .composeFileListUiState(): Folder content: size[3]
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 61 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 26 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 59 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 40 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 59 milliseconds
V/StudioTransport: Agent handling command (id:938 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:939 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:940 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:941 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:942 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:943 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:944 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:945 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:946 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:947 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:948 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 2013 milliseconds
V/StudioTransport: Agent handling command (id:949 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-4 (1865) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 23.078s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 9a618b26-9a76-4c91-bda7-5a7bfd55065a
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=af4904f4-3092-4883-aff4-6c263d99168c, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 29 } ]
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 39 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 67 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 28 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 62 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 41 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 67 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 1602 milliseconds
V/StudioTransport: Agent handling command (id:950 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:951 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:952 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:953 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:954 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:955 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-1 (1862) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 26.575s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 62fc89fd-4dad-4313-bd25-addef2c1bce4
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=f27310b8-a3a4-4848-9ad6-e01eafaff1b1, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 31 } ]
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 47 milliseconds
I/d.android.debu: Background concurrent copying GC freed 323042(13MB) AllocSpace objects, 15(6MB) LOS objects, 50% free, 17MB/35MB, paused 1.084ms total 128.420ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 90 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 36 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 63 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 29 milliseconds
I/d.android.debu: Background concurrent copying GC freed 195949(9MB) AllocSpace objects, 39(13MB) LOS objects, 49% free, 17MB/34MB, paused 275us total 103.993ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 80 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 1351 milliseconds
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-8 (2087) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 24.842s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 9f44982a-6572-49a1-9775-b678eef8a943
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=f8a8a2c7-5480-49f0-a5cf-9c693bffefc2, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 30 } ]
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-2 (1863) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 24.870s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id e2fd2b4e-219a-429c-b0e4-dffbea666466
    
    [          1657727532.513  1767: 1862 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
V/StudioTransport: Agent handling command (id:956 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 56 milliseconds
I/d.android.debu: Background concurrent copying GC freed 317857(14MB) AllocSpace objects, 21(6MB) LOS objects, 50% free, 18MB/36MB, paused 688us total 123.481ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 71 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 35 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 79 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 56 milliseconds
I/d.android.debu: Background concurrent copying GC freed 227864(10MB) AllocSpace objects, 39(14MB) LOS objects, 50% free, 17MB/35MB, paused 723us total 103.003ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 63 milliseconds
V/StudioTransport: Agent handling command (id:957 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:958 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:959 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:960 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:961 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:962 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:963 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:964 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:965 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:966 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:967 type:APP_INSPECTION) for pid:1767.
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 1789 milliseconds
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-7 (1868) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=8 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 25.544s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id d2e9b4a6-d9ba-4c3a-99f7-b9b731152055
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=7a22d614-9f3c-4b72-8698-07f980d28244, tags={ TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000, 32 } ]
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-19 (3717) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=6 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 15.848s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin/ finished with HTTP status 207
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 7953da7f-8143-4c4a-b100-cfe48d39d968
    
    [          1657727536.726  1767: 1863 D/(UploadFileFromContentUriWorker.kt:158) .checkNameCollisionAndGetAnAvailableOneInCase()Checking name collision in server
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-3 (1864) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=6 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 15.764s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
W/(GetRemoteUserAvatarOperation.kt:67) .run(): Not an image, failing with no avatar
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 82d841f9-a068-4c91-814b-6d84eeab3c64
D/(AvatarManager.kt:114) .handleAvatarUseCaseResult(): Fetch avatar use case is success: false
I/(AvatarManager.kt:140) .handleAvatarUseCaseResult(): No avatar available, removing cached copy
D/(DiskLruImageCache.java:143) .removeKey(): removeKey from cache: -597772860
V/StudioTransport: Agent handling command (id:968 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-8 (2087) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=3 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 4.560s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 60fc70c0-2298-496c-90a9-d96434fb4298
W/(GetRemoteUserAvatarOperation.kt:67) .run(): Not an image, failing with no avatar
D/(AvatarManager.kt:114) .handleAvatarUseCaseResult(): Fetch avatar use case is success: false
I/(AvatarManager.kt:140) .handleAvatarUseCaseResult(): No avatar available, removing cached copy
D/(DiskLruImageCache.java:143) .removeKey(): removeKey from cache: -597772860
I/(AvatarManager.kt:87) .getAvatarForAccount(): Avatar with imageKey [email protected]:10000 is not available in cache. Generating one...
W/System: A resource failed to call response.body().close(). 
W/System: A resource failed to call response.body().close(). 
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191120_183909.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 0a88c973-1df7-4a3d-b420-85ea30714b6a
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(CheckPathExistenceRemoteOperation.kt:70) .run(): Existence check for http://135.181.149.201:10000/remote.php/dav/files/admin//20191114_085742.jpg finished with HTTP status 404(FAIL)
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 55c9eb64-5ea0-4db9-b2dd-75b2f87a7a72
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 38 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 80 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 33 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 107 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 54 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 89 milliseconds
D/ViewRootImpl@1e52f36[FileDisplayActivity]: ViewPostIme pointer 0
D/ViewRootImpl@1e52f36[FileDisplayActivity]: ViewPostIme pointer 1
D/(SingleSessionManager.java:99) .getClientFor(): getClientFor starting
V/(SingleSessionManager.java:126) .getClientFor(): reusing client for account [email protected]:10000
D/(SingleSessionManager.java:163) .getClientFor(): getClientFor finishing
I/d.android.debu: Background concurrent copying GC freed 167502(7MB) AllocSpace objects, 23(8MB) LOS objects, 49% free, 10MB/20MB, paused 309us total 177.474ms
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 2077 milliseconds
V/StudioTransport: Agent handling command (id:969 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:970 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:971 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:972 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:973 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:974 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:975 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:976 type:APP_INSPECTION) for pid:1767.
V/StudioTransport: Agent handling command (id:977 type:APP_INSPECTION) for pid:1767.
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-1 (1862) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=0 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 5.043s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id b5b6c401-87b1-4ab9-9c4e-c65ee0cfaa9e
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=d2f4ebe4-a01c-4aa4-823c-28316e17bf25, tags={ 33, TRANSFER_TAG_MANUAL_UPLOAD, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000 } ]
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 50 milliseconds
D/ViewRootImpl@1e52f36[FileDisplayActivity]: ViewPostIme pointer 0
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 59 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 34 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 71 milliseconds
D/ViewRootImpl@1e52f36[FileDisplayActivity]: ViewPostIme pointer 1
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 57 milliseconds
I/d.android.debu: Background concurrent copying GC freed 197530(9MB) AllocSpace objects, 39(14MB) LOS objects, 50% free, 17MB/35MB, paused 577us total 110.345ms
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.owncloud.android.debug ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel destroyed: fd=103
D/InputMethodManager: prepareNavigationBarInfo() DecorView@cbbbe37[FileDisplayActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.owncloud.android.debug ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 135 milliseconds
D/(ContentUriRequestBody.kt:72) .writeTo(): Difference - 902 milliseconds
W/d.android.debu: Long monitor contention with owner DefaultDispatcher-worker-1 (1862) at int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod)(OwnCloudClient.java:107) waiters=1 in int com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(com.owncloud.android.lib.common.http.methods.HttpBaseMethod) for 6.160s
E/libperflog: [LIBPERFLOG] socket_local_client fail = -1
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=95b07311-d1c0-47e0-87c9-40d5cb2f7237, tags={ TRANSFER_TAG_MANUAL_UPLOAD, 34, com.owncloud.android.workers.UploadFileFromContentUriWorker, [email protected]:10000 } ]
D/(OwnCloudClient.java:130) .saveExecuteHttpMethod(): Executing in request with id 835222fe-cb0b-46ad-829a-d84085e2faa9
D/ConnectivityManager: unregisterNetworkCallback; CallingUid : 10963, CallingPid : 1767
W/d.android.debu: Accessing hidden field Landroid/app/ActivityThread;->mServices:Landroid/util/ArrayMap; (light greylist, reflection)
D/LeakCanary: Watching instance of androidx.work.impl.background.systemjob.SystemJobService (androidx.work.impl.background.systemjob.SystemJobService received Service#onDestroy() callback) with key 70dcf29d-ce5f-47f7-a2a1-41f4e2bbef3c

Samsung Galaxy S9, Android 9 4ab4d2ee

UPDATE: Not reproducible anymore

Samsung Galaxy S9, Android 9 cd24e06

(8) (p1) [FIXED via https://github.com/owncloud/android/pull/3763]

  1. Upload a very big file (~2GB) to an account with enough quota

Current:

  • mitmproxy does not show chunks... it seems to be a single PUT
  • notification shows: `The server took too long to respond'

it seems that the PUT takes longer that a timeout somewhere, so it fails. Are chunks missing?

NOTE: URI uploads with a single PUT. System uploads are chunked. In the master version, manual uploads were also chunked

e9b7e24cc Samsung A51 Android12

(9) [FIXED]

  1. Select to upload manually 50 files
  2. After selecting the files, remove device connection -> Uploads view will have three different sections: enqueued, failed, uploaded.
  3. From failed section, remove some (or all) items one by one
  4. Recover device connection -> everything is retried automatically
  5. Check final result in target folder

Current: uploads removed in step 3 are finally uploaded. Expected: uploads removed in step 3 are not resumed.

e9b7e24cc Samsung A51 Android12

UPDATE: Checked simultaneously in Android app and web app, didn't found any unexpected behaviour

Samsung Galaxy S9, Android 9 cd24e06

UPDATE (24/08/2022)

Problem is still reproducible on my side. In order to clarify, i recorded a video:

device-2022-08-24-105357.mp4.zip

20 pictures are selected. In the uploads view, the pictures' name ending in 094414 , 094415, 094416, 094406 and 094407 are removed from failed list. At this point, 9 uploads in failed list and 6 in uploaded (total 15). When connection is recovered and all stuff is uploaded, target folder contains 20 files, and last 5 in the list are the 5 that were removed. I caught logs, just in case it helps:

owncloud.2022-08-24.log

I reproduced that with Samsung A51 and Nexus 6P

(10) [FIXED]

  1. Select to upload many files, so that you'll have time to perform the next step
  2. Set the server in maintenance mode

Current: uploads view shows the failed uploads as Unknown error. Notification is correct System in maintenance mode Expected (master): Server is unavailable (or similar)

e9b7e24cc Samsung A51 Android12

(11) [Won't fix, same as (4)]

  1. Set to upload a big file
  2. Before the file finishes to upload, kill the app
  3. Reopen the app
  4. Go to uploads view

Current: Upload failed with Folder error. Notification states The file was not found in the local file system. File exists. Expected (master): App terminated or similar

e9b7e24cc Samsung A51 Android12

UPDATE: This issue is the same as (4) and will be solved in a new report. It is only reproducible with content URI uploads (i.e., uploading files from the FAB) and not with system uploads (i.e., share with ownCloud), as the access to the folder is lost when the app is terminated. Since the introduction of WorkManager, the App terminated is not expected anymore, as WorkManager will take care of executing the work requested even if the app is killed. Therefore, the expected should be -> retry not finished uploads when the app is launched again. Created new report (17) to address this.

(12) [FIXED]

  1. Open web browser
  2. Select text form any web
  3. Share selected text with oC
  4. Select account and folder
  5. Enter file name

Current: File not uploaded, no entry in uploads view Expected: File uploaded, entery in uploads view

e9b7e24cc Samsung A51 Android12

(13) [FIXED]

Not sure if this report is specific of uploads or will fit better in another section (database?). Feel free to comment, and report will be moved to another place

  1. Open Word (or any other file editor with access to document provider)
  2. Create a new file
  3. Save the new file in oC by using the document provider

Current: crash

2022-08-18 14:25:27.140 18293-18293/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 18293
    java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.
        at androidx.room.RoomDatabase.assertNotMainThread(RoomDatabase.java:469)
        at androidx.room.RoomDatabase.beginTransaction(RoomDatabase.java:553)
        at com.owncloud.android.data.transfers.db.TransferDao_Impl.insert(TransferDao_Impl.java:131)
        at com.owncloud.android.data.transfers.datasources.implementation.OCLocalTransferDataSource.storeTransfer(OCLocalTransferDataSource.kt:36)
        at com.owncloud.android.data.transfers.repository.OCTransferRepository.storeTransfer(OCTransferRepository.kt:34)
        at com.owncloud.android.usecases.transfers.uploads.UploadFilesFromSystemUseCase.storeInUploadsDatabase(UploadFilesFromSystemUseCase.kt:90)
        at com.owncloud.android.usecases.transfers.uploads.UploadFilesFromSystemUseCase.run(UploadFilesFromSystemUseCase.kt:58)
        at com.owncloud.android.usecases.transfers.uploads.UploadFilesFromSystemUseCase.run(UploadFilesFromSystemUseCase.kt:44)
        at com.owncloud.android.domain.BaseUseCase.execute(BaseUseCase.kt:30)
        at com.owncloud.android.providers.DocumentsStorageProvider.openDocument$lambda-6(DocumentsStorageProvider.kt:139)
        at com.owncloud.android.providers.DocumentsStorageProvider.$r8$lambda$h8NIzY20fnos7ICyKAs5zGBS2ls(Unknown Source:0)
        at com.owncloud.android.providers.DocumentsStorageProvider$$ExternalSyntheticLambda0.onClose(Unknown Source:11)
        at android.os.ParcelFileDescriptor$1.onFileDescriptorEvents(ParcelFileDescriptor.java:321)
        at android.os.MessageQueue.dispatchEvents(MessageQueue.java:293)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loopOnce(Looper.java:186)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

e9b7e24cc Samsung A51 Android12

(14) (p2)

Open to discussion: when a bunch of files is uploaded and uploads run fast. it's difficult to check what's going on in the uploads view because items move up and down very fast in a non-readable way:

https://user-images.githubusercontent.com/14894746/185399118-6aaded4a-d1e9-46bc-9146-4a6bd88870bd.mp4

e9b7e24cc Samsung A51 Android12

(15) (p1) [FIXED in https://github.com/owncloud/android/pull/3757]

Select a huge amount of files to upload manually. Part of them are uploaded but finally, most are move to failed with Unknown error or Folder error. For example, i tried to upload 243 images:

device-2022-08-24-134158.mp4.zip

This log corresponds with the screen recording: owncloud.2022-08-24-1.log

I also reproduced this with another device.

In the Logcat, i see this log as well:

2022-08-24 13:49:00.153 19634-22375/com.owncloud.android.debug E/(UploadFileFromContentUriWorker.kt:96) .doWork(): java.lang.SecurityException: Permission Denial: opening provider com.android.externalstorage.ExternalStorageProvider from ProcessRecord{18bcc71 19634:com.owncloud.android.debug/u0a637} (pid=19634, uid=10637) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs
        at android.os.Parcel.createExceptionOrNull(Parcel.java:2437)
        at android.os.Parcel.createException(Parcel.java:2421)
        at android.os.Parcel.readException(Parcel.java:2404)
        at android.os.Parcel.readException(Parcel.java:2346)
        at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:6793)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:7767)
        at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:3526)
        at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:2533)
        at android.content.ContentResolver.query(ContentResolver.java:1210)
        at android.content.ContentResolver.query(ContentResolver.java:1158)
        at android.content.ContentResolver.query(ContentResolver.java:1114)
        at com.owncloud.android.lib.common.network.ContentUriRequestBody.<init>(ContentUriRequestBody.kt:46)
        at com.owncloud.android.workers.UploadFileFromContentUriWorker.uploadDocument(UploadFileFromContentUriWorker.kt:160)
        at com.owncloud.android.workers.UploadFileFromContentUriWorker.doWork(UploadFileFromContentUriWorker.kt:92)
        at androidx.work.CoroutineWorker$startWork$1.invokeSuspend(CoroutineWorker.kt:68)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
     Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.am.ContentProviderHelper.checkAssociationAndPermissionLocked(ContentProviderHelper.java:744)
        at com.android.server.am.ContentProviderHelper.getContentProviderImpl(ContentProviderHelper.java:307)
        at com.android.server.am.ContentProviderHelper.getContentProviderImpl(ContentProviderHelper.java:168)
        at com.android.server.am.ContentProviderHelper.getContentProvider(ContentProviderHelper.java:142)
        at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:7616)

NOTE: URI uploads (manual FAB) reproduce the problem. With system uploads (sharing with oC), problem is not reproducible.

133c8a5d9 Samsung A51 v12 Nexus 6P v7

(16) [FIXED]

  1. Select to upload manually 50 files
  2. After selecting the files, remove device connection -> Uploads view will have three different sections: enqueued, failed, uploaded.
  3. From failed section, remove all the items with the "Clear" button
  4. Recover device connection -> everything is retried automatically
  5. Check final result in target folder

Current: uploads removed in step 3 are finally uploaded. Expected: uploads removed in step 3 are not resumed.

Samsung Galaxy S9, Android 9 dc49914

(17) (p1) (check comments in (4). Related) [FIXED in https://github.com/owncloud/android/pull/3757]

  1. Set to upload a big file
  2. Before the file finishes to upload, kill the app
  3. Reopen the app
  4. Go to uploads view

Current: Upload failed with Folder error. Notification states The file was not found in the local file system. File exists. Expected: Retry not finished uploads when the app is launched again.

Samsung Galaxy S9, Android 9 dc49914

(18) (p3)

  1. Set to upload a very big file
  2. When file is uploading, set to upload other files

Current: Pending files with the status Uploading, same as the file that is really being uploaded:

Screenshot 2022-08-29 at 13 51 04

Expected: different status. File uploading with Uploading and others with Waiting or similar

Samsung A51 ad0895a8a

(19) (p3) (improvement)

  1. Upload many files manually
  2. Remove device connection

Current: it may happen that the amount of enqueued files is very big. For example:

Screenshot 2022-08-31 at 15 07 51

Do you think it'd be interesting to add a Clear button to the enqueued? is it feasible to cancel works at that point?

Samsung Galaxy S9, Android 9 1f2538431

jesmrec avatar Jun 16 '22 12:06 jesmrec

File synchronization

Issue: https://github.com/owncloud/android/issues/3350

(1) [P2]

  1. Select a file in file list
  2. Click on download or select av. offline option

Current: Sync badge is gone Expected: Sync badge displayed

Samsung A51 Android12 3fdbcc5d5c

(2) [P2]

  1. Download a text file
  2. Go back to the list of files
  3. In server, modify the text file
  4. Open txt file in app

Samsung A51 Android12 3fdbcc5d5c

Current: download enqueued but old content displayed Expected: download done and new content displayed

Known restrictions: https://github.com/owncloud/android/issues/3350#issuecomment-1169848152

  • Snackbar messages
  • Preview updates after downloading
  • Previews for not-downloaded files to fix
  • Sync badge gone

jesmrec avatar Jul 04 '22 11:07 jesmrec

Folder Synchronization

Issues:

https://github.com/owncloud/android/issues/3268 https://github.com/owncloud/android/issues/3707

(1) (p2) [@jesmrec Same as 2.21.1 I would say. Relocation mechanism pending to implement]

  1. In app, download any file
  2. In web, rename the file
  3. In app, pull to refresh

Current: file list updates the file with the new name. But, internally (Scoped Storage), file is not renamed. (i guess it should)

Pixel5 Android12 d8c6b8087

(2) [FIXED]

Not sure if something to do with the current stuff, but in the branch (commit d8c6b8087), i'm not able to download images. Other files like txt, pdf.. are OK but images are stucked.

(3) [FIXED]

  1. In app, browse inside a folder
  2. In web, create a new item in parent folder
  3. In app, browse back to the parent

Current: new item in parent is not listed after browsing back. Pull to refresh will update it Expected: Browsing back updates the list

Pixel5 Android12 d8c6b8087

(4) [FIXED]

  1. In web, create a files called file1.txt
  2. In app, refresh to display the file
  3. In web, remove the file and create another different one with the same name file1.txt
  4. In app, refresh to display the file twice

Current: file is removed from app Expected: file stays in the app with new date and size

Pixel5 Android12 d8c6b8087

NOTE: same effect by executing steps with folders, and also when files are downloaded.

(5) (p3) [IMPROVEMENT] [DONE]

  1. Remove connection from device
  2. Pull to refresh

Current: nothing happens Expected: error message, showing no connection is available?

NOTE: same without server connection or maintenance mode

(6) (p1) [FIXED]

  1. Add new account, containing a big amount of items in the folder structure (tested with about 6K items)

Current: after showing the list of files, the whole account is refreshed recursively. Is this intended?

Expected: previous behaviour was syncing only the current folder. Sync the whole account is not a bad behaviour but, in case the number of items is huge, the number of requests rise a lot. Maybe using the the infinite propfind is a better solution (ios related issue). Also, the progression bar on the top blinks till everything is done (in case of ~6K, many minutes)

Pixel 5 v12 90b8c19fa

(7) (p1) [FIXED]

Following (6)

  1. After first app opening, whole app is refreshed (report 6)
  2. Kill the app
  3. Open again the app

Current: all files in the app are synced Expected: nothing synced (but av. offline, not done yet)

Pixel 5 v12 Nexus 6P v7 90b8c19fa

(8) (p1) [FIXED]

  1. Select a folder that contains some files
  2. Click on sync (round arrow)

Current: for every item inside the folder, three requests are done (two propfind and one get). Is this expected? In previous version, only one request was done by item in the synced folder.

Pixel 5 v12 a14fe20cb

jesmrec avatar Jul 06 '22 11:07 jesmrec

Available offline

Issues:

(1) [FIXED]

  1. Set as av. offline a non-downloaded image (if image was downloaded, it is not reproducible)
  2. Remove device connection
  3. Click on the image to preview it

Current: Downloading status forever:

https://user-images.githubusercontent.com/14894746/181705317-80d50651-b8b2-4f1b-a89a-c2a348ac2899.mp4

Expected: Image previewed

NOTE: That happens also with videos

Pixel 5 Android12 a14fe20c

(2) (check with file sync) (P2)

Reminder: as commented here, if new version in server, opening the file does not show it.

(3) [FIXED]

  1. Add new account
  2. Set any folder as av. offline (not browsed, not discovered)
  3. Remove device connection
  4. Browse into the folder

Current: content not visible Expected: everything is synced, content is visible and files downloaded and previewable.

NOTE: if the folder was previously discovered, content is not synced either.

2022-08-31 NOTE: content is discovered but not synced. A manual refresh forces the sync, but it must be automatic

Pixel 5 Android12 a14fe20c

(4) (p1)

  1. Set a folder with subfolders in root as av. offline
  2. Move the folder to any other location
  3. Browse into the new location to see the av. offline folder

Current: app crashes:

2022-07-29 10:02:25.768 30687-30687/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 30687
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.owncloud.android.domain.files.model.OCFile.getStoragePath()' on a null object reference
        at com.owncloud.android.operations.SynchronizeFolderOperation.getFolderPath(SynchronizeFolderOperation.java:533)
        at com.owncloud.android.ui.errorhandling.ErrorMessageAdapter$Companion.getResultMessage(ErrorMessageAdapter.kt:183)
        at com.owncloud.android.ui.activity.FileActivity.onRemoteOperationFinish(FileActivity.java:275)
        at com.owncloud.android.services.OperationsService.lambda$dispatchResultToOperationListeners$0(OperationsService.java:487)
        at com.owncloud.android.services.OperationsService$$ExternalSyntheticLambda0.run(Unknown Source:6)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7870)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Expected: no crash

NOTE: same behaviour by moving a subfolder from av. offline folder.

Pixel 5 Android12 a14fe20c

(5) [FIXED]

  1. Set a txt file as av. offline
  2. Open the txt file with a text editor and kill oC app
  3. Edit file and save
  4. Wait 15 minutes
  5. Check file in web

Current: av. offline file was not synced, not including the modifications added in 3. After re-opening the app, file is synced. Expected: av. offline file was synced by the worker in background

UPDATE 2022-09-01: Problem is still reproducible with commit 1f2538431. File is only sync when the app is opened and folder refreshed. No background sync

Pixel 5 Android12 a14fe20c

(6) (improvement) (p3)

  1. Set a folder with many items inside as av. offline (so, the sync operation will take more time)

Current: The option Unset as av. offline is available in three dot menu while the folder is being synced. Expected (current master): while folder is being synced, the option to Unset as av. offline is available on the top bar, so only one click is required to cancel sync:

Screenshot 2022-07-29 at 10 48 32

Pixel 5 Android12 a14fe20c

(7) Will be fixed within #3730 (p1) [FIXED]

maybe related with: https://github.com/owncloud/android/issues/3721

  1. Add an account
  2. Set some items as av. offline
  3. Remove the account from Manage accounts (crash here)
  4. Add again the same account to the device

Current: Items are still av. offline Expected: Clean account. No downloads, no av. offline.

Pixel 5 Android12 a14fe20c

jesmrec avatar Jul 29 '22 07:07 jesmrec

Bottom Navigation Bar

Referenced: https://github.com/owncloud/android/pull/3719

Issues:

(1) [FIXED]

  1. Create public link over any item
  2. Open the links shortcut
  3. Long press over the item with public link

Current: crash

2022-08-16 17:15:17.228 15248-15248/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 15248
    java.lang.IndexOutOfBoundsException: Index: 4, Size: 2
        at java.util.ArrayList.get(ArrayList.java:437)
        at com.owncloud.android.presentation.adapters.filelist.FileListAdapter.getCheckedItems(FileListAdapter.kt:143)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment$actionModeCallback$1.onPrepareActionMode(MainFileListFragment.kt:623)
        at androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9.onPrepareActionMode(AppCompatDelegateImpl.java:2703)
        at androidx.appcompat.view.StandaloneActionMode.invalidate(StandaloneActionMode.java:100)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.updateActionModeAfterTogglingSelected(MainFileListFragment.kt:561)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.toggleSelection(MainFileListFragment.kt:197)
        at com.owncloud.android.presentation.ui.files.filelist.MainFileListFragment.onLongItemClick(MainFileListFragment.kt:591)
        at com.owncloud.android.presentation.adapters.filelist.FileListAdapter.onBindViewHolder$lambda-11(FileListAdapter.kt:232)
        at com.owncloud.android.presentation.adapters.filelist.FileListAdapter.$r8$lambda$70q0DQlJIMVYT6kZJHF7SkO5hec(Unknown Source:0)
        at com.owncloud.android.presentation.adapters.filelist.FileListAdapter$$ExternalSyntheticLambda1.onLongClick(Unknown Source:6)
        at android.view.View.performLongClickInternal(View.java:7872)
        at android.view.View.performLongClick(View.java:7830)
        at android.view.View.performLongClick(View.java:7848)
        at android.view.View$CheckForLongPress.run(View.java:30171)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

NOTE: same when selecting av. offline

Samsung A51 Android12 018ba1fdf

(2) [FIXED]

Comparing with the current master, the item location is lost. Is this intended or missed?

master Current
Screenshot 2022-08-16 at 17 32 10 Screenshot 2022-08-16 at 17 32 37
Screenshot 2022-08-16 at 17 31 52 Screenshot 2022-08-16 at 17 30 21

Samsung A51 Android12 018ba1fdf

(3) [FIXED]

Small glitch:

  1. Create links over some files.
  2. Open the links shortcut
  3. Select the last item of the list and remove the link in Sharing view
  4. Go back to Links

Current: Selection mode is enabled, but checkboxes are gone and number of items is incorrect in the toolbar:

https://user-images.githubusercontent.com/14894746/185065817-3d0e7ebf-6048-487a-8651-b621be5e7802.mp4

Expected: selection mode disabled. selection mode enabled bit with checkboxes and correct values

NOTE: similar behaviour in av. offline tab

Samsung A51 Android12 018ba1fdf

(4) [FIXED]

  1. Open list of files
  2. Switch to grid mode

Current: crash

2022-08-17 12:46:42.654 22329-22329/com.owncloud.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android.debug, PID: 22329
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
        at com.owncloud.android.presentation.adapters.filelist.FileListAdapter.onBindViewHolder(FileListAdapter.kt:262)
        at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7254)
        at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7337)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6194)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6460)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296)
        at androidx.recyclerview.widget.LayoutState.next(LayoutState.java:98)
        at androidx.recyclerview.widget.StaggeredGridLayoutManager.fill(StaggeredGridLayoutManager.java:1581)
        at androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren(StaggeredGridLayoutManager.java:691)
        at androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren(StaggeredGridLayoutManager.java:604)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:625)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1213)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:899)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:919)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:312)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1213)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:899)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:919)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1263)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:312)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:312)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374)
2022-08-17 12:46:42.655 22329-22329/com.owncloud.android.debug E/AndroidRuntime:     at android.widget.FrameLayout.onLayout(FrameLayout.java:312)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:312)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:1330)
        at android.view.View.layout(View.java:24456)
        at android.view.ViewGroup.layout(ViewGroup.java:7412)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4583)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4005)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2893)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10445)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1108)
        at android.view.Choreographer.doCallbacks(Choreographer.java:866)
        at android.view.Choreographer.doFrame(Choreographer.java:797)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Samsung A51 Android12 018ba1fdf

(5) (p3)

Related to https://github.com/owncloud/android/issues/3498

  1. Create a link on a pdf file
  2. Open Links tab
  3. Clink on the pdf file -> open details view
  4. Select Open with and open the file with an external app
  5. Go back to oC app

Current: Toolbar shows Shared by link in the details view

36f88557 Samsung A51 Android12

(6) To fix in https://github.com/owncloud/android/issues/3016

Already reported https://github.com/owncloud/android/issues/3016

  1. Create a public link over an item that is not in the root folder
  2. Open the links tab
  3. Select the item > Share > Remove the public link
  4. Go back to Links again

Current: item is still in the list, even though the link was removed and the item is not shared by link anymore. Item is removed from the links list when the containing folder is browsed.

Expected: link removed, item not listed

3dd89796 Samsung A51 Android12

jesmrec avatar Aug 16 '22 15:08 jesmrec

Notifications

status 2022-08-19

master arch expected
Download 1 file correct progress bar + finished only when finished
Download 1 file error error message error message
Download many correct one notif for every download one notif for all downloads one notif for all downloads
Download many errors one error message one error message
Upload 1 file correct progress bar + finished no notif
Upload 1 file error error message error message (unknown error) error message
Upload many one notif for every upload no notif
Upload many error one error message one error message

jesmrec avatar Aug 19 '22 08:08 jesmrec

Uploads migration

(1) [FIXED]

  1. Install 2.21
  2. Remove device connection (or any other action that cause failed uploads)
  3. Upload some files -> They will fail
  4. Update to current
  5. Go to uploads view and retry failed uploads after recovering connection (or the error cause)

Current: uploads stay in "Enqueued" and never resume Expected: uploads done and finished

ad0895a8a Samsung A51 Android 12

(2) (p1) [FIXED]

  1. Install 2.21
  2. Share with oC a big file from an external app
  3. When file is uploading, update to current
  4. Open uploads view

Current: app crashes. This is the stacktrace:

2022-08-30 12:13:31.185 1270-1270/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.owncloud.android, PID: 1270
    java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
        at com.owncloud.android.data.transfers.datasources.implementation.OCLocalTransferDataSource.toModel(OCLocalTransferDataSource.kt:149)
        at com.owncloud.android.data.transfers.datasources.implementation.OCLocalTransferDataSource.getAllTransfersAsLiveData$lambda-4(OCLocalTransferDataSource.kt:91)
        at com.owncloud.android.data.transfers.datasources.implementation.OCLocalTransferDataSource.$r8$lambda$c7CI0XSAoM-zQ860Lke3LgQCr3s(Unknown Source:0)
        at com.owncloud.android.data.transfers.datasources.implementation.OCLocalTransferDataSource$$ExternalSyntheticLambda0.apply(Unknown Source:4)
        at androidx.lifecycle.Transformations$1.onChanged(Transformations.java:76)
        at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
        at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
        at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
        at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
        at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Expected: no crash and upload resumed

Samsung A51 Android 12 73cb9054

(3) (p1) [WON'T FIX]

  1. Install v2.18.3 (or any version before Scoped Storage release)
  2. Add account
  3. Upload 50 files (manual upload), and wait till uploads end (uploads view with everything in finished)
  4. Upgrade to current and run wizard
  5. Open uploads view

Current: Uploads view empty. After some seconds, 50 files uploading again Expected: uploads view shows the 50 uploads as finished

Video with last 2 steps

https://user-images.githubusercontent.com/14894746/188637882-24fae6f9-0d75-4c78-930b-c6d7af66fe49.mp4

Samsung A51 5dd7bbf1

Update 23/09/22: This happens since version 2.20 due to the introduction of the edit action when choosing "Open with" in a document (https://github.com/owncloud/android/pull/3499). In this PR, we introduced some logic to make synchronization not only for available offline files but also for downloaded files, so that once the documents are edited, they are synchronized with the server version. Due to this, once the scoped storage migration is performed, all the downloaded files change their last modification timestamp (they change their path) and they are synchronized in consequence. The alternatives to this are worse than the current state, so I propose not no fix it.

(4) (p2)

  1. Install v2.18.3 (or any version before Scoped Storage release)
  2. Add account
  3. Upload a very big file
  4. Before the upload ends, upgrade to current and run wizard
  5. Open uploads view

Current: upload stucked and never ends. Expected: upload resumed and finished

Samsung A51 5dd7bbf1

jesmrec avatar Aug 29 '22 11:08 jesmrec

Miscellaneous

(1) [P2]

  1. Open Details view of any file in the root folder
  2. Click on Share icon on the top
  3. Click on back arrow

Current: toolbar is not correct. It includes items of root folder instead of Details view Expected: Details view items

Samsung A51 Android12 3fdbcc5d5

jesmrec avatar Sep 15 '22 09:09 jesmrec