From 38a389b0192e25bf4cb7942645c724372409207f Mon Sep 17 00:00:00 2001 From: Gitea Date: Wed, 12 Aug 2020 20:58:22 +0800 Subject: [PATCH] Add stub for android, with unimplemented error. --- src/lib.rs | 4 ++++ src/platform/android.rs | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/platform/android.rs diff --git a/src/lib.rs b/src/lib.rs index 13276cd..22d49b2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -22,6 +22,10 @@ mod platform; #[path = "platform/ios.rs"] mod platform; +#[cfg(target_os = "android")] +#[path = "platform/android.rs"] +mod platform; + use raw_window_handle::HasRawWindowHandle; use std::error::Error; diff --git a/src/platform/android.rs b/src/platform/android.rs new file mode 100644 index 0000000..35326da --- /dev/null +++ b/src/platform/android.rs @@ -0,0 +1,38 @@ +use crate::ClipboardProvider; + +use raw_window_handle::HasRawWindowHandle; +use std::error::Error; + +pub fn new_clipboard( + _window: &W, +) -> Result, Box> { + Ok(Box::new(Clipboard::new()?)) +} + +pub struct Clipboard; + +impl Clipboard { + pub fn new() -> Result> { + Ok(Self) + } +} + +#[derive(Debug)] +#[allow(non_camel_case_types)] +pub enum AndroidClipboardError { + Unimplemented, +} + +impl std::fmt::Display for AndroidClipboardError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "Unimplemented") + } +} + +impl Error for AndroidClipboardError {} + +impl ClipboardProvider for Clipboard { + fn read(&self) -> Result> { + Err(Box::new(AndroidClipboardError::Unimplemented)) + } +}