@@ -20,6 +20,7 @@ import com.nextcloud.client.di.Injectable
2020import com.nextcloud.utils.extensions.getParcelableArgument
2121import com.nextcloud.utils.extensions.getSerializableArgument
2222import com.nextcloud.utils.extensions.isPublicOrMail
23+ import com.nextcloud.utils.extensions.remainingDownloadLimit
2324import com.nextcloud.utils.extensions.setVisibilityWithAnimation
2425import com.nextcloud.utils.extensions.setVisibleIf
2526import com.owncloud.android.R
@@ -197,7 +198,6 @@ class FileDetailsSharingProcessFragment :
197198 setCheckboxStates()
198199 themeView()
199200 setVisibilitiesOfShareOption()
200- toggleNextButtonAvailability(isAnySharePermissionChecked())
201201 logShareInfo()
202202 }
203203
@@ -491,15 +491,19 @@ class FileDetailsSharingProcessFragment :
491491 }
492492
493493 private fun updateFileDownloadLimitView () {
494- if (canSetDownloadLimit()) {
495- binding.shareProcessSetDownloadLimitSwitch.visibility = View .VISIBLE
494+ if (! canSetDownloadLimit()) {
495+ return
496+ }
496497
497- val currentDownloadLimit = share?.fileDownloadLimit?.limit ? : capabilities.filesDownloadLimitDefault
498- if (currentDownloadLimit > 0 ) {
499- binding.shareProcessSetDownloadLimitSwitch.isChecked = true
500- showFileDownloadLimitInput(true )
501- binding.shareProcessSetDownloadLimitInput.setText(" $currentDownloadLimit " )
502- }
498+ // user can set download limit thus no need to rely on current limit to show download limit
499+ showFileDownloadLimitInput(true )
500+ binding.shareProcessSetDownloadLimitSwitch.visibility = View .VISIBLE
501+ binding.shareProcessSetDownloadLimitInput.visibility = View .VISIBLE
502+
503+ val currentLimit = share?.remainingDownloadLimit() ? : return
504+ if (currentLimit > 0 ) {
505+ binding.shareProcessSetDownloadLimitSwitch.isChecked = true
506+ binding.shareProcessSetDownloadLimitInput.setText(currentLimit.toString())
503507 }
504508 }
505509
@@ -585,7 +589,6 @@ class FileDetailsSharingProcessFragment :
585589
586590 val isCustomPermissionSelected = (optionId == R .id.custom_permission_radio_button)
587591 customPermissionLayout.setVisibilityWithAnimation(isCustomPermissionSelected)
588- toggleNextButtonAvailability(true )
589592 }
590593 // endregion
591594 }
@@ -610,13 +613,6 @@ class FileDetailsSharingProcessFragment :
610613 )
611614 }
612615
613- private fun toggleNextButtonAvailability (value : Boolean ) {
614- binding.run {
615- shareProcessBtnNext.isEnabled = value
616- shareProcessBtnNext.isClickable = value
617- }
618- }
619-
620616 @Suppress(" NestedBlockDepth" )
621617 private fun setCheckboxStates () {
622618 val currentPermissions = share?.permissions ? : permission
@@ -674,7 +670,6 @@ class FileDetailsSharingProcessFragment :
674670
675671 private fun togglePermission (isChecked : Boolean , permissionFlag : Int ) {
676672 permission = SharePermissionManager .togglePermission(isChecked, permission, permissionFlag)
677- toggleNextButtonAvailability(true )
678673 }
679674
680675 private fun showExpirationDateDialog (chosenDateInMillis : Long = chosenExpDateInMills) {
@@ -779,14 +774,6 @@ class FileDetailsSharingProcessFragment :
779774 return
780775 }
781776
782- if (! isSharePermissionChecked() && ! isCustomPermissionSelectedAndAnyCustomPermissionTypeChecked()) {
783- DisplayUtils .showSnackMessage(
784- binding.root,
785- R .string.file_details_sharing_fragment_custom_permission_not_selected
786- )
787- return
788- }
789-
790777 // if modifying existing share information then execute the process
791778 if (share != null ) {
792779 updateShare()
0 commit comments