Spilt home.rs
This commit is contained in:
1 parent
9e4fc2e7af
commit
506c63380a
3 files changed
+43
-34
No files matched your search
@@ -75,15 +75,6 @@ pub struct BaseGalleryInfo {
|
||||
favoriteName: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Default, IntoJava)]
|
||||
#[allow(non_snake_case)]
|
||||
#[jnix(package = "com.hippo.ehviewer.client.parser")]
|
||||
pub struct Limits {
|
||||
current: i32,
|
||||
maximum: i32,
|
||||
resetCost: i32,
|
||||
}
|
||||
|
||||
fn parse_jni_string<F, R>(env: &mut JnixEnv, str: &JString, mut f: F) -> Option<R>
|
||||
where
|
||||
F: FnMut(&VDom, &Parser, &JnixEnv) -> Option<R>,
|
||||
@@ -94,31 +85,6 @@ where
|
||||
Some(f(&dom, parser, env)?)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
#[catch_panic(default = "std::ptr::null_mut()")]
|
||||
#[allow(non_snake_case)]
|
||||
#[jni_fn("com.hippo.ehviewer.client.parser.HomeParserKt")]
|
||||
pub fn parseLimit(env: JNIEnv, _class: JClass, input: JString) -> jobject {
|
||||
let mut env = JnixEnv { env };
|
||||
let vec = parse_jni_string(&mut env, &input, |dom, parser, _env| {
|
||||
let iter = dom.query_selector("strong")?;
|
||||
let vec: Vec<i32> = iter
|
||||
.filter_map(|e| Some(e.get(parser)?.inner_text(parser).parse::<i32>().ok()?))
|
||||
.collect();
|
||||
if vec.len() == 3 {
|
||||
Some(Limits {
|
||||
current: vec[0],
|
||||
maximum: vec[1],
|
||||
resetCost: vec[2],
|
||||
})
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.unwrap();
|
||||
vec.into_java(&env).forget().into_raw()
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
#[catch_panic(default = "std::ptr::null_mut()")]
|
||||
#[allow(non_snake_case)]
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
use catch_panic::catch_panic;
|
||||
use jni_fn::jni_fn;
|
||||
use jnix::jni::objects::{JClass, JString};
|
||||
use jnix::jni::sys::jobject;
|
||||
use jnix::jni::JNIEnv;
|
||||
use jnix::{IntoJava, JnixEnv};
|
||||
use jnix_macros::IntoJava;
|
||||
use parse_jni_string;
|
||||
|
||||
#[derive(Default, IntoJava)]
|
||||
#[allow(non_snake_case)]
|
||||
#[jnix(package = "com.hippo.ehviewer.client.parser")]
|
||||
pub struct Limits {
|
||||
current: i32,
|
||||
maximum: i32,
|
||||
resetCost: i32,
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
#[catch_panic(default = "std::ptr::null_mut()")]
|
||||
#[allow(non_snake_case)]
|
||||
#[jni_fn("com.hippo.ehviewer.client.parser.HomeParserKt")]
|
||||
pub fn parseLimit(env: JNIEnv, _class: JClass, input: JString) -> jobject {
|
||||
let mut env = JnixEnv { env };
|
||||
let vec = parse_jni_string(&mut env, &input, |dom, parser, _env| {
|
||||
let iter = dom.query_selector("strong")?;
|
||||
let vec: Vec<i32> = iter
|
||||
.filter_map(|e| Some(e.get(parser)?.inner_text(parser).parse::<i32>().ok()?))
|
||||
.collect();
|
||||
if vec.len() == 3 {
|
||||
Some(Limits {
|
||||
current: vec[0],
|
||||
maximum: vec[1],
|
||||
resetCost: vec[2],
|
||||
})
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.unwrap();
|
||||
vec.into_java(&env).forget().into_raw()
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
mod home;
|
||||
mod torrent;
|
||||
Reference in new issue
Block a user