#[rustfmt::skip]
use jnim::*;
pub struct Context {
__object: JObject,
__supper: JObject,
}
impl JNameMaker for Context {
const JAVA_PATH: &'static [u8] = b"android/content/Context\0";
}
impl JPlainMarker for Context {
fn class(env: Option<&JEnv>) -> Option<JClassID> {
static CACHE: CachedID = CachedID::new();
CACHE.get(|| JEnv::env(env)?.find_class(Self::JAVA_PATH))
}
}
impl core::ops::Deref for Context {
type Target = JObject;
fn deref(&self) -> &Self::Target {
&self.__supper
}
}
impl AsRef<JObject> for Context {
fn as_ref(&self) -> &JObject {
&self.__supper
}
}
impl Context {
pub const ACCESSIBILITY_SERVICE: &'static str = "accessibility";
pub const ACCOUNT_SERVICE: &'static str = "account";
pub const ACTIVITY_SERVICE: &'static str = "activity";
pub const ALARM_SERVICE: &'static str = "alarm";
pub const APPWIDGET_SERVICE: &'static str = "appwidget";
pub const APP_OPS_SERVICE: &'static str = "appops";
pub const APP_SEARCH_SERVICE: &'static str = "app_search";
pub const AUDIO_SERVICE: &'static str = "audio";
pub const BATTERY_SERVICE: &'static str = "batterymanager";
pub const BIND_ABOVE_CLIENT: i32 = 8i32;
pub const BIND_ADJUST_WITH_ACTIVITY: i32 = 128i32;
pub const BIND_ALLOW_OOM_MANAGEMENT: i32 = 16i32;
pub const BIND_AUTO_CREATE: i32 = 1i32;
pub const BIND_DEBUG_UNBIND: i32 = 2i32;
pub const BIND_EXTERNAL_SERVICE: i32 = -2147483648i32;
pub const BIND_IMPORTANT: i32 = 64i32;
pub const BIND_INCLUDE_CAPABILITIES: i32 = 4096i32;
pub const BIND_NOT_FOREGROUND: i32 = 4i32;
pub const BIND_NOT_PERCEPTIBLE: i32 = 256i32;
pub const BIND_WAIVE_PRIORITY: i32 = 32i32;
pub const BIOMETRIC_SERVICE: &'static str = "biometric";
pub const BLOB_STORE_SERVICE: &'static str = "blob_store";
pub const BLUETOOTH_SERVICE: &'static str = "bluetooth";
pub const BUGREPORT_SERVICE: &'static str = "bugreport";
pub const CAMERA_SERVICE: &'static str = "camera";
pub const CAPTIONING_SERVICE: &'static str = "captioning";
pub const CARRIER_CONFIG_SERVICE: &'static str = "carrier_config";
pub const CLIPBOARD_SERVICE: &'static str = "clipboard";
pub const COMPANION_DEVICE_SERVICE: &'static str = "companiondevice";
pub const CONNECTIVITY_DIAGNOSTICS_SERVICE: &'static str = "connectivity_diagnostics";
pub const CONNECTIVITY_SERVICE: &'static str = "connectivity";
pub const CONSUMER_IR_SERVICE: &'static str = "consumer_ir";
pub const CONTEXT_IGNORE_SECURITY: i32 = 2i32;
pub const CONTEXT_INCLUDE_CODE: i32 = 1i32;
pub const CONTEXT_RESTRICTED: i32 = 4i32;
pub const CROSS_PROFILE_APPS_SERVICE: &'static str = "crossprofileapps";
pub const DEVICE_POLICY_SERVICE: &'static str = "device_policy";
pub const DISPLAY_HASH_SERVICE: &'static str = "display_hash";
pub const DISPLAY_SERVICE: &'static str = "display";
pub const DOMAIN_VERIFICATION_SERVICE: &'static str = "domain_verification";
pub const DOWNLOAD_SERVICE: &'static str = "download";
pub const DROPBOX_SERVICE: &'static str = "dropbox";
pub const EUICC_SERVICE: &'static str = "euicc";
pub const FILE_INTEGRITY_SERVICE: &'static str = "file_integrity";
pub const FINGERPRINT_SERVICE: &'static str = "fingerprint";
pub const GAME_SERVICE: &'static str = "game";
pub const HARDWARE_PROPERTIES_SERVICE: &'static str = "hardware_properties";
pub const INPUT_METHOD_SERVICE: &'static str = "input_method";
pub const INPUT_SERVICE: &'static str = "input";
pub const IPSEC_SERVICE: &'static str = "ipsec";
pub const JOB_SCHEDULER_SERVICE: &'static str = "jobscheduler";
pub const KEYGUARD_SERVICE: &'static str = "keyguard";
pub const LAUNCHER_APPS_SERVICE: &'static str = "launcherapps";
pub const LAYOUT_INFLATER_SERVICE: &'static str = "layout_inflater";
pub const LOCALE_SERVICE: &'static str = "locale";
pub const LOCATION_SERVICE: &'static str = "location";
pub const MEDIA_COMMUNICATION_SERVICE: &'static str = "media_communication";
pub const MEDIA_METRICS_SERVICE: &'static str = "media_metrics";
pub const MEDIA_PROJECTION_SERVICE: &'static str = "media_projection";
pub const MEDIA_ROUTER_SERVICE: &'static str = "media_router";
pub const MEDIA_SESSION_SERVICE: &'static str = "media_session";
pub const MIDI_SERVICE: &'static str = "midi";
pub const MODE_APPEND: i32 = 32768i32;
pub const MODE_ENABLE_WRITE_AHEAD_LOGGING: i32 = 8i32;
pub const MODE_MULTI_PROCESS: i32 = 4i32;
pub const MODE_NO_LOCALIZED_COLLATORS: i32 = 16i32;
pub const MODE_PRIVATE: i32 = 0i32;
pub const MODE_WORLD_READABLE: i32 = 1i32;
pub const MODE_WORLD_WRITEABLE: i32 = 2i32;
pub const NETWORK_STATS_SERVICE: &'static str = "netstats";
pub const NFC_SERVICE: &'static str = "nfc";
pub const NOTIFICATION_SERVICE: &'static str = "notification";
pub const NSD_SERVICE: &'static str = "servicediscovery";
pub const PEOPLE_SERVICE: &'static str = "people";
pub const PERFORMANCE_HINT_SERVICE: &'static str = "performance_hint";
pub const POWER_SERVICE: &'static str = "power";
pub const PRINT_SERVICE: &'static str = "print";
pub const RECEIVER_EXPORTED: i32 = 2i32;
pub const RECEIVER_NOT_EXPORTED: i32 = 4i32;
pub const RECEIVER_VISIBLE_TO_INSTANT_APPS: i32 = 1i32;
pub const RESTRICTIONS_SERVICE: &'static str = "restrictions";
pub const ROLE_SERVICE: &'static str = "role";
pub const SEARCH_SERVICE: &'static str = "search";
pub const SENSOR_SERVICE: &'static str = "sensor";
pub const SHORTCUT_SERVICE: &'static str = "shortcut";
pub const STATUS_BAR_SERVICE: &'static str = "statusbar";
pub const STORAGE_SERVICE: &'static str = "storage";
pub const STORAGE_STATS_SERVICE: &'static str = "storagestats";
pub const SYSTEM_HEALTH_SERVICE: &'static str = "systemhealth";
pub const TELECOM_SERVICE: &'static str = "telecom";
pub const TELEPHONY_IMS_SERVICE: &'static str = "telephony_ims";
pub const TELEPHONY_SERVICE: &'static str = "phone";
pub const TELEPHONY_SUBSCRIPTION_SERVICE: &'static str = "telephony_subscription_service";
pub const TEXT_CLASSIFICATION_SERVICE: &'static str = "textclassification";
pub const TEXT_SERVICES_MANAGER_SERVICE: &'static str = "textservices";
pub const TV_INPUT_SERVICE: &'static str = "tv_input";
pub const TV_INTERACTIVE_APP_SERVICE: &'static str = "tv_interactive_app";
pub const UI_MODE_SERVICE: &'static str = "uimode";
pub const USAGE_STATS_SERVICE: &'static str = "usagestats";
pub const USB_SERVICE: &'static str = "usb";
pub const USER_SERVICE: &'static str = "user";
pub const VIBRATOR_MANAGER_SERVICE: &'static str = "vibrator_manager";
pub const VIBRATOR_SERVICE: &'static str = "vibrator";
pub const VPN_MANAGEMENT_SERVICE: &'static str = "vpn_management";
pub const WALLPAPER_SERVICE: &'static str = "wallpaper";
pub const WIFI_AWARE_SERVICE: &'static str = "wifiaware";
pub const WIFI_P2_P_SERVICE: &'static str = "wifip2p";
pub const WIFI_RTT_RANGING_SERVICE: &'static str = "wifirtt";
pub const WIFI_SERVICE: &'static str = "wifi";
pub const WINDOW_SERVICE: &'static str = "window";
}
impl Context {
pub fn get_assets<'a>(&'a self, env: &'a JEnv) -> Option<&'a crate::android::content::res::AssetManager> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getAssets\0", b"()Landroid/content/res/AssetManager;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_resources<'a>(&'a self, env: &'a JEnv) -> Option<&'a crate::android::content::res::Resources> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getResources\0", b"()Landroid/content/res/Resources;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_package_manager<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getPackageManager\0", b"()Landroid/content/pm/PackageManager;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_content_resolver<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getContentResolver\0", b"()Landroid/content/ContentResolver;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_main_looper<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getMainLooper\0", b"()Landroid/os/Looper;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_main_executor<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getMainExecutor\0", b"()Ljava/util/concurrent/Executor;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_application_context<'a>(&'a self, env: &'a JEnv) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getApplicationContext\0", b"()Landroid/content/Context;\0"))?
.call(env, self.as_ref(), ())
}
pub fn register_component_callbacks<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a crate::android::content::ComponentCallbacksObject,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"registerComponentCallbacks\0", b"(Landroid/content/ComponentCallbacks;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn unregister_component_callbacks<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a crate::android::content::ComponentCallbacksObject,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"unregisterComponentCallbacks\0", b"(Landroid/content/ComponentCallbacks;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_text<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getText\0", b"(I)Ljava/lang/CharSequence;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_string<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getString\0", b"(I)Ljava/lang/String;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_string_v2<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: &'a JArrayObject<JObject>) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getString\0", b"(I[Ljava/lang/Object;)Ljava/lang/String;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn get_color<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getColor\0", b"(I)I\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_drawable<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getDrawable\0", b"(I)Landroid/graphics/drawable/Drawable;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_color_state_list<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getColorStateList\0", b"(I)Landroid/content/res/ColorStateList;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn set_theme<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"setTheme\0", b"(I)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_theme<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getTheme\0", b"()Landroid/content/res/Resources$Theme;\0"))?
.call(env, self.as_ref(), ())
}
pub fn obtain_styled_attributes<'a>(&'a self, env: &'a JEnv, arg0: &'a JArrayPrim<JInt>) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"obtainStyledAttributes\0", b"([I)Landroid/content/res/TypedArray;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn obtain_styled_attributes_v2<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: &'a JArrayPrim<JInt>) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"obtainStyledAttributes\0", b"(I[I)Landroid/content/res/TypedArray;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn obtain_styled_attributes_v3<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JArrayPrim<JInt>) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"obtainStyledAttributes\0",
b"(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn obtain_styled_attributes_v4<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JArrayPrim<JInt>,
arg2: JInt,
arg3: JInt,
) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"obtainStyledAttributes\0",
b"(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn get_class_loader<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getClassLoader\0", b"()Ljava/lang/ClassLoader;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_package_name<'a>(&'a self, env: &'a JEnv) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getPackageName\0", b"()Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_op_package_name<'a>(&'a self, env: &'a JEnv) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getOpPackageName\0", b"()Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_attribution_tag<'a>(&'a self, env: &'a JEnv) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getAttributionTag\0", b"()Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_attribution_source<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getAttributionSource\0", b"()Landroid/content/AttributionSource;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_params<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getParams\0", b"()Landroid/content/ContextParams;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_application_info<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getApplicationInfo\0", b"()Landroid/content/pm/ApplicationInfo;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_package_resource_path<'a>(&'a self, env: &'a JEnv) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getPackageResourcePath\0", b"()Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_package_code_path<'a>(&'a self, env: &'a JEnv) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getPackageCodePath\0", b"()Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_shared_preferences<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"getSharedPreferences\0",
b"(Ljava/lang/String;I)Landroid/content/SharedPreferences;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn move_shared_preferences_from<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a crate::android::content::Context,
arg1: &'a JString,
) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"moveSharedPreferencesFrom\0",
b"(Landroid/content/Context;Ljava/lang/String;)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn delete_shared_preferences<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"deleteSharedPreferences\0", b"(Ljava/lang/String;)Z\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn open_file_input<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"openFileInput\0", b"(Ljava/lang/String;)Ljava/io/FileInputStream;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn open_file_output<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"openFileOutput\0", b"(Ljava/lang/String;I)Ljava/io/FileOutputStream;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn delete_file<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"deleteFile\0", b"(Ljava/lang/String;)Z\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_file_stream_path<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getFileStreamPath\0", b"(Ljava/lang/String;)Ljava/io/File;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_data_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getDataDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_files_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getFilesDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_no_backup_files_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getNoBackupFilesDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_external_files_dir<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getExternalFilesDir\0", b"(Ljava/lang/String;)Ljava/io/File;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_external_files_dirs<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JArrayObject<JObject>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getExternalFilesDirs\0", b"(Ljava/lang/String;)[Ljava/io/File;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_obb_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getObbDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_obb_dirs<'a>(&'a self, env: &'a JEnv) -> Option<&'a JArrayObject<JObject>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getObbDirs\0", b"()[Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_cache_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getCacheDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_code_cache_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getCodeCacheDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_external_cache_dir<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getExternalCacheDir\0", b"()Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_external_cache_dirs<'a>(&'a self, env: &'a JEnv) -> Option<&'a JArrayObject<JObject>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getExternalCacheDirs\0", b"()[Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_external_media_dirs<'a>(&'a self, env: &'a JEnv) -> Option<&'a JArrayObject<JObject>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getExternalMediaDirs\0", b"()[Ljava/io/File;\0"))?
.call(env, self.as_ref(), ())
}
pub fn file_list<'a>(&'a self, env: &'a JEnv) -> Option<&'a JArrayObject<JString>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"fileList\0", b"()[Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_dir<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getDir\0", b"(Ljava/lang/String;I)Ljava/io/File;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn open_or_create_database<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt, arg2: &'a JObject) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"openOrCreateDatabase\0", b"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,))
}
pub fn open_or_create_database_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JString,
arg1: JInt,
arg2: &'a JObject,
arg3: &'a JObject,
) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"openOrCreateDatabase\0", b"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,))
}
pub fn move_database_from<'a>(&'a self, env: &'a JEnv, arg0: &'a crate::android::content::Context, arg1: &'a JString) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"moveDatabaseFrom\0", b"(Landroid/content/Context;Ljava/lang/String;)Z\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn delete_database<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"deleteDatabase\0", b"(Ljava/lang/String;)Z\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_database_path<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getDatabasePath\0", b"(Ljava/lang/String;)Ljava/io/File;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn database_list<'a>(&'a self, env: &'a JEnv) -> Option<&'a JArrayObject<JString>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"databaseList\0", b"()[Ljava/lang/String;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_wallpaper<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getWallpaper\0", b"()Landroid/graphics/drawable/Drawable;\0"))?
.call(env, self.as_ref(), ())
}
pub fn peek_wallpaper<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"peekWallpaper\0", b"()Landroid/graphics/drawable/Drawable;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_wallpaper_desired_minimum_width<'a>(&'a self, env: &'a JEnv) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getWallpaperDesiredMinimumWidth\0", b"()I\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_wallpaper_desired_minimum_height<'a>(&'a self, env: &'a JEnv) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getWallpaperDesiredMinimumHeight\0", b"()I\0"))?
.call(env, self.as_ref(), ())
}
pub fn set_wallpaper<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"setWallpaper\0", b"(Landroid/graphics/Bitmap;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn set_wallpaper_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"setWallpaper\0", b"(Ljava/io/InputStream;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn clear_wallpaper<'a>(&'a self, env: &'a JEnv) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"clearWallpaper\0", b"()V\0"))?
.call(env, self.as_ref(), ())
}
pub fn start_activity<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"startActivity\0", b"(Landroid/content/Intent;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn start_activity_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a crate::android::os::Bundle) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"startActivity\0", b"(Landroid/content/Intent;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn start_activities<'a>(&'a self, env: &'a JEnv, arg0: &'a JArrayObject<JObject>) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"startActivities\0", b"([Landroid/content/Intent;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn start_activities_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JArrayObject<JObject>,
arg1: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"startActivities\0", b"([Landroid/content/Intent;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn start_intent_sender<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: JInt,
arg3: JInt,
arg4: JInt,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"startIntentSender\0",
b"(Landroid/content/IntentSender;Landroid/content/Intent;III)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4))
}
pub fn start_intent_sender_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: JInt,
arg3: JInt,
arg4: JInt,
arg5: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"startIntentSender\0",
b"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4, arg5))
}
pub fn send_broadcast<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendBroadcast\0", b"(Landroid/content/Intent;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn send_broadcast_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendBroadcast\0", b"(Landroid/content/Intent;Ljava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_broadcast_with_multiple_permissions<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JArrayObject<JString>,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"sendBroadcastWithMultiplePermissions\0",
b"(Landroid/content/Intent;[Ljava/lang/String;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_ordered_broadcast<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendOrderedBroadcast\0", b"(Landroid/content/Intent;Ljava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_ordered_broadcast_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JString,
arg2: &'a JObject,
arg3: &'a JObject,
arg4: JInt,
arg5: &'a JString,
arg6: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendOrderedBroadcast\0", b"(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,arg5,arg6,))
}
pub fn send_broadcast_as_user<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"sendBroadcastAsUser\0",
b"(Landroid/content/Intent;Landroid/os/UserHandle;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_broadcast_as_user_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject, arg2: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"sendBroadcastAsUser\0",
b"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn send_ordered_broadcast_as_user<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: &'a JString,
arg3: &'a JObject,
arg4: &'a JObject,
arg5: JInt,
arg6: &'a JString,
arg7: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendOrderedBroadcastAsUser\0", b"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,))
}
pub fn send_ordered_broadcast_v3<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JString,
arg2: &'a JString,
arg3: &'a JObject,
arg4: &'a JObject,
arg5: JInt,
arg6: &'a JString,
arg7: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendOrderedBroadcast\0", b"(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,))
}
pub fn send_sticky_broadcast<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendStickyBroadcast\0", b"(Landroid/content/Intent;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn send_sticky_broadcast_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a crate::android::os::Bundle) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendStickyBroadcast\0", b"(Landroid/content/Intent;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_sticky_ordered_broadcast<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: &'a JObject,
arg3: JInt,
arg4: &'a JString,
arg5: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendStickyOrderedBroadcast\0", b"(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,arg5,))
}
pub fn remove_sticky_broadcast<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"removeStickyBroadcast\0", b"(Landroid/content/Intent;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn send_sticky_broadcast_as_user<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"sendStickyBroadcastAsUser\0",
b"(Landroid/content/Intent;Landroid/os/UserHandle;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn send_sticky_ordered_broadcast_as_user<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: &'a JObject,
arg3: &'a JObject,
arg4: JInt,
arg5: &'a JString,
arg6: &'a crate::android::os::Bundle,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"sendStickyOrderedBroadcastAsUser\0", b"(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,arg5,arg6,))
}
pub fn remove_sticky_broadcast_as_user<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"removeStickyBroadcastAsUser\0",
b"(Landroid/content/Intent;Landroid/os/UserHandle;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn register_receiver<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"registerReceiver\0",
b"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn register_receiver_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject, arg2: JInt) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"registerReceiver\0",
b"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn register_receiver_v3<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: &'a JString,
arg3: &'a JObject,
) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"registerReceiver\0", b"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,))
}
pub fn register_receiver_v4<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: &'a JString,
arg3: &'a JObject,
arg4: JInt,
) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"registerReceiver\0", b"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;\0"))?
.call(env, self.as_ref(), (arg0,arg1,arg2,arg3,arg4,))
}
pub fn unregister_receiver<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"unregisterReceiver\0", b"(Landroid/content/BroadcastReceiver;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn start_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"startService\0",
b"(Landroid/content/Intent;)Landroid/content/ComponentName;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn start_foreground_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"startForegroundService\0",
b"(Landroid/content/Intent;)Landroid/content/ComponentName;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn stop_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"stopService\0", b"(Landroid/content/Intent;)Z\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn bind_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: &'a JObject, arg2: JInt) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"bindService\0",
b"(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn bind_service_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: &'a JObject,
arg3: &'a JObject,
) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"bindService\0",
b"(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn bind_isolated_service<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: &'a JString,
arg3: &'a JObject,
arg4: &'a JObject,
) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"bindIsolatedService\0",
b"(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4))
}
pub fn bind_service_as_user<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JObject,
arg2: JInt,
arg3: &'a JObject,
) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"bindServiceAsUser\0",
b"(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn update_service_group<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt, arg2: JInt) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"updateServiceGroup\0", b"(Landroid/content/ServiceConnection;II)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn unbind_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"unbindService\0", b"(Landroid/content/ServiceConnection;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn start_instrumentation<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JString,
arg2: &'a crate::android::os::Bundle,
) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"startInstrumentation\0",
b"(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn get_system_service<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getSystemService\0", b"(Ljava/lang/String;)Ljava/lang/Object;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_system_service_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getSystemService\0", b"(Ljava/lang/Class;)Ljava/lang/Object;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn get_system_service_name<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a JString> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getSystemServiceName\0", b"(Ljava/lang/Class;)Ljava/lang/String;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn check_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt, arg2: JInt) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkPermission\0", b"(Ljava/lang/String;II)I\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn check_calling_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingPermission\0", b"(Ljava/lang/String;)I\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn check_calling_or_self_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingOrSelfPermission\0", b"(Ljava/lang/String;)I\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn check_self_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkSelfPermission\0", b"(Ljava/lang/String;)I\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn enforce_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: JInt, arg2: JInt, arg3: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"enforcePermission\0", b"(Ljava/lang/String;IILjava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn enforce_calling_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"enforceCallingPermission\0", b"(Ljava/lang/String;Ljava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn enforce_calling_or_self_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"enforceCallingOrSelfPermission\0",
b"(Ljava/lang/String;Ljava/lang/String;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn grant_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: &'a JObject, arg2: JInt) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"grantUriPermission\0", b"(Ljava/lang/String;Landroid/net/Uri;I)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn revoke_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"revokeUriPermission\0", b"(Landroid/net/Uri;I)V\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn revoke_uri_permission_v2<'a>(&'a self, env: &'a JEnv, arg0: &'a JString, arg1: &'a JObject, arg2: JInt) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"revokeUriPermission\0", b"(Ljava/lang/String;Landroid/net/Uri;I)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn check_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt, arg2: JInt, arg3: JInt) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkUriPermission\0", b"(Landroid/net/Uri;III)I\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn check_uri_permissions<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: JInt,
arg3: JInt,
) -> Option<&'a JArrayPrim<JInt>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkUriPermissions\0", b"(Ljava/util/List;III)[I\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3))
}
pub fn check_calling_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingUriPermission\0", b"(Landroid/net/Uri;I)I\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn check_calling_uri_permissions<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt) -> Option<&'a JArrayPrim<JInt>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingUriPermissions\0", b"(Ljava/util/List;I)[I\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn check_calling_or_self_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingOrSelfUriPermission\0", b"(Landroid/net/Uri;I)I\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn check_calling_or_self_uri_permissions<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
) -> Option<&'a JArrayPrim<JInt>> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"checkCallingOrSelfUriPermissions\0", b"(Ljava/util/List;I)[I\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn check_uri_permission_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JString,
arg2: &'a JString,
arg3: JInt,
arg4: JInt,
arg5: JInt,
) -> Option<JInt> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"checkUriPermission\0",
b"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4, arg5))
}
pub fn enforce_uri_permission<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: JInt,
arg3: JInt,
arg4: &'a JString,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"enforceUriPermission\0", b"(Landroid/net/Uri;IIILjava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4))
}
pub fn enforce_calling_uri_permission<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject, arg1: JInt, arg2: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"enforceCallingUriPermission\0", b"(Landroid/net/Uri;ILjava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn enforce_calling_or_self_uri_permission<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: &'a JString,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"enforceCallingOrSelfUriPermission\0",
b"(Landroid/net/Uri;ILjava/lang/String;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn enforce_uri_permission_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: &'a JString,
arg2: &'a JString,
arg3: JInt,
arg4: JInt,
arg5: JInt,
arg6: &'a JString,
) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"enforceUriPermission\0",
b"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2, arg3, arg4, arg5, arg6))
}
pub fn revoke_self_permission_on_kill<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"revokeSelfPermissionOnKill\0", b"(Ljava/lang/String;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn revoke_self_permissions_on_kill<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<()> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"revokeSelfPermissionsOnKill\0", b"(Ljava/util/Collection;)V\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_package_context<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JString,
arg1: JInt,
) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"createPackageContext\0", b"(Ljava/lang/String;I)Landroid/content/Context;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn create_context_for_split<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"createContextForSplit\0", b"(Ljava/lang/String;)Landroid/content/Context;\0"))?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_configuration_context<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a crate::android::content::res::Configuration,
) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"createConfigurationContext\0",
b"(Landroid/content/res/Configuration;)Landroid/content/Context;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_display_context<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"createDisplayContext\0",
b"(Landroid/view/Display;)Landroid/content/Context;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_window_context<'a>(
&'a self,
env: &'a JEnv,
arg0: JInt,
arg1: &'a crate::android::os::Bundle,
) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"createWindowContext\0", b"(ILandroid/os/Bundle;)Landroid/content/Context;\0"))?
.call(env, self.as_ref(), (arg0, arg1))
}
pub fn create_window_context_v2<'a>(
&'a self,
env: &'a JEnv,
arg0: &'a JObject,
arg1: JInt,
arg2: &'a crate::android::os::Bundle,
) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"createWindowContext\0",
b"(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;\0",
)
})?
.call(env, self.as_ref(), (arg0, arg1, arg2))
}
pub fn create_context<'a>(&'a self, env: &'a JEnv, arg0: &'a JObject) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"createContext\0",
b"(Landroid/content/ContextParams;)Landroid/content/Context;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_attribution_context<'a>(&'a self, env: &'a JEnv, arg0: &'a JString) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| {
Self::class(Some(env))?.method(
env,
b"createAttributionContext\0",
b"(Ljava/lang/String;)Landroid/content/Context;\0",
)
})?
.call(env, self.as_ref(), (arg0,))
}
pub fn create_device_protected_storage_context<'a>(&'a self, env: &'a JEnv) -> Option<&'a crate::android::content::Context> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"createDeviceProtectedStorageContext\0", b"()Landroid/content/Context;\0"))?
.call(env, self.as_ref(), ())
}
pub fn get_display<'a>(&'a self, env: &'a JEnv) -> Option<&'a JObject> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"getDisplay\0", b"()Landroid/view/Display;\0"))?
.call(env, self.as_ref(), ())
}
pub fn is_restricted<'a>(&'a self, env: &'a JEnv) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"isRestricted\0", b"()Z\0"))?
.call(env, self.as_ref(), ())
}
pub fn is_device_protected_storage<'a>(&'a self, env: &'a JEnv) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"isDeviceProtectedStorage\0", b"()Z\0"))?
.call(env, self.as_ref(), ())
}
pub fn is_ui_context<'a>(&'a self, env: &'a JEnv) -> Option<JBool> {
static CACHE: CachedID = CachedID::new();
CACHE
.get(|| Self::class(Some(env))?.method(env, b"isUiContext\0", b"()Z\0"))?
.call(env, self.as_ref(), ())
}
}
#[test]
fn test_type_zero() {
assert_eq!(0, std::mem::size_of::<Context>());
}