2014-05-16 11:15:43 -04:00
|
|
|
using Android.Graphics.Drawables;
|
|
|
|
|
|
|
|
namespace keepass2android
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Represents the popup menu item in EntryActivity to open the associated attachment
|
|
|
|
/// </summary>
|
|
|
|
internal class OpenBinaryPopupItem : IPopupMenuItem
|
|
|
|
{
|
|
|
|
private readonly string _key;
|
|
|
|
private readonly EntryActivity _entryActivity;
|
|
|
|
|
|
|
|
public OpenBinaryPopupItem(string key, EntryActivity entryActivity)
|
|
|
|
{
|
|
|
|
_key = key;
|
|
|
|
_entryActivity = entryActivity;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Drawable Icon
|
|
|
|
{
|
2015-10-29 16:45:53 -04:00
|
|
|
get { return _entryActivity.Resources.GetDrawable(Resource.Drawable.ic_menu_share_grey); }
|
2014-05-16 11:15:43 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
public string Text
|
|
|
|
{
|
|
|
|
get { return _entryActivity.Resources.GetString(Resource.String.SaveAttachmentDialog_open); }
|
|
|
|
}
|
|
|
|
|
|
|
|
public void HandleClick()
|
|
|
|
{
|
|
|
|
Android.Net.Uri newUri = _entryActivity.WriteBinaryToFile(_key, true);
|
|
|
|
if (newUri != null)
|
|
|
|
{
|
|
|
|
_entryActivity.OpenBinaryFile(newUri);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|