import typing

import android.app
import android.app.appsearch
import android.appwidget
import android.content
import android.content.res
import android.graphics
import android.graphics.drawable
import android.icu.util
import android.net
import android.os
import android.util
import java
import java.chaquopy
import java.io
import java.lang
import java.security
import java.security.cert
import java.util
import java.util.concurrent
import java.util.function

class ActivityInfo(ComponentInfo, android.os.Parcelable):
    COLOR_MODE_DEFAULT: typing.ClassVar[int] = ...
    COLOR_MODE_HDR: typing.ClassVar[int] = ...
    COLOR_MODE_WIDE_COLOR_GAMUT: typing.ClassVar[int] = ...
    CONFIG_ASSETS_PATHS: typing.ClassVar[int] = ...
    CONFIG_COLOR_MODE: typing.ClassVar[int] = ...
    CONFIG_DENSITY: typing.ClassVar[int] = ...
    CONFIG_FONT_SCALE: typing.ClassVar[int] = ...
    CONFIG_FONT_WEIGHT_ADJUSTMENT: typing.ClassVar[int] = ...
    CONFIG_GRAMMATICAL_GENDER: typing.ClassVar[int] = ...
    CONFIG_KEYBOARD: typing.ClassVar[int] = ...
    CONFIG_KEYBOARD_HIDDEN: typing.ClassVar[int] = ...
    CONFIG_LAYOUT_DIRECTION: typing.ClassVar[int] = ...
    CONFIG_LOCALE: typing.ClassVar[int] = ...
    CONFIG_MCC: typing.ClassVar[int] = ...
    CONFIG_MNC: typing.ClassVar[int] = ...
    CONFIG_NAVIGATION: typing.ClassVar[int] = ...
    CONFIG_ORIENTATION: typing.ClassVar[int] = ...
    CONFIG_RESOURCES_UNUSED: typing.ClassVar[int] = ...
    CONFIG_SCREEN_LAYOUT: typing.ClassVar[int] = ...
    CONFIG_SCREEN_SIZE: typing.ClassVar[int] = ...
    CONFIG_SMALLEST_SCREEN_SIZE: typing.ClassVar[int] = ...
    CONFIG_TOUCHSCREEN: typing.ClassVar[int] = ...
    CONFIG_UI_MODE: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ActivityInfo]] = ...
    DOCUMENT_LAUNCH_ALWAYS: typing.ClassVar[int] = ...
    DOCUMENT_LAUNCH_INTO_EXISTING: typing.ClassVar[int] = ...
    DOCUMENT_LAUNCH_NEVER: typing.ClassVar[int] = ...
    DOCUMENT_LAUNCH_NONE: typing.ClassVar[int] = ...
    FLAG_ALLOW_TASK_REPARENTING: typing.ClassVar[int] = ...
    FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING: typing.ClassVar[int] = ...
    FLAG_ALWAYS_RETAIN_TASK_STATE: typing.ClassVar[int] = ...
    FLAG_AUTO_REMOVE_FROM_RECENTS: typing.ClassVar[int] = ...
    FLAG_CLEAR_TASK_ON_LAUNCH: typing.ClassVar[int] = ...
    FLAG_ENABLE_VR_MODE: typing.ClassVar[int] = ...
    FLAG_EXCLUDE_FROM_RECENTS: typing.ClassVar[int] = ...
    FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS: typing.ClassVar[int] = ...
    FLAG_FINISH_ON_TASK_LAUNCH: typing.ClassVar[int] = ...
    FLAG_HARDWARE_ACCELERATED: typing.ClassVar[int] = ...
    FLAG_IMMERSIVE: typing.ClassVar[int] = ...
    FLAG_MULTIPROCESS: typing.ClassVar[int] = ...
    FLAG_NO_HISTORY: typing.ClassVar[int] = ...
    FLAG_PREFER_MINIMAL_POST_PROCESSING: typing.ClassVar[int] = ...
    FLAG_RELINQUISH_TASK_IDENTITY: typing.ClassVar[int] = ...
    FLAG_RESUME_WHILE_PAUSING: typing.ClassVar[int] = ...
    FLAG_SINGLE_USER: typing.ClassVar[int] = ...
    FLAG_STATE_NOT_NEEDED: typing.ClassVar[int] = ...
    LAUNCH_MULTIPLE: typing.ClassVar[int] = ...
    LAUNCH_SINGLE_INSTANCE: typing.ClassVar[int] = ...
    LAUNCH_SINGLE_INSTANCE_PER_TASK: typing.ClassVar[int] = ...
    LAUNCH_SINGLE_TASK: typing.ClassVar[int] = ...
    LAUNCH_SINGLE_TOP: typing.ClassVar[int] = ...
    PERSIST_ACROSS_REBOOTS: typing.ClassVar[int] = ...
    PERSIST_NEVER: typing.ClassVar[int] = ...
    PERSIST_ROOT_ONLY: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_BEHIND: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_FULL_SENSOR: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_FULL_USER: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_LANDSCAPE: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_LOCKED: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_NOSENSOR: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_PORTRAIT: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_REVERSE_LANDSCAPE: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_REVERSE_PORTRAIT: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_SENSOR: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_SENSOR_LANDSCAPE: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_SENSOR_PORTRAIT: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_UNSPECIFIED: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_USER: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_USER_LANDSCAPE: typing.ClassVar[int] = ...
    SCREEN_ORIENTATION_USER_PORTRAIT: typing.ClassVar[int] = ...
    UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW: typing.ClassVar[int] = ...
    colorMode: int = ...
    configChanges: int = ...
    documentLaunchMode: int = ...
    flags: int = ...
    launchMode: int = ...
    maxRecents: int = ...
    parentActivityName: str = ...
    permission: str = ...
    persistableMode: int = ...
    requiredDisplayCategory: str = ...
    screenOrientation: int = ...
    softInputMode: int = ...
    targetActivity: str = ...
    taskAffinity: str = ...
    theme: int = ...
    uiOptions: int = ...
    windowLayout: ActivityInfo.WindowLayout = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ActivityInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def getKnownActivityEmbeddingCerts(self) -> java.util.Set[java.lang.String]: ...
    def getThemeResource(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

    class WindowLayout(java.lang.Object):
        gravity: int = ...
        height: int = ...
        heightFraction: float = ...
        minHeight: int = ...
        minWidth: int = ...
        width: int = ...
        widthFraction: float = ...
        def __init__(self, width: int | java.jint | java.lang.Integer, widthFraction: float | java.jfloat | java.lang.Float, height: int | java.jint | java.lang.Integer, heightFraction: float | java.jfloat | java.lang.Float, gravity: int | java.jint | java.lang.Integer, minWidth: int | java.jint | java.lang.Integer, minHeight: int | java.jint | java.lang.Integer, /) -> None: ...

class ApkChecksum(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ApkChecksum]] = ...
    def describeContents(self) -> int: ...
    def getInstallerCertificate(self) -> java.security.cert.Certificate | None: ...
    def getInstallerPackageName(self) -> str | None: ...
    def getSplitName(self) -> str | None: ...
    def getType(self) -> int: ...
    def getValue(self) -> java.chaquopy.JavaArrayJByte: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ApplicationInfo(PackageItemInfo, android.os.Parcelable):
    CATEGORY_ACCESSIBILITY: typing.ClassVar[int] = ...
    CATEGORY_AUDIO: typing.ClassVar[int] = ...
    CATEGORY_GAME: typing.ClassVar[int] = ...
    CATEGORY_IMAGE: typing.ClassVar[int] = ...
    CATEGORY_MAPS: typing.ClassVar[int] = ...
    CATEGORY_NEWS: typing.ClassVar[int] = ...
    CATEGORY_PRODUCTIVITY: typing.ClassVar[int] = ...
    CATEGORY_SOCIAL: typing.ClassVar[int] = ...
    CATEGORY_UNDEFINED: typing.ClassVar[int] = ...
    CATEGORY_VIDEO: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ApplicationInfo]] = ...
    FLAG_ALLOW_BACKUP: typing.ClassVar[int] = ...
    FLAG_ALLOW_CLEAR_USER_DATA: typing.ClassVar[int] = ...
    FLAG_ALLOW_TASK_REPARENTING: typing.ClassVar[int] = ...
    FLAG_DEBUGGABLE: typing.ClassVar[int] = ...
    FLAG_EXTERNAL_STORAGE: typing.ClassVar[int] = ...
    FLAG_EXTRACT_NATIVE_LIBS: typing.ClassVar[int] = ...
    FLAG_FACTORY_TEST: typing.ClassVar[int] = ...
    FLAG_FULL_BACKUP_ONLY: typing.ClassVar[int] = ...
    FLAG_HARDWARE_ACCELERATED: typing.ClassVar[int] = ...
    FLAG_HAS_CODE: typing.ClassVar[int] = ...
    FLAG_INSTALLED: typing.ClassVar[int] = ...
    FLAG_IS_DATA_ONLY: typing.ClassVar[int] = ...
    FLAG_IS_GAME: typing.ClassVar[int] = ...
    FLAG_KILL_AFTER_RESTORE: typing.ClassVar[int] = ...
    FLAG_LARGE_HEAP: typing.ClassVar[int] = ...
    FLAG_MULTIARCH: typing.ClassVar[int] = ...
    FLAG_PERSISTENT: typing.ClassVar[int] = ...
    FLAG_RESIZEABLE_FOR_SCREENS: typing.ClassVar[int] = ...
    FLAG_RESTORE_ANY_VERSION: typing.ClassVar[int] = ...
    FLAG_STOPPED: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_LARGE_SCREENS: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_NORMAL_SCREENS: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_RTL: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_SCREEN_DENSITIES: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_SMALL_SCREENS: typing.ClassVar[int] = ...
    FLAG_SUPPORTS_XLARGE_SCREENS: typing.ClassVar[int] = ...
    FLAG_SUSPENDED: typing.ClassVar[int] = ...
    FLAG_SYSTEM: typing.ClassVar[int] = ...
    FLAG_TEST_ONLY: typing.ClassVar[int] = ...
    FLAG_UPDATED_SYSTEM_APP: typing.ClassVar[int] = ...
    FLAG_USES_CLEARTEXT_TRAFFIC: typing.ClassVar[int] = ...
    FLAG_VM_SAFE_MODE: typing.ClassVar[int] = ...
    GWP_ASAN_ALWAYS: typing.ClassVar[int] = ...
    GWP_ASAN_DEFAULT: typing.ClassVar[int] = ...
    GWP_ASAN_NEVER: typing.ClassVar[int] = ...
    MEMTAG_ASYNC: typing.ClassVar[int] = ...
    MEMTAG_DEFAULT: typing.ClassVar[int] = ...
    MEMTAG_OFF: typing.ClassVar[int] = ...
    MEMTAG_SYNC: typing.ClassVar[int] = ...
    RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT: typing.ClassVar[int] = ...
    RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED: typing.ClassVar[int] = ...
    RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED: typing.ClassVar[int] = ...
    ZEROINIT_DEFAULT: typing.ClassVar[int] = ...
    ZEROINIT_DISABLED: typing.ClassVar[int] = ...
    ZEROINIT_ENABLED: typing.ClassVar[int] = ...
    appComponentFactory: str = ...
    backupAgentName: str = ...
    category: int = ...
    className: str = ...
    compatibleWidthLimitDp: int = ...
    compileSdkVersion: int = ...
    compileSdkVersionCodename: str = ...
    dataDir: str = ...
    descriptionRes: int = ...
    deviceProtectedDataDir: str = ...
    enabled: bool = ...
    flags: int = ...
    largestWidthLimitDp: int = ...
    manageSpaceActivityName: str = ...
    minSdkVersion: int = ...
    nativeLibraryDir: str = ...
    permission: str = ...
    processName: str = ...
    publicSourceDir: str = ...
    requiresSmallestWidthDp: int = ...
    sharedLibraryFiles: java.chaquopy.JavaArray[java.lang.String] = ...
    sourceDir: str = ...
    splitNames: java.chaquopy.JavaArray[java.lang.String] = ...
    splitPublicSourceDirs: java.chaquopy.JavaArray[java.lang.String] = ...
    splitSourceDirs: java.chaquopy.JavaArray[java.lang.String] = ...
    storageUuid: java.util.UUID = ...
    targetSdkVersion: int = ...
    taskAffinity: str = ...
    theme: int = ...
    uiOptions: int = ...
    uid: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ApplicationInfo, /) -> None: ...
    def areAttributionsUserVisible(self) -> bool: ...
    def describeContents(self) -> int: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    @staticmethod
    def getCategoryTitle(context: android.content.Context, category: int | java.jint | java.lang.Integer, /) -> java.lang.CharSequence: ...
    def getGwpAsanMode(self) -> int: ...
    def getKnownActivityEmbeddingCerts(self) -> java.util.Set[java.lang.String]: ...
    def getMemtagMode(self) -> int: ...
    def getNativeHeapZeroInitialized(self) -> int: ...
    def getRequestRawExternalStorageAccess(self) -> int: ...
    def isProfileable(self) -> bool: ...
    def isProfileableByShell(self) -> bool: ...
    def isResourceOverlay(self) -> bool: ...
    def isVirtualPreload(self) -> bool: ...
    def loadDescription(self, pm: PackageManager, /) -> java.lang.CharSequence | None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

    class DisplayNameComparator(java.util.Comparator[ApplicationInfo]):
        def __init__(self, pm: PackageManager, /) -> None: ...
        def compare(self, aa: ApplicationInfo, ab: ApplicationInfo, /) -> int: ...

class ArchivedActivityInfo(java.lang.Object):
    def __init__(self, label: java.lang.CharSequence, componentName: android.content.ComponentName, /) -> None: ...
    def getComponentName(self) -> android.content.ComponentName: ...
    def getIcon(self) -> android.graphics.drawable.Drawable | None: ...
    def getLabel(self) -> java.lang.CharSequence: ...
    def getMonochromeIcon(self) -> android.graphics.drawable.Drawable | None: ...
    def setComponentName(self, value: android.content.ComponentName, /) -> ArchivedActivityInfo: ...
    def setIcon(self, value: android.graphics.drawable.Drawable, /) -> ArchivedActivityInfo: ...
    def setLabel(self, value: java.lang.CharSequence, /) -> ArchivedActivityInfo: ...
    def setMonochromeIcon(self, value: android.graphics.drawable.Drawable, /) -> ArchivedActivityInfo: ...

