mirror of
https://github.com/bitwarden/mobile
synced 2025-12-15 15:53:44 +00:00
Fix Clipboard clear after time on iOS (#1679)
* Fixed Clipboard clear after x seconds depending on what the user set. Also refactored a bit to make the Clipboard a custom service to provide a better way to handle this situation #1464 * Clear some usings #1464
This commit is contained in:
committed by
GitHub
parent
23a164b245
commit
705b8ac12b
@@ -1,19 +1,19 @@
|
||||
using Bit.App.Abstractions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Bit.App.Abstractions;
|
||||
using Bit.App.Models;
|
||||
using Bit.App.Resources;
|
||||
using Bit.Core.Abstractions;
|
||||
using Plugin.Fingerprint;
|
||||
using Plugin.Fingerprint.Abstractions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Essentials;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Bit.App.Services
|
||||
{
|
||||
public class MobilePlatformUtilsService : IPlatformUtilsService
|
||||
{
|
||||
{
|
||||
private static readonly Random _random = new Random();
|
||||
|
||||
private const int DialogPromiseExpiration = 600000; // 10 minutes
|
||||
@@ -21,6 +21,7 @@ namespace Bit.App.Services
|
||||
private readonly IDeviceActionService _deviceActionService;
|
||||
private readonly IMessagingService _messagingService;
|
||||
private readonly IBroadcasterService _broadcasterService;
|
||||
|
||||
private readonly Dictionary<int, Tuple<TaskCompletionSource<bool>, DateTime>> _showDialogResolves =
|
||||
new Dictionary<int, Tuple<TaskCompletionSource<bool>, DateTime>>();
|
||||
|
||||
@@ -201,17 +202,6 @@ namespace Bit.App.Services
|
||||
return false;
|
||||
}
|
||||
|
||||
public async Task CopyToClipboardAsync(string text, Dictionary<string, object> options = null)
|
||||
{
|
||||
var clearMs = options != null && options.ContainsKey("clearMs") ? (int?)options["clearMs"] : null;
|
||||
var clearing = options != null && options.ContainsKey("clearing") ? (bool)options["clearing"] : false;
|
||||
await Clipboard.SetTextAsync(text);
|
||||
if (!clearing)
|
||||
{
|
||||
_messagingService.Send("copiedToClipboard", new Tuple<string, int?, bool>(text, clearMs, clearing));
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> ReadFromClipboardAsync(Dictionary<string, object> options = null)
|
||||
{
|
||||
return await Clipboard.GetTextAsync();
|
||||
|
||||
Reference in New Issue
Block a user