@@ -36,6 +36,7 @@ import com.owncloud.android.lib.resources.shares.OCShare.Companion.MAXIMUM_PERMI
3636import com.owncloud.android.lib.resources.shares.OCShare.Companion.NO_PERMISSION
3737import com.owncloud.android.lib.resources.shares.OCShare.Companion.READ_PERMISSION_FLAG
3838import com.owncloud.android.lib.resources.shares.OCShare.Companion.SHARE_PERMISSION_FLAG
39+ import com.owncloud.android.lib.resources.shares.OCShare.Companion.UPDATE_PERMISSION_FLAG
3940import com.owncloud.android.lib.resources.shares.ShareType
4041import com.owncloud.android.ui.activity.FileDisplayActivity
4142import com.owncloud.android.ui.fragment.util.SharingMenuHelper
@@ -295,6 +296,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
295296 // validate view shown on screen
296297 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isDisplayed()))
297298 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isDisplayed()))
299+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isDisplayed()))
298300 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isDisplayed()))
299301 onView(ViewMatchers .withId(R .id.share_process_hide_download_checkbox)).check(matches(isDisplayed()))
300302 onView(ViewMatchers .withId(R .id.share_process_set_password_switch)).check(matches(isDisplayed()))
@@ -304,6 +306,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
304306 // read-only
305307 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isChecked()))
306308 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
309+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
307310 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
308311 goBack()
309312
@@ -312,6 +315,16 @@ class FileDetailSharingFragmentIT : AbstractIT() {
312315 openAdvancedPermissions(sut, publicShare)
313316 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
314317 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isChecked()))
318+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
319+ onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
320+ goBack()
321+
322+ // custom permission
323+ publicShare.permissions = UPDATE_PERMISSION_FLAG
324+ openAdvancedPermissions(sut, publicShare)
325+ onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
326+ onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
327+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isChecked()))
315328 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
316329 goBack()
317330
@@ -320,6 +333,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
320333 openAdvancedPermissions(sut, publicShare)
321334 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
322335 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
336+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
323337 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isChecked()))
324338 goBack()
325339
@@ -422,6 +436,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
422436 // validate view shown on screen
423437 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isDisplayed()))
424438 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isDisplayed()))
439+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isDisplayed()))
425440 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(not (isDisplayed())))
426441 onView(ViewMatchers .withId(R .id.share_process_hide_download_checkbox)).check(matches(isDisplayed()))
427442 onView(ViewMatchers .withId(R .id.share_process_set_password_switch)).check(matches(isDisplayed()))
@@ -432,13 +447,23 @@ class FileDetailSharingFragmentIT : AbstractIT() {
432447 publicShare.permissions = 17 // from server
433448 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isChecked()))
434449 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
450+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
435451 goBack()
436452
437453 // editing
438454 publicShare.permissions = MAXIMUM_PERMISSIONS_FOR_FILE // from server
439455 openAdvancedPermissions(sut, publicShare)
440456 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
441457 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isChecked()))
458+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
459+ goBack()
460+
461+ // create
462+ publicShare.permissions = CREATE_PERMISSION_FLAG
463+ openAdvancedPermissions(sut, publicShare)
464+ onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
465+ onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
466+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isChecked()))
442467 goBack()
443468
444469 // hide download
@@ -538,6 +563,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
538563 // validate view shown on screen
539564 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isDisplayed()))
540565 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isDisplayed()))
566+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isDisplayed()))
541567 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(not (isDisplayed())))
542568 onView(ViewMatchers .withId(R .id.share_process_hide_download_checkbox)).check(matches(not (isDisplayed())))
543569 onView(ViewMatchers .withId(R .id.share_process_set_password_switch)).check(matches(not (isDisplayed())))
@@ -548,23 +574,27 @@ class FileDetailSharingFragmentIT : AbstractIT() {
548574 userShare.permissions = 17 // from server
549575 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isChecked()))
550576 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
577+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
551578 goBack()
552579
553580 // editing
554581 userShare.permissions = MAXIMUM_PERMISSIONS_FOR_FILE // from server
555582 openAdvancedPermissions(sut, userShare)
556583 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
557584 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isChecked()))
585+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
558586 goBack()
559587
560588 // allow reshare
561589 userShare.permissions = 1 // from server
562590 openAdvancedPermissions(sut, userShare)
591+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).perform(ViewActions .click())
563592 onView(ViewMatchers .withId(R .id.share_process_allow_resharing_checkbox)).check(matches(isNotChecked()))
564593 goBack()
565594
566595 userShare.permissions = 17 // from server
567596 openAdvancedPermissions(sut, userShare)
597+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).perform(ViewActions .click())
568598 onView(ViewMatchers .withId(R .id.share_process_allow_resharing_checkbox)).check(matches(isChecked()))
569599 goBack()
570600
@@ -661,6 +691,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
661691 // validate view shown on screen
662692 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isDisplayed()))
663693 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isDisplayed()))
694+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isDisplayed()))
664695 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isDisplayed()))
665696 onView(ViewMatchers .withId(R .id.share_process_hide_download_checkbox)).check(matches(not (isDisplayed())))
666697 onView(ViewMatchers .withId(R .id.share_process_set_password_switch)).check(matches(not (isDisplayed())))
@@ -671,6 +702,7 @@ class FileDetailSharingFragmentIT : AbstractIT() {
671702 userShare.permissions = 17 // from server
672703 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isChecked()))
673704 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
705+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
674706 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
675707 goBack()
676708
@@ -679,6 +711,16 @@ class FileDetailSharingFragmentIT : AbstractIT() {
679711 openAdvancedPermissions(sut, userShare)
680712 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
681713 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isChecked()))
714+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
715+ onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
716+ goBack()
717+
718+ // create
719+ userShare.permissions = CREATE_PERMISSION_FLAG
720+ openAdvancedPermissions(sut, userShare)
721+ onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
722+ onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
723+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isChecked()))
682724 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isNotChecked()))
683725 goBack()
684726
@@ -687,17 +729,20 @@ class FileDetailSharingFragmentIT : AbstractIT() {
687729 openAdvancedPermissions(sut, userShare)
688730 onView(ViewMatchers .withId(R .id.view_only_radio_button)).check(matches(isNotChecked()))
689731 onView(ViewMatchers .withId(R .id.editing_radio_button)).check(matches(isNotChecked()))
732+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).check(matches(isNotChecked()))
690733 onView(ViewMatchers .withId(R .id.file_drop_radio_button)).check(matches(isChecked()))
691734 goBack()
692735
693736 // allow reshare
694737 userShare.permissions = 1 // from server
695738 openAdvancedPermissions(sut, userShare)
739+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).perform(ViewActions .click())
696740 onView(ViewMatchers .withId(R .id.share_process_allow_resharing_checkbox)).check(matches(isNotChecked()))
697741 goBack()
698742
699743 userShare.permissions = 17 // from server
700744 openAdvancedPermissions(sut, userShare)
745+ onView(ViewMatchers .withId(R .id.custom_permission_radio_button)).perform(ViewActions .click())
701746 onView(ViewMatchers .withId(R .id.share_process_allow_resharing_checkbox)).check(matches(isChecked()))
702747 goBack()
703748
0 commit comments