Skip to content

Commit

Permalink
show send to for sharing link via overflow menu in details screen
Browse files Browse the repository at this point in the history
  • Loading branch information
AndyScherzinger committed Sep 4, 2018
1 parent b9bc9bc commit 6ae7935
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1916,16 +1916,8 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope
break;
}
}
String fLink = link;

ClipboardUtil.copyToClipboard(this, link, false);
Snackbar snackbar = Snackbar.make(
findViewById(android.R.id.content),
R.string.clipboard_text_copied,
Snackbar.LENGTH_LONG
).setAction(R.string.share, v -> showShareLinkDialog(fLink));
ThemeUtils.colorSnackbar(this, snackbar);
snackbar.show();

copyAndShareFileLink(link);

if (fileDetailFragment != null && fileDetailFragment.getFileDetailSharingFragment() != null) {
fileDetailFragment.getFileDetailSharingFragment().refreshPublicShareFromDB();
Expand Down Expand Up @@ -1962,7 +1954,18 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope
}
}

private void showShareLinkDialog(String link) {
private void copyAndShareFileLink(String link) {
ClipboardUtil.copyToClipboard(this, link, false);
Snackbar snackbar = Snackbar.make(
findViewById(android.R.id.content),
R.string.clipboard_text_copied,
Snackbar.LENGTH_LONG
).setAction(R.string.share, v -> showShareLinkDialog(link));
ThemeUtils.colorSnackbar(this, snackbar);
snackbar.show();
}

public void showShareLinkDialog(String link) {
// Create dialog to allow the user choose an app to send the link
Intent intentToShareLink = new Intent(Intent.ACTION_SEND);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import com.owncloud.android.lib.resources.shares.ShareType;
import com.owncloud.android.lib.resources.status.OCCapability;
import com.owncloud.android.ui.activity.FileActivity;
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.adapter.UserListAdapter;
import com.owncloud.android.ui.decoration.SimpleListItemDividerDecoration;
import com.owncloud.android.ui.dialog.ExpirationDatePickerDialogFragment;
Expand Down Expand Up @@ -235,32 +236,39 @@ private void updateListOfUserGroups() {
@OnClick(R.id.share_by_link)
public void toggleShareByLink() {
if (shareByLink.isChecked()) {
if (capabilities != null &&
capabilities.getFilesSharingPublicPasswordEnforced().isTrue()) {
// password enforced by server, request to the user before trying to create
requestPasswordForShareViaLink(true);
createShareLink();
} else {
((FileActivity) getActivity()).getFileOperationsHelper().unshareFileViaLink(file);
}
}

} else {
// create without password if not enforced by server or we don't know if enforced;
((FileActivity) getActivity()).getFileOperationsHelper().shareFileViaLink(file, null);
}
private void createShareLink() {
if (capabilities != null &&
capabilities.getFilesSharingPublicPasswordEnforced().isTrue()) {
// password enforced by server, request to the user before trying to create
requestPasswordForShareViaLink(true);

} else {
((FileActivity) getActivity()).getFileOperationsHelper().unshareFileViaLink(file);
// create without password if not enforced by server or we don't know if enforced;
((FileActivity) getActivity()).getFileOperationsHelper().shareFileViaLink(file, null);
}
}

private void showSendLinkTo() {
if (file.isSharedViaLink()) {
((FileActivity) getActivity()).getFileOperationsHelper().getFileWithLink(file);
if (TextUtils.isEmpty(file.getPublicLink())) {
((FileActivity) getActivity()).getFileOperationsHelper().getFileWithLink(file);
} else {
((FileDisplayActivity) getActivity()).showShareLinkDialog(file.getPublicLink());
}
}
}

@OnClick({R.id.share_link_copy_icon})
public void copyLinkToClipboard() {
if (file.isSharedViaLink()) {
if (TextUtils.isEmpty(file.getPublicLink())) {
showSendLinkTo();
((FileActivity) getActivity()).getFileOperationsHelper().getFileWithLink(file);
} else {
ClipboardUtil.copyToClipboard(getActivity(), file.getPublicLink());
}
Expand Down Expand Up @@ -336,7 +344,11 @@ private boolean optionsItemSelected(MenuItem item) {
return true;
}
case R.id.action_share_send_link: {
showSendLinkTo();
if(shareByLink.isChecked() && file.isSharedViaLink() && !TextUtils.isEmpty(file.getPublicLink())) {
((FileDisplayActivity) getActivity()).showShareLinkDialog(file.getPublicLink());
} else {
showSendLinkTo();
}
return true;
}
default:
Expand Down

0 comments on commit 6ae7935

Please sign in to comment.