protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == RequestCodeOpenDirectory && resultCode == Result.Ok) { bool successful; (successful, _files) = RequestFiles(Uri.Parse(Uri.Decode(data.DataString))); if (_files.Any()) { _currentFile = _files.First(); _currentIndex = 0; Image.SetImageURI(_currentFile.Uri); ImageText.Text = $"{_currentFile.Name} ({_files.IndexOf(_currentFile) + 1}/{_files.Count})"; } else { _currentFile = null; _currentIndex = 0; Image.SetImageURI(null); ImageText.Text = successful ? "Empty directory, load another." : "An error occured retrieving files from this directory."; } UpdateSendVisibility(); } }
private void MoveImage(ImageMove direction) { if (_files.Count > 0 && !_sending) { switch (direction) { case ImageMove.Next: _currentIndex = Math.Min(_currentIndex + 1, _files.Count - 1); break; case ImageMove.Previous: _currentIndex = Math.Max(_currentIndex - 1, 0); break; default: throw new ArgumentOutOfRangeException(nameof(direction), direction, null); } _currentFile = _files[_currentIndex]; Image.SetImageURI(_currentFile.Uri); ImageText.Text = $"{_currentFile.Name} ({_currentIndex + 1}/{_files.Count})"; } }