SYMBOL INDEX (700 symbols across 34 files) FILE: apd/build.rs function get_git_version (line 3) | fn get_git_version() -> Result<(u32, String), std::io::Error> { function main (line 32) | fn main() { FILE: apd/src/apd.rs function print_usage (line 17) | fn print_usage(opts: Options) { function set_identity (line 22) | fn set_identity(uid: u32, gid: u32) { function root_shell (line 31) | pub fn root_shell() -> Result<()> { function root_shell (line 36) | pub fn root_shell() -> Result<()> { function add_path_to_env (line 221) | fn add_path_to_env(path: &str) -> Result<()> { FILE: apd/src/assets.rs constant RESETPROP_PATH (line 6) | pub const RESETPROP_PATH: &str = concatcp!(BINARY_DIR, "resetprop"); constant BUSYBOX_PATH (line 7) | pub const BUSYBOX_PATH: &str = concatcp!(BINARY_DIR, "busybox"); constant MAGISKPOLICY_PATH (line 8) | pub const MAGISKPOLICY_PATH: &str = concatcp!(BINARY_DIR, "magiskpolicy"); function ensure_binaries (line 10) | pub fn ensure_binaries() -> Result<()> { FILE: apd/src/cli.rs type Args (line 12) | struct Args { type Commands (line 25) | enum Commands { type Module (line 52) | enum Module { type ModuleConfigCmd (line 109) | enum ModuleConfigCmd { function run (line 150) | pub fn run() -> Result<()> { FILE: apd/src/defs.rs constant ADB_DIR (line 3) | pub const ADB_DIR: &str = "/data/adb/"; constant WORKING_DIR (line 4) | pub const WORKING_DIR: &str = concatcp!(ADB_DIR, "ap/"); constant BINARY_DIR (line 5) | pub const BINARY_DIR: &str = concatcp!(WORKING_DIR, "bin/"); constant APATCH_LOG_FOLDER (line 6) | pub const APATCH_LOG_FOLDER: &str = concatcp!(WORKING_DIR, "log/"); constant AP_RC_PATH (line 8) | pub const AP_RC_PATH: &str = concatcp!(WORKING_DIR, ".aprc"); constant GLOBAL_NAMESPACE_FILE (line 9) | pub const GLOBAL_NAMESPACE_FILE: &str = concatcp!(ADB_DIR, ".global_name... constant MAGIC_MOUNT_FILE (line 10) | pub const MAGIC_MOUNT_FILE: &str = concatcp!(ADB_DIR, ".magic_mount_enab... constant HIDE_SERVICE_FILE (line 11) | pub const HIDE_SERVICE_FILE: &str = concatcp!(ADB_DIR, ".hide_service_en... constant HIDE_BINARY_PATH (line 12) | pub const HIDE_BINARY_PATH: &str = concatcp!(ADB_DIR, "fp/bin/fpd"); constant UMOUNT_SERVICE_FILE (line 13) | pub const UMOUNT_SERVICE_FILE: &str = concatcp!(ADB_DIR, ".umount_servic... constant UMOUNT_BINARY_PATH (line 14) | pub const UMOUNT_BINARY_PATH: &str = concatcp!(ADB_DIR, "fp/bin/fpd"); constant UTS_SPOOF_ENABLE_FILE (line 15) | pub const UTS_SPOOF_ENABLE_FILE: &str = concatcp!(ADB_DIR, ".uts_spoof_e... constant UTS_SPOOF_CONFIG_FILE (line 16) | pub const UTS_SPOOF_CONFIG_FILE: &str = concatcp!(ADB_DIR, ".uts_spoof_c... constant UTS_SPOOF_BOOT_PENDING (line 17) | pub const UTS_SPOOF_BOOT_PENDING: &str = concatcp!(ADB_DIR, ".uts_spoof_... constant DAEMON_PATH (line 18) | pub const DAEMON_PATH: &str = concatcp!(ADB_DIR, "apd"); constant AUTO_EXCLUDE_KNOWN_PACKAGES_FILE (line 19) | pub const AUTO_EXCLUDE_KNOWN_PACKAGES_FILE: &str = concatcp!(WORKING_DIR... constant PATHHIDE_DIR (line 21) | pub const PATHHIDE_DIR: &str = concatcp!(ADB_DIR, "fp/pathhide/"); constant PATHHIDE_ENABLE_FILE (line 22) | pub const PATHHIDE_ENABLE_FILE: &str = concatcp!(ADB_DIR, "fp/pathhide/e... constant PATHHIDE_PATHS_FILE (line 23) | pub const PATHHIDE_PATHS_FILE: &str = concatcp!(ADB_DIR, "fp/pathhide/pa... constant PATHHIDE_UIDS_FILE (line 24) | pub const PATHHIDE_UIDS_FILE: &str = concatcp!(ADB_DIR, "fp/pathhide/uid... constant PATHHIDE_UID_MODE_FILE (line 25) | pub const PATHHIDE_UID_MODE_FILE: &str = concatcp!(ADB_DIR, "fp/pathhide... constant PATHHIDE_FILTER_SYSTEM_FILE (line 26) | pub const PATHHIDE_FILTER_SYSTEM_FILE: &str = concatcp!(ADB_DIR, "fp/pat... constant NETISOLATE_DIR (line 28) | pub const NETISOLATE_DIR: &str = concatcp!(ADB_DIR, "fp/netisolate/"); constant NETISOLATE_ENABLE_FILE (line 29) | pub const NETISOLATE_ENABLE_FILE: &str = concatcp!(ADB_DIR, "fp/netisola... constant NETISOLATE_UIDS_FILE (line 30) | pub const NETISOLATE_UIDS_FILE: &str = concatcp!(ADB_DIR, "fp/netisolate... constant MODULE_DIR (line 32) | pub const MODULE_DIR: &str = concatcp!(ADB_DIR, "modules/"); constant AP_MAGIC_MOUNT_SOURCE (line 33) | pub const AP_MAGIC_MOUNT_SOURCE: &str = concatcp!(WORKING_DIR, "magic_mo... constant MODULE_UPDATE_DIR (line 36) | pub const MODULE_UPDATE_DIR: &str = concatcp!(ADB_DIR, "modules_update/"); constant TEMP_DIR (line 38) | pub const TEMP_DIR: &str = "/debug_ramdisk"; constant TEMP_DIR_LEGACY (line 39) | pub const TEMP_DIR_LEGACY: &str = "/sbin"; constant MODULE_WEB_DIR (line 41) | pub const MODULE_WEB_DIR: &str = "webroot"; constant MODULE_ACTION_SH (line 42) | pub const MODULE_ACTION_SH: &str = "action.sh"; constant DISABLE_FILE_NAME (line 43) | pub const DISABLE_FILE_NAME: &str = "disable"; constant SKIP_MOUNT_FILE_NAME (line 44) | pub const SKIP_MOUNT_FILE_NAME: &str = "skip_mount"; constant UPDATE_FILE_NAME (line 45) | pub const UPDATE_FILE_NAME: &str = "update"; constant REMOVE_FILE_NAME (line 46) | pub const REMOVE_FILE_NAME: &str = "remove"; constant METAMODULE_MOUNT_SCRIPT (line 49) | pub const METAMODULE_MOUNT_SCRIPT: &str = "metamount.sh"; constant METAMODULE_METAINSTALL_SCRIPT (line 50) | pub const METAMODULE_METAINSTALL_SCRIPT: &str = "metainstall.sh"; constant METAMODULE_METAUNINSTALL_SCRIPT (line 51) | pub const METAMODULE_METAUNINSTALL_SCRIPT: &str = "metauninstall.sh"; constant METAMODULE_DIR (line 52) | pub const METAMODULE_DIR: &str = concatcp!(ADB_DIR, "metamodule/"); constant FP_KPMS_DIR (line 54) | pub const FP_KPMS_DIR: &str = concatcp!(ADB_DIR, "fp/kpms/"); constant FP_KPMS_AUTOLOAD_DIR (line 55) | pub const FP_KPMS_AUTOLOAD_DIR: &str = concatcp!(ADB_DIR, "fp/kpms/autol... constant KPM_AUTOLOAD_CONFIG (line 56) | pub const KPM_AUTOLOAD_CONFIG: &str = concatcp!(ADB_DIR, "fp/kpms/kpm_au... constant MODULE_CONFIG_DIR (line 59) | pub const MODULE_CONFIG_DIR: &str = concatcp!(WORKING_DIR, "module_confi... constant PERSIST_CONFIG_NAME (line 60) | pub const PERSIST_CONFIG_NAME: &str = "persist.config"; constant TEMP_CONFIG_NAME (line 61) | pub const TEMP_CONFIG_NAME: &str = "tmp.config"; constant PTS_NAME (line 63) | pub const PTS_NAME: &str = "pts"; constant VERSION_CODE (line 65) | pub const VERSION_CODE: &str = include_str!(concat!(env!("OUT_DIR"), "/V... constant VERSION_NAME (line 66) | pub const VERSION_NAME: &str = include_str!(concat!(env!("OUT_DIR"), "/V... FILE: apd/src/event.rs function report_kernel (line 29) | pub fn report_kernel(superkey: Option, event: &str, state: &str)... function setup_fp_directories (line 41) | fn setup_fp_directories() -> Result<()> { function setup_logging (line 55) | fn setup_logging() -> Result<()> { function disable_all_modules_safe (line 106) | fn disable_all_modules_safe() { function on_post_data_fs (line 112) | pub fn on_post_data_fs(superkey: Option) -> Result<()> { function run_stage (line 265) | fn run_stage(stage: &str, superkey: Option, block: bool) { function on_services (line 295) | pub fn on_services(superkey: Option) -> Result<()> { function run_uid_monitor (line 305) | fn run_uid_monitor() { function on_boot_completed (line 327) | pub fn on_boot_completed(superkey: Option) -> Result<()> { function start_uid_listener (line 390) | pub fn start_uid_listener() -> Result<()> { FILE: apd/src/lua.rs function save_text (line 8) | pub fn save_text>(filename: P, content: &str) -> std::io:... function load_text (line 15) | pub fn load_text>(filename: P) -> std::io::Result { function load_all_lua_modules (line 21) | pub fn load_all_lua_modules(lua: &Lua) -> LuaResult<()> { function info_lua (line 81) | pub fn info_lua(lua: &Lua) -> LuaResult { function warn_lua (line 88) | pub fn warn_lua(lua: &Lua) -> LuaResult { function install_module_lua (line 95) | pub fn install_module_lua(lua: &Lua) -> LuaResult { function save_text_lua (line 101) | pub fn save_text_lua(lua: &Lua) -> LuaResult { function read_text_lua (line 108) | pub fn read_text_lua(lua: &Lua) -> LuaResult { function exec_stage_lua (line 119) | pub fn exec_stage_lua(stage: &str, wait: bool, superkey: &str) -> Result... function run_lua (line 125) | pub fn run_lua(id: &str, function: &str, on_each_module: bool, _wait: bo... FILE: apd/src/magic_mount.rs constant REPLACE_DIR_FILE_NAME (line 30) | const REPLACE_DIR_FILE_NAME: &str = ".replace"; constant REPLACE_DIR_XATTR (line 31) | const REPLACE_DIR_XATTR: &str = "trusted.overlay.opaque"; type NodeFileType (line 34) | enum NodeFileType { method from_file_type (line 42) | fn from_file_type(file_type: FileType) -> Self { method needs_tmpfs_vs_real (line 56) | fn needs_tmpfs_vs_real(&self, real_path: &Path) -> bool { type Node (line 72) | struct Node { method collect_module_files (line 83) | fn collect_module_files

(&mut self, module_dir: P) -> Result method dir_is_replace (line 109) | fn dir_is_replace

(path: P) -> bool method new_root (line 122) | fn new_root(name: T) -> Self { method new_module (line 133) | fn new_module(name: &S, entry: &DirEntry) -> Option function collect_module_files (line 162) | fn collect_module_files() -> Result> { function clone_symlink (line 230) | fn clone_symlink, Dst: AsRef>(src: Src, dst: Dst)... function mount_mirror (line 243) | fn mount_mirror, WP: AsRef>( function should_create_tmpfs (line 290) | fn should_create_tmpfs(path: &Path, current: &mut Node, has_tmpfs: bool)... function prepare_tmpfs_skeleton (line 311) | fn prepare_tmpfs_skeleton( function handle_mount_result (line 340) | fn handle_mount_result(result: Result<()>, path: &Path, name: &str, has_... function process_existing_entries (line 350) | fn process_existing_entries( function process_remaining_children (line 375) | fn process_remaining_children( function move_tmpfs_to_target (line 392) | fn move_tmpfs_to_target(work_dir_path: &Path, target: &Path) -> Result<(... function do_magic_mount (line 403) | fn do_magic_mount, WP: AsRef>( function magic_mount (line 483) | pub fn magic_mount() -> Result<()> { FILE: apd/src/main.rs function main (line 19) | fn main() -> anyhow::Result<()> { FILE: apd/src/metamodule.rs function is_metamodule (line 19) | pub fn is_metamodule(props: &HashMap) -> bool { function get_metamodule_path (line 28) | pub fn get_metamodule_path() -> Option { function has_metamodule (line 70) | pub fn has_metamodule() -> bool { function check_install_safety (line 78) | pub fn check_install_safety() -> Result<(), bool> { function ensure_symlink (line 115) | pub fn ensure_symlink

(module_path: P) -> Result<()> function remove_symlink (line 151) | pub fn remove_symlink() -> Result<()> { function get_install_script (line 165) | pub fn get_install_script( function check_metamodule_script (line 203) | fn check_metamodule_script(script_name: &str) -> Option { function exec_metauninstall_script (line 223) | pub fn exec_metauninstall_script(module_id: &str) -> Result<()> { function exec_mount_script (line 249) | pub fn exec_mount_script(module_dir: &str) -> Result<()> { function exec_stage_script (line 273) | pub fn exec_stage_script(stage: &str, block: bool) -> Result<()> { FILE: apd/src/module.rs constant INSTALLER_CONTENT (line 29) | const INSTALLER_CONTENT: &str = include_str!("./installer.sh"); constant INSTALL_MODULE_SCRIPT (line 30) | const INSTALL_MODULE_SCRIPT: &str = concatcp!( type ModuleType (line 40) | pub enum ModuleType { function exec_install_script (line 46) | fn exec_install_script(module_file: &str, is_metamodule: bool) -> Result... function handle_updated_modules (line 64) | pub fn handle_updated_modules() -> Result<()> { function get_common_script_envs (line 100) | pub fn get_common_script_envs() -> Vec<(&'static str, String)> { function ensure_boot_completed (line 121) | fn ensure_boot_completed() -> Result<()> { function mark_update (line 129) | fn mark_update() -> Result<()> { function mark_module_state (line 133) | fn mark_module_state(module: &str, flag_file: &str, create_or_delete: bo... function foreach_module (line 144) | pub fn foreach_module( function foreach_active_module (line 175) | fn foreach_active_module(f: impl FnMut(&Path) -> Result<()>) -> Result<(... function load_sepolicy_rule (line 179) | pub fn load_sepolicy_rule() -> Result<()> { function exec_script (line 200) | pub fn exec_script>(path: T, wait: bool) -> Result<()> { function exec_stage_script (line 274) | pub fn exec_stage_script(stage: &str, block: bool) -> Result<()> { function exec_common_scripts (line 286) | pub fn exec_common_scripts(dir: &str, wait: bool) -> Result<()> { function load_system_prop (line 308) | pub fn load_system_prop() -> Result<()> { function prune_modules (line 324) | pub fn prune_modules() -> Result<()> { function _install_module (line 384) | fn _install_module(zip: &str) -> Result<()> { function install_module (line 534) | pub fn install_module(zip: &str) -> Result<()> { function _uninstall_module (line 539) | pub fn _uninstall_module(id: &str, update_dir: &str) -> Result<()> { function uninstall_module (line 580) | pub fn uninstall_module(id: &str) -> Result<()> { function undo_uninstall_module (line 586) | pub fn undo_uninstall_module(id: &str) -> Result<()> { function read_module_prop (line 602) | pub fn read_module_prop(module_path: &Path) -> Result Result<()> { function _change_module_state (line 634) | fn _change_module_state(module_dir: &str, mid: &str, enable: bool) -> Re... function _enable_module (line 655) | pub fn _enable_module(id: &str, update_dir: &Path) -> Result<()> { function enable_module (line 664) | pub fn enable_module(id: &str) -> Result<()> { function _disable_module (line 670) | pub fn _disable_module(id: &str, update_dir: &Path) -> Result<()> { function disable_module (line 679) | pub fn disable_module(id: &str) -> Result<()> { function _disable_all_modules (line 686) | pub fn _disable_all_modules(dir: &str) -> Result<()> { function disable_all_modules (line 698) | pub fn disable_all_modules() -> Result<()> { function resolve_module_icon_path (line 710) | fn resolve_module_icon_path( function _list_modules (line 737) | fn _list_modules(path: &str) -> Vec> { function list_modules (line 828) | pub fn list_modules() -> Result<()> { FILE: apd/src/module_config.rs constant MODULE_CONFIG_MAGIC (line 14) | const MODULE_CONFIG_MAGIC: u32 = 0x4150544D; constant MODULE_CONFIG_VERSION (line 15) | const MODULE_CONFIG_VERSION: u32 = 1; constant MAX_CONFIG_KEY_LEN (line 18) | pub const MAX_CONFIG_KEY_LEN: usize = 256; constant MAX_CONFIG_VALUE_LEN (line 19) | pub const MAX_CONFIG_VALUE_LEN: usize = 1024 * 1024; constant MAX_CONFIG_COUNT (line 20) | pub const MAX_CONFIG_COUNT: usize = 32; type ConfigType (line 23) | pub enum ConfigType { method filename (line 29) | const fn filename(self) -> &'static str { function validate_config_key (line 42) | pub fn validate_config_key(key: &str) -> Result<()> { function validate_config_value (line 66) | pub fn validate_config_value(value: &str) -> Result<()> { function validate_config_count (line 80) | fn validate_config_count(config: &HashMap) -> Result<()> { function get_config_dir (line 91) | fn get_config_dir(module_id: &str) -> PathBuf { function get_config_path (line 96) | fn get_config_path(module_id: &str, config_type: ConfigType) -> PathBuf { function ensure_config_dir (line 101) | fn ensure_config_dir(module_id: &str) -> Result { function load_config (line 108) | pub fn load_config(module_id: &str, config_type: ConfigType) -> Result Result<... function merge_configs (line 322) | pub fn merge_configs(module_id: &str) -> Result> { function get_all_module_configs (line 349) | pub fn get_all_module_configs() -> Result Result<()> { function clear_module_configs (line 429) | pub fn clear_module_configs(module_id: &str) -> Result<()> { FILE: apd/src/package.rs constant DEFAULT_SCONTEXT (line 16) | const DEFAULT_SCONTEXT: &str = "u:r:untrusted_app:s0"; constant MAGISK_SCONTEXT (line 17) | const MAGISK_SCONTEXT: &str = "u:r:magisk:s0"; type PackageConfig (line 20) | pub struct PackageConfig { function read_known_user_packages (line 29) | fn read_known_user_packages() -> HashSet { function write_known_user_packages (line 42) | fn write_known_user_packages(packages: &HashSet) -> io::Result<(... function list_user_packages (line 52) | fn list_user_packages() -> HashSet { function sync_auto_exclude_new_apps (line 83) | pub fn sync_auto_exclude_new_apps( function read_ap_package_config (line 140) | pub fn read_ap_package_config() -> Vec { function write_ap_package_config (line 175) | pub fn write_ap_package_config(package_configs: &[PackageConfig]) -> io:... function read_lines (line 223) | fn read_lines

(filename: P) -> io::Result>> function synchronize_package_uid (line 230) | pub fn synchronize_package_uid() -> io::Result<()> { FILE: apd/src/pty.rs function get_pty_num (line 32) | fn get_pty_num(fd: F) -> Result { function watch_sigwinch_async (line 43) | fn watch_sigwinch_async(slave: RawFd) { function set_stdin_raw (line 70) | fn set_stdin_raw() -> rustix::io::Result<()> { function restore_stdin (line 81) | fn restore_stdin() -> Result<()> { function pump (line 91) | fn pump(mut from: R, mut to: W) { function pump_stdin_async (line 113) | fn pump_stdin_async(mut ptmx: File) { function pump_stdout_blocking (line 122) | fn pump_stdout_blocking(mut ptmx: File) { function create_transfer (line 129) | fn create_transfer(ptmx: OwnedFd) -> Result<()> { function prepare_pty (line 161) | pub fn prepare_pty() -> Result<()> { FILE: apd/src/resetprop.rs type WaitTimeoutError (line 14) | pub struct WaitTimeoutError { method fmt (line 19) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Args (line 29) | pub struct Args { type ResetPropParser (line 84) | struct ResetPropParser { function resetprop_main (line 89) | pub fn resetprop_main(args: &[String]) -> ! { function run_from_args (line 105) | fn run_from_args(args: &[String]) -> Result<()> { function execute (line 123) | pub fn execute(cli: &Args) -> Result<()> { function load_system_prop_file (line 229) | pub fn load_system_prop_file(path: &Path) -> Result<()> { FILE: apd/src/restorecon.rs constant SYSTEM_CON (line 12) | pub const SYSTEM_CON: &str = "u:object_r:system_file:s0"; constant ADB_CON (line 13) | pub const ADB_CON: &str = "u:object_r:adb_data_file:s0"; constant UNLABEL_CON (line 14) | pub const UNLABEL_CON: &str = "u:object_r:unlabeled:s0"; constant SELINUX_XATTR (line 16) | const SELINUX_XATTR: &str = "security.selinux"; function lsetfilecon (line 18) | pub fn lsetfilecon>(path: P, con: &str) -> Result<()> { function lgetfilecon (line 30) | pub fn lgetfilecon>(path: P) -> Result { function setsyscon (line 42) | pub fn setsyscon>(path: P) -> Result<()> { function setsyscon (line 47) | pub fn setsyscon>(path: P) -> Result<()> { function lgetfilecon (line 52) | pub fn lgetfilecon>(path: P) -> Result { function restore_syscon (line 56) | pub fn restore_syscon>(dir: P) -> Result<()> { function restore_syscon_if_unlabeled (line 65) | fn restore_syscon_if_unlabeled>(dir: P) -> Result<()> { function restorecon (line 78) | pub fn restorecon() -> Result<()> { FILE: apd/src/sepolicy.rs type WriteAdapter (line 8) | struct WriteAdapter(T); function write_str (line 11) | fn write_str(&mut self, s: &str) -> std::fmt::Result { type Args (line 19) | pub struct Args { type MagiskPolicyParser (line 64) | struct MagiskPolicyParser { function policy_main (line 69) | pub fn policy_main(args: &[String]) -> ! { function run_from_args (line 80) | fn run_from_args(args: &[String]) -> Result<()> { function get_policy_main (line 98) | pub fn get_policy_main(args: &[String]) -> Result { function execute (line 125) | pub fn execute(cli: &Args) -> Result<()> { function execute_next (line 148) | fn execute_next(cli: &Args, sepol: &mut SePolicy) -> Result<()> { function print_usage (line 191) | fn print_usage(cmd: &str) { FILE: apd/src/supercall.rs constant MAJOR (line 14) | const MAJOR: c_long = 0; constant MINOR (line 15) | const MINOR: c_long = 13; constant PATCH (line 16) | const PATCH: c_long = 1; constant KSTORAGE_EXCLUDE_LIST_GROUP (line 18) | const KSTORAGE_EXCLUDE_LIST_GROUP: i32 = 1; constant KSTORAGE_AUTO_EXCLUDE_GROUP (line 19) | const KSTORAGE_AUTO_EXCLUDE_GROUP: i32 = 3; constant __NR_SUPERCALL (line 21) | const __NR_SUPERCALL: c_long = 45; constant SUPERCALL_SU (line 22) | const SUPERCALL_SU: c_long = 0x1010; constant SUPERCALL_KSTORAGE_WRITE (line 23) | const SUPERCALL_KSTORAGE_WRITE: c_long = 0x1041; constant SUPERCALL_KSTORAGE_READ (line 24) | const SUPERCALL_KSTORAGE_READ: c_long = 0x1042; constant SUPERCALL_SU_GRANT_UID (line 25) | const SUPERCALL_SU_GRANT_UID: c_long = 0x1100; constant SUPERCALL_SU_REVOKE_UID (line 26) | const SUPERCALL_SU_REVOKE_UID: c_long = 0x1101; constant SUPERCALL_SU_NUMS (line 27) | const SUPERCALL_SU_NUMS: c_long = 0x1102; constant SUPERCALL_SU_LIST (line 28) | const SUPERCALL_SU_LIST: c_long = 0x1103; constant SUPERCALL_SU_RESET_PATH (line 29) | const SUPERCALL_SU_RESET_PATH: c_long = 0x1111; constant SUPERCALL_SU_GET_SAFEMODE (line 30) | const SUPERCALL_SU_GET_SAFEMODE: c_long = 0x1112; constant SUPERCALL_KPM_LOAD (line 32) | const SUPERCALL_KPM_LOAD: c_long = 0x1020; constant SUPERCALL_UTS_SET (line 34) | const SUPERCALL_UTS_SET: c_long = 0x1050; constant SUPERCALL_UTS_RESET (line 35) | const SUPERCALL_UTS_RESET: c_long = 0x1051; constant SUPERCALL_PATHHIDE_ENABLE (line 37) | const SUPERCALL_PATHHIDE_ENABLE: c_long = 0x1064; constant SUPERCALL_PATHHIDE_ADD (line 38) | const SUPERCALL_PATHHIDE_ADD: c_long = 0x1060; constant SUPERCALL_PATHHIDE_CLEAR (line 39) | const SUPERCALL_PATHHIDE_CLEAR: c_long = 0x1063; constant SUPERCALL_PATHHIDE_UID_MODE (line 40) | const SUPERCALL_PATHHIDE_UID_MODE: c_long = 0x106A; constant SUPERCALL_PATHHIDE_UID_ADD (line 41) | const SUPERCALL_PATHHIDE_UID_ADD: c_long = 0x1066; constant SUPERCALL_PATHHIDE_UID_CLEAR (line 42) | const SUPERCALL_PATHHIDE_UID_CLEAR: c_long = 0x1069; constant SUPERCALL_PATHHIDE_FILTER_SYSTEM (line 43) | const SUPERCALL_PATHHIDE_FILTER_SYSTEM: c_long = 0x106B; constant SUPERCALL_NETISOLATE_ENABLE (line 45) | const SUPERCALL_NETISOLATE_ENABLE: c_long = 0x1070; constant SUPERCALL_NETISOLATE_UID_ADD (line 46) | const SUPERCALL_NETISOLATE_UID_ADD: c_long = 0x1072; constant SUPERCALL_NETISOLATE_UID_REMOVE (line 47) | const SUPERCALL_NETISOLATE_UID_REMOVE: c_long = 0x1073; constant SUPERCALL_NETISOLATE_UID_LIST (line 48) | const SUPERCALL_NETISOLATE_UID_LIST: c_long = 0x1074; constant SUPERCALL_NETISOLATE_UID_CLEAR (line 49) | const SUPERCALL_NETISOLATE_UID_CLEAR: c_long = 0x1075; constant SUPERCALL_SCONTEXT_LEN (line 51) | const SUPERCALL_SCONTEXT_LEN: usize = 0x60; type SuProfile (line 54) | struct SuProfile { function ver_and_cmd (line 60) | fn ver_and_cmd(cmd: c_long) -> c_long { function sc_su_revoke_uid (line 65) | fn sc_su_revoke_uid(key: &CStr, uid: uid_t) -> c_long { function sc_su_grant_uid (line 79) | fn sc_su_grant_uid(key: &CStr, profile: &SuProfile) -> c_long { function sc_kstorage_write (line 93) | fn sc_kstorage_write( function sc_kstorage_read (line 117) | fn sc_kstorage_read( function sc_set_ap_mod_exclude (line 141) | fn sc_set_ap_mod_exclude(key: &CStr, uid: i64, exclude: i32) -> c_long { function get_new_app_profile_mode (line 152) | pub fn get_new_app_profile_mode() -> i32 { function sc_su_get_safemode (line 169) | pub fn sc_su_get_safemode(key: &CStr) -> c_long { function sc_su (line 190) | fn sc_su(key: &CStr, profile: &SuProfile) -> c_long { function sc_su_reset_path (line 204) | fn sc_su_reset_path(key: &CStr, path: &CStr) -> c_long { function sc_kpm_load (line 218) | fn sc_kpm_load(key: &CStr, path: &CStr, args: &CStr) -> c_long { function sc_su_uid_nums (line 234) | fn sc_su_uid_nums(key: &CStr) -> c_long { function sc_su_allow_uids (line 241) | fn sc_su_allow_uids(key: &CStr, buf: &mut [uid_t]) -> c_long { function read_file_to_string (line 259) | fn read_file_to_string(path: &str) -> io::Result { function convert_string_to_u8_array (line 266) | fn convert_string_to_u8_array(s: &str) -> [u8; SUPERCALL_SCONTEXT_LEN] { function convert_superkey (line 274) | fn convert_superkey(s: &Option) -> Option { function refresh_ap_package_list (line 278) | pub fn refresh_ap_package_list(skey: &CStr, mutex: &Arc>) { function privilege_apd_profile (line 346) | pub fn privilege_apd_profile(superkey: &Option) { function init_load_su_path (line 361) | pub fn init_load_su_path(superkey: &Option) { function autoload_kpm_modules (line 392) | pub fn autoload_kpm_modules(superkey: &Option, event_filter: &st... function sc_pathhide_enable (line 521) | fn sc_pathhide_enable(key: &CStr, enable: bool) -> c_long { function sc_pathhide_add (line 535) | fn sc_pathhide_add(key: &CStr, path: &CStr) -> c_long { function sc_pathhide_clear (line 549) | fn sc_pathhide_clear(key: &CStr) -> c_long { function sc_pathhide_uid_mode (line 562) | fn sc_pathhide_uid_mode(key: &CStr, enable: bool) -> c_long { function sc_pathhide_filter_system (line 576) | fn sc_pathhide_filter_system(key: &CStr, enable: bool) -> c_long { function sc_pathhide_uid_add (line 590) | fn sc_pathhide_uid_add(key: &CStr, uid: i32) -> c_long { function sc_pathhide_uid_clear (line 604) | fn sc_pathhide_uid_clear(key: &CStr) -> c_long { function sc_netisolate_enable (line 617) | fn sc_netisolate_enable(key: &CStr, enable: bool) -> c_long { function sc_netisolate_uid_add (line 631) | fn sc_netisolate_uid_add(key: &CStr, uid: i32) -> c_long { function sc_netisolate_uid_clear (line 645) | fn sc_netisolate_uid_clear(key: &CStr) -> c_long { function apply_netisolate (line 658) | pub fn apply_netisolate(superkey: &Option) { function apply_pathhide (line 714) | pub fn apply_pathhide(superkey: &Option) { function sc_uts_set (line 817) | fn sc_uts_set(key: &CStr, release: Option<&CStr>, version: Option<&CStr>... function sc_uts_reset (line 840) | fn sc_uts_reset(key: &CStr) -> c_long { function apply_uts_spoof (line 853) | pub fn apply_uts_spoof(superkey: &Option) { FILE: apd/src/utils.rs function ensure_file_exists (line 18) | pub fn ensure_file_exists>(file: T) -> Result<()> { function ensure_dir_exists (line 32) | pub fn ensure_dir_exists>(dir: T) -> Result<()> { function ensure_dir_with_perms (line 43) | pub fn ensure_dir_with_perms(dir: &Path, parent: &Path, mode: u32) -> Re... function ensure_binary (line 59) | pub fn ensure_binary>(path: T) -> Result<()> { function get_work_dir (line 64) | pub fn get_work_dir() -> &'static str { function getprop (line 69) | pub fn getprop(prop: &str) -> Option { function getprop (line 74) | pub fn getprop(_prop: &str) -> Option { function run_command (line 77) | pub fn run_command( function is_safe_mode (line 90) | pub fn is_safe_mode(superkey: Option) -> bool { function switch_mnt_ns (line 116) | pub fn switch_mnt_ns(pid: i32) -> Result<()> { function switch_cgroup (line 131) | fn switch_cgroup(grp: &str, pid: u32) { function switch_cgroups (line 143) | pub fn switch_cgroups() { function umask (line 158) | pub fn umask(mask: u32) { function umask (line 163) | pub fn umask(_mask: u32) { function has_magisk (line 167) | pub fn has_magisk() -> bool { function get_tmp_path (line 170) | pub fn get_tmp_path() -> &'static str { FILE: app/src/main/cpp/apjni.cpp function jboolean (line 17) | jboolean nativeReady(JNIEnv *env, jobject /* this */, jstring super_key_... function jlong (line 27) | jlong nativeKernelPatchVersion(JNIEnv *env, jobject /* this */, jstring ... function jstring (line 35) | jstring nativeKernelPatchBuildTime(JNIEnv *env, jobject /* this */, jstr... function jlong (line 45) | jlong nativeSu(JNIEnv *env, jobject /* this */, jstring super_key_jstr, ... function jint (line 63) | jint nativeSetUidExclude(JNIEnv *env, jobject /* this */, jstring super_... function jint (line 70) | jint nativeGetUidExclude(JNIEnv *env, jobject /* this */, jstring super_... function jlong (line 77) | jlong nativeSetNewAppProfileMode(JNIEnv *env, jobject /* this */, jstrin... function jint (line 88) | jint nativeGetNewAppProfileMode(JNIEnv *env, jobject /* this */, jstring... function jintArray (line 100) | jintArray nativeSuUids(JNIEnv *env, jobject /* this */, jstring super_ke... function jobject (line 123) | jobject nativeSuProfile(JNIEnv *env, jobject /* this */, jstring super_k... function jlong (line 147) | jlong nativeLoadKernelPatchModule(JNIEnv *env, jobject /* this */, jstri... function jobject (line 161) | jobject nativeControlKernelPatchModule(JNIEnv *env, jobject /* this */, ... function jlong (line 186) | jlong nativeUnloadKernelPatchModule(JNIEnv *env, jobject /* this */, jst... function jlong (line 199) | jlong nativeKernelPatchModuleNum(JNIEnv *env, jobject /* this */, jstrin... function jstring (line 211) | jstring nativeKernelPatchModuleList(JNIEnv *env, jobject /* this */, jst... function jstring (line 225) | jstring nativeKernelPatchModuleInfo(JNIEnv *env, jobject /* this */, jst... function jlong (line 239) | jlong nativeGrantSu(JNIEnv *env, jobject /* this */, jstring super_key_j... function jlong (line 251) | jlong nativeRevokeSu(JNIEnv *env, jobject /* this */, jstring super_key_... function jstring (line 258) | jstring nativeSuPath(JNIEnv *env, jobject /* this */, jstring super_key_... function jboolean (line 271) | jboolean nativeResetSuPath(JNIEnv *env, jobject /* this */, jstring supe... function jlong (line 280) | jlong nativeUtsSet(JNIEnv *env, jobject /* this */, jstring super_key_jstr, function jlong (line 295) | jlong nativeUtsReset(JNIEnv *env, jobject /* this */, jstring super_key_... function jlong (line 306) | jlong nativePathHideAdd(JNIEnv *env, jobject /* this */, jstring super_k... function jlong (line 318) | jlong nativePathHideRemove(JNIEnv *env, jobject /* this */, jstring supe... function jstring (line 330) | jstring nativePathHideList(JNIEnv *env, jobject /* this */, jstring supe... function jlong (line 342) | jlong nativePathHideClear(JNIEnv *env, jobject /* this */, jstring super... function jlong (line 353) | jlong nativePathHideEnable(JNIEnv *env, jobject /* this */, jstring supe... function jlong (line 364) | jlong nativePathHideStatus(JNIEnv *env, jobject /* this */, jstring supe... function jlong (line 375) | jlong nativePathHideUidAdd(JNIEnv *env, jobject /* this */, jstring supe... function jlong (line 385) | jlong nativePathHideUidRemove(JNIEnv *env, jobject /* this */, jstring s... function jstring (line 395) | jstring nativePathHideUidList(JNIEnv *env, jobject /* this */, jstring s... function jlong (line 407) | jlong nativePathHideUidClear(JNIEnv *env, jobject /* this */, jstring su... function jlong (line 417) | jlong nativePathHideUidMode(JNIEnv *env, jobject /* this */, jstring sup... function jlong (line 427) | jlong nativePathHideFilterSystem(JNIEnv *env, jobject /* this */, jstrin... function jlong (line 437) | jlong nativeNetIsolateEnable(JNIEnv *env, jobject /* this */, jstring su... function jlong (line 447) | jlong nativeNetIsolateStatus(JNIEnv *env, jobject /* this */, jstring su... function jlong (line 457) | jlong nativeNetIsolateUidAdd(JNIEnv *env, jobject /* this */, jstring su... function jlong (line 467) | jlong nativeNetIsolateUidRemove(JNIEnv *env, jobject /* this */, jstring... function jstring (line 477) | jstring nativeNetIsolateUidList(JNIEnv *env, jobject /* this */, jstring... function jlong (line 489) | jlong nativeNetIsolateUidClear(JNIEnv *env, jobject /* this */, jstring ... function jstring (line 499) | jstring nativeSuAuditList(JNIEnv *env, jobject /* this */, jstring super... function jlong (line 542) | jlong nativeSuAuditClear(JNIEnv *env, jobject /* this */, jstring super_... function JNIEXPORT (line 553) | JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void * /*reserved*/) { FILE: app/src/main/cpp/apjni.hpp function ensureSuperKeyNonNull (line 21) | void ensureSuperKeyNonNull(jstring super_key_jstr) { FILE: app/src/main/cpp/jni_helper.hpp type lsplant (line 20) | namespace lsplant { class ScopedLocalRef (line 25) | class ScopedLocalRef { method ScopedLocalRef (line 29) | ScopedLocalRef(JNIEnv *env, T local_ref) : env_(env), local_ref_(nul... method ScopedLocalRef (line 31) | ScopedLocalRef(ScopedLocalRef &&s) noexcept : ScopedLocalRef(s.env_,... method ScopedLocalRef (line 34) | ScopedLocalRef(ScopedLocalRef &&s) noexcept : ScopedLocalRef(s.en... method ScopedLocalRef (line 36) | explicit ScopedLocalRef(JNIEnv *env) noexcept : ScopedLocalRef(env, ... method reset (line 40) | void reset(T ptr = nullptr) { method T (line 49) | [[nodiscard]] T release() { method T (line 55) | T get() const { return local_ref_; } method clone (line 57) | ScopedLocalRef clone() const { method ScopedLocalRef (line 61) | ScopedLocalRef &operator=(ScopedLocalRef &&s) noexcept { class JObjectArrayElement (line 80) | class JObjectArrayElement method obtain (line 1028) | auto obtain() { method JObjectArrayElement (line 1033) | explicit JObjectArrayElement(JNIEnv *env, jobjectArray array, int i,... method JObjectArrayElement (line 1036) | JObjectArrayElement &operator++() { method JObjectArrayElement (line 1042) | JObjectArrayElement &operator--() { method JObjectArrayElement (line 1048) | JObjectArrayElement operator++(int) { return JObjectArrayElement(env... method JObjectArrayElement (line 1050) | JObjectArrayElement operator--(int) { return JObjectArrayElement(env... method JObjectArrayElement (line 1053) | JObjectArrayElement(JObjectArrayElement &&s) method JObjectArrayElement (line 1060) | JObjectArrayElement &operator=(JObjectArrayElement &&s) { method JObjectArrayElement (line 1065) | JObjectArrayElement &operator=(const JObjectArrayElement &s) { method JObjectArrayElement (line 1071) | JObjectArrayElement &operator=(ScopedLocalRef &&s) { method JObjectArrayElement (line 1077) | JObjectArrayElement &operator=(const ScopedLocalRef &s) { method JObjectArrayElement (line 1082) | JObjectArrayElement &operator=(jobject s) { method reset (line 1087) | void reset(jobject item) { method clone (line 1092) | ScopedLocalRef clone() const { return item_.clone(); } method jobject (line 1094) | jobject get() const { return item_.get(); } method jobject (line 1096) | jobject release() { return item_.release(); } method jobject (line 1098) | jobject operator->() const { return item_.get(); } method jobject (line 1100) | jobject operator*() const { return item_.get(); } method JObjectArrayElement (line 1108) | JObjectArrayElement(const JObjectArrayElement &) = delete; class ScopedLocalRef (line 86) | class ScopedLocalRef class Iterator (line 849) | class Iterator { method Iterator (line 851) | Iterator(JArrayUnderlyingType *e) : e_(e) {} method Iterator (line 857) | Iterator &operator++() { return ++e_, *this; } method Iterator (line 858) | Iterator &operator--() { return --e_, *this; } method Iterator (line 859) | Iterator operator++(int) { return Iterator(e_++); } method Iterator (line 860) | Iterator operator--(int) { return Iterator(e_--); } class ConstIterator (line 865) | class ConstIterator { method ConstIterator (line 867) | ConstIterator(const JArrayUnderlyingType *e) : e_(e) {} method ConstIterator (line 873) | ConstIterator &operator++() { return ++e_, *this; } method ConstIterator (line 874) | ConstIterator &operator--() { return --e_, *this; } method ConstIterator (line 875) | ConstIterator operator++(int) { return ConstIterator(e_++); } method ConstIterator (line 876) | ConstIterator operator--(int) { return ConstIterator(e_--); } method begin (line 881) | auto begin() { method end (line 886) | auto end() { method begin (line 891) | const auto begin() const { return ConstIterator(elements_); } method end (line 893) | auto end() const { return ConstIterator(elements_ + size_); } method cbegin (line 895) | const auto cbegin() const { return ConstIterator(elements_); } method cend (line 897) | auto cend() const { return ConstIterator(elements_ + size_); } method ScopedLocalRef (line 901) | ScopedLocalRef(JNIEnv *env, T local_ref) noexcept : env_(env), local... method ScopedLocalRef (line 905) | ScopedLocalRef(ScopedLocalRef &&s) noexcept { *this = std::move(s); } method ScopedLocalRef (line 908) | ScopedLocalRef(ScopedLocalRef &&s) noexcept : ScopedLocalRef(s.en... method ScopedLocalRef (line 910) | explicit ScopedLocalRef(JNIEnv *env) noexcept : ScopedLocalRef(env, ... method reset (line 914) | void reset(T ptr = nullptr) { method T (line 945) | [[nodiscard]] T release() { method T (line 954) | T get() const { return local_ref_; } method commit (line 963) | void commit() { method ScopedLocalRef (line 973) | ScopedLocalRef &operator=(ScopedLocalRef &&s) noexcept { method size (line 986) | size_t size() const { return size_; } method ReleaseElements (line 996) | void ReleaseElements(jint mode) { class JNIScopeFrame (line 88) | class JNIScopeFrame { method JNIScopeFrame (line 94) | JNIScopeFrame(JNIEnv *env, jint size) : env_(env) { env_->PushLocalF... class JNIMonitor (line 99) | class JNIMonitor { method JNIMonitor (line 106) | JNIMonitor(JNIEnv *env, jobject obj) : env_(env), obj_(obj) { env_->... function ClearException (line 124) | inline ScopedLocalRef ClearException(JNIEnv *env) { function UnwrapScope (line 139) | [[maybe_unused]] inline auto UnwrapScope(T &&x) { function WrapScope (line 151) | [[maybe_unused]] inline auto WrapScope(JNIEnv *env, T &&x) { function WrapScope (line 159) | [[maybe_unused]] inline auto WrapScope(JNIEnv *env, std::tuple &&x, function WrapScope (line 165) | [[maybe_unused]] inline auto WrapScope(JNIEnv *env, std::tuple &... function JNI_NewStringUTF (line 170) | inline auto JNI_NewStringUTF(JNIEnv *env, std::string_view sv) { class JUTFString (line 174) | class JUTFString { method JUTFString (line 176) | JUTFString(JNIEnv *env, jstring jstr) : JUTFString(env, jstr, nullpt... method JUTFString (line 178) | JUTFString(const ScopedLocalRef &jstr) method JUTFString (line 181) | JUTFString(JNIEnv *env, jstring jstr, const char *default_cstr) : en... method get (line 194) | auto get() const { return cstr_; } method JUTFString (line 200) | JUTFString(JUTFString &&other) method JUTFString (line 207) | JUTFString &operator=(JUTFString &&other) { method JUTFString (line 222) | JUTFString(const JUTFString &) = delete; method JUTFString (line 224) | JUTFString &operator=(const JUTFString &) = delete; function JNI_SafeInvoke (line 229) | [[maybe_unused]] inline auto JNI_SafeInvoke(JNIEnv *env, Func JNIEnv::... function JNI_FindClass (line 258) | [[maybe_unused]] inline auto JNI_FindClass(JNIEnv *env, std::string_vi... function JNI_GetObjectClass (line 263) | [[maybe_unused]] inline auto JNI_GetObjectClass(JNIEnv *env, const Obj... function JNI_GetFieldID (line 270) | [[maybe_unused]] inline auto JNI_GetFieldID(JNIEnv *env, Class &&clazz... function JNI_GetObjectField (line 278) | [[maybe_unused]] inline auto JNI_GetObjectField(JNIEnv *env, Object &&... function JNI_GetBooleanField (line 283) | [[maybe_unused]] inline auto JNI_GetBooleanField(JNIEnv *env, Object &... function JNI_GetByteField (line 288) | [[maybe_unused]] inline auto JNI_GetByteField(JNIEnv *env, Object &&ob... function JNI_GetCharField (line 293) | [[maybe_unused]] inline auto JNI_GetCharField(JNIEnv *env, Object &&ob... function JNI_GetShortField (line 298) | [[maybe_unused]] inline auto JNI_GetShortField(JNIEnv *env, Object &&o... function JNI_GetIntField (line 303) | [[maybe_unused]] inline auto JNI_GetIntField(JNIEnv *env, Object &&obj... function JNI_GetLongField (line 308) | [[maybe_unused]] inline auto JNI_GetLongField(JNIEnv *env, Object &&ob... function JNI_GetFloatField (line 313) | [[maybe_unused]] inline auto JNI_GetFloatField(JNIEnv *env, Object &&o... function JNI_GetDoubleField (line 318) | [[maybe_unused]] inline auto JNI_GetDoubleField(JNIEnv *env, Object &&... function JNI_SetObjectField (line 325) | [[maybe_unused]] inline auto JNI_SetObjectField(JNIEnv *env, Object &&... function JNI_SetBooleanField (line 331) | [[maybe_unused]] inline auto JNI_SetBooleanField(JNIEnv *env, Object &... function JNI_SetByteField (line 337) | [[maybe_unused]] inline auto JNI_SetByteField(JNIEnv *env, Object &&ob... function JNI_SetCharField (line 343) | [[maybe_unused]] inline auto JNI_SetCharField(JNIEnv *env, Object &&ob... function JNI_SetShortField (line 349) | [[maybe_unused]] inline auto JNI_SetShortField(JNIEnv *env, Object &&o... function JNI_SetIntField (line 355) | [[maybe_unused]] inline auto JNI_SetIntField(JNIEnv *env, Object &&obj... function JNI_SetLongField (line 361) | [[maybe_unused]] inline auto JNI_SetLongField(JNIEnv *env, Object &&ob... function JNI_SetFloatField (line 367) | [[maybe_unused]] inline auto JNI_SetFloatField(JNIEnv *env, Object &&o... function JNI_SetDoubleField (line 373) | [[maybe_unused]] inline auto JNI_SetDoubleField(JNIEnv *env, Object &&... function JNI_GetStaticFieldID (line 381) | [[maybe_unused]] inline auto JNI_GetStaticFieldID(JNIEnv *env, Class &... function JNI_GetStaticObjectField (line 389) | [[maybe_unused]] inline auto JNI_GetStaticObjectField(JNIEnv *env, Cla... function JNI_GetStaticBooleanField (line 395) | [[maybe_unused]] inline auto JNI_GetStaticBooleanField(JNIEnv *env, Cl... function JNI_GetStaticByteField (line 401) | [[maybe_unused]] inline auto JNI_GetStaticByteField(JNIEnv *env, Class... function JNI_GetStaticCharField (line 406) | [[maybe_unused]] inline auto JNI_GetStaticCharField(JNIEnv *env, Class... function JNI_GetStaticShortField (line 411) | [[maybe_unused]] inline auto JNI_GetStaticShortField(JNIEnv *env, Clas... function JNI_GetStaticIntField (line 416) | [[maybe_unused]] inline auto JNI_GetStaticIntField(JNIEnv *env, Class ... function JNI_GetStaticLongField (line 421) | [[maybe_unused]] inline auto JNI_GetStaticLongField(JNIEnv *env, Class... function JNI_GetStaticFloatField (line 426) | [[maybe_unused]] inline auto JNI_GetStaticFloatField(JNIEnv *env, Clas... function JNI_GetStaticDoubleField (line 431) | [[maybe_unused]] inline auto JNI_GetStaticDoubleField(JNIEnv *env, Cla... function JNI_SetStaticObjectField (line 439) | [[maybe_unused]] inline auto JNI_SetStaticObjectField(JNIEnv *env, Cla... function JNI_SetStaticBooleanField (line 446) | [[maybe_unused]] inline auto JNI_SetStaticBooleanField(JNIEnv *env, Cl... function JNI_SetStaticByteField (line 453) | [[maybe_unused]] inline auto JNI_SetStaticByteField(JNIEnv *env, Class... function JNI_SetStaticCharField (line 460) | [[maybe_unused]] inline auto JNI_SetStaticCharField(JNIEnv *env, Class... function JNI_SetStaticShortField (line 467) | [[maybe_unused]] inline auto JNI_SetStaticShortField(JNIEnv *env, Clas... function JNI_SetStaticIntField (line 474) | [[maybe_unused]] inline auto JNI_SetStaticIntField(JNIEnv *env, Class ... function JNI_SetStaticLongField (line 481) | [[maybe_unused]] inline auto JNI_SetStaticLongField(JNIEnv *env, Class... function JNI_SetStaticFloatField (line 488) | [[maybe_unused]] inline auto JNI_SetStaticFloatField(JNIEnv *env, Clas... function JNI_SetStaticDoubleField (line 495) | [[maybe_unused]] inline auto JNI_SetStaticDoubleField(JNIEnv *env, Cla... function JNI_ToReflectedMethod (line 502) | [[maybe_unused]] inline auto JNI_ToReflectedMethod(JNIEnv *env, Class ... function JNI_ToReflectedField (line 509) | [[maybe_unused]] inline auto JNI_ToReflectedField(JNIEnv *env, Class &... function JNI_GetMethodID (line 520) | [[maybe_unused]] inline auto JNI_GetMethodID(JNIEnv *env, Class &&claz... function JNI_CallVoidMethod (line 526) | [[maybe_unused]] inline auto JNI_CallVoidMethod(JNIEnv *env, Object &&... function JNI_CallObjectMethod (line 533) | [[maybe_unused]] inline auto JNI_CallObjectMethod(JNIEnv *env, Object ... function JNI_CallBooleanMethod (line 540) | [[maybe_unused]] inline auto JNI_CallBooleanMethod(JNIEnv *env, Object... function JNI_CallByteMethod (line 547) | [[maybe_unused]] inline auto JNI_CallByteMethod(JNIEnv *env, Object &&... function JNI_CallCharMethod (line 554) | [[maybe_unused]] inline auto JNI_CallCharMethod(JNIEnv *env, Object &&... function JNI_CallShortMethod (line 561) | [[maybe_unused]] inline auto JNI_CallShortMethod(JNIEnv *env, Object &... function JNI_CallIntMethod (line 568) | [[maybe_unused]] inline auto JNI_CallIntMethod(JNIEnv *env, Object &&o... function JNI_CallLongMethod (line 575) | [[maybe_unused]] inline auto JNI_CallLongMethod(JNIEnv *env, Object &&... function JNI_CallFloatMethod (line 582) | [[maybe_unused]] inline auto JNI_CallFloatMethod(JNIEnv *env, Object &... function JNI_CallDoubleMethod (line 589) | [[maybe_unused]] inline auto JNI_CallDoubleMethod(JNIEnv *env, Object ... function JNI_GetStaticMethodID (line 598) | [[maybe_unused]] inline auto JNI_GetStaticMethodID(JNIEnv *env, Class ... function JNI_CallStaticVoidMethod (line 604) | [[maybe_unused]] inline auto JNI_CallStaticVoidMethod(JNIEnv *env, Cla... function JNI_CallStaticObjectMethod (line 611) | [[maybe_unused]] inline auto JNI_CallStaticObjectMethod(JNIEnv *env, C... function JNI_CallStaticBooleanMethod (line 618) | [[maybe_unused]] inline auto JNI_CallStaticBooleanMethod(JNIEnv *env, ... function JNI_CallStaticByteMethod (line 625) | [[maybe_unused]] inline auto JNI_CallStaticByteMethod(JNIEnv *env, Cla... function JNI_CallStaticCharMethod (line 632) | [[maybe_unused]] inline auto JNI_CallStaticCharMethod(JNIEnv *env, Cla... function JNI_CallStaticShortMethod (line 639) | [[maybe_unused]] inline auto JNI_CallStaticShortMethod(JNIEnv *env, Cl... function JNI_CallStaticIntMethod (line 646) | [[maybe_unused]] inline auto JNI_CallStaticIntMethod(JNIEnv *env, Clas... function JNI_CallStaticLongMethod (line 653) | [[maybe_unused]] inline auto JNI_CallStaticLongMethod(JNIEnv *env, Cla... function JNI_CallStaticFloatMethod (line 660) | [[maybe_unused]] inline auto JNI_CallStaticFloatMethod(JNIEnv *env, Cl... function JNI_CallStaticDoubleMethod (line 667) | [[maybe_unused]] inline auto JNI_CallStaticDoubleMethod(JNIEnv *env, C... function JNI_CallNonvirtualVoidMethod (line 676) | [[maybe_unused]] inline auto JNI_CallNonvirtualVoidMethod(JNIEnv *env,... function JNI_CallNonvirtualObjectMethod (line 683) | [[maybe_unused]] inline auto JNI_CallNonvirtualObjectMethod(JNIEnv *en... function JNI_CallNonvirtualBooleanMethod (line 691) | [[maybe_unused]] inline auto JNI_CallNonvirtualBooleanMethod(JNIEnv *e... function JNI_CallNonvirtualByteMethod (line 699) | [[maybe_unused]] inline auto JNI_CallNonvirtualByteMethod(JNIEnv *env,... function JNI_CallNonvirtualCharMethod (line 706) | [[maybe_unused]] inline auto JNI_CallNonvirtualCharMethod(JNIEnv *env,... function JNI_CallNonvirtualShortMethod (line 713) | [[maybe_unused]] inline auto JNI_CallNonvirtualShortMethod(JNIEnv *env... function JNI_CallNonvirtualIntMethod (line 720) | [[maybe_unused]] inline auto JNI_CallNonvirtualIntMethod(JNIEnv *env, ... function JNI_CallNonvirtualLongMethod (line 727) | [[maybe_unused]] inline auto JNI_CallNonvirtualLongMethod(JNIEnv *env,... function JNI_CallNonvirtualFloatMethod (line 734) | [[maybe_unused]] inline auto JNI_CallNonvirtualFloatMethod(JNIEnv *env... function JNI_CallNonvirtualDoubleMethod (line 741) | [[maybe_unused]] inline auto JNI_CallNonvirtualDoubleMethod(JNIEnv *en... function JNI_NewObject (line 749) | [[maybe_unused]] inline auto JNI_NewObject(JNIEnv *env, Class &&clazz,... function JNI_NewDirectByteBuffer (line 756) | [[maybe_unused]] inline auto JNI_NewDirectByteBuffer(JNIEnv *env, Args... function JNI_RegisterNatives (line 761) | [[maybe_unused]] inline auto JNI_RegisterNatives(JNIEnv *env, Class &&... function JNI_IsInstanceOf (line 767) | [[maybe_unused]] inline auto JNI_IsInstanceOf(JNIEnv *env, Object &&ob... function JNI_IsSameObject (line 773) | [[maybe_unused]] inline auto JNI_IsSameObject(JNIEnv *env, Object1 &&a... function JNI_NewGlobalRef (line 779) | [[maybe_unused]] inline auto JNI_NewGlobalRef(JNIEnv *env, Object &&x) { function JNI_Cast (line 785) | [[maybe_unused]] inline auto JNI_Cast(ScopedLocalRef &&x) function JNI_Cast (line 792) | [[maybe_unused]] inline auto JNI_Cast(JObjectArrayElement &&x) { function JNI_NewDirectByteBuffer (line 796) | [[maybe_unused]] inline auto JNI_NewDirectByteBuffer(JNIEnv *env, void... type JArrayUnderlyingTypeHelper (line 801) | struct JArrayUnderlyingTypeHelper type JArrayUnderlyingTypeHelper (line 804) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 809) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 814) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 819) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 824) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 829) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 834) | struct JArrayUnderlyingTypeHelper { type JArrayUnderlyingTypeHelper (line 839) | struct JArrayUnderlyingTypeHelper { class ScopedLocalRef (line 847) | class ScopedLocalRef { class Iterator (line 849) | class Iterator { method Iterator (line 851) | Iterator(JArrayUnderlyingType *e) : e_(e) {} method Iterator (line 857) | Iterator &operator++() { return ++e_, *this; } method Iterator (line 858) | Iterator &operator--() { return --e_, *this; } method Iterator (line 859) | Iterator operator++(int) { return Iterator(e_++); } method Iterator (line 860) | Iterator operator--(int) { return Iterator(e_--); } class ConstIterator (line 865) | class ConstIterator { method ConstIterator (line 867) | ConstIterator(const JArrayUnderlyingType *e) : e_(e) {} method ConstIterator (line 873) | ConstIterator &operator++() { return ++e_, *this; } method ConstIterator (line 874) | ConstIterator &operator--() { return --e_, *this; } method ConstIterator (line 875) | ConstIterator operator++(int) { return ConstIterator(e_++); } method ConstIterator (line 876) | ConstIterator operator--(int) { return ConstIterator(e_--); } method begin (line 881) | auto begin() { method end (line 886) | auto end() { method begin (line 891) | const auto begin() const { return ConstIterator(elements_); } method end (line 893) | auto end() const { return ConstIterator(elements_ + size_); } method cbegin (line 895) | const auto cbegin() const { return ConstIterator(elements_); } method cend (line 897) | auto cend() const { return ConstIterator(elements_ + size_); } method ScopedLocalRef (line 901) | ScopedLocalRef(JNIEnv *env, T local_ref) noexcept : env_(env), local... method ScopedLocalRef (line 905) | ScopedLocalRef(ScopedLocalRef &&s) noexcept { *this = std::move(s); } method ScopedLocalRef (line 908) | ScopedLocalRef(ScopedLocalRef &&s) noexcept : ScopedLocalRef(s.en... method ScopedLocalRef (line 910) | explicit ScopedLocalRef(JNIEnv *env) noexcept : ScopedLocalRef(env, ... method reset (line 914) | void reset(T ptr = nullptr) { method T (line 945) | [[nodiscard]] T release() { method T (line 954) | T get() const { return local_ref_; } method commit (line 963) | void commit() { method ScopedLocalRef (line 973) | ScopedLocalRef &operator=(ScopedLocalRef &&s) noexcept { method size (line 986) | size_t size() const { return size_; } method ReleaseElements (line 996) | void ReleaseElements(jint mode) { class JObjectArrayElement (line 1025) | class JObjectArrayElement { method obtain (line 1028) | auto obtain() { method JObjectArrayElement (line 1033) | explicit JObjectArrayElement(JNIEnv *env, jobjectArray array, int i,... method JObjectArrayElement (line 1036) | JObjectArrayElement &operator++() { method JObjectArrayElement (line 1042) | JObjectArrayElement &operator--() { method JObjectArrayElement (line 1048) | JObjectArrayElement operator++(int) { return JObjectArrayElement(env... method JObjectArrayElement (line 1050) | JObjectArrayElement operator--(int) { return JObjectArrayElement(env... method JObjectArrayElement (line 1053) | JObjectArrayElement(JObjectArrayElement &&s) method JObjectArrayElement (line 1060) | JObjectArrayElement &operator=(JObjectArrayElement &&s) { method JObjectArrayElement (line 1065) | JObjectArrayElement &operator=(const JObjectArrayElement &s) { method JObjectArrayElement (line 1071) | JObjectArrayElement &operator=(ScopedLocalRef &&s) { method JObjectArrayElement (line 1077) | JObjectArrayElement &operator=(const ScopedLocalRef &s) { method JObjectArrayElement (line 1082) | JObjectArrayElement &operator=(jobject s) { method reset (line 1087) | void reset(jobject item) { method clone (line 1092) | ScopedLocalRef clone() const { return item_.clone(); } method jobject (line 1094) | jobject get() const { return item_.get(); } method jobject (line 1096) | jobject release() { return item_.release(); } method jobject (line 1098) | jobject operator->() const { return item_.get(); } method jobject (line 1100) | jobject operator*() const { return item_.get(); } method JObjectArrayElement (line 1108) | JObjectArrayElement(const JObjectArrayElement &) = delete; class ScopedLocalRef (line 1112) | class ScopedLocalRef { class Iterator (line 1114) | class Iterator { method Iterator (line 1117) | Iterator(JObjectArrayElement &&e) : e_(std::move(e)) {} method Iterator (line 1118) | Iterator(JNIEnv *env, jobjectArray array, int i, size_t size) : e_... method Iterator (line 1125) | Iterator &operator++() { method Iterator (line 1130) | Iterator &operator--() { method Iterator (line 1135) | Iterator operator++(int) { return Iterator(e_++); } method Iterator (line 1137) | Iterator operator--(int) { return Iterator(e_--); } class ConstIterator (line 1147) | class ConstIterator { method obtain (line 1150) | auto obtain() { method ConstIterator (line 1155) | ConstIterator(JNIEnv *env, jobjectArray array, int i, int size) method ConstIterator (line 1163) | ConstIterator &operator++() { method ConstIterator (line 1169) | ConstIterator &operator--() { method ConstIterator (line 1175) | ConstIterator operator++(int) { return ConstIterator(env_, array_,... method ConstIterator (line 1177) | ConstIterator operator--(int) { return ConstIterator(env_, array_,... method begin (line 1191) | auto begin() { return Iterator(env_, local_ref_, 0, size_); } method end (line 1193) | auto end() { return Iterator(env_, local_ref_, size_, size_); } method begin (line 1195) | const auto begin() const { return ConstIterator(env_, local_ref_, 0,... method end (line 1197) | auto end() const { return ConstIterator(env_, local_ref_, size_, siz... method cbegin (line 1199) | const auto cbegin() const { return ConstIterator(env_, local_ref_, 0... method cend (line 1201) | auto cend() const { return ConstIterator(env_, local_ref_, size_, si... method ScopedLocalRef (line 1203) | ScopedLocalRef(JNIEnv *env, jobjectArray local_ref) noexcept : env_(... method ScopedLocalRef (line 1207) | ScopedLocalRef(ScopedLocalRef &&s) noexcept { *this = std::move(s); } method ScopedLocalRef (line 1210) | ScopedLocalRef(ScopedLocalRef &&s) noexcept method ScopedLocalRef (line 1213) | explicit ScopedLocalRef(JNIEnv *env) noexcept : ScopedLocalRef(env, ... method reset (line 1217) | void reset(jobjectArray ptr = nullptr) { method jobjectArray (line 1228) | [[nodiscard]] jobjectArray release() { method jobjectArray (line 1235) | jobjectArray get() const { return local_ref_; } method JObjectArrayElement (line 1237) | JObjectArrayElement operator[](size_t index) { method ScopedLocalRef (line 1250) | ScopedLocalRef &operator=(ScopedLocalRef &&s) noexcept { method size (line 1259) | size_t size() const { return size_; } function JNI_GetArrayLength (line 1277) | [[maybe_unused]] inline auto JNI_GetArrayLength(JNIEnv *env, const Arr... function JNI_NewObjectArray (line 1284) | [[maybe_unused]] inline auto JNI_NewObjectArray(JNIEnv *env, jsize len... function JNI_NewBooleanArray (line 1289) | [[maybe_unused]] inline auto JNI_NewBooleanArray(JNIEnv *env, jsize le... function JNI_NewByteArray (line 1293) | [[maybe_unused]] inline auto JNI_NewByteArray(JNIEnv *env, jsize len) { function JNI_NewCharArray (line 1297) | [[maybe_unused]] inline auto JNI_NewCharArray(JNIEnv *env, jsize len) { function JNI_NewShortArray (line 1301) | [[maybe_unused]] inline auto JNI_NewShortArray(JNIEnv *env, jsize len) { function JNI_NewIntArray (line 1305) | [[maybe_unused]] inline auto JNI_NewIntArray(JNIEnv *env, jsize len) { function JNI_NewLongArray (line 1309) | [[maybe_unused]] inline auto JNI_NewLongArray(JNIEnv *env, jsize len) { function JNI_NewFloatArray (line 1313) | [[maybe_unused]] inline auto JNI_NewFloatArray(JNIEnv *env, jsize len) { function JNI_NewDoubleArray (line 1317) | [[maybe_unused]] inline auto JNI_NewDoubleArray(JNIEnv *env, jsize len) { function JNI_GetObjectFieldOf (line 1322) | [[maybe_unused]] inline auto JNI_GetObjectFieldOf(JNIEnv *env, Object ... FILE: app/src/main/cpp/security.cpp function bytesToHex (line 26) | std::string bytesToHex(JNIEnv *env, jbyteArray bytes) { function getSignatureHash (line 41) | std::string getSignatureHash(JNIEnv *env, jobject context) { function getPackageName (line 85) | std::string getPackageName(JNIEnv *env, jobject context) { function jstring (line 97) | jstring nativeGetApiToken(JNIEnv *env, jobject thiz, jobject context) { FILE: app/src/main/cpp/supercall.h function ver_and_cmd (line 20) | static inline long ver_and_cmd(const char *key, long cmd) function sc_hello (line 32) | static inline long sc_hello(const char *key) function sc_ready (line 46) | static inline bool sc_ready(const char *key) function sc_klog (line 58) | static inline long sc_klog(const char *key, const char *msg) function sc_get_build_time (line 74) | static inline long sc_get_build_time(const char *key, const char *buildt... function sc_kp_ver (line 88) | static inline uint32_t sc_kp_ver(const char *key) function sc_k_ver (line 101) | static inline uint32_t sc_k_ver(const char *key) function sc_su (line 116) | static inline long sc_su(const char *key, struct su_profile *profile) function sc_su_task (line 133) | static inline long sc_su_task(const char *key, pid_t tid, struct su_prof... function sc_kstorage_write (line 150) | static inline long sc_kstorage_write(const char *key, int gid, long did,... function sc_kstorage_read (line 167) | static inline long sc_kstorage_read(const char *key, int gid, long did, ... function sc_kstorage_list_ids (line 184) | static inline long sc_kstorage_list_ids(const char *key, int gid, long *... function sc_kstorage_remove (line 200) | static inline long sc_kstorage_remove(const char *key, int gid, long did) function sc_set_ap_mod_exclude (line 216) | static inline long sc_set_ap_mod_exclude(const char *key, uid_t uid, int... function sc_get_ap_mod_exclude (line 234) | static inline int sc_get_ap_mod_exclude(const char *key, uid_t uid) function sc_list_ap_mod_exclude (line 245) | static inline int sc_list_ap_mod_exclude(const char *key, uid_t *uids, i... function sc_su_grant_uid (line 266) | static inline long sc_su_grant_uid(const char *key, struct su_profile *p... function sc_su_revoke_uid (line 280) | static inline long sc_su_revoke_uid(const char *key, uid_t uid) function sc_su_uid_nums (line 293) | static inline long sc_su_uid_nums(const char *key) function sc_su_allow_uids (line 308) | static inline long sc_su_allow_uids(const char *key, uid_t *buf, int num) function sc_su_uid_profile (line 324) | static inline long sc_su_uid_profile(const char *key, uid_t uid, struct ... function sc_su_get_path (line 339) | static inline long sc_su_get_path(const char *key, char *out_path, int p... function sc_su_reset_path (line 354) | static inline long sc_su_reset_path(const char *key, const char *path) function sc_su_get_all_allow_sctx (line 370) | static inline long sc_su_get_all_allow_sctx(const char *key, char *out_s... function sc_su_reset_all_allow_sctx (line 386) | static inline long sc_su_reset_all_allow_sctx(const char *key, const cha... function sc_kpm_load (line 403) | static inline long sc_kpm_load(const char *key, const char *path, const ... function sc_kpm_control (line 421) | static inline long sc_kpm_control(const char *key, const char *name, con... function sc_kpm_unload (line 438) | static inline long sc_kpm_unload(const char *key, const char *name, void... function sc_kpm_nums (line 452) | static inline long sc_kpm_nums(const char *key) function sc_kpm_list (line 467) | static inline long sc_kpm_list(const char *key, char *names_buf, int buf... function sc_kpm_info (line 484) | static inline long sc_kpm_info(const char *key, const char *name, char *... function sc_skey_get (line 500) | static inline long sc_skey_get(const char *key, char *out_key, int outlen) function sc_skey_set (line 515) | static inline long sc_skey_set(const char *key, const char *new_key) function sc_skey_root_enable (line 530) | static inline long sc_skey_root_enable(const char *key, bool enable) function sc_su_get_safemode (line 543) | static inline long sc_su_get_safemode(const char *key) function sc_su_audit_nums (line 549) | static inline long sc_su_audit_nums(const char *key) function sc_su_audit_list (line 555) | static inline long sc_su_audit_list(const char *key, struct su_audit_ent... function sc_su_audit_clear (line 561) | static inline long sc_su_audit_clear(const char *key) function sc_bootlog (line 567) | static inline long sc_bootlog(const char *key) function sc_panic (line 573) | static inline long sc_panic(const char *key) function __sc_test (line 579) | static inline long __sc_test(const char *key, long a1, long a2, long a3) function sc_uts_set (line 593) | static inline long sc_uts_set(const char *key, const char *release, cons... function sc_uts_reset (line 606) | static inline long sc_uts_reset(const char *key) function sc_pathhide_add (line 613) | static inline long sc_pathhide_add(const char *key, const char *path) function sc_pathhide_remove (line 620) | static inline long sc_pathhide_remove(const char *key, const char *path) function sc_pathhide_list (line 627) | static inline long sc_pathhide_list(const char *key, char *out_buf, int ... function sc_pathhide_clear (line 634) | static inline long sc_pathhide_clear(const char *key) function sc_pathhide_enable (line 640) | static inline long sc_pathhide_enable(const char *key, int enable) function sc_pathhide_status (line 646) | static inline long sc_pathhide_status(const char *key) function sc_pathhide_uid_add (line 652) | static inline long sc_pathhide_uid_add(const char *key, int uid) function sc_pathhide_uid_remove (line 658) | static inline long sc_pathhide_uid_remove(const char *key, int uid) function sc_pathhide_uid_list (line 664) | static inline long sc_pathhide_uid_list(const char *key, char *out_buf, ... function sc_pathhide_uid_clear (line 671) | static inline long sc_pathhide_uid_clear(const char *key) function sc_pathhide_uid_mode (line 677) | static inline long sc_pathhide_uid_mode(const char *key, int enable) function sc_pathhide_filter_system (line 683) | static inline long sc_pathhide_filter_system(const char *key, int enable) function sc_netisolate_enable (line 689) | static inline long sc_netisolate_enable(const char *key, int enable) function sc_netisolate_status (line 695) | static inline long sc_netisolate_status(const char *key) function sc_netisolate_uid_add (line 701) | static inline long sc_netisolate_uid_add(const char *key, int uid) function sc_netisolate_uid_remove (line 707) | static inline long sc_netisolate_uid_remove(const char *key, int uid) function sc_netisolate_uid_list (line 713) | static inline long sc_netisolate_uid_list(const char *key, char *out_buf... function sc_netisolate_uid_clear (line 720) | static inline long sc_netisolate_uid_clear(const char *key) FILE: app/src/main/cpp/type_traits.hpp type lsplant (line 5) | namespace lsplant { type is_instance (line 7) | struct is_instance : public std::false_type {} type is_instance, U> (line 10) | struct is_instance, U> : public std::true_type {} FILE: app/src/main/cpp/uapi/scdefs.h function hash_key (line 9) | static inline long hash_key(const char *key) type kernel_storage (line 45) | struct kernel_storage type su_profile (line 94) | struct su_profile type su_audit_entry (line 103) | struct su_audit_entry FILE: app/src/main/java/me/bmax/apatch/services/RootServices.java class RootServices (line 23) | public class RootServices extends RootService { method onBind (line 26) | @Override method getUserIds (line 31) | List getUserIds() { method getInstalledPackagesAll (line 51) | ArrayList getInstalledPackagesAll(int flags) { method getInstalledPackagesAsUser (line 60) | List getInstalledPackagesAsUser(int flags, int userId) { class Stub (line 72) | class Stub extends IAPRootService.Stub { method getPackages (line 73) | @Override FILE: app/src/main/java/me/bmax/apatch/ui/webui/MimeUtil.java class MimeUtil (line 21) | class MimeUtil { method getMimeFromFileName (line 23) | public static String getMimeFromFileName(String fileName) { method guessHardcodedMime (line 46) | private static String guessHardcodedMime(String fileName) { FILE: app/src/main/java/me/bmax/apatch/ui/webui/SuFilePathHandler.java class SuFilePathHandler (line 43) | public final class SuFilePathHandler implements WebViewAssetLoader.PathH... method SuFilePathHandler (line 87) | public SuFilePathHandler(@NonNull Context context, @NonNull File direc... method isAllowedInternalStorageDir (line 102) | private boolean isAllowedInternalStorageDir(@NonNull Context context) ... method handle (line 132) | @Override method getCanonicalDirPath (line 161) | public static String getCanonicalDirPath(@NonNull File file) throws IO... method getCanonicalFileIfChild (line 167) | public static File getCanonicalFileIfChild(@NonNull File parent, @NonN... method handleSvgzStream (line 177) | @NonNull method openFile (line 183) | public static InputStream openFile(@NonNull File file, @NonNull Shell ... method guessMimeType (line 198) | @NonNull FILE: app/src/main/java/me/bmax/apatch/util/APatchKeyHelper.java class APatchKeyHelper (line 20) | public class APatchKeyHelper { method setSharedPreferences (line 43) | public static void setSharedPreferences(SharedPreferences sp) { method generateSecretKey (line 47) | private static void generateSecretKey() { method getRandomIV (line 72) | private static String getRandomIV() { method encrypt (line 83) | private static String encrypt(String orig) { method decrypt (line 99) | private static String decrypt(String encryptedData) { method shouldSkipStoreSuperKey (line 115) | public static boolean shouldSkipStoreSuperKey() { method clearConfigKey (line 119) | public static void clearConfigKey() { method setShouldSkipStoreSuperKey (line 125) | public static void setShouldSkipStoreSuperKey(boolean should) { method readSPSuperKey (line 130) | public static String readSPSuperKey() { method writeSPSuperKey (line 164) | public static void writeSPSuperKey(String key) { FILE: app/src/main/java/me/bmax/apatch/util/HanziToPinyin.java class HanziToPinyin (line 35) | public class HanziToPinyin { method HanziToPinyin (line 346) | protected HanziToPinyin(boolean hasChinaCollator) { method getInstance (line 350) | public static HanziToPinyin getInstance() { method doSelfValidation (line 384) | private static boolean doSelfValidation() { method getToken (line 403) | private Token getToken(char character) { method get (line 472) | public ArrayList get(final String input) { method addToken (line 520) | private void addToken( method toPinyinString (line 527) | public String toPinyinString(String string) { class Token (line 539) | public static class Token { method Token (line 561) | public Token() { method Token (line 563) | public Token(int type, String source, String target) { FILE: fpd/src/main.rs constant VERSION (line 4) | const VERSION: &str = env!("CARGO_PKG_VERSION"); constant HELP_URL (line 5) | const HELP_URL: &str = "https://fp.mysqil.com/"; function print_version (line 7) | fn print_version() { function print_help (line 11) | fn print_help() { function usage (line 15) | fn usage() -> ! { function main (line 20) | fn main() { FILE: fpd/src/prop_patch.rs constant RESETPROP (line 3) | const RESETPROP: &str = "/data/adb/ap/bin/resetprop"; type PropItem (line 5) | struct PropItem { constant PATCH_LIST (line 10) | const PATCH_LIST: &[PropItem] = &[ constant BOOT_KEYS (line 125) | const BOOT_KEYS: &[&str] = &["ro.bootmode", "ro.boot.bootmode", "vendor.... function set_prop (line 127) | fn set_prop(key: &str, value: &str) { function get_prop (line 134) | fn get_prop(key: &str) -> Option { function patch_boot_keys (line 150) | fn patch_boot_keys() { function run (line 160) | pub fn run() { FILE: fpd/src/umount.rs constant MNT_DETACH (line 5) | const MNT_DETACH: libc::c_int = 2; function umount_lazy (line 7) | fn umount_lazy(path: &str) -> bool { function config_path (line 21) | fn config_path() -> PathBuf { function run (line 31) | pub fn run() -> u32 {