Fixup codestyle

This commit is contained in:
tarsin committed 2023-07-28 11:37:59 +08:00
1 parent 1d0812ddaf
commit a9d5c15bd9
4 files changed
+55 -53

No files matched your search

+3 -48
View File
@@ -13,15 +13,10 @@ extern crate regex;
extern crate tl;
use android_logger::Config;
use apply::Also;
use catch_panic::catch_panic;
use jni_fn::jni_fn;
use jnix::jni::objects::{JClass, JString};
use jnix::jni::sys::{jint, jintArray, jobjectArray, JavaVM, JNI_VERSION_1_6};
use jnix::jni::JNIEnv;
use jnix::jni::objects::JString;
use jnix::jni::sys::{jint, JavaVM, JNI_VERSION_1_6};
use jnix::JnixEnv;
use log::LevelFilter;
use quick_xml::escape::unescape;
use std::ffi::c_void;
use tl::{Bytes, Node, NodeHandle, Parser, VDom};
@@ -84,8 +79,7 @@ fn get_node_handle_attr<'a>(
}
fn get_node_attr<'a>(node: &'a Node<'_>, attr: &'a str) -> Option<&'a str> {
let str = node.as_tag()?.attributes().get(attr)??.try_as_utf8_str()?;
Some(str)
node.as_tag()?.attributes().get(attr)??.try_as_utf8_str()
}
// Should not use it at too upper node, since it will do DFS?
@@ -99,45 +93,6 @@ fn query_childs_first_match_attr<'a>(
get_node_handle_attr(&iter.next()?, parser, attr)
}
#[no_mangle]
#[catch_panic(default = "std::ptr::null_mut()")]
#[allow(non_snake_case)]
#[jni_fn("com.hippo.ehviewer.client.parser.FavoritesParserKt")]
pub fn parseFav(env: JNIEnv, _class: JClass, input: JString, str: jobjectArray) -> jintArray {
let mut env = JnixEnv { env };
let vec = parse_jni_string(&mut env, &input, |dom, parser, env| {
let vec: Vec<i32> = dom
.get_elements_by_class_name("fp")
.enumerate()
.filter_map(|(i, e)| {
if i == 10 {
return None;
}
let top = e.get(parser)?.children()?;
let children = top.top();
let cat = children[5].get(parser)?.inner_text(parser);
let name = unescape(&cat).ok()?;
env.set_object_array_element(str, i as i32, env.new_string(name.trim()).ok()?)
.ok()?;
children[1]
.get(parser)?
.inner_text(parser)
.parse::<i32>()
.ok()
})
.collect();
if vec.len() == 10 {
Some(vec)
} else {
None
}
})
.unwrap();
env.new_int_array(10)
.unwrap()
.also(|it| env.set_int_array_region(*it, 0, &vec).unwrap())
}
#[no_mangle]
pub extern "system" fn JNI_OnLoad(_: JavaVM, _: *mut c_void) -> jint {
android_logger::init_once(Config::default().with_max_level(LevelFilter::Debug));
+48
View File
@@ -0,0 +1,48 @@
use apply::Also;
use catch_panic::catch_panic;
use jni_fn::jni_fn;
use jnix::jni::objects::{JClass, JString};
use jnix::jni::sys::{jintArray, jobjectArray};
use jnix::jni::JNIEnv;
use jnix::JnixEnv;
use parse_jni_string;
use quick_xml::escape::unescape;
#[no_mangle]
#[catch_panic(default = "std::ptr::null_mut()")]
#[allow(non_snake_case)]
#[jni_fn("com.hippo.ehviewer.client.parser.FavoritesParserKt")]
pub fn parseFav(env: JNIEnv, _class: JClass, input: JString, str: jobjectArray) -> jintArray {
let mut env = JnixEnv { env };
let vec = parse_jni_string(&mut env, &input, |dom, parser, env| {
let vec: Vec<i32> = dom
.get_elements_by_class_name("fp")
.enumerate()
.filter_map(|(i, e)| {
if i == 10 {
return None;
}
let top = e.get(parser)?.children()?;
let children = top.top();
let cat = children[5].get(parser)?.inner_text(parser);
let name = unescape(&cat).ok()?;
env.set_object_array_element(str, i as i32, env.new_string(name.trim()).ok()?)
.ok()?;
children[1]
.get(parser)?
.inner_text(parser)
.parse::<i32>()
.ok()
})
.collect();
if vec.len() == 10 {
Some(vec)
} else {
None
}
})
.unwrap();
env.new_int_array(10)
.unwrap()
.also(|it| env.set_int_array_region(*it, 0, &vec).unwrap())
}
+3 -5
View File
@@ -1,5 +1,3 @@
use std::borrow::Cow;
use catch_panic::catch_panic;
use jni_fn::jni_fn;
use jnix::jni::objects::{JClass, JString};
@@ -7,10 +5,10 @@ use jnix::jni::sys::jobject;
use jnix::jni::JNIEnv;
use jnix::{IntoJava, JnixEnv};
use jnix_macros::IntoJava;
use quick_xml::escape::unescape;
use tl::{Node, Parser};
use parse_jni_string;
use quick_xml::escape::unescape;
use std::borrow::Cow;
use tl::{Node, Parser};
use {get_element_by_id, get_vdom_first_element_by_class_name};
use {get_first_element_by_class_name, query_childs_first_match_attr};
use {get_node_attr, get_node_handle_attr, regex};
+1
View File
@@ -1,3 +1,4 @@
mod fav;
mod home;
mod list;
mod torrent;