class ArchivedPackageInfo(java.lang.Object):
    def __init__(self, packageName: str | java.lang.String, signingInfo: SigningInfo, launcherActivities: java.util.List[ArchivedActivityInfo], /) -> None: ...
    def getDefaultToDeviceProtectedStorage(self) -> str | None: ...
    def getLauncherActivities(self) -> java.util.List[ArchivedActivityInfo]: ...
    def getPackageName(self) -> str: ...
    def getRequestLegacyExternalStorage(self) -> str | None: ...
    def getSigningInfo(self) -> SigningInfo: ...
    def getTargetSdkVersion(self) -> int: ...
    def getUserDataFragile(self) -> str | None: ...
    def getVersionCode(self) -> int: ...
    def getVersionCodeMajor(self) -> int: ...
    def setDefaultToDeviceProtectedStorage(self, value: str | java.lang.String, /) -> ArchivedPackageInfo: ...
    def setLauncherActivities(self, value: java.util.List[ArchivedActivityInfo], /) -> ArchivedPackageInfo: ...
    def setPackageName(self, value: str | java.lang.String, /) -> ArchivedPackageInfo: ...
    def setRequestLegacyExternalStorage(self, value: str | java.lang.String, /) -> ArchivedPackageInfo: ...
    def setSigningInfo(self, value: SigningInfo, /) -> ArchivedPackageInfo: ...
    def setTargetSdkVersion(self, value: int | java.jint | java.lang.Integer, /) -> ArchivedPackageInfo: ...
    def setUserDataFragile(self, value: str | java.lang.String, /) -> ArchivedPackageInfo: ...
    def setVersionCode(self, value: int | java.jint | java.lang.Integer, /) -> ArchivedPackageInfo: ...
    def setVersionCodeMajor(self, value: int | java.jint | java.lang.Integer, /) -> ArchivedPackageInfo: ...

class Attribution(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Attribution]] = ...
    def describeContents(self) -> int: ...
    def getLabel(self) -> int: ...
    def getTag(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class Capability(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Capability]] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getName(self) -> str: ...
    def hashCode(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self, name: str | java.lang.String, /) -> None: ...
        def build(self) -> Capability: ...

class CapabilityParams(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[CapabilityParams]] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAliases(self) -> java.util.List[java.lang.String]: ...
    def getName(self) -> str: ...
    def getValue(self) -> str: ...
    def hashCode(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self, key: str | java.lang.String, value: str | java.lang.String, /) -> None: ...
        def addAlias(self, alias: str | java.lang.String, /) -> CapabilityParams.Builder: ...
        def build(self) -> CapabilityParams: ...

class ChangedPackages(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ChangedPackages]] = ...
    def __init__(self, sequenceNumber: int | java.jint | java.lang.Integer, packageNames: java.util.List[java.lang.String], /) -> None: ...
    def describeContents(self) -> int: ...
    def getPackageNames(self) -> java.util.List[java.lang.String]: ...
    def getSequenceNumber(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class Checksum(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Checksum]] = ...
    TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256: typing.ClassVar[int] = ...
    TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512: typing.ClassVar[int] = ...
    TYPE_WHOLE_MD5: typing.ClassVar[int] = ...
    TYPE_WHOLE_MERKLE_ROOT_4K_SHA256: typing.ClassVar[int] = ...
    TYPE_WHOLE_SHA1: typing.ClassVar[int] = ...
    TYPE_WHOLE_SHA256: typing.ClassVar[int] = ...
    TYPE_WHOLE_SHA512: typing.ClassVar[int] = ...
    def __init__(self, type: int | java.jint | java.lang.Integer, value: java.chaquopy.JavaArrayJByte, /) -> None: ...
    def describeContents(self) -> int: ...
    def getType(self) -> int: ...
    def getValue(self) -> java.chaquopy.JavaArrayJByte: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ComponentInfo(PackageItemInfo):
    applicationInfo: ApplicationInfo = ...
    attributionTags: java.chaquopy.JavaArray[java.lang.String] = ...
    descriptionRes: int = ...
    directBootAware: bool = ...
    enabled: bool = ...
    exported: bool = ...
    processName: str = ...
    splitName: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ComponentInfo, /) -> None: ...
    @typing.overload
    def __init__(self, source: android.os.Parcel, /) -> None: ...
    def dumpBack(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def dumpFront(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def getBannerResource(self) -> int: ...
    def getIconResource(self) -> int: ...
    def getLogoResource(self) -> int: ...
    def isEnabled(self) -> bool: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class ConfigurationInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ConfigurationInfo]] = ...
    GL_ES_VERSION_UNDEFINED: typing.ClassVar[int] = ...
    INPUT_FEATURE_FIVE_WAY_NAV: typing.ClassVar[int] = ...
    INPUT_FEATURE_HARD_KEYBOARD: typing.ClassVar[int] = ...
    reqGlEsVersion: int = ...
    reqInputFeatures: int = ...
    reqKeyboardType: int = ...
    reqNavigation: int = ...
    reqTouchScreen: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ConfigurationInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def getGlEsVersion(self) -> str: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class CrossProfileApps(java.lang.Object):
    ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED: typing.ClassVar[str] = ...
    def canInteractAcrossProfiles(self) -> bool: ...
    def canRequestInteractAcrossProfiles(self) -> bool: ...
    def createRequestInteractAcrossProfilesIntent(self) -> android.content.Intent: ...
    def getProfileSwitchingIconDrawable(self, userHandle: android.os.UserHandle, /) -> android.graphics.drawable.Drawable: ...
    def getProfileSwitchingLabel(self, userHandle: android.os.UserHandle, /) -> java.lang.CharSequence: ...
    def getTargetUserProfiles(self) -> java.util.List[android.os.UserHandle]: ...
    def isManagedProfile(self, userHandle: android.os.UserHandle, /) -> bool: ...
    def isProfile(self, userHandle: android.os.UserHandle, /) -> bool: ...
    @typing.overload
    def startActivity(self, intent: android.content.Intent, targetUser: android.os.UserHandle, callingActivity: android.app.Activity, /) -> None: ...
    @typing.overload
    def startActivity(self, intent: android.content.Intent, targetUser: android.os.UserHandle, callingActivity: android.app.Activity, options: android.os.Bundle, /) -> None: ...
    @typing.overload
    def startMainActivity(self, component: android.content.ComponentName, targetUser: android.os.UserHandle, /) -> None: ...
    @typing.overload
    def startMainActivity(self, component: android.content.ComponentName, targetUser: android.os.UserHandle, callingActivity: android.app.Activity, options: android.os.Bundle, /) -> None: ...

class FeatureGroupInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[FeatureGroupInfo]] = ...
    features: java.chaquopy.JavaArray[FeatureInfo] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: FeatureGroupInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class FeatureInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[FeatureInfo]] = ...
    FLAG_REQUIRED: typing.ClassVar[int] = ...
    GL_ES_VERSION_UNDEFINED: typing.ClassVar[int] = ...
    flags: int = ...
    name: str = ...
    reqGlEsVersion: int = ...
    version: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: FeatureInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def getGlEsVersion(self) -> str: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class InstallSourceInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[InstallSourceInfo]] = ...
    def describeContents(self) -> int: ...
    def getInitiatingPackageName(self) -> str | None: ...
    def getInitiatingPackageSigningInfo(self) -> SigningInfo | None: ...
    def getInstallingPackageName(self) -> str | None: ...
    def getOriginatingPackageName(self) -> str | None: ...
    def getPackageSource(self) -> int: ...
    def getUpdateOwnerPackageName(self) -> str | None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class InstrumentationInfo(PackageItemInfo, android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[InstrumentationInfo]] = ...
    dataDir: str = ...
    functionalTest: bool = ...
    handleProfiling: bool = ...
    publicSourceDir: str = ...
    sourceDir: str = ...
    splitNames: java.chaquopy.JavaArray[java.lang.String] = ...
    splitPublicSourceDirs: java.chaquopy.JavaArray[java.lang.String] = ...
    splitSourceDirs: java.chaquopy.JavaArray[java.lang.String] = ...
    targetPackage: str = ...
    targetProcesses: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: InstrumentationInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class LabeledIntent(android.content.Intent):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[LabeledIntent]] = ...
    @typing.overload
    def __init__(self, sourcePackage: str | java.lang.String, labelRes: int | java.jint | java.lang.Integer, icon: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, sourcePackage: str | java.lang.String, nonLocalizedLabel: java.lang.CharSequence, icon: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, origIntent: android.content.Intent, sourcePackage: str | java.lang.String, labelRes: int | java.jint | java.lang.Integer, icon: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, origIntent: android.content.Intent, sourcePackage: str | java.lang.String, nonLocalizedLabel: java.lang.CharSequence, icon: int | java.jint | java.lang.Integer, /) -> None: ...
    def getIconResource(self) -> int: ...
    def getLabelResource(self) -> int: ...
    def getNonLocalizedLabel(self) -> java.lang.CharSequence: ...
    def getSourcePackage(self) -> str: ...
    def loadIcon(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable: ...
    def loadLabel(self, pm: PackageManager, /) -> java.lang.CharSequence: ...
    def readFromParcel(self, in_: android.os.Parcel, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class LauncherActivityInfo(java.lang.Object):
    def getActivityInfo(self) -> ActivityInfo: ...
    def getApplicationInfo(self) -> ApplicationInfo: ...
    def getBadgedIcon(self, density: int | java.jint | java.lang.Integer, /) -> android.graphics.drawable.Drawable: ...
    def getComponentName(self) -> android.content.ComponentName: ...
    def getFirstInstallTime(self) -> int: ...
    def getIcon(self, density: int | java.jint | java.lang.Integer, /) -> android.graphics.drawable.Drawable: ...
    def getLabel(self) -> java.lang.CharSequence: ...
    def getLoadingProgress(self) -> float: ...
    def getName(self) -> str: ...
    def getUser(self) -> android.os.UserHandle: ...

class LauncherApps(java.lang.Object):
    ACTION_CONFIRM_PIN_APPWIDGET: typing.ClassVar[str] = ...
    ACTION_CONFIRM_PIN_SHORTCUT: typing.ClassVar[str] = ...
    EXTRA_PIN_ITEM_REQUEST: typing.ClassVar[str] = ...
    def getActivityList(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> java.util.List[LauncherActivityInfo]: ...
    def getAllPackageInstallerSessions(self) -> java.util.List[PackageInstaller.SessionInfo]: ...
    def getAppMarketActivityIntent(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> android.content.IntentSender | None: ...
    def getApplicationInfo(self, packageName: str | java.lang.String, flags: int | java.jint | java.lang.Integer, user: android.os.UserHandle, /) -> ApplicationInfo: ...
    def getLauncherUserInfo(self, userHandle: android.os.UserHandle, /) -> LauncherUserInfo | None: ...
    def getPinItemRequest(self, intent: android.content.Intent, /) -> LauncherApps.PinItemRequest: ...
    def getPreInstalledSystemPackages(self, userHandle: android.os.UserHandle, /) -> java.util.List[java.lang.String]: ...
    def getPrivateSpaceSettingsIntent(self) -> android.content.IntentSender: ...
    def getProfiles(self) -> java.util.List[android.os.UserHandle]: ...
    def getShortcutBadgedIconDrawable(self, shortcut: ShortcutInfo, density: int | java.jint | java.lang.Integer, /) -> android.graphics.drawable.Drawable: ...
    def getShortcutConfigActivityIntent(self, info: LauncherActivityInfo, /) -> android.content.IntentSender | None: ...
    def getShortcutConfigActivityList(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> java.util.List[LauncherActivityInfo]: ...
    def getShortcutIconDrawable(self, shortcut: ShortcutInfo, density: int | java.jint | java.lang.Integer, /) -> android.graphics.drawable.Drawable: ...
    def getShortcutIntent(self, packageName: str | java.lang.String, shortcutId: str | java.lang.String, opts: android.os.Bundle, user: android.os.UserHandle, /) -> android.app.PendingIntent | None: ...
    def getShortcuts(self, query: LauncherApps.ShortcutQuery, user: android.os.UserHandle, /) -> java.util.List[ShortcutInfo] | None: ...
    def getSuspendedPackageLauncherExtras(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> android.os.Bundle | None: ...
    def hasShortcutHostPermission(self) -> bool: ...
    def isActivityEnabled(self, component: android.content.ComponentName, user: android.os.UserHandle, /) -> bool: ...
    def isPackageEnabled(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> bool: ...
    def pinShortcuts(self, packageName: str | java.lang.String, shortcutIds: java.util.List[java.lang.String], user: android.os.UserHandle, /) -> None: ...
    @typing.overload
    def registerCallback(self, callback: LauncherApps.Callback, /) -> None: ...
    @typing.overload
    def registerCallback(self, callback: LauncherApps.Callback, handler: android.os.Handler, /) -> None: ...
    def registerPackageInstallerSessionCallback(self, executor: java.util.concurrent.Executor, callback: PackageInstaller.SessionCallback, /) -> None: ...
    def resolveActivity(self, intent: android.content.Intent, user: android.os.UserHandle, /) -> LauncherActivityInfo: ...
    def setArchiveCompatibility(self, params: LauncherApps.ArchiveCompatibilityParams, /) -> None: ...
    def shouldHideFromSuggestions(self, packageName: str | java.lang.String, user: android.os.UserHandle, /) -> bool: ...
    def startAppDetailsActivity(self, component: android.content.ComponentName, user: android.os.UserHandle, sourceBounds: android.graphics.Rect, opts: android.os.Bundle, /) -> None: ...
    def startMainActivity(self, component: android.content.ComponentName, user: android.os.UserHandle, sourceBounds: android.graphics.Rect, opts: android.os.Bundle, /) -> None: ...
    def startPackageInstallerSessionDetailsActivity(self, sessionInfo: PackageInstaller.SessionInfo, sourceBounds: android.graphics.Rect, opts: android.os.Bundle, /) -> None: ...
    @typing.overload
    def startShortcut(self, shortcut: ShortcutInfo, sourceBounds: android.graphics.Rect, startActivityOptions: android.os.Bundle, /) -> None: ...
    @typing.overload
    def startShortcut(self, packageName: str | java.lang.String, shortcutId: str | java.lang.String, sourceBounds: android.graphics.Rect, startActivityOptions: android.os.Bundle, user: android.os.UserHandle, /) -> None: ...
    def unregisterCallback(self, callback: LauncherApps.Callback, /) -> None: ...
    def unregisterPackageInstallerSessionCallback(self, callback: PackageInstaller.SessionCallback, /) -> None: ...

    class ShortcutQuery(java.lang.Object):
        FLAG_GET_KEY_FIELDS_ONLY: typing.ClassVar[int] = ...
        FLAG_MATCH_CACHED: typing.ClassVar[int] = ...
        FLAG_MATCH_DYNAMIC: typing.ClassVar[int] = ...
        FLAG_MATCH_MANIFEST: typing.ClassVar[int] = ...
        FLAG_MATCH_PINNED: typing.ClassVar[int] = ...
        FLAG_MATCH_PINNED_BY_ANY_LAUNCHER: typing.ClassVar[int] = ...
        def __init__(self) -> None: ...
        def setActivity(self, activity: android.content.ComponentName, /) -> LauncherApps.ShortcutQuery: ...
        def setChangedSince(self, changedSince: int | java.jlong | java.lang.Long, /) -> LauncherApps.ShortcutQuery: ...
        def setLocusIds(self, locusIds: java.util.List[android.content.LocusId], /) -> LauncherApps.ShortcutQuery: ...
        def setPackage(self, packageName: str | java.lang.String, /) -> LauncherApps.ShortcutQuery: ...
        def setQueryFlags(self, queryFlags: int | java.jint | java.lang.Integer, /) -> LauncherApps.ShortcutQuery: ...
        def setShortcutIds(self, shortcutIds: java.util.List[java.lang.String], /) -> LauncherApps.ShortcutQuery: ...

    class PinItemRequest(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[LauncherApps.PinItemRequest]] = ...
        REQUEST_TYPE_APPWIDGET: typing.ClassVar[int] = ...
        REQUEST_TYPE_SHORTCUT: typing.ClassVar[int] = ...
        @typing.overload
        def accept(self) -> bool: ...
        @typing.overload
        def accept(self, options: android.os.Bundle, /) -> bool: ...
        def describeContents(self) -> int: ...
        def getAppWidgetProviderInfo(self, context: android.content.Context, /) -> android.appwidget.AppWidgetProviderInfo: ...
        def getExtras(self) -> android.os.Bundle: ...
        def getRequestType(self) -> int: ...
        def getShortcutInfo(self) -> ShortcutInfo: ...
        def isValid(self) -> bool: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Callback(java.lang.Object):
        def __init__(self) -> None: ...
        def onPackageAdded(self, arg1: str | java.lang.String, arg2: android.os.UserHandle, /) -> None: ...
        def onPackageChanged(self, arg1: str | java.lang.String, arg2: android.os.UserHandle, /) -> None: ...
        def onPackageLoadingProgressChanged(self, packageName: str | java.lang.String, user: android.os.UserHandle, progress: float | java.jfloat | java.lang.Float, /) -> None: ...
        def onPackageRemoved(self, arg1: str | java.lang.String, arg2: android.os.UserHandle, /) -> None: ...
        def onPackagesAvailable(self, arg1: java.chaquopy.JavaArray[java.lang.String], arg2: android.os.UserHandle, arg3: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        @typing.overload
        def onPackagesSuspended(self, packageNames: java.chaquopy.JavaArray[java.lang.String], user: android.os.UserHandle, /) -> None: ...
        @typing.overload
        def onPackagesSuspended(self, packageNames: java.chaquopy.JavaArray[java.lang.String], user: android.os.UserHandle, launcherExtras: android.os.Bundle, /) -> None: ...
        def onPackagesUnavailable(self, arg1: java.chaquopy.JavaArray[java.lang.String], arg2: android.os.UserHandle, arg3: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def onPackagesUnsuspended(self, packageNames: java.chaquopy.JavaArray[java.lang.String], user: android.os.UserHandle, /) -> None: ...
        def onShortcutsChanged(self, packageName: str | java.lang.String, shortcuts: java.util.List[ShortcutInfo], user: android.os.UserHandle, /) -> None: ...
        def onUserConfigChanged(self, launcherUserInfo: LauncherUserInfo, /) -> None: ...

    class ArchiveCompatibilityParams(java.lang.Object):
        def __init__(self) -> None: ...
        def setEnableIconOverlay(self, enableIconOverlay: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def setEnableUnarchivalConfirmation(self, enableUnarchivalConfirmation: bool | java.jboolean | java.lang.Boolean, /) -> None: ...

class LauncherUserInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[LauncherUserInfo]] = ...
    PRIVATE_SPACE_ENTRYPOINT_HIDDEN: typing.ClassVar[str] = ...
    def describeContents(self) -> int: ...
    def getUserConfig(self) -> android.os.Bundle: ...
    def getUserSerialNumber(self) -> int: ...
    def getUserType(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ModuleInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ModuleInfo]] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getName(self) -> java.lang.CharSequence | None: ...
    def getPackageName(self) -> str | None: ...
    def hashCode(self) -> int: ...
    def isHidden(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class PackageInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInfo]] = ...
    INSTALL_LOCATION_AUTO: typing.ClassVar[int] = ...
    INSTALL_LOCATION_INTERNAL_ONLY: typing.ClassVar[int] = ...
    INSTALL_LOCATION_PREFER_EXTERNAL: typing.ClassVar[int] = ...
    REQUESTED_PERMISSION_GRANTED: typing.ClassVar[int] = ...
    REQUESTED_PERMISSION_IMPLICIT: typing.ClassVar[int] = ...
    REQUESTED_PERMISSION_NEVER_FOR_LOCATION: typing.ClassVar[int] = ...
    activities: java.chaquopy.JavaArray[ActivityInfo] = ...
    applicationInfo: ApplicationInfo = ...
    attributions: java.chaquopy.JavaArray[Attribution] = ...
    baseRevisionCode: int = ...
    configPreferences: java.chaquopy.JavaArray[ConfigurationInfo] = ...
    featureGroups: java.chaquopy.JavaArray[FeatureGroupInfo] = ...
    firstInstallTime: int = ...
    gids: java.chaquopy.JavaArrayJInt = ...
    installLocation: int = ...
    instrumentation: java.chaquopy.JavaArray[InstrumentationInfo] = ...
    isApex: bool = ...
    lastUpdateTime: int = ...
    packageName: str = ...
    permissions: java.chaquopy.JavaArray[PermissionInfo] = ...
    providers: java.chaquopy.JavaArray[ProviderInfo] = ...
    receivers: java.chaquopy.JavaArray[ActivityInfo] = ...
    reqFeatures: java.chaquopy.JavaArray[FeatureInfo] = ...
    requestedPermissions: java.chaquopy.JavaArray[java.lang.String] = ...
    requestedPermissionsFlags: java.chaquopy.JavaArrayJInt = ...
    services: java.chaquopy.JavaArray[ServiceInfo] = ...
    sharedUserId: str = ...
    sharedUserLabel: int = ...
    signatures: java.chaquopy.JavaArray[Signature] = ...
    signingInfo: SigningInfo = ...
    splitNames: java.chaquopy.JavaArray[java.lang.String] = ...
    splitRevisionCodes: java.chaquopy.JavaArrayJInt = ...
    versionCode: int = ...
    versionName: str = ...
    def __init__(self) -> None: ...
    def describeContents(self) -> int: ...
    def getApexPackageName(self) -> str | None: ...
    def getArchiveTimeMillis(self) -> int: ...
    def getLongVersionCode(self) -> int: ...
    def setLongVersionCode(self, longVersionCode: int | java.jlong | java.lang.Long, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class PackageInstaller(java.lang.Object):
    ACTION_SESSION_COMMITTED: typing.ClassVar[str] = ...
    ACTION_SESSION_DETAILS: typing.ClassVar[str] = ...
    ACTION_SESSION_UPDATED: typing.ClassVar[str] = ...
    EXTRA_INSTALL_CONSTRAINTS: typing.ClassVar[str] = ...
    EXTRA_INSTALL_CONSTRAINTS_RESULT: typing.ClassVar[str] = ...
    EXTRA_OTHER_PACKAGE_NAME: typing.ClassVar[str] = ...
    EXTRA_PACKAGE_NAME: typing.ClassVar[str] = ...
    EXTRA_PRE_APPROVAL: typing.ClassVar[str] = ...
    EXTRA_SESSION: typing.ClassVar[str] = ...
    EXTRA_SESSION_ID: typing.ClassVar[str] = ...
    EXTRA_STATUS: typing.ClassVar[str] = ...
    EXTRA_STATUS_MESSAGE: typing.ClassVar[str] = ...
    EXTRA_STORAGE_PATH: typing.ClassVar[str] = ...
    EXTRA_UNARCHIVE_ALL_USERS: typing.ClassVar[str] = ...
    EXTRA_UNARCHIVE_ID: typing.ClassVar[str] = ...
    EXTRA_UNARCHIVE_PACKAGE_NAME: typing.ClassVar[str] = ...
    EXTRA_UNARCHIVE_STATUS: typing.ClassVar[str] = ...
    PACKAGE_SOURCE_DOWNLOADED_FILE: typing.ClassVar[int] = ...
    PACKAGE_SOURCE_LOCAL_FILE: typing.ClassVar[int] = ...
    PACKAGE_SOURCE_OTHER: typing.ClassVar[int] = ...
    PACKAGE_SOURCE_STORE: typing.ClassVar[int] = ...
    PACKAGE_SOURCE_UNSPECIFIED: typing.ClassVar[int] = ...
    STATUS_FAILURE: typing.ClassVar[int] = ...
    STATUS_FAILURE_ABORTED: typing.ClassVar[int] = ...
    STATUS_FAILURE_BLOCKED: typing.ClassVar[int] = ...
    STATUS_FAILURE_CONFLICT: typing.ClassVar[int] = ...
    STATUS_FAILURE_INCOMPATIBLE: typing.ClassVar[int] = ...
    STATUS_FAILURE_INVALID: typing.ClassVar[int] = ...
    STATUS_FAILURE_STORAGE: typing.ClassVar[int] = ...
    STATUS_FAILURE_TIMEOUT: typing.ClassVar[int] = ...
    STATUS_PENDING_USER_ACTION: typing.ClassVar[int] = ...
    STATUS_SUCCESS: typing.ClassVar[int] = ...
    UNARCHIVAL_ERROR_INSTALLER_DISABLED: typing.ClassVar[int] = ...
    UNARCHIVAL_ERROR_INSTALLER_UNINSTALLED: typing.ClassVar[int] = ...
    UNARCHIVAL_ERROR_INSUFFICIENT_STORAGE: typing.ClassVar[int] = ...
    UNARCHIVAL_ERROR_NO_CONNECTIVITY: typing.ClassVar[int] = ...
    UNARCHIVAL_ERROR_USER_ACTION_NEEDED: typing.ClassVar[int] = ...
    UNARCHIVAL_GENERIC_ERROR: typing.ClassVar[int] = ...
    UNARCHIVAL_OK: typing.ClassVar[int] = ...
    def abandonSession(self, sessionId: int | java.jint | java.lang.Integer, /) -> None: ...
    def checkInstallConstraints(self, packageNames: java.util.List[java.lang.String], constraints: PackageInstaller.InstallConstraints, executor: java.util.concurrent.Executor, callback: java.util.function.Consumer[PackageInstaller.InstallConstraintsResult], /) -> None: ...
    def commitSessionAfterInstallConstraintsAreMet(self, sessionId: int | java.jint | java.lang.Integer, statusReceiver: android.content.IntentSender, constraints: PackageInstaller.InstallConstraints, timeoutMillis: int | java.jlong | java.lang.Long, /) -> None: ...
    def createSession(self, params: PackageInstaller.SessionParams, /) -> int: ...
    def getActiveStagedSession(self) -> PackageInstaller.SessionInfo | None: ...
    def getActiveStagedSessions(self) -> java.util.List[PackageInstaller.SessionInfo]: ...
    def getAllSessions(self) -> java.util.List[PackageInstaller.SessionInfo]: ...
    def getMySessions(self) -> java.util.List[PackageInstaller.SessionInfo]: ...
    def getSessionInfo(self, sessionId: int | java.jint | java.lang.Integer, /) -> PackageInstaller.SessionInfo | None: ...
    def getStagedSessions(self) -> java.util.List[PackageInstaller.SessionInfo]: ...
    def installExistingPackage(self, packageName: str | java.lang.String, installReason: int | java.jint | java.lang.Integer, statusReceiver: android.content.IntentSender, /) -> None: ...
    def installPackageArchived(self, archivedPackageInfo: ArchivedPackageInfo, sessionParams: PackageInstaller.SessionParams, statusReceiver: android.content.IntentSender, /) -> None: ...
    def openSession(self, sessionId: int | java.jint | java.lang.Integer, /) -> PackageInstaller.Session: ...
    @typing.overload
    def registerSessionCallback(self, callback: PackageInstaller.SessionCallback, /) -> None: ...
    @typing.overload
    def registerSessionCallback(self, callback: PackageInstaller.SessionCallback, handler: android.os.Handler, /) -> None: ...
    def reportUnarchivalState(self, unarchivalState: PackageInstaller.UnarchivalState, /) -> None: ...
    def reportUnarchivalStatus(self, unarchiveId: int | java.jint | java.lang.Integer, status: int | java.jint | java.lang.Integer, requiredStorageBytes: int | java.jlong | java.lang.Long, userActionIntent: android.app.PendingIntent, /) -> None: ...
    def requestArchive(self, packageName: str | java.lang.String, statusReceiver: android.content.IntentSender, /) -> None: ...
    def requestUnarchive(self, packageName: str | java.lang.String, statusReceiver: android.content.IntentSender, /) -> None: ...
    @typing.overload
    def uninstall(self, versionedPackage: VersionedPackage, statusReceiver: android.content.IntentSender, /) -> None: ...
    @typing.overload
    def uninstall(self, packageName: str | java.lang.String, statusReceiver: android.content.IntentSender, /) -> None: ...
    @typing.overload
    def uninstall(self, versionedPackage: VersionedPackage, flags: int | java.jint | java.lang.Integer, statusReceiver: android.content.IntentSender, /) -> None: ...
    def uninstallExistingPackage(self, packageName: str | java.lang.String, statusReceiver: android.content.IntentSender, /) -> None: ...
    def unregisterSessionCallback(self, callback: PackageInstaller.SessionCallback, /) -> None: ...
    def updateSessionAppIcon(self, sessionId: int | java.jint | java.lang.Integer, appIcon: android.graphics.Bitmap, /) -> None: ...
    def updateSessionAppLabel(self, sessionId: int | java.jint | java.lang.Integer, appLabel: java.lang.CharSequence, /) -> None: ...
    def waitForInstallConstraints(self, packageNames: java.util.List[java.lang.String], constraints: PackageInstaller.InstallConstraints, callback: android.content.IntentSender, timeoutMillis: int | java.jlong | java.lang.Long, /) -> None: ...

    class UnarchivalState(java.lang.Object):
        @staticmethod
        def createGenericErrorState(unarchiveId: int | java.jint | java.lang.Integer, /) -> PackageInstaller.UnarchivalState: ...
        @staticmethod
        def createInsufficientStorageState(unarchiveId: int | java.jint | java.lang.Integer, requiredStorageBytes: int | java.jlong | java.lang.Long, userActionIntent: android.app.PendingIntent, /) -> PackageInstaller.UnarchivalState: ...
        @staticmethod
        def createNoConnectivityState(unarchiveId: int | java.jint | java.lang.Integer, /) -> PackageInstaller.UnarchivalState: ...
        @staticmethod
        def createOkState(unarchiveId: int | java.jint | java.lang.Integer, /) -> PackageInstaller.UnarchivalState: ...
        @staticmethod
        def createUserActionRequiredState(unarchiveId: int | java.jint | java.lang.Integer, userActionIntent: android.app.PendingIntent, /) -> PackageInstaller.UnarchivalState: ...

    class SessionParams(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInstaller.SessionParams]] = ...
        MODE_FULL_INSTALL: typing.ClassVar[int] = ...
        MODE_INHERIT_EXISTING: typing.ClassVar[int] = ...
        PERMISSION_STATE_DEFAULT: typing.ClassVar[int] = ...
        PERMISSION_STATE_DENIED: typing.ClassVar[int] = ...
        PERMISSION_STATE_GRANTED: typing.ClassVar[int] = ...
        RESTRICTED_PERMISSIONS_ALL: typing.ClassVar[java.util.Set[java.lang.String]] = ...
        USER_ACTION_NOT_REQUIRED: typing.ClassVar[int] = ...
        USER_ACTION_REQUIRED: typing.ClassVar[int] = ...
        USER_ACTION_UNSPECIFIED: typing.ClassVar[int] = ...
        def __init__(self, mode: int | java.jint | java.lang.Integer, /) -> None: ...
        def describeContents(self) -> int: ...
        def setAppIcon(self, appIcon: android.graphics.Bitmap, /) -> None: ...
        def setAppLabel(self, appLabel: java.lang.CharSequence, /) -> None: ...
        def setAppPackageName(self, appPackageName: str | java.lang.String, /) -> None: ...
        def setApplicationEnabledSettingPersistent(self) -> None: ...
        def setAutoInstallDependenciesEnabled(self, enableAutoInstallDependencies: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def setAutoRevokePermissionsMode(self, shouldAutoRevoke: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def setDontKillApp(self, dontKillApp: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def setInstallLocation(self, installLocation: int | java.jint | java.lang.Integer, /) -> None: ...
        def setInstallReason(self, installReason: int | java.jint | java.lang.Integer, /) -> None: ...
        def setInstallScenario(self, installScenario: int | java.jint | java.lang.Integer, /) -> None: ...
        def setInstallerPackageName(self, installerPackageName: str | java.lang.String, /) -> None: ...
        def setMultiPackage(self) -> None: ...
        def setOriginatingUid(self, originatingUid: int | java.jint | java.lang.Integer, /) -> None: ...
        def setOriginatingUri(self, originatingUri: android.net.Uri, /) -> None: ...
        def setPackageSource(self, packageSource: int | java.jint | java.lang.Integer, /) -> None: ...
        def setPermissionState(self, permissionName: str | java.lang.String, state: int | java.jint | java.lang.Integer, /) -> PackageInstaller.SessionParams: ...
        def setReferrerUri(self, referrerUri: android.net.Uri, /) -> None: ...
        def setRequestUpdateOwnership(self, enable: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def setRequireUserAction(self, requireUserAction: int | java.jint | java.lang.Integer, /) -> None: ...
        def setSize(self, sizeBytes: int | java.jlong | java.lang.Long, /) -> None: ...
        def setUnarchiveId(self, unarchiveId: int | java.jint | java.lang.Integer, /) -> None: ...
        def setWhitelistedRestrictedPermissions(self, permissions: java.util.Set[java.lang.String], /) -> None: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class SessionInfo(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInstaller.SessionInfo]] = ...
        INVALID_ID: typing.ClassVar[int] = ...
        SESSION_ACTIVATION_FAILED: typing.ClassVar[int] = ...
        SESSION_CONFLICT: typing.ClassVar[int] = ...
        SESSION_NO_ERROR: typing.ClassVar[int] = ...
        SESSION_UNKNOWN_ERROR: typing.ClassVar[int] = ...
        SESSION_VERIFICATION_FAILED: typing.ClassVar[int] = ...
        STAGED_SESSION_ACTIVATION_FAILED: typing.ClassVar[int] = ...
        STAGED_SESSION_CONFLICT: typing.ClassVar[int] = ...
        STAGED_SESSION_NO_ERROR: typing.ClassVar[int] = ...
        STAGED_SESSION_UNKNOWN: typing.ClassVar[int] = ...
        STAGED_SESSION_VERIFICATION_FAILED: typing.ClassVar[int] = ...
        def createDetailsIntent(self) -> android.content.Intent: ...
        def describeContents(self) -> int: ...
        def getAppIcon(self) -> android.graphics.Bitmap: ...
        def getAppLabel(self) -> java.lang.CharSequence: ...
        def getAppPackageName(self) -> str: ...
        def getChildSessionIds(self) -> java.chaquopy.JavaArrayJInt: ...
        def getCreatedMillis(self) -> int: ...
        def getDontKillApp(self) -> bool: ...
        def getInstallLocation(self) -> int: ...
        def getInstallReason(self) -> int: ...
        def getInstallerAttributionTag(self) -> str: ...
        def getInstallerPackageName(self) -> str: ...
        def getInstallerUid(self) -> int: ...
        def getMode(self) -> int: ...
        def getOriginatingUid(self) -> int: ...
        def getOriginatingUri(self) -> android.net.Uri: ...
        def getPackageSource(self) -> int: ...
        def getParentSessionId(self) -> int: ...
        def getProgress(self) -> float: ...
        def getReferrerUri(self) -> android.net.Uri: ...
        def getRequireUserAction(self) -> int: ...
        def getSessionId(self) -> int: ...
        def getSize(self) -> int: ...
        def getStagedSessionErrorCode(self) -> int: ...
        def getStagedSessionErrorMessage(self) -> str: ...
        def getUpdatedMillis(self) -> int: ...
        def getUser(self) -> android.os.UserHandle: ...
        def hasParentSessionId(self) -> bool: ...
        def isActive(self) -> bool: ...
        def isApplicationEnabledSettingPersistent(self) -> bool: ...
        def isAutoInstallDependenciesEnabled(self) -> bool: ...
        def isCommitted(self) -> bool: ...
        def isMultiPackage(self) -> bool: ...
        def isPreApprovalRequested(self) -> bool: ...
        def isRequestUpdateOwnership(self) -> bool: ...
        def isSealed(self) -> bool: ...
        def isStaged(self) -> bool: ...
        def isStagedSessionActive(self) -> bool: ...
        def isStagedSessionApplied(self) -> bool: ...
        def isStagedSessionFailed(self) -> bool: ...
        def isStagedSessionReady(self) -> bool: ...
        def isUnarchival(self) -> bool: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class SessionCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onActiveChanged(self, arg1: int | java.jint | java.lang.Integer, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def onBadgingChanged(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCreated(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...
        def onFinished(self, arg1: int | java.jint | java.lang.Integer, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def onProgressChanged(self, arg1: int | java.jint | java.lang.Integer, arg2: float | java.jfloat | java.lang.Float, /) -> None: ...

    class Session(java.io.Closeable):
        def abandon(self) -> None: ...
        def addChildSessionId(self, sessionId: int | java.jint | java.lang.Integer, /) -> None: ...
        def close(self) -> None: ...
        def commit(self, statusReceiver: android.content.IntentSender, /) -> None: ...
        def fsync(self, out: java.io.OutputStream, /) -> None: ...
        def getAppMetadata(self) -> android.os.PersistableBundle: ...
        def getChildSessionIds(self) -> java.chaquopy.JavaArrayJInt: ...
        def getNames(self) -> java.chaquopy.JavaArray[java.lang.String]: ...
        def getParentSessionId(self) -> int: ...
        def isApplicationEnabledSettingPersistent(self) -> bool: ...
        def isMultiPackage(self) -> bool: ...
        def isRequestUpdateOwnership(self) -> bool: ...
        def isStaged(self) -> bool: ...
        def openRead(self, name: str | java.lang.String, /) -> java.io.InputStream: ...
        def openWrite(self, name: str | java.lang.String, offsetBytes: int | java.jlong | java.lang.Long, lengthBytes: int | java.jlong | java.lang.Long, /) -> java.io.OutputStream: ...
        def removeChildSessionId(self, sessionId: int | java.jint | java.lang.Integer, /) -> None: ...
        def removeSplit(self, splitName: str | java.lang.String, /) -> None: ...
        def requestChecksums(self, name: str | java.lang.String, required: int | java.jint | java.lang.Integer, trustedInstallers: java.util.List[java.security.cert.Certificate], executor: java.util.concurrent.Executor, onChecksumsReadyListener: PackageManager.OnChecksumsReadyListener, /) -> None: ...
        def requestUserPreapproval(self, details: PackageInstaller.PreapprovalDetails, statusReceiver: android.content.IntentSender, /) -> None: ...
        def setAppMetadata(self, data: android.os.PersistableBundle, /) -> None: ...
        def setChecksums(self, name: str | java.lang.String, checksums: java.util.List[Checksum], signature: java.chaquopy.JavaArrayJByte, /) -> None: ...
        def setStagingProgress(self, progress: float | java.jfloat | java.lang.Float, /) -> None: ...
        def transfer(self, packageName: str | java.lang.String, /) -> None: ...

    class PreapprovalDetails(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInstaller.PreapprovalDetails]] = ...
        def describeContents(self) -> int: ...
        def getIcon(self) -> android.graphics.Bitmap: ...
        def getLabel(self) -> java.lang.CharSequence: ...
        def getLocale(self) -> android.icu.util.ULocale: ...
        def getPackageName(self) -> str: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

        class Builder(java.lang.Object):
            def __init__(self) -> None: ...
            def build(self) -> PackageInstaller.PreapprovalDetails: ...
            def setIcon(self, value: android.graphics.Bitmap, /) -> PackageInstaller.PreapprovalDetails.Builder: ...
            def setLabel(self, value: java.lang.CharSequence, /) -> PackageInstaller.PreapprovalDetails.Builder: ...
            def setLocale(self, value: android.icu.util.ULocale, /) -> PackageInstaller.PreapprovalDetails.Builder: ...
            def setPackageName(self, value: str | java.lang.String, /) -> PackageInstaller.PreapprovalDetails.Builder: ...

    class InstallConstraintsResult(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInstaller.InstallConstraintsResult]] = ...
        def areAllConstraintsSatisfied(self) -> bool: ...
        def describeContents(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class InstallConstraints(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageInstaller.InstallConstraints]] = ...
        GENTLE_UPDATE: typing.ClassVar[PackageInstaller.InstallConstraints] = ...
        def describeContents(self) -> int: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def hashCode(self) -> int: ...
        def isAppNotForegroundRequired(self) -> bool: ...
        def isAppNotInteractingRequired(self) -> bool: ...
        def isAppNotTopVisibleRequired(self) -> bool: ...
        def isDeviceIdleRequired(self) -> bool: ...
        def isNotInCallRequired(self) -> bool: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

        class Builder(java.lang.Object):
            def __init__(self) -> None: ...
            def build(self) -> PackageInstaller.InstallConstraints: ...
            def setAppNotForegroundRequired(self) -> PackageInstaller.InstallConstraints.Builder: ...
            def setAppNotInteractingRequired(self) -> PackageInstaller.InstallConstraints.Builder: ...
            def setAppNotTopVisibleRequired(self) -> PackageInstaller.InstallConstraints.Builder: ...
            def setDeviceIdleRequired(self) -> PackageInstaller.InstallConstraints.Builder: ...
            def setNotInCallRequired(self) -> PackageInstaller.InstallConstraints.Builder: ...

class PackageItemInfo(java.lang.Object):
    banner: int = ...
    icon: int = ...
    isArchived: bool = ...
    labelRes: int = ...
    logo: int = ...
    metaData: android.os.Bundle = ...
    name: str = ...
    nonLocalizedLabel: java.lang.CharSequence = ...
    packageName: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: PackageItemInfo, /) -> None: ...
    @typing.overload
    def __init__(self, source: android.os.Parcel, /) -> None: ...
    def dumpBack(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def dumpFront(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def loadBanner(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable | None: ...
    def loadIcon(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable: ...
    def loadLabel(self, pm: PackageManager, /) -> java.lang.CharSequence: ...
    def loadLogo(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable | None: ...
    def loadUnbadgedIcon(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable: ...
    def loadXmlMetaData(self, pm: PackageManager, name: str | java.lang.String, /) -> android.content.res.XmlResourceParser | None: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

    class DisplayNameComparator(java.util.Comparator[PackageItemInfo]):
        def __init__(self, pm: PackageManager, /) -> None: ...
        def compare(self, aa: PackageItemInfo, ab: PackageItemInfo, /) -> int: ...

class PackageManager(java.lang.Object):
    CERT_INPUT_RAW_X509: typing.ClassVar[int] = ...
    CERT_INPUT_SHA256: typing.ClassVar[int] = ...
    COMPONENT_ENABLED_STATE_DEFAULT: typing.ClassVar[int] = ...
    COMPONENT_ENABLED_STATE_DISABLED: typing.ClassVar[int] = ...
    COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED: typing.ClassVar[int] = ...
    COMPONENT_ENABLED_STATE_DISABLED_USER: typing.ClassVar[int] = ...
    COMPONENT_ENABLED_STATE_ENABLED: typing.ClassVar[int] = ...
    DELETE_ARCHIVE: typing.ClassVar[int] = ...
    DONT_KILL_APP: typing.ClassVar[int] = ...
    EXTRA_VERIFICATION_ID: typing.ClassVar[str] = ...
    EXTRA_VERIFICATION_RESULT: typing.ClassVar[str] = ...
    FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS: typing.ClassVar[str] = ...
    FEATURE_APP_WIDGETS: typing.ClassVar[str] = ...
    FEATURE_AUDIO_LOW_LATENCY: typing.ClassVar[str] = ...
    FEATURE_AUDIO_OUTPUT: typing.ClassVar[str] = ...
    FEATURE_AUDIO_PRO: typing.ClassVar[str] = ...
    FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY: typing.ClassVar[str] = ...
    FEATURE_AUTOFILL: typing.ClassVar[str] = ...
    FEATURE_AUTOMOTIVE: typing.ClassVar[str] = ...
    FEATURE_BACKUP: typing.ClassVar[str] = ...
    FEATURE_BLUETOOTH: typing.ClassVar[str] = ...
    FEATURE_BLUETOOTH_LE: typing.ClassVar[str] = ...
    FEATURE_BLUETOOTH_LE_CHANNEL_SOUNDING: typing.ClassVar[str] = ...
    FEATURE_CAMERA: typing.ClassVar[str] = ...
    FEATURE_CAMERA_ANY: typing.ClassVar[str] = ...
    FEATURE_CAMERA_AR: typing.ClassVar[str] = ...
    FEATURE_CAMERA_AUTOFOCUS: typing.ClassVar[str] = ...
    FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING: typing.ClassVar[str] = ...
    FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR: typing.ClassVar[str] = ...
    FEATURE_CAMERA_CAPABILITY_RAW: typing.ClassVar[str] = ...
    FEATURE_CAMERA_CONCURRENT: typing.ClassVar[str] = ...
    FEATURE_CAMERA_EXTERNAL: typing.ClassVar[str] = ...
    FEATURE_CAMERA_FLASH: typing.ClassVar[str] = ...
    FEATURE_CAMERA_FRONT: typing.ClassVar[str] = ...
    FEATURE_CAMERA_LEVEL_FULL: typing.ClassVar[str] = ...
    FEATURE_CANT_SAVE_STATE: typing.ClassVar[str] = ...
    FEATURE_COMPANION_DEVICE_SETUP: typing.ClassVar[str] = ...
    FEATURE_CONNECTION_SERVICE: typing.ClassVar[str] = ...
    FEATURE_CONSUMER_IR: typing.ClassVar[str] = ...
    FEATURE_CONTROLS: typing.ClassVar[str] = ...
    FEATURE_CREDENTIALS: typing.ClassVar[str] = ...
    FEATURE_DEVICE_ADMIN: typing.ClassVar[str] = ...
    FEATURE_DEVICE_LOCK: typing.ClassVar[str] = ...
    FEATURE_EMBEDDED: typing.ClassVar[str] = ...
    FEATURE_ETHERNET: typing.ClassVar[str] = ...
    FEATURE_EXPANDED_PICTURE_IN_PICTURE: typing.ClassVar[str] = ...
    FEATURE_FACE: typing.ClassVar[str] = ...
    FEATURE_FAKETOUCH: typing.ClassVar[str] = ...
    FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT: typing.ClassVar[str] = ...
    FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND: typing.ClassVar[str] = ...
    FEATURE_FINGERPRINT: typing.ClassVar[str] = ...
    FEATURE_FREEFORM_WINDOW_MANAGEMENT: typing.ClassVar[str] = ...
    FEATURE_GAMEPAD: typing.ClassVar[str] = ...
    FEATURE_HARDWARE_KEYSTORE: typing.ClassVar[str] = ...
    FEATURE_HIFI_SENSORS: typing.ClassVar[str] = ...
    FEATURE_HOME_SCREEN: typing.ClassVar[str] = ...
    FEATURE_IDENTITY_CREDENTIAL_HARDWARE: typing.ClassVar[str] = ...
    FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS: typing.ClassVar[str] = ...
    FEATURE_INPUT_METHODS: typing.ClassVar[str] = ...
    FEATURE_IPSEC_TUNNELS: typing.ClassVar[str] = ...
    FEATURE_IPSEC_TUNNEL_MIGRATION: typing.ClassVar[str] = ...
    FEATURE_IRIS: typing.ClassVar[str] = ...
    FEATURE_KEYSTORE_APP_ATTEST_KEY: typing.ClassVar[str] = ...
    FEATURE_KEYSTORE_LIMITED_USE_KEY: typing.ClassVar[str] = ...
    FEATURE_KEYSTORE_SINGLE_USE_KEY: typing.ClassVar[str] = ...
    FEATURE_LEANBACK: typing.ClassVar[str] = ...
    FEATURE_LEANBACK_ONLY: typing.ClassVar[str] = ...
    FEATURE_LIVE_TV: typing.ClassVar[str] = ...
    FEATURE_LIVE_WALLPAPER: typing.ClassVar[str] = ...
    FEATURE_LOCATION: typing.ClassVar[str] = ...
    FEATURE_LOCATION_GPS: typing.ClassVar[str] = ...
    FEATURE_LOCATION_NETWORK: typing.ClassVar[str] = ...
    FEATURE_MANAGED_USERS: typing.ClassVar[str] = ...
    FEATURE_MICROPHONE: typing.ClassVar[str] = ...
    FEATURE_MIDI: typing.ClassVar[str] = ...
    FEATURE_NFC: typing.ClassVar[str] = ...
    FEATURE_NFC_BEAM: typing.ClassVar[str] = ...
    FEATURE_NFC_HOST_CARD_EMULATION: typing.ClassVar[str] = ...
    FEATURE_NFC_HOST_CARD_EMULATION_NFCF: typing.ClassVar[str] = ...
    FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE: typing.ClassVar[str] = ...
    FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC: typing.ClassVar[str] = ...
    FEATURE_OPENGLES_DEQP_LEVEL: typing.ClassVar[str] = ...
    FEATURE_OPENGLES_EXTENSION_PACK: typing.ClassVar[str] = ...
    FEATURE_PC: typing.ClassVar[str] = ...
    FEATURE_PICTURE_IN_PICTURE: typing.ClassVar[str] = ...
    FEATURE_PRINTING: typing.ClassVar[str] = ...
    FEATURE_RAM_LOW: typing.ClassVar[str] = ...
    FEATURE_RAM_NORMAL: typing.ClassVar[str] = ...
    FEATURE_SCREEN_LANDSCAPE: typing.ClassVar[str] = ...
    FEATURE_SCREEN_PORTRAIT: typing.ClassVar[str] = ...
    FEATURE_SECURELY_REMOVES_USERS: typing.ClassVar[str] = ...
    FEATURE_SECURE_LOCK_SCREEN: typing.ClassVar[str] = ...
    FEATURE_SECURITY_MODEL_COMPATIBLE: typing.ClassVar[str] = ...
    FEATURE_SENSOR_ACCELEROMETER: typing.ClassVar[str] = ...
    FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES: typing.ClassVar[str] = ...
    FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: typing.ClassVar[str] = ...
    FEATURE_SENSOR_AMBIENT_TEMPERATURE: typing.ClassVar[str] = ...
    FEATURE_SENSOR_BAROMETER: typing.ClassVar[str] = ...
    FEATURE_SENSOR_COMPASS: typing.ClassVar[str] = ...
    FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER: typing.ClassVar[str] = ...
    FEATURE_SENSOR_GYROSCOPE: typing.ClassVar[str] = ...
    FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES: typing.ClassVar[str] = ...
    FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: typing.ClassVar[str] = ...
    FEATURE_SENSOR_HEADING: typing.ClassVar[str] = ...
    FEATURE_SENSOR_HEART_RATE: typing.ClassVar[str] = ...
    FEATURE_SENSOR_HEART_RATE_ECG: typing.ClassVar[str] = ...
    FEATURE_SENSOR_HINGE_ANGLE: typing.ClassVar[str] = ...
    FEATURE_SENSOR_LIGHT: typing.ClassVar[str] = ...
    FEATURE_SENSOR_PROXIMITY: typing.ClassVar[str] = ...
    FEATURE_SENSOR_RELATIVE_HUMIDITY: typing.ClassVar[str] = ...
    FEATURE_SENSOR_STEP_COUNTER: typing.ClassVar[str] = ...
    FEATURE_SENSOR_STEP_DETECTOR: typing.ClassVar[str] = ...
    FEATURE_SE_OMAPI_ESE: typing.ClassVar[str] = ...
    FEATURE_SE_OMAPI_SD: typing.ClassVar[str] = ...
    FEATURE_SE_OMAPI_UICC: typing.ClassVar[str] = ...
    FEATURE_SIP: typing.ClassVar[str] = ...
    FEATURE_SIP_VOIP: typing.ClassVar[str] = ...
    FEATURE_STRONGBOX_KEYSTORE: typing.ClassVar[str] = ...
    FEATURE_TELECOM: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_CALLING: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_CDMA: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_DATA: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_EUICC: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_EUICC_MEP: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_GSM: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_IMS: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_MBMS: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_MESSAGING: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_RADIO_ACCESS: typing.ClassVar[str] = ...
    FEATURE_TELEPHONY_SUBSCRIPTION: typing.ClassVar[str] = ...
    FEATURE_TELEVISION: typing.ClassVar[str] = ...
    FEATURE_THREAD_NETWORK: typing.ClassVar[str] = ...
    FEATURE_TOUCHSCREEN: typing.ClassVar[str] = ...
    FEATURE_TOUCHSCREEN_MULTITOUCH: typing.ClassVar[str] = ...
    FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT: typing.ClassVar[str] = ...
    FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND: typing.ClassVar[str] = ...
    FEATURE_USB_ACCESSORY: typing.ClassVar[str] = ...
    FEATURE_USB_HOST: typing.ClassVar[str] = ...
    FEATURE_UWB: typing.ClassVar[str] = ...
    FEATURE_VERIFIED_BOOT: typing.ClassVar[str] = ...
    FEATURE_VR_HEADTRACKING: typing.ClassVar[str] = ...
    FEATURE_VR_MODE: typing.ClassVar[str] = ...
    FEATURE_VR_MODE_HIGH_PERFORMANCE: typing.ClassVar[str] = ...
    FEATURE_VULKAN_DEQP_LEVEL: typing.ClassVar[str] = ...
    FEATURE_VULKAN_HARDWARE_COMPUTE: typing.ClassVar[str] = ...
    FEATURE_VULKAN_HARDWARE_LEVEL: typing.ClassVar[str] = ...
    FEATURE_VULKAN_HARDWARE_VERSION: typing.ClassVar[str] = ...
    FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS: typing.ClassVar[str] = ...
    FEATURE_WATCH: typing.ClassVar[str] = ...
    FEATURE_WEBVIEW: typing.ClassVar[str] = ...
    FEATURE_WIFI: typing.ClassVar[str] = ...
    FEATURE_WIFI_AWARE: typing.ClassVar[str] = ...
    FEATURE_WIFI_DIRECT: typing.ClassVar[str] = ...
    FEATURE_WIFI_PASSPOINT: typing.ClassVar[str] = ...
    FEATURE_WIFI_RTT: typing.ClassVar[str] = ...
    FEATURE_WINDOW_MAGNIFICATION: typing.ClassVar[str] = ...
    FLAG_PERMISSION_WHITELIST_INSTALLER: typing.ClassVar[int] = ...
    FLAG_PERMISSION_WHITELIST_SYSTEM: typing.ClassVar[int] = ...
    FLAG_PERMISSION_WHITELIST_UPGRADE: typing.ClassVar[int] = ...
    GET_ACTIVITIES: typing.ClassVar[int] = ...
    GET_ATTRIBUTIONS: typing.ClassVar[int] = ...
    GET_ATTRIBUTIONS_LONG: typing.ClassVar[int] = ...
    GET_CONFIGURATIONS: typing.ClassVar[int] = ...
    GET_DISABLED_COMPONENTS: typing.ClassVar[int] = ...
    GET_DISABLED_UNTIL_USED_COMPONENTS: typing.ClassVar[int] = ...
    GET_GIDS: typing.ClassVar[int] = ...
    GET_INSTRUMENTATION: typing.ClassVar[int] = ...
    GET_INTENT_FILTERS: typing.ClassVar[int] = ...
    GET_META_DATA: typing.ClassVar[int] = ...
    GET_PERMISSIONS: typing.ClassVar[int] = ...
    GET_PROVIDERS: typing.ClassVar[int] = ...
    GET_RECEIVERS: typing.ClassVar[int] = ...
    GET_RESOLVED_FILTER: typing.ClassVar[int] = ...
    GET_SERVICES: typing.ClassVar[int] = ...
    GET_SHARED_LIBRARY_FILES: typing.ClassVar[int] = ...
    GET_SIGNATURES: typing.ClassVar[int] = ...
    GET_SIGNING_CERTIFICATES: typing.ClassVar[int] = ...
    GET_UNINSTALLED_PACKAGES: typing.ClassVar[int] = ...
    GET_URI_PERMISSION_PATTERNS: typing.ClassVar[int] = ...
    INSTALL_REASON_DEVICE_RESTORE: typing.ClassVar[int] = ...
    INSTALL_REASON_DEVICE_SETUP: typing.ClassVar[int] = ...
    INSTALL_REASON_POLICY: typing.ClassVar[int] = ...
    INSTALL_REASON_UNKNOWN: typing.ClassVar[int] = ...
    INSTALL_REASON_USER: typing.ClassVar[int] = ...
    INSTALL_SCENARIO_BULK: typing.ClassVar[int] = ...
    INSTALL_SCENARIO_BULK_SECONDARY: typing.ClassVar[int] = ...
    INSTALL_SCENARIO_DEFAULT: typing.ClassVar[int] = ...
    INSTALL_SCENARIO_FAST: typing.ClassVar[int] = ...
    MATCH_ALL: typing.ClassVar[int] = ...
    MATCH_APEX: typing.ClassVar[int] = ...
    MATCH_ARCHIVED_PACKAGES: typing.ClassVar[int] = ...
    MATCH_DEFAULT_ONLY: typing.ClassVar[int] = ...
    MATCH_DIRECT_BOOT_AUTO: typing.ClassVar[int] = ...
    MATCH_DIRECT_BOOT_AWARE: typing.ClassVar[int] = ...
    MATCH_DIRECT_BOOT_UNAWARE: typing.ClassVar[int] = ...
    MATCH_DISABLED_COMPONENTS: typing.ClassVar[int] = ...
    MATCH_DISABLED_UNTIL_USED_COMPONENTS: typing.ClassVar[int] = ...
    MATCH_SYSTEM_ONLY: typing.ClassVar[int] = ...
    MATCH_UNINSTALLED_PACKAGES: typing.ClassVar[int] = ...
    MAXIMUM_VERIFICATION_TIMEOUT: typing.ClassVar[int] = ...
    PERMISSION_DENIED: typing.ClassVar[int] = ...
    PERMISSION_GRANTED: typing.ClassVar[int] = ...
    PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT: typing.ClassVar[str] = ...
    PROPERTY_MEDIA_CAPABILITIES: typing.ClassVar[str] = ...
    PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES: typing.ClassVar[str] = ...
    PROPERTY_SPECIAL_USE_FGS_SUBTYPE: typing.ClassVar[str] = ...
    PROPERTY_USE_RESTRICTED_BACKUP_MODE: typing.ClassVar[str] = ...
    SIGNATURE_FIRST_NOT_SIGNED: typing.ClassVar[int] = ...
    SIGNATURE_MATCH: typing.ClassVar[int] = ...
    SIGNATURE_NEITHER_SIGNED: typing.ClassVar[int] = ...
    SIGNATURE_NO_MATCH: typing.ClassVar[int] = ...
    SIGNATURE_SECOND_NOT_SIGNED: typing.ClassVar[int] = ...
    SIGNATURE_UNKNOWN_PACKAGE: typing.ClassVar[int] = ...
    SYNCHRONOUS: typing.ClassVar[int] = ...
    TRUST_ALL: typing.ClassVar[java.util.List[java.security.cert.Certificate]] = ...
    TRUST_NONE: typing.ClassVar[java.util.List[java.security.cert.Certificate]] = ...
    VERIFICATION_ALLOW: typing.ClassVar[int] = ...
    VERIFICATION_REJECT: typing.ClassVar[int] = ...
    VERSION_CODE_HIGHEST: typing.ClassVar[int] = ...
    def __init__(self) -> None: ...
    def addPackageToPreferred(self, arg1: str | java.lang.String, /) -> None: ...
    def addPermission(self, arg1: PermissionInfo, /) -> bool: ...
    def addPermissionAsync(self, arg1: PermissionInfo, /) -> bool: ...
    def addPreferredActivity(self, arg1: android.content.IntentFilter, arg2: int | java.jint | java.lang.Integer, arg3: java.chaquopy.JavaArray[android.content.ComponentName], arg4: android.content.ComponentName, /) -> None: ...
    def addWhitelistedRestrictedPermission(self, packageName: str | java.lang.String, permName: str | java.lang.String, whitelistFlags: int | java.jint | java.lang.Integer, /) -> bool: ...
    @typing.overload
    def canPackageQuery(self, sourcePackageName: str | java.lang.String, targetPackageName: str | java.lang.String, /) -> bool: ...
    @typing.overload
    def canPackageQuery(self, sourcePackageName: str | java.lang.String, targetPackageNames: java.chaquopy.JavaArray[java.lang.String], /) -> java.chaquopy.JavaArrayJBoolean: ...
    def canRequestPackageInstalls(self) -> bool: ...
    def canonicalToCurrentPackageNames(self, arg1: java.chaquopy.JavaArray[java.lang.String], /) -> java.chaquopy.JavaArray[java.lang.String]: ...
    def checkPermission(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> int: ...
    @typing.overload
    def checkSignatures(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def checkSignatures(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> int: ...
    def clearInstantAppCookie(self) -> None: ...
    def clearPackagePreferredActivities(self, arg1: str | java.lang.String, /) -> None: ...
    def currentToCanonicalPackageNames(self, arg1: java.chaquopy.JavaArray[java.lang.String], /) -> java.chaquopy.JavaArray[java.lang.String]: ...
    def extendVerificationTimeout(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jlong | java.lang.Long, /) -> None: ...
    @typing.overload
    def getActivityBanner(self, arg1: android.content.ComponentName, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getActivityBanner(self, arg1: android.content.Intent, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getActivityIcon(self, arg1: android.content.ComponentName, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getActivityIcon(self, arg1: android.content.Intent, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getActivityInfo(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, /) -> ActivityInfo: ...
    @typing.overload
    def getActivityInfo(self, component: android.content.ComponentName, flags: PackageManager.ComponentInfoFlags, /) -> ActivityInfo: ...
    @typing.overload
    def getActivityLogo(self, arg1: android.content.ComponentName, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getActivityLogo(self, arg1: android.content.Intent, /) -> android.graphics.drawable.Drawable | None: ...
    def getAllPermissionGroups(self, arg1: int | java.jint | java.lang.Integer, /) -> java.util.List[PermissionGroupInfo]: ...
    @typing.overload
    def getApplicationBanner(self, arg1: ApplicationInfo, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getApplicationBanner(self, arg1: str | java.lang.String, /) -> android.graphics.drawable.Drawable | None: ...
    def getApplicationEnabledSetting(self, arg1: str | java.lang.String, /) -> int: ...
    @typing.overload
    def getApplicationIcon(self, arg1: ApplicationInfo, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getApplicationIcon(self, arg1: str | java.lang.String, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getApplicationInfo(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> ApplicationInfo: ...
    @typing.overload
    def getApplicationInfo(self, packageName: str | java.lang.String, flags: PackageManager.ApplicationInfoFlags, /) -> ApplicationInfo: ...
    def getApplicationLabel(self, arg1: ApplicationInfo, /) -> java.lang.CharSequence: ...
    @typing.overload
    def getApplicationLogo(self, arg1: ApplicationInfo, /) -> android.graphics.drawable.Drawable | None: ...
    @typing.overload
    def getApplicationLogo(self, arg1: str | java.lang.String, /) -> android.graphics.drawable.Drawable | None: ...
    def getArchivedPackage(self, packageName: str | java.lang.String, /) -> ArchivedPackageInfo | None: ...
    def getBackgroundPermissionOptionLabel(self) -> java.lang.CharSequence: ...
    def getChangedPackages(self, arg1: int | java.jint | java.lang.Integer, /) -> ChangedPackages | None: ...
    def getComponentEnabledSetting(self, arg1: android.content.ComponentName, /) -> int: ...
    def getDefaultActivityIcon(self) -> android.graphics.drawable.Drawable: ...
    def getDrawable(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, arg3: ApplicationInfo, /) -> android.graphics.drawable.Drawable | None: ...
    def getGroupOfPlatformPermission(self, permissionName: str | java.lang.String, executor: java.util.concurrent.Executor, callback: java.util.function.Consumer[java.lang.String], /) -> None: ...
    def getInstallSourceInfo(self, packageName: str | java.lang.String, /) -> InstallSourceInfo: ...
    @typing.overload
    def getInstalledApplications(self, arg1: int | java.jint | java.lang.Integer, /) -> java.util.List[ApplicationInfo]: ...
    @typing.overload
    def getInstalledApplications(self, flags: PackageManager.ApplicationInfoFlags, /) -> java.util.List[ApplicationInfo]: ...
    def getInstalledModules(self, flags: int | java.jint | java.lang.Integer, /) -> java.util.List[ModuleInfo]: ...
    @typing.overload
    def getInstalledPackages(self, arg1: int | java.jint | java.lang.Integer, /) -> java.util.List[PackageInfo]: ...
    @typing.overload
    def getInstalledPackages(self, flags: PackageManager.PackageInfoFlags, /) -> java.util.List[PackageInfo]: ...
    def getInstallerPackageName(self, arg1: str | java.lang.String, /) -> str | None: ...
    def getInstantAppCookie(self) -> java.chaquopy.JavaArrayJByte: ...
    def getInstantAppCookieMaxBytes(self) -> int: ...
    def getInstrumentationInfo(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, /) -> InstrumentationInfo: ...
    def getLaunchIntentForPackage(self, arg1: str | java.lang.String, /) -> android.content.Intent | None: ...
    def getLaunchIntentSenderForPackage(self, packageName: str | java.lang.String, /) -> android.content.IntentSender: ...
    def getLeanbackLaunchIntentForPackage(self, arg1: str | java.lang.String, /) -> android.content.Intent | None: ...
    def getMimeGroup(self, mimeGroup: str | java.lang.String, /) -> java.util.Set[java.lang.String]: ...
    def getModuleInfo(self, packageName: str | java.lang.String, flags: int | java.jint | java.lang.Integer, /) -> ModuleInfo: ...
    def getNameForUid(self, arg1: int | java.jint | java.lang.Integer, /) -> str | None: ...
    @typing.overload
    def getPackageArchiveInfo(self, archiveFilePath: str | java.lang.String, flags: int | java.jint | java.lang.Integer, /) -> PackageInfo | None: ...
    @typing.overload
    def getPackageArchiveInfo(self, archiveFilePath: str | java.lang.String, flags: PackageManager.PackageInfoFlags, /) -> PackageInfo | None: ...
    @typing.overload
    def getPackageGids(self, arg1: str | java.lang.String, /) -> java.chaquopy.JavaArrayJInt | None: ...
    @typing.overload
    def getPackageGids(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> java.chaquopy.JavaArrayJInt | None: ...
    @typing.overload
    def getPackageGids(self, packageName: str | java.lang.String, flags: PackageManager.PackageInfoFlags, /) -> java.chaquopy.JavaArrayJInt | None: ...
    @typing.overload
    def getPackageInfo(self, arg1: VersionedPackage, arg2: int | java.jint | java.lang.Integer, /) -> PackageInfo: ...
    @typing.overload
    def getPackageInfo(self, versionedPackage: VersionedPackage, flags: PackageManager.PackageInfoFlags, /) -> PackageInfo: ...
    @typing.overload
    def getPackageInfo(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> PackageInfo: ...
    @typing.overload
    def getPackageInfo(self, packageName: str | java.lang.String, flags: PackageManager.PackageInfoFlags, /) -> PackageInfo: ...
    def getPackageInstaller(self) -> PackageInstaller: ...
    @typing.overload
    def getPackageUid(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def getPackageUid(self, packageName: str | java.lang.String, flags: PackageManager.PackageInfoFlags, /) -> int: ...
    def getPackagesForUid(self, arg1: int | java.jint | java.lang.Integer, /) -> java.chaquopy.JavaArray[java.lang.String] | None: ...
    @typing.overload
    def getPackagesHoldingPermissions(self, arg1: java.chaquopy.JavaArray[java.lang.String], arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[PackageInfo]: ...
    @typing.overload
    def getPackagesHoldingPermissions(self, permissions: java.chaquopy.JavaArray[java.lang.String], flags: PackageManager.PackageInfoFlags, /) -> java.util.List[PackageInfo]: ...
    def getPermissionGroupInfo(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> PermissionGroupInfo: ...
    def getPermissionInfo(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> PermissionInfo: ...
    def getPlatformPermissionsForGroup(self, permissionGroupName: str | java.lang.String, executor: java.util.concurrent.Executor, callback: java.util.function.Consumer[java.util.List[java.lang.String]], /) -> None: ...
    def getPreferredActivities(self, arg1: java.util.List[android.content.IntentFilter], arg2: java.util.List[android.content.ComponentName], arg3: str | java.lang.String, /) -> int: ...
    def getPreferredPackages(self, arg1: int | java.jint | java.lang.Integer, /) -> java.util.List[PackageInfo]: ...
    @typing.overload
    def getProperty(self, propertyName: str | java.lang.String, component: android.content.ComponentName, /) -> PackageManager.Property: ...
    @typing.overload
    def getProperty(self, propertyName: str | java.lang.String, packageName: str | java.lang.String, /) -> PackageManager.Property: ...
    @typing.overload
    def getProviderInfo(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, /) -> ProviderInfo: ...
    @typing.overload
    def getProviderInfo(self, component: android.content.ComponentName, flags: PackageManager.ComponentInfoFlags, /) -> ProviderInfo: ...
    @typing.overload
    def getReceiverInfo(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, /) -> ActivityInfo: ...
    @typing.overload
    def getReceiverInfo(self, component: android.content.ComponentName, flags: PackageManager.ComponentInfoFlags, /) -> ActivityInfo: ...
    def getResourcesForActivity(self, arg1: android.content.ComponentName, /) -> android.content.res.Resources: ...
    @typing.overload
    def getResourcesForApplication(self, arg1: ApplicationInfo, /) -> android.content.res.Resources: ...
    @typing.overload
    def getResourcesForApplication(self, arg1: str | java.lang.String, /) -> android.content.res.Resources: ...
    @typing.overload
    def getResourcesForApplication(self, app: ApplicationInfo, configuration: android.content.res.Configuration, /) -> android.content.res.Resources: ...
    @typing.overload
    def getServiceInfo(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, /) -> ServiceInfo: ...
    @typing.overload
    def getServiceInfo(self, component: android.content.ComponentName, flags: PackageManager.ComponentInfoFlags, /) -> ServiceInfo: ...
    @typing.overload
    def getSharedLibraries(self, arg1: int | java.jint | java.lang.Integer, /) -> java.util.List[SharedLibraryInfo]: ...
    @typing.overload
    def getSharedLibraries(self, flags: PackageManager.PackageInfoFlags, /) -> java.util.List[SharedLibraryInfo]: ...
    def getSuspendedPackageAppExtras(self) -> android.os.Bundle | None: ...
    def getSyntheticAppDetailsActivityEnabled(self, packageName: str | java.lang.String, /) -> bool: ...
    def getSystemAvailableFeatures(self) -> java.chaquopy.JavaArray[FeatureInfo] | None: ...
    def getSystemSharedLibraryNames(self) -> java.chaquopy.JavaArray[java.lang.String] | None: ...
    def getTargetSdkVersion(self, packageName: str | java.lang.String, /) -> int: ...
    def getText(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, arg3: ApplicationInfo, /) -> java.lang.CharSequence | None: ...
    def getUserBadgedDrawableForDensity(self, arg1: android.graphics.drawable.Drawable, arg2: android.os.UserHandle, arg3: android.graphics.Rect, arg4: int | java.jint | java.lang.Integer, /) -> android.graphics.drawable.Drawable: ...
    def getUserBadgedIcon(self, arg1: android.graphics.drawable.Drawable, arg2: android.os.UserHandle, /) -> android.graphics.drawable.Drawable: ...
    def getUserBadgedLabel(self, arg1: java.lang.CharSequence, arg2: android.os.UserHandle, /) -> java.lang.CharSequence: ...
    @staticmethod
    def getVerifiedSigningInfo(path: str | java.lang.String, minAppSigningSchemeVersion: int | java.jint | java.lang.Integer, /) -> SigningInfo: ...
    def getWhitelistedRestrictedPermissions(self, packageName: str | java.lang.String, whitelistFlag: int | java.jint | java.lang.Integer, /) -> java.util.Set[java.lang.String]: ...
    def getXml(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, arg3: ApplicationInfo, /) -> android.content.res.XmlResourceParser | None: ...
    @typing.overload
    def hasSigningCertificate(self, uid: int | java.jint | java.lang.Integer, certificate: java.chaquopy.JavaArrayJByte, type: int | java.jint | java.lang.Integer, /) -> bool: ...
    @typing.overload
    def hasSigningCertificate(self, packageName: str | java.lang.String, certificate: java.chaquopy.JavaArrayJByte, type: int | java.jint | java.lang.Integer, /) -> bool: ...
    @typing.overload
    def hasSystemFeature(self, arg1: str | java.lang.String, /) -> bool: ...
    @typing.overload
    def hasSystemFeature(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isAppArchivable(self, packageName: str | java.lang.String, /) -> bool: ...
    @typing.overload
    def isAutoRevokeWhitelisted(self) -> bool: ...
    @typing.overload
    def isAutoRevokeWhitelisted(self, packageName: str | java.lang.String, /) -> bool: ...
    def isDefaultApplicationIcon(self, drawable: android.graphics.drawable.Drawable, /) -> bool: ...
    def isDeviceUpgrading(self) -> bool: ...
    @typing.overload
    def isInstantApp(self) -> bool: ...
    @typing.overload
    def isInstantApp(self, arg1: str | java.lang.String, /) -> bool: ...
    def isPackageStopped(self, packageName: str | java.lang.String, /) -> bool: ...
    @typing.overload
    def isPackageSuspended(self) -> bool: ...
    @typing.overload
    def isPackageSuspended(self, packageName: str | java.lang.String, /) -> bool: ...
    def isPermissionRevokedByPolicy(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> bool: ...
    def isSafeMode(self) -> bool: ...
    _parseAndroidManifest_0__T = typing.TypeVar('_parseAndroidManifest_0__T')  # <T>
    _parseAndroidManifest_1__T = typing.TypeVar('_parseAndroidManifest_1__T')  # <T>
    @typing.overload
    def parseAndroidManifest(self, apkFileDescriptor: android.os.ParcelFileDescriptor, parserFunction: java.util.function.Function[android.content.res.XmlResourceParser, _parseAndroidManifest_0__T], /) -> _parseAndroidManifest_0__T: ...
    @typing.overload
    def parseAndroidManifest(self, apkFile: java.io.File, parserFunction: java.util.function.Function[android.content.res.XmlResourceParser, _parseAndroidManifest_1__T], /) -> _parseAndroidManifest_1__T: ...
    def queryActivityProperty(self, propertyName: str | java.lang.String, /) -> java.util.List[PackageManager.Property]: ...
    def queryApplicationProperty(self, propertyName: str | java.lang.String, /) -> java.util.List[PackageManager.Property]: ...
    @typing.overload
    def queryBroadcastReceivers(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryBroadcastReceivers(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryContentProviders(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, /) -> java.util.List[ProviderInfo]: ...
    @typing.overload
    def queryContentProviders(self, processName: str | java.lang.String, uid: int | java.jint | java.lang.Integer, flags: PackageManager.ComponentInfoFlags, /) -> java.util.List[ProviderInfo]: ...
    def queryInstrumentation(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[InstrumentationInfo]: ...
    @typing.overload
    def queryIntentActivities(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentActivities(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentActivityOptions(self, caller: android.content.ComponentName, specifics: java.util.List[android.content.Intent], intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentActivityOptions(self, arg1: android.content.ComponentName, arg2: java.chaquopy.JavaArray[android.content.Intent], arg3: android.content.Intent, arg4: int | java.jint | java.lang.Integer, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentContentProviders(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentContentProviders(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentServices(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[ResolveInfo]: ...
    @typing.overload
    def queryIntentServices(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> java.util.List[ResolveInfo]: ...
    def queryPermissionsByGroup(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> java.util.List[PermissionInfo]: ...
    def queryProviderProperty(self, propertyName: str | java.lang.String, /) -> java.util.List[PackageManager.Property]: ...
    def queryReceiverProperty(self, propertyName: str | java.lang.String, /) -> java.util.List[PackageManager.Property]: ...
    def queryServiceProperty(self, propertyName: str | java.lang.String, /) -> java.util.List[PackageManager.Property]: ...
    def relinquishUpdateOwnership(self, targetPackage: str | java.lang.String, /) -> None: ...
    def removePackageFromPreferred(self, arg1: str | java.lang.String, /) -> None: ...
    def removePermission(self, arg1: str | java.lang.String, /) -> None: ...
    def removeWhitelistedRestrictedPermission(self, packageName: str | java.lang.String, permName: str | java.lang.String, whitelistFlags: int | java.jint | java.lang.Integer, /) -> bool: ...
    def requestChecksums(self, packageName: str | java.lang.String, includeSplits: bool | java.jboolean | java.lang.Boolean, required: int | java.jint | java.lang.Integer, trustedInstallers: java.util.List[java.security.cert.Certificate], onChecksumsReadyListener: PackageManager.OnChecksumsReadyListener, /) -> None: ...
    @typing.overload
    def resolveActivity(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> ResolveInfo | None: ...
    @typing.overload
    def resolveActivity(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> ResolveInfo | None: ...
    @typing.overload
    def resolveContentProvider(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> ProviderInfo | None: ...
    @typing.overload
    def resolveContentProvider(self, authority: str | java.lang.String, flags: PackageManager.ComponentInfoFlags, /) -> ProviderInfo | None: ...
    @typing.overload
    def resolveService(self, arg1: android.content.Intent, arg2: int | java.jint | java.lang.Integer, /) -> ResolveInfo | None: ...
    @typing.overload
    def resolveService(self, intent: android.content.Intent, flags: PackageManager.ResolveInfoFlags, /) -> ResolveInfo | None: ...
    def setApplicationCategoryHint(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, /) -> None: ...
    def setApplicationEnabledSetting(self, arg1: str | java.lang.String, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, /) -> None: ...
    def setAutoRevokeWhitelisted(self, packageName: str | java.lang.String, whitelisted: bool | java.jboolean | java.lang.Boolean, /) -> bool: ...
    def setComponentEnabledSetting(self, arg1: android.content.ComponentName, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, /) -> None: ...
    def setComponentEnabledSettings(self, settings: java.util.List[PackageManager.ComponentEnabledSetting], /) -> None: ...
    def setInstallerPackageName(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> None: ...
    def setMimeGroup(self, mimeGroup: str | java.lang.String, mimeTypes: java.util.Set[java.lang.String], /) -> None: ...
    def updateInstantAppCookie(self, arg1: java.chaquopy.JavaArrayJByte, /) -> None: ...
    def verifyPendingInstall(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> None: ...

    class ResolveInfoFlags(java.lang.Object):
        def getValue(self) -> int: ...
        @staticmethod
        def of(value: int | java.jlong | java.lang.Long, /) -> PackageManager.ResolveInfoFlags: ...

    class Property(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageManager.Property]] = ...
        def describeContents(self) -> int: ...
        def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getBoolean(self) -> bool: ...
        def getClassName(self) -> str: ...
        def getFloat(self) -> float: ...
        def getInteger(self) -> int: ...
        def getName(self) -> str: ...
        def getPackageName(self) -> str: ...
        def getResourceId(self) -> int: ...
        def getString(self) -> str: ...
        def hashCode(self) -> int: ...
        def isBoolean(self) -> bool: ...
        def isFloat(self) -> bool: ...
        def isInteger(self) -> bool: ...
        def isResourceId(self) -> bool: ...
        def isString(self) -> bool: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class PackageInfoFlags(java.lang.Object):
        def getValue(self) -> int: ...
        @staticmethod
        def of(value: int | java.jlong | java.lang.Long, /) -> PackageManager.PackageInfoFlags: ...

    class OnChecksumsReadyListener(java.lang.Object):
        def onChecksumsReady(self, arg1: java.util.List[ApkChecksum], /) -> None: ...

    class NameNotFoundException(android.util.AndroidException):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, name: str | java.lang.String, /) -> None: ...

    class ComponentInfoFlags(java.lang.Object):
        def getValue(self) -> int: ...
        @staticmethod
        def of(value: int | java.jlong | java.lang.Long, /) -> PackageManager.ComponentInfoFlags: ...

    class ComponentEnabledSetting(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageManager.ComponentEnabledSetting]] = ...
        def __init__(self, componentName: android.content.ComponentName, newState: int | java.jint | java.lang.Integer, flags: int | java.jint | java.lang.Integer, /) -> None: ...
        def describeContents(self) -> int: ...
        def getComponentName(self) -> android.content.ComponentName: ...
        def getEnabledFlags(self) -> int: ...
        def getEnabledState(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class ApplicationInfoFlags(java.lang.Object):
        def getValue(self) -> int: ...
        @staticmethod
        def of(value: int | java.jlong | java.lang.Long, /) -> PackageManager.ApplicationInfoFlags: ...

class PackageStats(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PackageStats]] = ...
    cacheSize: int = ...
    codeSize: int = ...
    dataSize: int = ...
    externalCacheSize: int = ...
    externalCodeSize: int = ...
    externalDataSize: int = ...
    externalMediaSize: int = ...
    externalObbSize: int = ...
    packageName: str = ...
    @typing.overload
    def __init__(self, pStats: PackageStats, /) -> None: ...
    @typing.overload
    def __init__(self, source: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, pkgName: str | java.lang.String, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class PathPermission(android.os.PatternMatcher):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PathPermission]] = ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, pattern: str | java.lang.String, type: int | java.jint | java.lang.Integer, readPermission: str | java.lang.String, writePermission: str | java.lang.String, /) -> None: ...
    def getReadPermission(self) -> str: ...
    def getWritePermission(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class PermissionGroupInfo(PackageItemInfo, android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PermissionGroupInfo]] = ...
    FLAG_PERSONAL_INFO: typing.ClassVar[int] = ...
    descriptionRes: int = ...
    flags: int = ...
    nonLocalizedDescription: java.lang.CharSequence = ...
    priority: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: PermissionGroupInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def loadDescription(self, pm: PackageManager, /) -> java.lang.CharSequence | None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class PermissionInfo(PackageItemInfo, android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PermissionInfo]] = ...
    FLAG_COSTS_MONEY: typing.ClassVar[int] = ...
    FLAG_HARD_RESTRICTED: typing.ClassVar[int] = ...
    FLAG_IMMUTABLY_RESTRICTED: typing.ClassVar[int] = ...
    FLAG_INSTALLED: typing.ClassVar[int] = ...
    FLAG_SOFT_RESTRICTED: typing.ClassVar[int] = ...
    PROTECTION_DANGEROUS: typing.ClassVar[int] = ...
    PROTECTION_FLAG_APPOP: typing.ClassVar[int] = ...
    PROTECTION_FLAG_DEVELOPMENT: typing.ClassVar[int] = ...
    PROTECTION_FLAG_INSTALLER: typing.ClassVar[int] = ...
    PROTECTION_FLAG_INSTANT: typing.ClassVar[int] = ...
    PROTECTION_FLAG_PRE23: typing.ClassVar[int] = ...
    PROTECTION_FLAG_PREINSTALLED: typing.ClassVar[int] = ...
    PROTECTION_FLAG_PRIVILEGED: typing.ClassVar[int] = ...
    PROTECTION_FLAG_RUNTIME_ONLY: typing.ClassVar[int] = ...
    PROTECTION_FLAG_SETUP: typing.ClassVar[int] = ...
    PROTECTION_FLAG_SYSTEM: typing.ClassVar[int] = ...
    PROTECTION_FLAG_VERIFIER: typing.ClassVar[int] = ...
    PROTECTION_INTERNAL: typing.ClassVar[int] = ...
    PROTECTION_MASK_BASE: typing.ClassVar[int] = ...
    PROTECTION_MASK_FLAGS: typing.ClassVar[int] = ...
    PROTECTION_NORMAL: typing.ClassVar[int] = ...
    PROTECTION_SIGNATURE: typing.ClassVar[int] = ...
    PROTECTION_SIGNATURE_OR_SYSTEM: typing.ClassVar[int] = ...
    descriptionRes: int = ...
    flags: int = ...
    group: str = ...
    nonLocalizedDescription: java.lang.CharSequence = ...
    protectionLevel: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: PermissionInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def getProtection(self) -> int: ...
    def getProtectionFlags(self) -> int: ...
    def loadDescription(self, pm: PackageManager, /) -> java.lang.CharSequence | None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class ProviderInfo(ComponentInfo, android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ProviderInfo]] = ...
    FLAG_SINGLE_USER: typing.ClassVar[int] = ...
    authority: str = ...
    flags: int = ...
    forceUriPermissions: bool = ...
    grantUriPermissions: bool = ...
    initOrder: int = ...
    isSyncable: bool = ...
    multiprocess: bool = ...
    pathPermissions: java.chaquopy.JavaArray[PathPermission] = ...
    readPermission: str = ...
    uriPermissionPatterns: java.chaquopy.JavaArray[android.os.PatternMatcher] = ...
    writePermission: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ProviderInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, out: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class ResolveInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ResolveInfo]] = ...
    activityInfo: ActivityInfo = ...
    filter: android.content.IntentFilter = ...
    icon: int = ...
    isDefault: bool = ...
    isInstantAppAvailable: bool = ...
    labelRes: int = ...
    match: int = ...
    nonLocalizedLabel: java.lang.CharSequence = ...
    preferredOrder: int = ...
    priority: int = ...
    providerInfo: ProviderInfo = ...
    resolvePackageName: str = ...
    serviceInfo: ServiceInfo = ...
    specificIndex: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ResolveInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def getIconResource(self) -> int: ...
    def isCrossProfileIntentForwarderActivity(self) -> bool: ...
    def loadIcon(self, pm: PackageManager, /) -> android.graphics.drawable.Drawable: ...
    def loadLabel(self, pm: PackageManager, /) -> java.lang.CharSequence: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

    class DisplayNameComparator(java.util.Comparator[ResolveInfo]):
        def __init__(self, pm: PackageManager, /) -> None: ...
        def compare(self, a: ResolveInfo, b: ResolveInfo, /) -> int: ...

class ServiceInfo(ComponentInfo, android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ServiceInfo]] = ...
    FLAG_ALLOW_SHARED_ISOLATED_PROCESS: typing.ClassVar[int] = ...
    FLAG_EXTERNAL_SERVICE: typing.ClassVar[int] = ...
    FLAG_ISOLATED_PROCESS: typing.ClassVar[int] = ...
    FLAG_SINGLE_USER: typing.ClassVar[int] = ...
    FLAG_STOP_WITH_TASK: typing.ClassVar[int] = ...
    FLAG_USE_APP_ZYGOTE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_CAMERA: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_DATA_SYNC: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_HEALTH: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_LOCATION: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_MANIFEST: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_MICROPHONE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_NONE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_PHONE_CALL: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_SHORT_SERVICE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_SPECIAL_USE: typing.ClassVar[int] = ...
    FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED: typing.ClassVar[int] = ...
    flags: int = ...
    permission: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: ServiceInfo, /) -> None: ...
    def describeContents(self) -> int: ...
    def dump(self, pw: android.util.Printer, prefix: str | java.lang.String, /) -> None: ...
    def getForegroundServiceType(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class SharedLibraryInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SharedLibraryInfo]] = ...
    TYPE_BUILTIN: typing.ClassVar[int] = ...
    TYPE_DYNAMIC: typing.ClassVar[int] = ...
    TYPE_SDK_PACKAGE: typing.ClassVar[int] = ...
    TYPE_STATIC: typing.ClassVar[int] = ...
    VERSION_UNDEFINED: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def getCertDigests(self) -> java.util.List[java.lang.String]: ...
    def getDeclaringPackage(self) -> VersionedPackage: ...
    def getDependentPackages(self) -> java.util.List[VersionedPackage]: ...
    def getLongVersion(self) -> int: ...
    def getName(self) -> str: ...
    def getType(self) -> int: ...
    def getVersion(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ShortcutInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ShortcutInfo]] = ...
    DISABLED_REASON_APP_CHANGED: typing.ClassVar[int] = ...
    DISABLED_REASON_BACKUP_NOT_SUPPORTED: typing.ClassVar[int] = ...
    DISABLED_REASON_BY_APP: typing.ClassVar[int] = ...
    DISABLED_REASON_NOT_DISABLED: typing.ClassVar[int] = ...
    DISABLED_REASON_OTHER_RESTORE_ISSUE: typing.ClassVar[int] = ...
    DISABLED_REASON_SIGNATURE_MISMATCH: typing.ClassVar[int] = ...
    DISABLED_REASON_UNKNOWN: typing.ClassVar[int] = ...
    DISABLED_REASON_VERSION_LOWER: typing.ClassVar[int] = ...
    SHORTCUT_CATEGORY_CONVERSATION: typing.ClassVar[str] = ...
    SURFACE_LAUNCHER: typing.ClassVar[int] = ...
    @staticmethod
    def createFromGenericDocument(context: android.content.Context, document: android.app.appsearch.GenericDocument, /) -> ShortcutInfo: ...
    def describeContents(self) -> int: ...
    def getActivity(self) -> android.content.ComponentName | None: ...
    def getCapabilities(self) -> java.util.List[Capability]: ...
    def getCapabilityParams(self, capability: Capability, /) -> java.util.List[CapabilityParams]: ...
    def getCategories(self) -> java.util.Set[java.lang.String] | None: ...
    def getDisabledMessage(self) -> java.lang.CharSequence | None: ...
    def getDisabledReason(self) -> int: ...
    def getExcludedFromSurfaces(self) -> int: ...
    def getExtras(self) -> android.os.PersistableBundle | None: ...
    def getId(self) -> str: ...
    def getIntent(self) -> android.content.Intent | None: ...
    def getIntents(self) -> java.chaquopy.JavaArray[android.content.Intent] | None: ...
    def getLastChangedTimestamp(self) -> int: ...
    def getLocusId(self) -> android.content.LocusId | None: ...
    def getLongLabel(self) -> java.lang.CharSequence | None: ...
    def getPackage(self) -> str: ...
    def getRank(self) -> int: ...
    def getShortLabel(self) -> java.lang.CharSequence | None: ...
    def getUserHandle(self) -> android.os.UserHandle: ...
    def hasKeyFieldsOnly(self) -> bool: ...
    def isCached(self) -> bool: ...
    def isDeclaredInManifest(self) -> bool: ...
    def isDynamic(self) -> bool: ...
    def isEnabled(self) -> bool: ...
    def isExcludedFromSurfaces(self, surface: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isImmutable(self) -> bool: ...
    def isPinned(self) -> bool: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self, context: android.content.Context, id: str | java.lang.String, /) -> None: ...
        def addCapabilityBinding(self, capability: Capability, capabilityParams: CapabilityParams, /) -> ShortcutInfo.Builder: ...
        def build(self) -> ShortcutInfo: ...
        def setActivity(self, activity: android.content.ComponentName, /) -> ShortcutInfo.Builder: ...
        def setCategories(self, categories: java.util.Set[java.lang.String], /) -> ShortcutInfo.Builder: ...
        def setDisabledMessage(self, disabledMessage: java.lang.CharSequence, /) -> ShortcutInfo.Builder: ...
        def setExcludedFromSurfaces(self, surfaces: int | java.jint | java.lang.Integer, /) -> ShortcutInfo.Builder: ...
        def setExtras(self, extras: android.os.PersistableBundle, /) -> ShortcutInfo.Builder: ...
        def setIcon(self, icon: android.graphics.drawable.Icon, /) -> ShortcutInfo.Builder: ...
        def setIntent(self, intent: android.content.Intent, /) -> ShortcutInfo.Builder: ...
        def setIntents(self, intents: java.chaquopy.JavaArray[android.content.Intent], /) -> ShortcutInfo.Builder: ...
        def setLocusId(self, locusId: android.content.LocusId, /) -> ShortcutInfo.Builder: ...
        def setLongLabel(self, longLabel: java.lang.CharSequence, /) -> ShortcutInfo.Builder: ...
        def setLongLived(self, longLived: bool | java.jboolean | java.lang.Boolean, /) -> ShortcutInfo.Builder: ...
        def setPerson(self, person: android.app.Person, /) -> ShortcutInfo.Builder: ...
        def setPersons(self, persons: java.chaquopy.JavaArray[android.app.Person], /) -> ShortcutInfo.Builder: ...
        def setRank(self, rank: int | java.jint | java.lang.Integer, /) -> ShortcutInfo.Builder: ...
        def setShortLabel(self, shortLabel: java.lang.CharSequence, /) -> ShortcutInfo.Builder: ...
        def setStartingTheme(self, themeResId: int | java.jint | java.lang.Integer, /) -> ShortcutInfo.Builder: ...

class ShortcutManager(java.lang.Object):
    FLAG_MATCH_CACHED: typing.ClassVar[int] = ...
    FLAG_MATCH_DYNAMIC: typing.ClassVar[int] = ...
    FLAG_MATCH_MANIFEST: typing.ClassVar[int] = ...
    FLAG_MATCH_PINNED: typing.ClassVar[int] = ...
    def addDynamicShortcuts(self, shortcutInfoList: java.util.List[ShortcutInfo], /) -> bool: ...
    def createShortcutResultIntent(self, shortcut: ShortcutInfo, /) -> android.content.Intent: ...
    @typing.overload
    def disableShortcuts(self, shortcutIds: java.util.List[java.lang.String], /) -> None: ...
    @typing.overload
    def disableShortcuts(self, shortcutIds: java.util.List[java.lang.String], disabledMessage: java.lang.CharSequence, /) -> None: ...
    def enableShortcuts(self, shortcutIds: java.util.List[java.lang.String], /) -> None: ...
    def getDynamicShortcuts(self) -> java.util.List[ShortcutInfo]: ...
    def getIconMaxHeight(self) -> int: ...
    def getIconMaxWidth(self) -> int: ...
    def getManifestShortcuts(self) -> java.util.List[ShortcutInfo]: ...
    def getMaxShortcutCountPerActivity(self) -> int: ...
    def getPinnedShortcuts(self) -> java.util.List[ShortcutInfo]: ...
    def getShortcuts(self, matchFlags: int | java.jint | java.lang.Integer, /) -> java.util.List[ShortcutInfo]: ...
    def isRateLimitingActive(self) -> bool: ...
    def isRequestPinShortcutSupported(self) -> bool: ...
    def pushDynamicShortcut(self, shortcut: ShortcutInfo, /) -> None: ...
    def removeAllDynamicShortcuts(self) -> None: ...
    def removeDynamicShortcuts(self, shortcutIds: java.util.List[java.lang.String], /) -> None: ...
    def removeLongLivedShortcuts(self, shortcutIds: java.util.List[java.lang.String], /) -> None: ...
    def reportShortcutUsed(self, shortcutId: str | java.lang.String, /) -> None: ...
    def requestPinShortcut(self, shortcut: ShortcutInfo, resultIntent: android.content.IntentSender, /) -> bool: ...
    def setDynamicShortcuts(self, shortcutInfoList: java.util.List[ShortcutInfo], /) -> bool: ...
    def updateShortcuts(self, shortcutInfoList: java.util.List[ShortcutInfo], /) -> bool: ...

class Signature(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Signature]] = ...
    @typing.overload
    def __init__(self, text: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, signature: java.chaquopy.JavaArrayJByte, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def hashCode(self) -> int: ...
    def toByteArray(self) -> java.chaquopy.JavaArrayJByte: ...
    @typing.overload
    def toChars(self) -> java.chaquopy.JavaArrayJChar: ...
    @typing.overload
    def toChars(self, existingArray: java.chaquopy.JavaArrayJChar, outLen: java.chaquopy.JavaArrayJInt, /) -> java.chaquopy.JavaArrayJChar: ...
    def toCharsString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class SigningInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SigningInfo]] = ...
    VERSION_JAR: typing.ClassVar[int] = ...
    VERSION_SIGNING_BLOCK_V2: typing.ClassVar[int] = ...
    VERSION_SIGNING_BLOCK_V3: typing.ClassVar[int] = ...
    VERSION_SIGNING_BLOCK_V4: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, orig: SigningInfo, /) -> None: ...
    @typing.overload
    def __init__(self, schemeVersion: int | java.jint | java.lang.Integer, apkContentsSigners: java.util.Collection[Signature], publicKeys: java.util.Collection[java.security.PublicKey], signingCertificateHistory: java.util.Collection[Signature], /) -> None: ...
    def describeContents(self) -> int: ...
    def getApkContentsSigners(self) -> java.chaquopy.JavaArray[Signature]: ...
    def getPublicKeys(self) -> java.util.Collection[java.security.PublicKey]: ...
    def getSchemeVersion(self) -> int: ...
    def getSigningCertificateHistory(self) -> java.chaquopy.JavaArray[Signature]: ...
    def hasMultipleSigners(self) -> bool: ...
    def hasPastSigningCertificates(self) -> bool: ...
    def signersMatchExactly(self, other: SigningInfo, /) -> bool: ...
    def writeToParcel(self, dest: android.os.Parcel, parcelableFlags: int | java.jint | java.lang.Integer, /) -> None: ...

class SigningInfoException(java.lang.Exception):
    def getCode(self) -> int: ...

class VersionedPackage(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[VersionedPackage]] = ...
    @typing.overload
    def __init__(self, packageName: str | java.lang.String, versionCode: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, packageName: str | java.lang.String, versionCode: int | java.jlong | java.lang.Long, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getLongVersionCode(self) -> int: ...
    def getPackageName(self) -> str: ...
    def getVersionCode(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
