1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use displaydoc::Display;
use thiserror::Error;
pub type Result<T> = std::result::Result<T, AndroidError>;
#[derive(Display, Debug, Error)]
pub enum AndroidError {
SignalSenderNotAvailable(String),
SingletonNotRegistered(String),
UnsupportedJniRustType(String),
WrongJniRustType,
Jni(jni::errors::Error),
Anyhow(anyhow::Error),
}
impl From<jni::errors::Error> for AndroidError {
fn from(error: jni::errors::Error) -> Self {
Self::Jni(error)
}
}
impl From<anyhow::Error> for AndroidError {
fn from(error: anyhow::Error) -> Self {
Self::Anyhow(error)
}
}