80.8 - Beta (80108)

This commit is contained in:
Juby210 2021-06-27 22:44:35 +02:00
commit a22a01967d
Signed by: Juby210
GPG Key ID: F459CEC5C92E1482
25339 changed files with 1873054 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
app/src/main/*
!app/src/main/AndroidManifest.xml
!app/src/main/assets
!app/src/main/java
!app/src/main/res

38
app/build.gradle Normal file
View File

@ -0,0 +1,38 @@
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId 'com.discord'
minSdkVersion 21
targetSdkVersion 29
versionCode 80108
versionName "80.8 - Beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
}
dependencies {
// some dependencies
}

View File

@ -0,0 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="80108" android:versionName="80.8 - Beta" android:installLocation="auto" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.discord" platformBuildVersionCode="30" platformBuildVersionName="11">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
<uses-feature android:name="android.hardware.microphone" android:required="false"/>
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<permission android:label="@string/app_permission_connect_label" android:name="com.discord.permission.CONNECT" android:protectionLevel="dangerous" android:description="@string/app_permission_connect_desc"/>
<uses-feature android:name="android.hardware.camera.any" android:required="false"/>
<queries>
<package android:name="com.samsung.android.game.gametools"/>
<package android:name="com.samsung.android.game.gamehome"/>
<intent>
<action android:name="android.support.customtabs.action.CustomTabsService"/>
</intent>
</queries>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application android:theme="@style/res_2131951648_apptheme_dark" android:label="@string/discord" android:icon="@mipmap/ic_logo_square_beta" android:name="com.discord.app.App" android:allowBackup="false" android:largeHeap="true" android:supportsRtl="true" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_beta" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory">
<activity android:theme="@style/res_2131951672_apptheme_translucent" android:name="com.discord.samsung.SamsungConnectActivity"/>
<activity android:theme="@style/res_2131951648_apptheme_dark" android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:windowSoftInputMode="stateHidden|adjustResize"/>
<activity android:theme="@style/res_2131951662_apptheme_loading" android:name="com.discord.app.AppActivity$Main" android:exported="true" android:launchMode="singleTask" android:screenOrientation="fullUser" android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/app"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/app"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/gifts/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/gifts/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/invite/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/invite/.*"/>
<data android:scheme="http" android:host="discord.com" android:pathPattern="/invite/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/template/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/template/.*"/>
<data android:scheme="http" android:host="discord.com" android:pathPattern="/template/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/channels/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/channels/.*"/>
<data android:scheme="http" android:host="discord.com" android:pathPattern="/channels/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/users/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/users/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/feature/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/feature/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/discovery"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/discovery"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/query/.*"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/query/.*"/>
<data android:scheme="http" android:host="discord.com" android:pathPattern="/ra/.*"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/ra/.*"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/app"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/app"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/gifts/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/gifts/.*"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/invite/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/invite/.*"/>
<data android:scheme="http" android:host="discordapp.com" android:pathPattern="/invite/.*"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/template/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/template/.*"/>
<data android:scheme="http" android:host="discordapp.com" android:pathPattern="/template/.*"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/channels/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/channels/.*"/>
<data android:scheme="http" android:host="discordapp.com" android:pathPattern="/channels/.*"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/users/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/users/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/discovery"/>
<data android:scheme="https" android:host="*.discordapp.com" android:pathPattern="/discovery"/>
<data android:scheme="http" android:host="discordapp.com" android:pathPattern="/ra/.*"/>
<data android:scheme="https" android:host="discordapp.com" android:pathPattern="/ra/.*"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="discord" android:host="app" android:pathPattern="/.*"/>
<data android:scheme="https" android:host="discord.gift" android:pathPattern="/.*"/>
<data android:scheme="http" android:host="discord.gift" android:pathPattern="/.*"/>
<data android:scheme="https" android:host="discord.gg" android:pathPattern="/.*"/>
<data android:scheme="http" android:host="discord.gg" android:pathPattern="/.*"/>
<data android:scheme="https" android:host="discord.new" android:pathPattern="/.*"/>
<data android:scheme="http" android:host="discord.new" android:pathPattern="/.*"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="discord" android:host="action" android:pathPattern="/oauth2/authorize"/>
<data android:scheme="discord" android:host="action" android:pathPattern="/connect/authorize"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https" android:host="discord.com" android:pathPattern="/connect/authorize"/>
<data android:scheme="https" android:host="*.discord.com" android:pathPattern="/connect/authorize"/>
</intent-filter>
<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
</activity>
<activity android:name="com.discord.app.AppActivity$Call" android:excludeFromRecents="true" android:launchMode="singleTask"/>
<activity android:name="com.discord.app.AppActivity$IncomingCall" android:excludeFromRecents="true" android:launchMode="singleTask" android:showOnLockScreen="true" android:showWhenLocked="true" android:turnScreenOn="true"/>
<activity android:theme="@style/res_2131951662_apptheme_loading" android:label="@string/discord" android:name="com.discord.app.AppActivity$AppAction" android:exported="true" android:launchMode="standard" android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="com.discord.intent.action.SDK"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.OPENABLE"/>
<data android:scheme="discord" android:host="sdk" android:pathPattern="/.*"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action android:name="android.intent.action.SEND_MULTIPLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.OPENABLE"/>
<data android:mimeType="*/*"/>
</intent-filter>
<meta-data android:name="android.service.chooser.chooser_target_service" android:value="androidx.sharetarget.ChooserTargetServiceCompat"/>
</activity>
<activity android:name="com.facebook.flipper.android.diagnostics.FlipperDiagnosticActivity" android:exported="true"/>
<service android:name="com.discord.utilities.fcm.NotificationClient$FCMMessagingService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service android:name="com.discord.app.DiscordConnectService" android:permission="com.discord.permission.CONNECT" android:exported="true">
<intent-filter>
<action android:name="com.discord.intent.action.CONNECT"/>
<data android:scheme="discord" android:host="app" android:pathPattern="/connect/.*"/>
</intent-filter>
</service>
<service android:name="com.discord.utilities.voice.DiscordOverlayService" android:exported="false"/>
<meta-data android:name="com.discord.features.FLAG" android:value="1"/>
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/asset_default_avatar_64dp"/>
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/brand_500"/>
<receiver android:name="com.discord.utilities.fcm.NotificationActions" android:exported="false">
<intent-filter>
<action android:name="com.discord.intent.action.ENQUEUE_WORK"/>
<action android:name="com.discord.intent.action.NOTIFICATION_DELETED"/>
<action android:name="com.discord.intent.action.NOTIFICATION_CANCEL"/>
</intent-filter>
</receiver>
<receiver android:name="com.discord.utilities.io.NetworkUtils$NetworkDownloadReceiver" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
</intent-filter>
</receiver>
<service android:name="com.discord.utilities.voice.VoiceEngineForegroundService" android:foregroundServiceType="mediaProjection"/>
<provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="com.discord.file-provider" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
</provider>
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="true"/>
<meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value="AIzaSyD-4L6bgKMixqBRtrG2UktVXK6IexXlsog"/>
<meta-data android:name="com.google.android.actions" android:resource="@xml/actions"/>
<meta-data android:name="libdiscord_version" android:value="89.0.4-direct-surface-encode"/>
<service android:name="com.discord.hardware_analytics.HardwareSurveyService" android:exported="false" android:process=":HardwareSurveyService.PrivateRemoteProcess"/>
<activity android:theme="@style/res_2131952270_theme_appcompat_light_noactionbar" android:name="com.yalantis.ucrop.UCropActivity"/>
<service android:name="androidx.sharetarget.ChooserTargetServiceCompat" android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService"/>
</intent-filter>
</service>
<receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.analytics.AnalyticsService" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.analytics.AnalyticsJobService" android:permission="android.permission.BIND_JOB_SERVICE" android:enabled="true" android:exported="false"/>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" android:exported="false" android:excludeFromRecents="true"/>
<service android:name="com.google.android.gms.auth.api.signin.RevocationBoundService" android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" android:exported="true" android:visibleToInstantApps="true"/>
<service android:name="com.google.firebase.components.ComponentDiscoveryService" android:exported="false" android:directBootAware="true">
<meta-data android:name="com.google.firebase.components:com.google.firebase.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.ktx.FirebaseMessagingKtxRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.crashlytics.ndk.CrashlyticsNdkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.crashlytics.CrashlyticsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonKtxRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
</service>
<service android:name="com.google.firebase.messaging.FirebaseMessagingService" android:exported="false" android:directBootAware="true">
<intent-filter android:priority="-500">
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:permission="com.google.android.c2dm.permission.SEND" android:exported="true">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</receiver>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:exported="false"/>
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE" android:enabled="true" android:exported="false"/>
<provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:exported="false" android:authorities="com.discord.firebaseinitprovider" android:initOrder="100" android:directBootAware="true"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<provider android:name="androidx.work.impl.WorkManagerInitializer" android:exported="false" android:multiprocess="true" android:authorities="com.discord.workmanager-init" android:directBootAware="false"/>
<service android:name="androidx.work.impl.background.systemalarm.SystemAlarmService" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:directBootAware="false"/>
<service android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:directBootAware="false"/>
<service android:name="androidx.work.impl.foreground.SystemForegroundService" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:directBootAware="false"/>
<receiver android:name="androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver" android:enabled="true" android:exported="false" android:directBootAware="false"/>
<receiver android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy" android:enabled="false" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy" android:enabled="false" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="android.intent.action.BATTERY_OKAY"/>
<action android:name="android.intent.action.BATTERY_LOW"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy" android:enabled="false" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="android.intent.action.DEVICE_STORAGE_LOW"/>
<action android:name="android.intent.action.DEVICE_STORAGE_OK"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy" android:enabled="false" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.background.systemalarm.RescheduleReceiver" android:enabled="false" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.TIME_SET"/>
<action android:name="android.intent.action.TIMEZONE_CHANGED"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:directBootAware="false">
<intent-filter>
<action android:name="androidx.work.impl.background.systemalarm.UpdateProxies"/>
</intent-filter>
</receiver>
<receiver android:name="androidx.work.impl.diagnostics.DiagnosticsReceiver" android:permission="android.permission.DUMP" android:enabled="true" android:exported="true" android:directBootAware="false">
<intent-filter>
<action android:name="androidx.work.diagnostics.REQUEST_DIAGNOSTICS"/>
</intent-filter>
</receiver>
<service android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery" android:exported="false">
<meta-data android:name="backend:com.google.android.datatransport.cct.CctBackendFactory" android:value="cct"/>
</service>
<service android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false"/>
<receiver android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver" android:exported="false"/>
<service android:name="androidx.room.MultiInstanceInvalidationService" android:exported="false" android:directBootAware="true"/>
<meta-data android:name="com.google.android.play.billingclient.version" android:value="3.0.3"/>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="com.android.billingclient.api.ProxyBillingActivity" android:exported="false" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
</manifest>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"label":"Alberta","value":"AB"},{"label":"British Columbia","value":"BC"},{"label":"Manitoba","value":"MB"},{"label":"New Brunswick","value":"NB"},{"label":"Newfoundland and Labrador","value":"NL"},{"label":"Nova Scotia","value":"NS"},{"label":"Ontario","value":"ON"},{"label":"Prince Edward Island","value":"PE"},{"label":"Quebec","value":"QC"},{"label":"Saskatchewan","value":"SK"},{"label":"Northwest Territories","value":"NT"},{"label":"Nunavut","value":"NU"},{"label":"Yukon","value":"YT"}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,255 @@
[
{
"emoji": "angry",
"shortcuts": [
">:(",
">:-(",
">=(",
">=-("
]
},
{
"emoji": "blush",
"shortcuts": [
":\")",
":-\")",
"=\")",
"=-\")"
]
},
{
"emoji": "broken_heart",
"shortcuts": [
"</3",
"<\\3"
]
},
{
"emoji": "confused",
"shortcuts": [
":-\\",
":-/",
"=-\\",
"=-/"
]
},
{
"emoji": "cry",
"shortcuts": [
":'(",
":'-(",
":,(",
":,-(",
"='(",
"='-(",
"=,(",
"=,-("
]
},
{
"emoji": "frowning",
"shortcuts": [
":(",
":-(",
"=(",
"=-("
]
},
{
"emoji": "heart",
"shortcuts": [
"<3",
"♡"
]
},
{
"emoji": "imp",
"shortcuts": [
"]:(",
"]:-(",
"]=(",
"]=-("
]
},
{
"emoji": "innocent",
"shortcuts": [
"o:)",
"O:)",
"o:-)",
"O:-)",
"0:)",
"0:-)",
"o=)",
"O=)",
"o=-)",
"O=-)",
"0=)",
"0=-)"
]
},
{
"emoji": "joy",
"shortcuts": [
":')",
":'-)",
":,)",
":,-)",
":'D",
":'-D",
":,D",
":,-D",
"=')",
"='-)",
"=,)",
"=,-)",
"='D",
"='-D",
"=,D",
"=,-D"
]
},
{
"emoji": "kissing",
"shortcuts": [
":*",
":-*",
"=*",
"=-*"
]
},
{
"emoji": "laughing",
"shortcuts": [
"x-)",
"X-)"
]
},
{
"emoji": "neutral_face",
"shortcuts": [
":|",
":-|",
"=|",
"=-|"
]
},
{
"emoji": "open_mouth",
"shortcuts": [
":o",
":-o",
":O",
":-O",
"=o",
"=-o",
"=O",
"=-O"
]
},
{
"emoji": "rage",
"shortcuts": [
":@",
":-@",
"=@",
"=-@"
]
},
{
"emoji": "smile",
"shortcuts": [
":D",
":-D",
"=D",
"=-D"
]
},
{
"emoji": "slight_smile",
"shortcuts": [
":)",
":-)",
"=)",
"=-)"
]
},
{
"emoji": "smiling_imp",
"shortcuts": [
"]:)",
"]:-)",
"]=)",
"]=-)"
]
},
{
"emoji": "sob",
"shortcuts": [
":,'(",
":,'-(",
";(",
";-(",
"=,'(",
"=,'-("
]
},
{
"emoji": "stuck_out_tongue",
"shortcuts": [
":P",
":-P",
"=P",
"=-P"
]
},
{
"emoji": "sunglasses",
"shortcuts": [
"8-)",
"B-)"
]
},
{
"emoji": "sweat",
"shortcuts": [
",:(",
",:-(",
",=(",
",=-("
]
},
{
"emoji": "sweat_smile",
"shortcuts": [
",:)",
",:-)",
",=)",
",=-)"
]
},
{
"emoji": "unamused",
"shortcuts": [
":s",
":-S",
":z",
":-Z",
":$",
":-$",
"=s",
"=-S",
"=z",
"=-Z",
"=$",
"=-$"
]
},
{
"emoji": "wink",
"shortcuts": [
";)",
";-)"
]
}
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
[{"label":"Alabama","value":"AL"},{"label":"Alaska","value":"AK"},{"label":"American Samoa","value":"AS"},{"label":"Arizona","value":"AZ"},{"label":"Arkansas","value":"AR"},{"label":"Armed Forces: Americas","value":"AA"},{"label":"Armed Forces: Europe","value":"AE"},{"label":"Armed Forces: Pacific","value":"AP"},{"label":"California","value":"CA"},{"label":"Colorado","value":"CO"},{"label":"Connecticut","value":"CT"},{"label":"Delaware","value":"DE"},{"label":"District Of Columbia","value":"DC"},{"label":"Federated States Of Micronesia","value":"FM"},{"label":"Florida","value":"FL"},{"label":"Georgia","value":"GA"},{"label":"Guam","value":"GU"},{"label":"Hawaii","value":"HI"},{"label":"Idaho","value":"ID"},{"label":"Illinois","value":"IL"},{"label":"Indiana","value":"IN"},{"label":"Iowa","value":"IA"},{"label":"Kansas","value":"KS"},{"label":"Kentucky","value":"KY"},{"label":"Louisiana","value":"LA"},{"label":"Maine","value":"ME"},{"label":"Marshall Islands","value":"MH"},{"label":"Maryland","value":"MD"},{"label":"Massachusetts","value":"MA"},{"label":"Michigan","value":"MI"},{"label":"Minnesota","value":"MN"},{"label":"Mississippi","value":"MS"},{"label":"Missouri","value":"MO"},{"label":"Montana","value":"MT"},{"label":"Nebraska","value":"NE"},{"label":"Nevada","value":"NV"},{"label":"New Hampshire","value":"NH"},{"label":"New Jersey","value":"NJ"},{"label":"New Mexico","value":"NM"},{"label":"New York","value":"NY"},{"label":"North Carolina","value":"NC"},{"label":"North Dakota","value":"ND"},{"label":"Northern Mariana Islands","value":"MP"},{"label":"Ohio","value":"OH"},{"label":"Oklahoma","value":"OK"},{"label":"Oregon","value":"OR"},{"label":"Palau","value":"PW"},{"label":"Pennsylvania","value":"PA"},{"label":"Puerto Rico","value":"PR"},{"label":"Rhode Island","value":"RI"},{"label":"South Carolina","value":"SC"},{"label":"South Dakota","value":"SD"},{"label":"Tennessee","value":"TN"},{"label":"Texas","value":"TX"},{"label":"Utah","value":"UT"},{"label":"Vermont","value":"VT"},{"label":"Virgin Islands","value":"VI"},{"label":"Virginia","value":"VA"},{"label":"Washington","value":"WA"},{"label":"West Virginia","value":"WV"},{"label":"Wisconsin","value":"WI"},{"label":"Wyoming","value":"WY"}]

View File

@ -0,0 +1,162 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<style>
* {
padding: 0;
margin: 0;
}
body {
display: table;
width: 100%;
height: 100%;
text-align: center;
}
#hcaptcha-container {
margin-top: 5px;
display: table-cell;
vertical-align: middle;
}
/* overwrite hCaptcha iframe overlay which adds a #FFF background with opacity 0.05 */
div > div:nth-child(2) {
opacity: 0 !important;
}
</style>
</head>
<body>
<div id="hcaptcha-container"></div>
<script type="text/javascript">
// Android will inject this bridge object as `JSInterface`
// Browser is missing it so we mock it
var BridgeObject = window.JSInterface || {
getConfig: function getConfig() {
return JSON.stringify({
siteKey: '10000000-ffff-ffff-ffff-000000000001',
locale: 'ro',
size: 'compact',
theme: 'dark',
sentry: true,
rqdata: null,
apiEndpoint: 'https://hcaptcha.com/1/api.js',
endpoint: null,
assethost: null,
imghost: null,
reportapi: null
});
},
onPass: function onPass(token) {
return console.log("pass: token ".concat(token));
},
onError: function onError(errCode) {
return console.log("error: code ".concat(errCode));
},
onLoaded: function onLoaded() {
return console.log('cb: challenge or checkbox is visible');
}
};
var bridgeConfig = JSON.parse(BridgeObject.getConfig());
function getRenderConfig() {
return {
sitekey: bridgeConfig.siteKey,
size: bridgeConfig.size,
theme: bridgeConfig.theme,
'callback': function callback(token) {
return BridgeObject.onPass(token);
},
'expired-callback': function expiredCallback() {
return BridgeObject.onError(15);
},
'chalexpired-callback': function chalexpiredCallback() {
return BridgeObject.onError(15);
},
'close-callback': function closeCallback() {
return BridgeObject.onError(30);
},
'error-callback': function errorCallback() {
return BridgeObject.onError(31);
},
'open-callback': function openCallback() {
return BridgeObject.onLoaded();
}
};
}
function onHcaptchaLoaded() {
try {
var renderConfig = getRenderConfig();
var rqdata = bridgeConfig.rqdata;
var hCaptchaID = hcaptcha.render('hcaptcha-container', renderConfig);
if (rqdata) {
hcaptcha.setData(hCaptchaID, {
rqdata: rqdata
});
}
if (renderConfig.size === 'invisible') {
hcaptcha.execute(hCaptchaID);
} else {
BridgeObject.onLoaded();
}
} catch (e) {
console.error(e);
BridgeObject.onError(29);
}
}
function addQueryParamIfDefined(url, queryName, queryValue) {
if (queryValue !== undefined && queryValue !== null) {
var link = url.indexOf('?') !== -1 ? '&' : '?';
return url + link + queryName + '=' + encodeURIComponent(queryValue);
}
return url;
}
function loadApi() {
var siteKey = bridgeConfig.siteKey;
var locale = bridgeConfig.locale;
var sentry = bridgeConfig.sentry;
var apiEndpoint = bridgeConfig.apiEndpoint;
var endpoint = bridgeConfig.endpoint;
var assethost = bridgeConfig.assethost;
var imghost = bridgeConfig.imghost;
var reportapi = bridgeConfig.reportapi;
var host = siteKey + '.android-sdk.hcaptcha.com';
var scriptSrc = apiEndpoint + '?render=explicit&onload=' + onHcaptchaLoaded.name;
scriptSrc = addQueryParamIfDefined(scriptSrc, 'recaptchacompat', 'off');
scriptSrc = addQueryParamIfDefined(scriptSrc, 'hl', locale);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'host', host);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'sentry', sentry);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'endpoint', endpoint);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'assethost', assethost);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'imghost', imghost);
scriptSrc = addQueryParamIfDefined(scriptSrc, 'reportapi', reportapi);
var script = document.createElement('script');
script.async = true;
script.src = scriptSrc;
script.onerror = function () {
// network issue
BridgeObject.onError(7);
};
document.head.appendChild(script);
}
document.body.onclick = function () {
if (window.hcaptcha) {
window.hcaptcha.close();
} else {
BridgeObject.onError(30);
}
};
loadApi();
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
https://www.reddit.com/r/discordapp/comments/dlkvza/theres_a_cute_catdog_image_hidden_inside_the/

View File

@ -0,0 +1,7 @@
package a0.a.a;
public /* synthetic */ class a {
public static /* synthetic */ int a(double d) {
long doubleToLongBits = Double.doubleToLongBits(d);
return (int) (doubleToLongBits ^ (doubleToLongBits >>> 32));
}
}

View File

@ -0,0 +1,6 @@
package a0.a.a;
public /* synthetic */ class b {
public static /* synthetic */ int a(long j) {
return (int) (j ^ (j >>> 32));
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.app;
import androidx.annotation.RestrictTo;
import androidx.core.app.RemoteActionCompat;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class RemoteActionCompatParcelizer extends androidx.core.app.RemoteActionCompatParcelizer {
public static RemoteActionCompat read(VersionedParcel versionedParcel) {
return androidx.core.app.RemoteActionCompatParcelizer.read(versionedParcel);
}
public static void write(RemoteActionCompat remoteActionCompat, VersionedParcel versionedParcel) {
androidx.core.app.RemoteActionCompatParcelizer.write(remoteActionCompat, versionedParcel);
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.graphics.drawable;
import androidx.annotation.RestrictTo;
import androidx.core.graphics.drawable.IconCompat;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class IconCompatParcelizer extends androidx.core.graphics.drawable.IconCompatParcelizer {
public static IconCompat read(VersionedParcel versionedParcel) {
return androidx.core.graphics.drawable.IconCompatParcelizer.read(versionedParcel);
}
public static void write(IconCompat iconCompat, VersionedParcel versionedParcel) {
androidx.core.graphics.drawable.IconCompatParcelizer.write(iconCompat, versionedParcel);
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.media;
import androidx.annotation.RestrictTo;
import androidx.media.AudioAttributesCompat;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class AudioAttributesCompatParcelizer extends androidx.media.AudioAttributesCompatParcelizer {
public static AudioAttributesCompat read(VersionedParcel versionedParcel) {
return androidx.media.AudioAttributesCompatParcelizer.read(versionedParcel);
}
public static void write(AudioAttributesCompat audioAttributesCompat, VersionedParcel versionedParcel) {
androidx.media.AudioAttributesCompatParcelizer.write(audioAttributesCompat, versionedParcel);
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.media;
import androidx.annotation.RestrictTo;
import androidx.media.AudioAttributesImplApi21;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class AudioAttributesImplApi21Parcelizer extends androidx.media.AudioAttributesImplApi21Parcelizer {
public static AudioAttributesImplApi21 read(VersionedParcel versionedParcel) {
return androidx.media.AudioAttributesImplApi21Parcelizer.read(versionedParcel);
}
public static void write(AudioAttributesImplApi21 audioAttributesImplApi21, VersionedParcel versionedParcel) {
androidx.media.AudioAttributesImplApi21Parcelizer.write(audioAttributesImplApi21, versionedParcel);
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.media;
import androidx.annotation.RestrictTo;
import androidx.media.AudioAttributesImplApi26;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class AudioAttributesImplApi26Parcelizer extends androidx.media.AudioAttributesImplApi26Parcelizer {
public static AudioAttributesImplApi26 read(VersionedParcel versionedParcel) {
return androidx.media.AudioAttributesImplApi26Parcelizer.read(versionedParcel);
}
public static void write(AudioAttributesImplApi26 audioAttributesImplApi26, VersionedParcel versionedParcel) {
androidx.media.AudioAttributesImplApi26Parcelizer.write(audioAttributesImplApi26, versionedParcel);
}
}

View File

@ -0,0 +1,15 @@
package android.support.v4.media;
import androidx.annotation.RestrictTo;
import androidx.media.AudioAttributesImplBase;
import androidx.versionedparcelable.VersionedParcel;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final class AudioAttributesImplBaseParcelizer extends androidx.media.AudioAttributesImplBaseParcelizer {
public static AudioAttributesImplBase read(VersionedParcel versionedParcel) {
return androidx.media.AudioAttributesImplBaseParcelizer.read(versionedParcel);
}
public static void write(AudioAttributesImplBase audioAttributesImplBase, VersionedParcel versionedParcel) {
androidx.media.AudioAttributesImplBaseParcelizer.write(audioAttributesImplBase, versionedParcel);
}
}

View File

@ -0,0 +1,458 @@
package android.support.v4.media;
import android.annotation.SuppressLint;
import android.content.ComponentName;
import android.content.Context;
import android.media.browse.MediaBrowser;
import android.os.BadParcelableException;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Process;
import android.os.RemoteException;
import android.support.v4.media.session.MediaSessionCompat;
import android.support.v4.os.ResultReceiver;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.collection.ArrayMap;
import androidx.core.app.BundleCompat;
import androidx.media.MediaBrowserCompatUtils;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import x.a.b.b.a.b;
public final class MediaBrowserCompat {
public static final boolean a = Log.isLoggable("MediaBrowserCompat", 3);
public final c b;
public static class CustomActionResultReceiver extends ResultReceiver {
@Override // android.support.v4.os.ResultReceiver
public void a(int i, Bundle bundle) {
}
}
public static class ItemReceiver extends ResultReceiver {
@Override // android.support.v4.os.ResultReceiver
public void a(int i, Bundle bundle) {
if (bundle != null) {
bundle = MediaSessionCompat.b(bundle);
}
if (i != 0 || bundle == null || !bundle.containsKey("media_item")) {
throw null;
}
Parcelable parcelable = bundle.getParcelable("media_item");
if (parcelable == null || (parcelable instanceof MediaItem)) {
MediaItem mediaItem = (MediaItem) parcelable;
throw null;
}
throw null;
}
}
@SuppressLint({"BanParcelableUsage"})
public static class MediaItem implements Parcelable {
public static final Parcelable.Creator<MediaItem> CREATOR = new a();
public final int i;
public final MediaDescriptionCompat j;
public class a implements Parcelable.Creator<MediaItem> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public MediaItem createFromParcel(Parcel parcel) {
return new MediaItem(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public MediaItem[] newArray(int i) {
return new MediaItem[i];
}
}
public MediaItem(Parcel parcel) {
this.i = parcel.readInt();
this.j = MediaDescriptionCompat.CREATOR.createFromParcel(parcel);
}
public MediaItem(@NonNull MediaDescriptionCompat mediaDescriptionCompat, int i) {
if (mediaDescriptionCompat == null) {
throw new IllegalArgumentException("description cannot be null");
} else if (!TextUtils.isEmpty(mediaDescriptionCompat.i)) {
this.i = i;
this.j = mediaDescriptionCompat;
} else {
throw new IllegalArgumentException("description must have a non-empty media id");
}
}
public static List<MediaItem> a(List<?> list) {
MediaItem mediaItem;
if (list == null) {
return null;
}
ArrayList arrayList = new ArrayList(list.size());
for (Object obj : list) {
if (obj != null) {
MediaBrowser.MediaItem mediaItem2 = (MediaBrowser.MediaItem) obj;
mediaItem = new MediaItem(MediaDescriptionCompat.a(mediaItem2.getDescription()), mediaItem2.getFlags());
} else {
mediaItem = null;
}
arrayList.add(mediaItem);
}
return arrayList;
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
@NonNull
public String toString() {
return "MediaItem{mFlags=" + this.i + ", mDescription=" + this.j + '}';
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(this.i);
this.j.writeToParcel(parcel, i);
}
}
public static class SearchResultReceiver extends ResultReceiver {
@Override // android.support.v4.os.ResultReceiver
public void a(int i, Bundle bundle) {
if (bundle != null) {
bundle = MediaSessionCompat.b(bundle);
}
if (i != 0 || bundle == null || !bundle.containsKey("search_results")) {
throw null;
}
Parcelable[] parcelableArray = bundle.getParcelableArray("search_results");
Objects.requireNonNull(parcelableArray);
ArrayList arrayList = new ArrayList();
for (Parcelable parcelable : parcelableArray) {
arrayList.add((MediaItem) parcelable);
}
throw null;
}
}
public static class a extends Handler {
public final WeakReference<g> a;
public WeakReference<Messenger> b;
public a(g gVar) {
this.a = new WeakReference<>(gVar);
}
public void a(Messenger messenger) {
this.b = new WeakReference<>(messenger);
}
@Override // android.os.Handler
public void handleMessage(@NonNull Message message) {
WeakReference<Messenger> weakReference = this.b;
if (weakReference != null && weakReference.get() != null && this.a.get() != null) {
Bundle data = message.getData();
MediaSessionCompat.a(data);
g gVar = this.a.get();
Messenger messenger = this.b.get();
try {
int i = message.what;
if (i == 1) {
Bundle bundle = data.getBundle("data_root_hints");
MediaSessionCompat.a(bundle);
gVar.a(messenger, data.getString("data_media_item_id"), (MediaSessionCompat.Token) data.getParcelable("data_media_session_token"), bundle);
} else if (i == 2) {
gVar.c(messenger);
} else if (i != 3) {
Log.w("MediaBrowserCompat", "Unhandled message: " + message + "\n Client version: 1\n Service version: " + message.arg1);
} else {
Bundle bundle2 = data.getBundle("data_options");
MediaSessionCompat.a(bundle2);
Bundle bundle3 = data.getBundle("data_notify_children_changed_options");
MediaSessionCompat.a(bundle3);
gVar.b(messenger, data.getString("data_media_item_id"), data.getParcelableArrayList("data_media_item_list"), bundle2, bundle3);
}
} catch (BadParcelableException unused) {
Log.e("MediaBrowserCompat", "Could not unparcel the data.");
if (message.what == 1) {
gVar.c(messenger);
}
}
}
}
}
public static class b {
public final MediaBrowser.ConnectionCallback mConnectionCallbackFwk = new a();
public AbstractC0000b mConnectionCallbackInternal;
@RequiresApi(21)
public class a extends MediaBrowser.ConnectionCallback {
public a() {
}
@Override // android.media.browse.MediaBrowser.ConnectionCallback
public void onConnected() {
AbstractC0000b bVar = b.this.mConnectionCallbackInternal;
if (bVar != null) {
d dVar = (d) bVar;
Objects.requireNonNull(dVar);
try {
Bundle extras = dVar.b.getExtras();
if (extras != null) {
extras.getInt("extra_service_version", 0);
IBinder binder = BundleCompat.getBinder(extras, "extra_messenger");
if (binder != null) {
dVar.f = new h(binder, dVar.f10c);
Messenger messenger = new Messenger(dVar.d);
dVar.g = messenger;
dVar.d.a(messenger);
try {
h hVar = dVar.f;
Context context = dVar.a;
Messenger messenger2 = dVar.g;
Objects.requireNonNull(hVar);
Bundle bundle = new Bundle();
bundle.putString("data_package_name", context.getPackageName());
bundle.putInt("data_calling_pid", Process.myPid());
bundle.putBundle("data_root_hints", hVar.b);
hVar.a(6, bundle, messenger2);
} catch (RemoteException unused) {
Log.i("MediaBrowserCompat", "Remote error registering client messenger.");
}
}
x.a.b.b.a.b e = b.a.e(BundleCompat.getBinder(extras, "extra_session_binder"));
if (e != null) {
dVar.h = MediaSessionCompat.Token.a(dVar.b.getSessionToken(), e);
}
}
} catch (IllegalStateException e2) {
Log.e("MediaBrowserCompat", "Unexpected IllegalStateException", e2);
}
}
b.this.onConnected();
}
@Override // android.media.browse.MediaBrowser.ConnectionCallback
public void onConnectionFailed() {
AbstractC0000b bVar = b.this.mConnectionCallbackInternal;
if (bVar != null) {
Objects.requireNonNull((d) bVar);
}
b.this.onConnectionFailed();
}
@Override // android.media.browse.MediaBrowser.ConnectionCallback
public void onConnectionSuspended() {
AbstractC0000b bVar = b.this.mConnectionCallbackInternal;
if (bVar != null) {
d dVar = (d) bVar;
dVar.f = null;
dVar.g = null;
dVar.h = null;
dVar.d.a(null);
}
b.this.onConnectionSuspended();
}
}
/* renamed from: android.support.v4.media.MediaBrowserCompat$b$b reason: collision with other inner class name */
public interface AbstractC0000b {
}
public void onConnected() {
throw null;
}
public void onConnectionFailed() {
throw null;
}
public void onConnectionSuspended() {
throw null;
}
public void setInternalConnectionCallback(AbstractC0000b bVar) {
this.mConnectionCallbackInternal = bVar;
}
}
public interface c {
}
@RequiresApi(21)
public static class d implements c, g, b.AbstractC0000b {
public final Context a;
public final MediaBrowser b;
/* renamed from: c reason: collision with root package name */
public final Bundle f10c;
public final a d = new a(this);
public final ArrayMap<String, i> e = new ArrayMap<>();
public h f;
public Messenger g;
public MediaSessionCompat.Token h;
public d(Context context, ComponentName componentName, b bVar, Bundle bundle) {
this.a = context;
Bundle bundle2 = bundle != null ? new Bundle(bundle) : new Bundle();
this.f10c = bundle2;
bundle2.putInt("extra_client_version", 1);
bundle2.putInt("extra_calling_pid", Process.myPid());
bVar.setInternalConnectionCallback(this);
this.b = new MediaBrowser(context, componentName, bVar.mConnectionCallbackFwk, bundle2);
}
@Override // android.support.v4.media.MediaBrowserCompat.g
public void a(Messenger messenger, String str, MediaSessionCompat.Token token, Bundle bundle) {
}
@Override // android.support.v4.media.MediaBrowserCompat.g
public void b(Messenger messenger, String str, List<MediaItem> list, Bundle bundle, Bundle bundle2) {
if (this.g == messenger) {
i iVar = this.e.get(str);
if (iVar != null) {
iVar.a(bundle);
} else if (MediaBrowserCompat.a) {
Log.d("MediaBrowserCompat", "onLoadChildren for id that isn't subscribed id=" + str);
}
}
}
@Override // android.support.v4.media.MediaBrowserCompat.g
public void c(Messenger messenger) {
}
}
@RequiresApi(23)
public static class e extends d {
public e(Context context, ComponentName componentName, b bVar, Bundle bundle) {
super(context, componentName, bVar, bundle);
}
}
@RequiresApi(26)
public static class f extends e {
public f(Context context, ComponentName componentName, b bVar, Bundle bundle) {
super(context, componentName, bVar, bundle);
}
}
public interface g {
void a(Messenger messenger, String str, MediaSessionCompat.Token token, Bundle bundle);
void b(Messenger messenger, String str, List<MediaItem> list, Bundle bundle, Bundle bundle2);
void c(Messenger messenger);
}
public static class h {
public Messenger a;
public Bundle b;
public h(IBinder iBinder, Bundle bundle) {
this.a = new Messenger(iBinder);
this.b = bundle;
}
public final void a(int i, Bundle bundle, Messenger messenger) throws RemoteException {
Message obtain = Message.obtain();
obtain.what = i;
obtain.arg1 = 1;
obtain.setData(bundle);
obtain.replyTo = messenger;
this.a.send(obtain);
}
}
public static class i {
public final List<j> a = new ArrayList();
public final List<Bundle> b = new ArrayList();
public j a(Bundle bundle) {
for (int i = 0; i < this.b.size(); i++) {
if (MediaBrowserCompatUtils.areSameOptions(this.b.get(i), bundle)) {
return this.a.get(i);
}
}
return null;
}
}
public static abstract class j {
public final IBinder a = new Binder();
@RequiresApi(21)
public class a extends MediaBrowser.SubscriptionCallback {
public a() {
}
@Override // android.media.browse.MediaBrowser.SubscriptionCallback
public void onChildrenLoaded(@NonNull String str, List<MediaBrowser.MediaItem> list) {
Objects.requireNonNull(j.this);
j jVar = j.this;
MediaItem.a(list);
Objects.requireNonNull(jVar);
}
@Override // android.media.browse.MediaBrowser.SubscriptionCallback
public void onError(@NonNull String str) {
Objects.requireNonNull(j.this);
}
}
@RequiresApi(26)
public class b extends a {
public b() {
super();
}
@Override // android.media.browse.MediaBrowser.SubscriptionCallback
public void onChildrenLoaded(@NonNull String str, @NonNull List<MediaBrowser.MediaItem> list, @NonNull Bundle bundle) {
MediaSessionCompat.a(bundle);
j jVar = j.this;
MediaItem.a(list);
Objects.requireNonNull(jVar);
}
@Override // android.media.browse.MediaBrowser.SubscriptionCallback
public void onError(@NonNull String str, @NonNull Bundle bundle) {
MediaSessionCompat.a(bundle);
Objects.requireNonNull(j.this);
}
}
public j() {
if (Build.VERSION.SDK_INT >= 26) {
new b();
} else {
new a();
}
}
}
public MediaBrowserCompat(Context context, ComponentName componentName, b bVar, Bundle bundle) {
int i2 = Build.VERSION.SDK_INT;
if (i2 >= 26) {
this.b = new f(context, componentName, bVar, null);
} else if (i2 >= 23) {
this.b = new e(context, componentName, bVar, null);
} else {
this.b = new d(context, componentName, bVar, null);
}
}
}

View File

@ -0,0 +1,134 @@
package android.support.v4.media;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.media.MediaDescription;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v4.media.session.MediaSessionCompat;
@SuppressLint({"BanParcelableUsage"})
public final class MediaDescriptionCompat implements Parcelable {
public static final Parcelable.Creator<MediaDescriptionCompat> CREATOR = new a();
public final String i;
public final CharSequence j;
public final CharSequence k;
public final CharSequence l;
public final Bitmap m;
public final Uri n;
public final Bundle o;
public final Uri p;
public MediaDescription q;
public class a implements Parcelable.Creator<MediaDescriptionCompat> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public MediaDescriptionCompat createFromParcel(Parcel parcel) {
return MediaDescriptionCompat.a(MediaDescription.CREATOR.createFromParcel(parcel));
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public MediaDescriptionCompat[] newArray(int i) {
return new MediaDescriptionCompat[i];
}
}
public MediaDescriptionCompat(String str, CharSequence charSequence, CharSequence charSequence2, CharSequence charSequence3, Bitmap bitmap, Uri uri, Bundle bundle, Uri uri2) {
this.i = str;
this.j = charSequence;
this.k = charSequence2;
this.l = charSequence3;
this.m = bitmap;
this.n = uri;
this.o = bundle;
this.p = uri2;
}
/* JADX WARNING: Removed duplicated region for block: B:18:0x0052 */
public static MediaDescriptionCompat a(Object obj) {
Bundle bundle;
Uri uri = null;
if (obj == null) {
return null;
}
int i = Build.VERSION.SDK_INT;
MediaDescription mediaDescription = (MediaDescription) obj;
String mediaId = mediaDescription.getMediaId();
CharSequence title = mediaDescription.getTitle();
CharSequence subtitle = mediaDescription.getSubtitle();
CharSequence description = mediaDescription.getDescription();
Bitmap iconBitmap = mediaDescription.getIconBitmap();
Uri iconUri = mediaDescription.getIconUri();
Bundle extras = mediaDescription.getExtras();
if (extras != null) {
extras = MediaSessionCompat.b(extras);
}
Uri uri2 = extras != null ? (Uri) extras.getParcelable("android.support.v4.media.description.MEDIA_URI") : null;
if (uri2 != null) {
if (!extras.containsKey("android.support.v4.media.description.NULL_BUNDLE_FLAG") || extras.size() != 2) {
extras.remove("android.support.v4.media.description.MEDIA_URI");
extras.remove("android.support.v4.media.description.NULL_BUNDLE_FLAG");
} else {
bundle = null;
if (uri2 == null) {
if (i >= 23) {
uri = mediaDescription.getMediaUri();
}
uri2 = uri;
}
MediaDescriptionCompat mediaDescriptionCompat = new MediaDescriptionCompat(mediaId, title, subtitle, description, iconBitmap, iconUri, bundle, uri2);
mediaDescriptionCompat.q = mediaDescription;
return mediaDescriptionCompat;
}
}
bundle = extras;
if (uri2 == null) {
}
MediaDescriptionCompat mediaDescriptionCompat = new MediaDescriptionCompat(mediaId, title, subtitle, description, iconBitmap, iconUri, bundle, uri2);
mediaDescriptionCompat.q = mediaDescription;
return mediaDescriptionCompat;
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
public String toString() {
return ((Object) this.j) + ", " + ((Object) this.k) + ", " + ((Object) this.l);
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
int i2 = Build.VERSION.SDK_INT;
MediaDescription mediaDescription = this.q;
if (mediaDescription == null) {
MediaDescription.Builder builder = new MediaDescription.Builder();
builder.setMediaId(this.i);
builder.setTitle(this.j);
builder.setSubtitle(this.k);
builder.setDescription(this.l);
builder.setIconBitmap(this.m);
builder.setIconUri(this.n);
Bundle bundle = this.o;
if (i2 < 23 && this.p != null) {
if (bundle == null) {
bundle = new Bundle();
bundle.putBoolean("android.support.v4.media.description.NULL_BUNDLE_FLAG", true);
}
bundle.putParcelable("android.support.v4.media.description.MEDIA_URI", this.p);
}
builder.setExtras(bundle);
if (i2 >= 23) {
builder.setMediaUri(this.p);
}
mediaDescription = builder.build();
this.q = mediaDescription;
}
mediaDescription.writeToParcel(parcel, i);
}
}

View File

@ -0,0 +1,78 @@
package android.support.v4.media;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v4.media.session.MediaSessionCompat;
import androidx.collection.ArrayMap;
@SuppressLint({"BanParcelableUsage"})
public final class MediaMetadataCompat implements Parcelable {
public static final Parcelable.Creator<MediaMetadataCompat> CREATOR = new a();
public static final ArrayMap<String, Integer> i;
public final Bundle j;
public class a implements Parcelable.Creator<MediaMetadataCompat> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public MediaMetadataCompat createFromParcel(Parcel parcel) {
return new MediaMetadataCompat(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public MediaMetadataCompat[] newArray(int i) {
return new MediaMetadataCompat[i];
}
}
static {
ArrayMap<String, Integer> arrayMap = new ArrayMap<>();
i = arrayMap;
arrayMap.put("android.media.metadata.TITLE", 1);
arrayMap.put("android.media.metadata.ARTIST", 1);
arrayMap.put("android.media.metadata.DURATION", 0);
arrayMap.put("android.media.metadata.ALBUM", 1);
arrayMap.put("android.media.metadata.AUTHOR", 1);
arrayMap.put("android.media.metadata.WRITER", 1);
arrayMap.put("android.media.metadata.COMPOSER", 1);
arrayMap.put("android.media.metadata.COMPILATION", 1);
arrayMap.put("android.media.metadata.DATE", 1);
arrayMap.put("android.media.metadata.YEAR", 0);
arrayMap.put("android.media.metadata.GENRE", 1);
arrayMap.put("android.media.metadata.TRACK_NUMBER", 0);
arrayMap.put("android.media.metadata.NUM_TRACKS", 0);
arrayMap.put("android.media.metadata.DISC_NUMBER", 0);
arrayMap.put("android.media.metadata.ALBUM_ARTIST", 1);
arrayMap.put("android.media.metadata.ART", 2);
arrayMap.put("android.media.metadata.ART_URI", 1);
arrayMap.put("android.media.metadata.ALBUM_ART", 2);
arrayMap.put("android.media.metadata.ALBUM_ART_URI", 1);
arrayMap.put("android.media.metadata.USER_RATING", 3);
arrayMap.put("android.media.metadata.RATING", 3);
arrayMap.put("android.media.metadata.DISPLAY_TITLE", 1);
arrayMap.put("android.media.metadata.DISPLAY_SUBTITLE", 1);
arrayMap.put("android.media.metadata.DISPLAY_DESCRIPTION", 1);
arrayMap.put("android.media.metadata.DISPLAY_ICON", 2);
arrayMap.put("android.media.metadata.DISPLAY_ICON_URI", 1);
arrayMap.put("android.media.metadata.MEDIA_ID", 1);
arrayMap.put("android.media.metadata.BT_FOLDER_TYPE", 0);
arrayMap.put("android.media.metadata.MEDIA_URI", 1);
arrayMap.put("android.media.metadata.ADVERTISEMENT", 0);
arrayMap.put("android.media.metadata.DOWNLOAD_STATUS", 0);
}
public MediaMetadataCompat(Parcel parcel) {
this.j = parcel.readBundle(MediaSessionCompat.class.getClassLoader());
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i2) {
parcel.writeBundle(this.j);
}
}

View File

@ -0,0 +1,51 @@
package android.support.v4.media;
import android.annotation.SuppressLint;
import android.os.Parcel;
import android.os.Parcelable;
@SuppressLint({"BanParcelableUsage"})
public final class RatingCompat implements Parcelable {
public static final Parcelable.Creator<RatingCompat> CREATOR = new a();
public final int i;
public final float j;
public class a implements Parcelable.Creator<RatingCompat> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public RatingCompat createFromParcel(Parcel parcel) {
return new RatingCompat(parcel.readInt(), parcel.readFloat());
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public RatingCompat[] newArray(int i) {
return new RatingCompat[i];
}
}
public RatingCompat(int i, float f) {
this.i = i;
this.j = f;
}
@Override // android.os.Parcelable
public int describeContents() {
return this.i;
}
@Override // java.lang.Object
public String toString() {
StringBuilder L = c.d.b.a.a.L("Rating:style=");
L.append(this.i);
L.append(" rating=");
float f = this.j;
L.append(f < 0.0f ? "unrated" : String.valueOf(f));
return L.toString();
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(this.i);
parcel.writeFloat(this.j);
}
}

View File

@ -0,0 +1,124 @@
package android.support.v4.media.session;
import android.content.Context;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaSessionCompat;
import android.util.Log;
import androidx.annotation.GuardedBy;
import androidx.annotation.RequiresApi;
import androidx.core.app.BundleCompat;
import androidx.versionedparcelable.ParcelUtils;
import androidx.versionedparcelable.VersionedParcelable;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import x.a.b.b.a.b;
import x.a.b.b.a.c;
@RequiresApi(21)
public class MediaControllerCompat$MediaControllerImplApi21 {
public final MediaController a;
public final Object b = new Object();
@GuardedBy("mLock")
/* renamed from: c reason: collision with root package name */
public final List<c> f11c = new ArrayList();
public HashMap<c, a> d = new HashMap<>();
public final MediaSessionCompat.Token e;
public static class ExtraBinderRequestResultReceiver extends ResultReceiver {
public WeakReference<MediaControllerCompat$MediaControllerImplApi21> i;
public ExtraBinderRequestResultReceiver(MediaControllerCompat$MediaControllerImplApi21 mediaControllerCompat$MediaControllerImplApi21) {
super(null);
this.i = new WeakReference<>(mediaControllerCompat$MediaControllerImplApi21);
}
@Override // android.os.ResultReceiver
public void onReceiveResult(int i, Bundle bundle) {
MediaControllerCompat$MediaControllerImplApi21 mediaControllerCompat$MediaControllerImplApi21 = this.i.get();
if (mediaControllerCompat$MediaControllerImplApi21 != null && bundle != null) {
synchronized (mediaControllerCompat$MediaControllerImplApi21.b) {
MediaSessionCompat.Token token = mediaControllerCompat$MediaControllerImplApi21.e;
b e = b.a.e(BundleCompat.getBinder(bundle, "android.support.v4.media.session.EXTRA_BINDER"));
synchronized (token.i) {
token.k = e;
}
MediaSessionCompat.Token token2 = mediaControllerCompat$MediaControllerImplApi21.e;
VersionedParcelable versionedParcelable = ParcelUtils.getVersionedParcelable(bundle, "android.support.v4.media.session.SESSION_TOKEN2");
synchronized (token2.i) {
token2.l = versionedParcelable;
}
mediaControllerCompat$MediaControllerImplApi21.a();
}
}
}
}
public static class a extends c.b {
public a(c cVar) {
super(cVar);
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void T(CharSequence charSequence) throws RemoteException {
throw new AssertionError();
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void U() throws RemoteException {
throw new AssertionError();
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void V(MediaMetadataCompat mediaMetadataCompat) throws RemoteException {
throw new AssertionError();
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void x(Bundle bundle) throws RemoteException {
throw new AssertionError();
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void x0(ParcelableVolumeInfo parcelableVolumeInfo) throws RemoteException {
throw new AssertionError();
}
@Override // x.a.b.b.a.c.b, x.a.b.b.a.a
public void y(List<MediaSessionCompat.QueueItem> list) throws RemoteException {
throw new AssertionError();
}
}
public MediaControllerCompat$MediaControllerImplApi21(Context context, MediaSessionCompat.Token token) {
this.e = token;
MediaController mediaController = new MediaController(context, (MediaSession.Token) token.j);
this.a = mediaController;
if (token.b() == null) {
mediaController.sendCommand("android.support.v4.media.session.command.GET_EXTRA_BINDER", null, new ExtraBinderRequestResultReceiver(this));
}
}
@GuardedBy("mLock")
public void a() {
if (this.e.b() != null) {
for (c cVar : this.f11c) {
a aVar = new a(cVar);
this.d.put(cVar, aVar);
cVar.a = aVar;
try {
this.e.b().j(aVar);
} catch (RemoteException e) {
Log.e("MediaControllerCompat", "Dead object in registerCallback.", e);
}
}
this.f11c.clear();
}
}
}

View File

@ -0,0 +1,222 @@
package android.support.v4.media.session;
import android.annotation.SuppressLint;
import android.media.session.MediaSession;
import android.os.BadParcelableException;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.ResultReceiver;
import android.support.v4.media.MediaDescriptionCompat;
import android.util.Log;
import androidx.annotation.GuardedBy;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.versionedparcelable.VersionedParcelable;
import x.a.b.b.a.b;
public class MediaSessionCompat {
@SuppressLint({"BanParcelableUsage"})
public static final class QueueItem implements Parcelable {
public static final Parcelable.Creator<QueueItem> CREATOR = new a();
public final MediaDescriptionCompat i;
public final long j;
public class a implements Parcelable.Creator<QueueItem> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public QueueItem createFromParcel(Parcel parcel) {
return new QueueItem(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public QueueItem[] newArray(int i) {
return new QueueItem[i];
}
}
public QueueItem(MediaSession.QueueItem queueItem, MediaDescriptionCompat mediaDescriptionCompat, long j) {
if (mediaDescriptionCompat == null) {
throw new IllegalArgumentException("Description cannot be null");
} else if (j != -1) {
this.i = mediaDescriptionCompat;
this.j = j;
} else {
throw new IllegalArgumentException("Id cannot be QueueItem.UNKNOWN_ID");
}
}
public QueueItem(Parcel parcel) {
this.i = MediaDescriptionCompat.CREATOR.createFromParcel(parcel);
this.j = parcel.readLong();
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
public String toString() {
StringBuilder L = c.d.b.a.a.L("MediaSession.QueueItem {Description=");
L.append(this.i);
L.append(", Id=");
return c.d.b.a.a.A(L, this.j, " }");
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
this.i.writeToParcel(parcel, i);
parcel.writeLong(this.j);
}
}
@SuppressLint({"BanParcelableUsage"})
public static final class ResultReceiverWrapper implements Parcelable {
public static final Parcelable.Creator<ResultReceiverWrapper> CREATOR = new a();
public ResultReceiver i;
public class a implements Parcelable.Creator<ResultReceiverWrapper> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public ResultReceiverWrapper createFromParcel(Parcel parcel) {
return new ResultReceiverWrapper(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public ResultReceiverWrapper[] newArray(int i) {
return new ResultReceiverWrapper[i];
}
}
public ResultReceiverWrapper(Parcel parcel) {
this.i = (ResultReceiver) ResultReceiver.CREATOR.createFromParcel(parcel);
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
this.i.writeToParcel(parcel, i);
}
}
@SuppressLint({"BanParcelableUsage"})
public static final class Token implements Parcelable {
public static final Parcelable.Creator<Token> CREATOR = new a();
public final Object i = new Object();
public final Object j;
@GuardedBy("mLock")
public b k;
@GuardedBy("mLock")
public VersionedParcelable l;
public class a implements Parcelable.Creator<Token> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public Token createFromParcel(Parcel parcel) {
return new Token(parcel.readParcelable(null));
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public Token[] newArray(int i) {
return new Token[i];
}
}
public Token(Object obj) {
this.j = obj;
this.k = null;
}
public Token(Object obj, b bVar) {
this.j = obj;
this.k = bVar;
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static Token a(Object obj, b bVar) {
if (obj == null) {
return null;
}
if (obj instanceof MediaSession.Token) {
return new Token(obj, bVar);
}
throw new IllegalArgumentException("token is not a valid MediaSession.Token object");
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public b b() {
b bVar;
synchronized (this.i) {
bVar = this.k;
}
return bVar;
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Token)) {
return false;
}
Token token = (Token) obj;
Object obj2 = this.j;
if (obj2 == null) {
return token.j == null;
}
Object obj3 = token.j;
if (obj3 == null) {
return false;
}
return obj2.equals(obj3);
}
@Override // java.lang.Object
public int hashCode() {
Object obj = this.j;
if (obj == null) {
return 0;
}
return obj.hashCode();
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeParcelable((Parcelable) this.j, i);
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static void a(@Nullable Bundle bundle) {
if (bundle != null) {
bundle.setClassLoader(MediaSessionCompat.class.getClassLoader());
}
}
@Nullable
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static Bundle b(@Nullable Bundle bundle) {
a(bundle);
try {
bundle.isEmpty();
return bundle;
} catch (BadParcelableException unused) {
Log.e("MediaSessionCompat", "Could not unparcel the data.");
return null;
}
}
}

View File

@ -0,0 +1,50 @@
package android.support.v4.media.session;
import android.annotation.SuppressLint;
import android.os.Parcel;
import android.os.Parcelable;
@SuppressLint({"BanParcelableUsage"})
public class ParcelableVolumeInfo implements Parcelable {
public static final Parcelable.Creator<ParcelableVolumeInfo> CREATOR = new a();
public int i;
public int j;
public int k;
public int l;
public int m;
public class a implements Parcelable.Creator<ParcelableVolumeInfo> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public ParcelableVolumeInfo createFromParcel(Parcel parcel) {
return new ParcelableVolumeInfo(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public ParcelableVolumeInfo[] newArray(int i) {
return new ParcelableVolumeInfo[i];
}
}
public ParcelableVolumeInfo(Parcel parcel) {
this.i = parcel.readInt();
this.k = parcel.readInt();
this.l = parcel.readInt();
this.m = parcel.readInt();
this.j = parcel.readInt();
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(this.i);
parcel.writeInt(this.k);
parcel.writeInt(this.l);
parcel.writeInt(this.m);
parcel.writeInt(this.j);
}
}

View File

@ -0,0 +1,173 @@
package android.support.v4.media.session;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import java.util.ArrayList;
import java.util.List;
@SuppressLint({"BanParcelableUsage"})
public final class PlaybackStateCompat implements Parcelable {
public static final Parcelable.Creator<PlaybackStateCompat> CREATOR = new a();
public final int i;
public final long j;
public final long k;
public final float l;
public final long m;
public final int n;
public final CharSequence o;
public final long p;
public List<CustomAction> q;
public final long r;
/* renamed from: s reason: collision with root package name */
public final Bundle f12s;
public static final class CustomAction implements Parcelable {
public static final Parcelable.Creator<CustomAction> CREATOR = new a();
public final String i;
public final CharSequence j;
public final int k;
public final Bundle l;
public class a implements Parcelable.Creator<CustomAction> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public CustomAction createFromParcel(Parcel parcel) {
return new CustomAction(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public CustomAction[] newArray(int i) {
return new CustomAction[i];
}
}
public CustomAction(Parcel parcel) {
this.i = parcel.readString();
this.j = (CharSequence) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
this.k = parcel.readInt();
this.l = parcel.readBundle(MediaSessionCompat.class.getClassLoader());
}
public CustomAction(String str, CharSequence charSequence, int i, Bundle bundle) {
this.i = str;
this.j = charSequence;
this.k = i;
this.l = bundle;
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
public String toString() {
StringBuilder L = c.d.b.a.a.L("Action:mName='");
L.append((Object) this.j);
L.append(", mIcon=");
L.append(this.k);
L.append(", mExtras=");
L.append(this.l);
return L.toString();
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(this.i);
TextUtils.writeToParcel(this.j, parcel, i);
parcel.writeInt(this.k);
parcel.writeBundle(this.l);
}
}
public class a implements Parcelable.Creator<PlaybackStateCompat> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public PlaybackStateCompat createFromParcel(Parcel parcel) {
return new PlaybackStateCompat(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public PlaybackStateCompat[] newArray(int i) {
return new PlaybackStateCompat[i];
}
}
public PlaybackStateCompat(int i, long j, long j2, float f, long j3, int i2, CharSequence charSequence, long j4, List<CustomAction> list, long j5, Bundle bundle) {
this.i = i;
this.j = j;
this.k = j2;
this.l = f;
this.m = j3;
this.n = i2;
this.o = charSequence;
this.p = j4;
this.q = new ArrayList(list);
this.r = j5;
this.f12s = bundle;
}
public PlaybackStateCompat(Parcel parcel) {
this.i = parcel.readInt();
this.j = parcel.readLong();
this.l = parcel.readFloat();
this.p = parcel.readLong();
this.k = parcel.readLong();
this.m = parcel.readLong();
this.o = (CharSequence) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
this.q = parcel.createTypedArrayList(CustomAction.CREATOR);
this.r = parcel.readLong();
this.f12s = parcel.readBundle(MediaSessionCompat.class.getClassLoader());
this.n = parcel.readInt();
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // java.lang.Object
public String toString() {
StringBuilder sb = new StringBuilder("PlaybackState {");
sb.append("state=");
sb.append(this.i);
sb.append(", position=");
sb.append(this.j);
sb.append(", buffered position=");
sb.append(this.k);
sb.append(", speed=");
sb.append(this.l);
sb.append(", updated=");
sb.append(this.p);
sb.append(", actions=");
sb.append(this.m);
sb.append(", error code=");
sb.append(this.n);
sb.append(", error message=");
sb.append(this.o);
sb.append(", custom actions=");
sb.append(this.q);
sb.append(", active item id=");
return c.d.b.a.a.A(sb, this.r, "}");
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(this.i);
parcel.writeLong(this.j);
parcel.writeFloat(this.l);
parcel.writeLong(this.p);
parcel.writeLong(this.k);
parcel.writeLong(this.m);
TextUtils.writeToParcel(this.o, parcel, i);
parcel.writeTypedList(this.q);
parcel.writeLong(this.r);
parcel.writeBundle(this.f12s);
parcel.writeInt(this.n);
}
}

View File

@ -0,0 +1,84 @@
package android.support.v4.os;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import androidx.annotation.RestrictTo;
import java.util.Objects;
import x.a.b.c.a;
@SuppressLint({"BanParcelableUsage"})
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public class ResultReceiver implements Parcelable {
public static final Parcelable.Creator<ResultReceiver> CREATOR = new a();
public x.a.b.c.a i;
public class a implements Parcelable.Creator<ResultReceiver> {
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // android.os.Parcelable.Creator
public ResultReceiver createFromParcel(Parcel parcel) {
return new ResultReceiver(parcel);
}
/* Return type fixed from 'java.lang.Object[]' to match base method */
@Override // android.os.Parcelable.Creator
public ResultReceiver[] newArray(int i) {
return new ResultReceiver[i];
}
}
public class b extends a.AbstractBinderC0355a {
public b() {
}
@Override // x.a.b.c.a
public void w0(int i, Bundle bundle) {
Objects.requireNonNull(ResultReceiver.this);
ResultReceiver.this.a(i, bundle);
}
}
public ResultReceiver(Parcel parcel) {
x.a.b.c.a aVar;
IBinder readStrongBinder = parcel.readStrongBinder();
int i = a.AbstractBinderC0355a.a;
if (readStrongBinder == null) {
aVar = null;
} else {
IInterface queryLocalInterface = readStrongBinder.queryLocalInterface("android.support.v4.os.IResultReceiver");
aVar = (queryLocalInterface == null || !(queryLocalInterface instanceof x.a.b.c.a)) ? new a.AbstractBinderC0355a.C0356a(readStrongBinder) : (x.a.b.c.a) queryLocalInterface;
}
this.i = aVar;
}
public void a(int i, Bundle bundle) {
}
public void b(int i, Bundle bundle) {
x.a.b.c.a aVar = this.i;
if (aVar != null) {
try {
aVar.w0(i, bundle);
} catch (RemoteException unused) {
}
}
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
synchronized (this) {
if (this.i == null) {
this.i = new b();
}
parcel.writeStrongBinder(this.i.asBinder());
}
}
}

View File

@ -0,0 +1,24 @@
package androidx.activity;
import androidx.lifecycle.ViewModelStore;
import d0.z.d.m;
import d0.z.d.o;
import kotlin.jvm.functions.Function0;
/* compiled from: ActivityViewModelLazy.kt */
public final class ActivityViewModelLazyKt$viewModels$1 extends o implements Function0<ViewModelStore> {
public final /* synthetic */ ComponentActivity $this_viewModels;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ActivityViewModelLazyKt$viewModels$1(ComponentActivity componentActivity) {
super(0);
this.$this_viewModels = componentActivity;
}
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final ViewModelStore mo1invoke() {
ViewModelStore viewModelStore = this.$this_viewModels.getViewModelStore();
m.checkNotNullExpressionValue(viewModelStore, "viewModelStore");
return viewModelStore;
}
}

View File

@ -0,0 +1,21 @@
package androidx.activity;
import androidx.lifecycle.ViewModelProvider;
import d0.z.d.o;
import kotlin.jvm.functions.Function0;
/* compiled from: ActivityViewModelLazy.kt */
public final class ActivityViewModelLazyKt$viewModels$factoryPromise$1 extends o implements Function0<ViewModelProvider.Factory> {
public final /* synthetic */ ComponentActivity $this_viewModels;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ActivityViewModelLazyKt$viewModels$factoryPromise$1(ComponentActivity componentActivity) {
super(0);
this.$this_viewModels = componentActivity;
}
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final ViewModelProvider.Factory mo1invoke() {
return this.$this_viewModels.getDefaultViewModelProviderFactory();
}
}

View File

@ -0,0 +1,34 @@
package androidx.activity;
import androidx.annotation.MainThread;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelLazy;
import androidx.lifecycle.ViewModelProvider;
import d0.z.d.a0;
import d0.z.d.m;
import kotlin.Lazy;
import kotlin.jvm.functions.Function0;
/* compiled from: ActivityViewModelLazy.kt */
public final class ActivityViewModelLazyKt {
@MainThread
public static final /* synthetic */ <VM extends ViewModel> Lazy<VM> viewModels(ComponentActivity componentActivity, Function0<? extends ViewModelProvider.Factory> function0) {
m.checkNotNullParameter(componentActivity, "$this$viewModels");
if (function0 == null) {
function0 = new ActivityViewModelLazyKt$viewModels$factoryPromise$1(componentActivity);
}
m.reifiedOperationMarker(4, "VM");
return new ViewModelLazy(a0.getOrCreateKotlinClass(ViewModel.class), new ActivityViewModelLazyKt$viewModels$1(componentActivity), function0);
}
public static /* synthetic */ Lazy viewModels$default(ComponentActivity componentActivity, Function0 function0, int i, Object obj) {
if ((i & 1) != 0) {
function0 = null;
}
m.checkNotNullParameter(componentActivity, "$this$viewModels");
if (function0 == null) {
function0 = new ActivityViewModelLazyKt$viewModels$factoryPromise$1(componentActivity);
}
m.reifiedOperationMarker(4, "VM");
return new ViewModelLazy(a0.getOrCreateKotlinClass(ViewModel.class), new ActivityViewModelLazyKt$viewModels$1(componentActivity), function0);
}
}

View File

@ -0,0 +1,4 @@
package androidx.activity;
public interface Cancellable {
void cancel();
}

View File

@ -0,0 +1,480 @@
package androidx.activity;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import androidx.activity.contextaware.ContextAware;
import androidx.activity.contextaware.ContextAwareHelper;
import androidx.activity.contextaware.OnContextAvailableListener;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultCaller;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.ActivityResultRegistry;
import androidx.activity.result.ActivityResultRegistryOwner;
import androidx.activity.result.IntentSenderRequest;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.CallSuper;
import androidx.annotation.ContentView;
import androidx.annotation.LayoutRes;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.core.app.ActivityOptionsCompat;
import androidx.lifecycle.HasDefaultViewModelProviderFactory;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
import androidx.lifecycle.ReportFragment;
import androidx.lifecycle.SavedStateViewModelFactory;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStore;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.lifecycle.ViewTreeLifecycleOwner;
import androidx.lifecycle.ViewTreeViewModelStoreOwner;
import androidx.savedstate.SavedStateRegistry;
import androidx.savedstate.SavedStateRegistryController;
import androidx.savedstate.SavedStateRegistryOwner;
import androidx.savedstate.ViewTreeSavedStateRegistryOwner;
import androidx.tracing.Trace;
import c.d.b.a.a;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
public class ComponentActivity extends androidx.core.app.ComponentActivity implements ContextAware, LifecycleOwner, ViewModelStoreOwner, HasDefaultViewModelProviderFactory, SavedStateRegistryOwner, OnBackPressedDispatcherOwner, ActivityResultRegistryOwner, ActivityResultCaller {
private ActivityResultRegistry mActivityResultRegistry;
@LayoutRes
private int mContentLayoutId;
public final ContextAwareHelper mContextAwareHelper;
private ViewModelProvider.Factory mDefaultFactory;
private final LifecycleRegistry mLifecycleRegistry;
private final AtomicInteger mNextLocalRequestCode;
private final OnBackPressedDispatcher mOnBackPressedDispatcher;
public final SavedStateRegistryController mSavedStateRegistryController;
private ViewModelStore mViewModelStore;
/* renamed from: androidx.activity.ComponentActivity$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public AnonymousClass1() {
}
@Override // java.lang.Runnable
public void run() {
try {
ComponentActivity.access$001(ComponentActivity.this);
} catch (IllegalStateException e) {
if (!TextUtils.equals(e.getMessage(), "Can not perform this action after onSaveInstanceState")) {
throw e;
}
}
}
}
/* renamed from: androidx.activity.ComponentActivity$2 reason: invalid class name */
public class AnonymousClass2 extends ActivityResultRegistry {
/* renamed from: androidx.activity.ComponentActivity$2$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public final /* synthetic */ int val$requestCode;
public final /* synthetic */ ActivityResultContract.SynchronousResult val$synchronousResult;
public AnonymousClass1(int i, ActivityResultContract.SynchronousResult synchronousResult) {
this.val$requestCode = i;
this.val$synchronousResult = synchronousResult;
}
@Override // java.lang.Runnable
public void run() {
AnonymousClass2.this.dispatchResult(this.val$requestCode, this.val$synchronousResult.getValue());
}
}
/* renamed from: androidx.activity.ComponentActivity$2$2 reason: invalid class name */
public class AnonymousClass2 implements Runnable {
public final /* synthetic */ IntentSender.SendIntentException val$e;
public final /* synthetic */ int val$requestCode;
public AnonymousClass2(int i, IntentSender.SendIntentException sendIntentException) {
this.val$requestCode = i;
this.val$e = sendIntentException;
}
@Override // java.lang.Runnable
public void run() {
AnonymousClass2.this.dispatchResult(this.val$requestCode, 0, new Intent().setAction("androidx.activity.result.contract.action.INTENT_SENDER_REQUEST").putExtra("androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION", this.val$e));
}
}
public AnonymousClass2() {
}
@Override // androidx.activity.result.ActivityResultRegistry
public <I, O> void onLaunch(int i, @NonNull ActivityResultContract<I, O> activityResultContract, I i2, @Nullable ActivityOptionsCompat activityOptionsCompat) {
ComponentActivity componentActivity = ComponentActivity.this;
ActivityResultContract.SynchronousResult<O> synchronousResult = activityResultContract.getSynchronousResult(componentActivity, i2);
if (synchronousResult != null) {
new Handler(Looper.getMainLooper()).post(new AnonymousClass1(i, synchronousResult));
return;
}
Intent createIntent = activityResultContract.createIntent(componentActivity, i2);
Bundle bundle = null;
if (createIntent.hasExtra("androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE")) {
bundle = createIntent.getBundleExtra("androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE");
createIntent.removeExtra("androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE");
} else if (activityOptionsCompat != null) {
bundle = activityOptionsCompat.toBundle();
}
if ("androidx.activity.result.contract.action.REQUEST_PERMISSIONS".equals(createIntent.getAction())) {
String[] stringArrayExtra = createIntent.getStringArrayExtra("androidx.activity.result.contract.extra.PERMISSIONS");
if (stringArrayExtra != null) {
ArrayList arrayList = new ArrayList();
for (String str : stringArrayExtra) {
if (ComponentActivity.this.checkPermission(str, Process.myPid(), Process.myUid()) != 0) {
arrayList.add(str);
}
}
if (!arrayList.isEmpty()) {
ActivityCompat.requestPermissions(componentActivity, (String[]) arrayList.toArray(new String[0]), i);
}
}
} else if ("androidx.activity.result.contract.action.INTENT_SENDER_REQUEST".equals(createIntent.getAction())) {
IntentSenderRequest intentSenderRequest = (IntentSenderRequest) createIntent.getParcelableExtra("androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST");
try {
ActivityCompat.startIntentSenderForResult(componentActivity, intentSenderRequest.getIntentSender(), i, intentSenderRequest.getFillInIntent(), intentSenderRequest.getFlagsMask(), intentSenderRequest.getFlagsValues(), 0, bundle);
} catch (IntentSender.SendIntentException e) {
new Handler(Looper.getMainLooper()).post(new AnonymousClass2(i, e));
}
} else {
ActivityCompat.startActivityForResult(componentActivity, createIntent, i, bundle);
}
}
}
/* renamed from: androidx.activity.ComponentActivity$3 reason: invalid class name */
public class AnonymousClass3 implements LifecycleEventObserver {
public AnonymousClass3() {
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
if (event == Lifecycle.Event.ON_STOP) {
Window window = ComponentActivity.this.getWindow();
View peekDecorView = window != null ? window.peekDecorView() : null;
if (peekDecorView != null) {
peekDecorView.cancelPendingInputEvents();
}
}
}
}
/* renamed from: androidx.activity.ComponentActivity$4 reason: invalid class name */
public class AnonymousClass4 implements LifecycleEventObserver {
public AnonymousClass4() {
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
if (event == Lifecycle.Event.ON_DESTROY) {
ComponentActivity.this.mContextAwareHelper.clearAvailableContext();
if (!ComponentActivity.this.isChangingConfigurations()) {
ComponentActivity.this.getViewModelStore().clear();
}
}
}
}
/* renamed from: androidx.activity.ComponentActivity$5 reason: invalid class name */
public class AnonymousClass5 implements LifecycleEventObserver {
public AnonymousClass5() {
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
ComponentActivity.this.ensureViewModelStore();
ComponentActivity.this.getLifecycle().removeObserver(this);
}
}
public static final class NonConfigurationInstances {
public Object custom;
public ViewModelStore viewModelStore;
}
public ComponentActivity() {
this.mContextAwareHelper = new ContextAwareHelper();
this.mLifecycleRegistry = new LifecycleRegistry(this);
this.mSavedStateRegistryController = SavedStateRegistryController.create(this);
this.mOnBackPressedDispatcher = new OnBackPressedDispatcher(new AnonymousClass1());
this.mNextLocalRequestCode = new AtomicInteger();
this.mActivityResultRegistry = new AnonymousClass2();
if (getLifecycle() != null) {
int i = Build.VERSION.SDK_INT;
getLifecycle().addObserver(new AnonymousClass3());
getLifecycle().addObserver(new AnonymousClass4());
getLifecycle().addObserver(new AnonymousClass5());
if (i <= 23) {
getLifecycle().addObserver(new ImmLeaksCleaner(this));
return;
}
return;
}
throw new IllegalStateException("getLifecycle() returned null in ComponentActivity's constructor. Please make sure you are lazily constructing your Lifecycle in the first call to getLifecycle() rather than relying on field initialization.");
}
@ContentView
public ComponentActivity(@LayoutRes int i) {
this();
this.mContentLayoutId = i;
}
public static /* synthetic */ void access$001(ComponentActivity componentActivity) {
super.onBackPressed();
}
private void initViewTreeOwners() {
ViewTreeLifecycleOwner.set(getWindow().getDecorView(), this);
ViewTreeViewModelStoreOwner.set(getWindow().getDecorView(), this);
ViewTreeSavedStateRegistryOwner.set(getWindow().getDecorView(), this);
}
@Override // android.app.Activity
public void addContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view, @SuppressLint({"UnknownNullness", "MissingNullability"}) ViewGroup.LayoutParams layoutParams) {
initViewTreeOwners();
super.addContentView(view, layoutParams);
}
@Override // androidx.activity.contextaware.ContextAware
public final void addOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
this.mContextAwareHelper.addOnContextAvailableListener(onContextAvailableListener);
}
public void ensureViewModelStore() {
if (this.mViewModelStore == null) {
NonConfigurationInstances nonConfigurationInstances = (NonConfigurationInstances) getLastNonConfigurationInstance();
if (nonConfigurationInstances != null) {
this.mViewModelStore = nonConfigurationInstances.viewModelStore;
}
if (this.mViewModelStore == null) {
this.mViewModelStore = new ViewModelStore();
}
}
}
@Override // androidx.activity.result.ActivityResultRegistryOwner
@NonNull
public final ActivityResultRegistry getActivityResultRegistry() {
return this.mActivityResultRegistry;
}
@Override // androidx.lifecycle.HasDefaultViewModelProviderFactory
@NonNull
public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
if (getApplication() != null) {
if (this.mDefaultFactory == null) {
this.mDefaultFactory = new SavedStateViewModelFactory(getApplication(), this, getIntent() != null ? getIntent().getExtras() : null);
}
return this.mDefaultFactory;
}
throw new IllegalStateException("Your activity is not yet attached to the Application instance. You can't request ViewModel before onCreate call.");
}
@Nullable
@Deprecated
public Object getLastCustomNonConfigurationInstance() {
NonConfigurationInstances nonConfigurationInstances = (NonConfigurationInstances) getLastNonConfigurationInstance();
if (nonConfigurationInstances != null) {
return nonConfigurationInstances.custom;
}
return null;
}
@Override // androidx.core.app.ComponentActivity, androidx.lifecycle.LifecycleOwner
@NonNull
public Lifecycle getLifecycle() {
return this.mLifecycleRegistry;
}
@Override // androidx.activity.OnBackPressedDispatcherOwner
@NonNull
public final OnBackPressedDispatcher getOnBackPressedDispatcher() {
return this.mOnBackPressedDispatcher;
}
@Override // androidx.savedstate.SavedStateRegistryOwner
@NonNull
public final SavedStateRegistry getSavedStateRegistry() {
return this.mSavedStateRegistryController.getSavedStateRegistry();
}
@Override // androidx.lifecycle.ViewModelStoreOwner
@NonNull
public ViewModelStore getViewModelStore() {
if (getApplication() != null) {
ensureViewModelStore();
return this.mViewModelStore;
}
throw new IllegalStateException("Your activity is not yet attached to the Application instance. You can't request ViewModel before onCreate call.");
}
@Override // android.app.Activity
@CallSuper
@Deprecated
public void onActivityResult(int i, int i2, @Nullable Intent intent) {
if (!this.mActivityResultRegistry.dispatchResult(i, i2, intent)) {
super.onActivityResult(i, i2, intent);
}
}
@Override // android.app.Activity
@MainThread
public void onBackPressed() {
this.mOnBackPressedDispatcher.onBackPressed();
}
@Override // androidx.core.app.ComponentActivity, android.app.Activity
public void onCreate(@Nullable Bundle bundle) {
this.mSavedStateRegistryController.performRestore(bundle);
this.mContextAwareHelper.dispatchOnContextAvailable(this);
super.onCreate(bundle);
this.mActivityResultRegistry.onRestoreInstanceState(bundle);
ReportFragment.injectIfNeededIn(this);
int i = this.mContentLayoutId;
if (i != 0) {
setContentView(i);
}
}
@Override // android.app.Activity
@CallSuper
@Deprecated
public void onRequestPermissionsResult(int i, @NonNull String[] strArr, @NonNull int[] iArr) {
if (!this.mActivityResultRegistry.dispatchResult(i, -1, new Intent().putExtra("androidx.activity.result.contract.extra.PERMISSIONS", strArr).putExtra("androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS", iArr)) && Build.VERSION.SDK_INT >= 23) {
super.onRequestPermissionsResult(i, strArr, iArr);
}
}
@Nullable
@Deprecated
public Object onRetainCustomNonConfigurationInstance() {
return null;
}
@Override // android.app.Activity
@Nullable
public final Object onRetainNonConfigurationInstance() {
NonConfigurationInstances nonConfigurationInstances;
Object onRetainCustomNonConfigurationInstance = onRetainCustomNonConfigurationInstance();
ViewModelStore viewModelStore = this.mViewModelStore;
if (viewModelStore == null && (nonConfigurationInstances = (NonConfigurationInstances) getLastNonConfigurationInstance()) != null) {
viewModelStore = nonConfigurationInstances.viewModelStore;
}
if (viewModelStore == null && onRetainCustomNonConfigurationInstance == null) {
return null;
}
NonConfigurationInstances nonConfigurationInstances2 = new NonConfigurationInstances();
nonConfigurationInstances2.custom = onRetainCustomNonConfigurationInstance;
nonConfigurationInstances2.viewModelStore = viewModelStore;
return nonConfigurationInstances2;
}
@Override // androidx.core.app.ComponentActivity, android.app.Activity
@CallSuper
public void onSaveInstanceState(@NonNull Bundle bundle) {
Lifecycle lifecycle = getLifecycle();
if (lifecycle instanceof LifecycleRegistry) {
((LifecycleRegistry) lifecycle).setCurrentState(Lifecycle.State.CREATED);
}
super.onSaveInstanceState(bundle);
this.mSavedStateRegistryController.performSave(bundle);
this.mActivityResultRegistry.onSaveInstanceState(bundle);
}
@Override // androidx.activity.contextaware.ContextAware
@Nullable
public Context peekAvailableContext() {
return this.mContextAwareHelper.peekAvailableContext();
}
@Override // androidx.activity.result.ActivityResultCaller
@NonNull
public final <I, O> ActivityResultLauncher<I> registerForActivityResult(@NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultCallback<O> activityResultCallback) {
return registerForActivityResult(activityResultContract, this.mActivityResultRegistry, activityResultCallback);
}
@Override // androidx.activity.result.ActivityResultCaller
@NonNull
public final <I, O> ActivityResultLauncher<I> registerForActivityResult(@NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultRegistry activityResultRegistry, @NonNull ActivityResultCallback<O> activityResultCallback) {
StringBuilder L = a.L("activity_rq#");
L.append(this.mNextLocalRequestCode.getAndIncrement());
return activityResultRegistry.register(L.toString(), this, activityResultContract, activityResultCallback);
}
@Override // androidx.activity.contextaware.ContextAware
public final void removeOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
this.mContextAwareHelper.removeOnContextAvailableListener(onContextAvailableListener);
}
@Override // android.app.Activity
public void reportFullyDrawn() {
try {
if (Trace.isEnabled()) {
Trace.beginSection("reportFullyDrawn() for " + getComponentName());
}
super.reportFullyDrawn();
} finally {
Trace.endSection();
}
}
@Override // android.app.Activity
public void setContentView(@LayoutRes int i) {
initViewTreeOwners();
super.setContentView(i);
}
@Override // android.app.Activity
public void setContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view) {
initViewTreeOwners();
super.setContentView(view);
}
@Override // android.app.Activity
public void setContentView(@SuppressLint({"UnknownNullness", "MissingNullability"}) View view, @SuppressLint({"UnknownNullness", "MissingNullability"}) ViewGroup.LayoutParams layoutParams) {
initViewTreeOwners();
super.setContentView(view, layoutParams);
}
@Override // android.app.Activity
@Deprecated
public void startActivityForResult(@SuppressLint({"UnknownNullness"}) Intent intent, int i) {
super.startActivityForResult(intent, i);
}
@Override // android.app.Activity
@Deprecated
public void startActivityForResult(@SuppressLint({"UnknownNullness"}) Intent intent, int i, @Nullable Bundle bundle) {
super.startActivityForResult(intent, i, bundle);
}
@Override // android.app.Activity
@Deprecated
public void startIntentSenderForResult(@SuppressLint({"UnknownNullness"}) IntentSender intentSender, int i, @Nullable Intent intent, int i2, int i3, int i4) throws IntentSender.SendIntentException {
super.startIntentSenderForResult(intentSender, i, intent, i2, i3, i4);
}
@Override // android.app.Activity
@Deprecated
public void startIntentSenderForResult(@SuppressLint({"UnknownNullness"}) IntentSender intentSender, int i, @Nullable Intent intent, int i2, int i3, int i4, @Nullable Bundle bundle) throws IntentSender.SendIntentException {
super.startIntentSenderForResult(intentSender, i, intent, i2, i3, i4, bundle);
}
}

View File

@ -0,0 +1,79 @@
package androidx.activity;
import android.app.Activity;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
import java.lang.reflect.Field;
@RequiresApi(19)
public final class ImmLeaksCleaner implements LifecycleEventObserver {
private static final int INIT_FAILED = 2;
private static final int INIT_SUCCESS = 1;
private static final int NOT_INITIALIAZED = 0;
private static Field sHField;
private static Field sNextServedViewField;
private static int sReflectedFieldsInitialized;
private static Field sServedViewField;
private Activity mActivity;
public ImmLeaksCleaner(Activity activity) {
this.mActivity = activity;
}
@MainThread
private static void initializeReflectiveFields() {
try {
sReflectedFieldsInitialized = 2;
Field declaredField = InputMethodManager.class.getDeclaredField("mServedView");
sServedViewField = declaredField;
declaredField.setAccessible(true);
Field declaredField2 = InputMethodManager.class.getDeclaredField("mNextServedView");
sNextServedViewField = declaredField2;
declaredField2.setAccessible(true);
Field declaredField3 = InputMethodManager.class.getDeclaredField("mH");
sHField = declaredField3;
declaredField3.setAccessible(true);
sReflectedFieldsInitialized = 1;
} catch (NoSuchFieldException unused) {
}
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
if (event == Lifecycle.Event.ON_DESTROY) {
if (sReflectedFieldsInitialized == 0) {
initializeReflectiveFields();
}
if (sReflectedFieldsInitialized == 1) {
InputMethodManager inputMethodManager = (InputMethodManager) this.mActivity.getSystemService("input_method");
try {
Object obj = sHField.get(inputMethodManager);
if (obj != null) {
synchronized (obj) {
try {
View view = (View) sServedViewField.get(inputMethodManager);
if (view != null) {
if (!view.isAttachedToWindow()) {
try {
sNextServedViewField.set(inputMethodManager, null);
inputMethodManager.isActive();
} catch (IllegalAccessException unused) {
}
}
}
} catch (IllegalAccessException unused2) {
} catch (ClassCastException unused3) {
}
}
}
} catch (IllegalAccessException unused4) {
}
}
}
}
}

View File

@ -0,0 +1,43 @@
package androidx.activity;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
public abstract class OnBackPressedCallback {
private CopyOnWriteArrayList<Cancellable> mCancellables = new CopyOnWriteArrayList<>();
private boolean mEnabled;
public OnBackPressedCallback(boolean z2) {
this.mEnabled = z2;
}
public void addCancellable(@NonNull Cancellable cancellable) {
this.mCancellables.add(cancellable);
}
@MainThread
public abstract void handleOnBackPressed();
@MainThread
public final boolean isEnabled() {
return this.mEnabled;
}
@MainThread
public final void remove() {
Iterator<Cancellable> it = this.mCancellables.iterator();
while (it.hasNext()) {
it.next().cancel();
}
}
public void removeCancellable(@NonNull Cancellable cancellable) {
this.mCancellables.remove(cancellable);
}
@MainThread
public final void setEnabled(boolean z2) {
this.mEnabled = z2;
}
}

View File

@ -0,0 +1,127 @@
package androidx.activity;
import android.annotation.SuppressLint;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
import java.util.ArrayDeque;
import java.util.Iterator;
public final class OnBackPressedDispatcher {
@Nullable
private final Runnable mFallbackOnBackPressed;
public final ArrayDeque<OnBackPressedCallback> mOnBackPressedCallbacks;
public class LifecycleOnBackPressedCancellable implements LifecycleEventObserver, Cancellable {
@Nullable
private Cancellable mCurrentCancellable;
private final Lifecycle mLifecycle;
private final OnBackPressedCallback mOnBackPressedCallback;
public LifecycleOnBackPressedCancellable(@NonNull Lifecycle lifecycle, @NonNull OnBackPressedCallback onBackPressedCallback) {
this.mLifecycle = lifecycle;
this.mOnBackPressedCallback = onBackPressedCallback;
lifecycle.addObserver(this);
}
@Override // androidx.activity.Cancellable
public void cancel() {
this.mLifecycle.removeObserver(this);
this.mOnBackPressedCallback.removeCancellable(this);
Cancellable cancellable = this.mCurrentCancellable;
if (cancellable != null) {
cancellable.cancel();
this.mCurrentCancellable = null;
}
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
if (event == Lifecycle.Event.ON_START) {
this.mCurrentCancellable = OnBackPressedDispatcher.this.addCancellableCallback(this.mOnBackPressedCallback);
} else if (event == Lifecycle.Event.ON_STOP) {
Cancellable cancellable = this.mCurrentCancellable;
if (cancellable != null) {
cancellable.cancel();
}
} else if (event == Lifecycle.Event.ON_DESTROY) {
cancel();
}
}
}
public class OnBackPressedCancellable implements Cancellable {
private final OnBackPressedCallback mOnBackPressedCallback;
public OnBackPressedCancellable(OnBackPressedCallback onBackPressedCallback) {
this.mOnBackPressedCallback = onBackPressedCallback;
}
@Override // androidx.activity.Cancellable
public void cancel() {
OnBackPressedDispatcher.this.mOnBackPressedCallbacks.remove(this.mOnBackPressedCallback);
this.mOnBackPressedCallback.removeCancellable(this);
}
}
public OnBackPressedDispatcher() {
this(null);
}
public OnBackPressedDispatcher(@Nullable Runnable runnable) {
this.mOnBackPressedCallbacks = new ArrayDeque<>();
this.mFallbackOnBackPressed = runnable;
}
@MainThread
public void addCallback(@NonNull OnBackPressedCallback onBackPressedCallback) {
addCancellableCallback(onBackPressedCallback);
}
@SuppressLint({"LambdaLast"})
@MainThread
public void addCallback(@NonNull LifecycleOwner lifecycleOwner, @NonNull OnBackPressedCallback onBackPressedCallback) {
Lifecycle lifecycle = lifecycleOwner.getLifecycle();
if (lifecycle.getCurrentState() != Lifecycle.State.DESTROYED) {
onBackPressedCallback.addCancellable(new LifecycleOnBackPressedCancellable(lifecycle, onBackPressedCallback));
}
}
@NonNull
@MainThread
public Cancellable addCancellableCallback(@NonNull OnBackPressedCallback onBackPressedCallback) {
this.mOnBackPressedCallbacks.add(onBackPressedCallback);
OnBackPressedCancellable onBackPressedCancellable = new OnBackPressedCancellable(onBackPressedCallback);
onBackPressedCallback.addCancellable(onBackPressedCancellable);
return onBackPressedCancellable;
}
@MainThread
public boolean hasEnabledCallbacks() {
Iterator<OnBackPressedCallback> descendingIterator = this.mOnBackPressedCallbacks.descendingIterator();
while (descendingIterator.hasNext()) {
if (descendingIterator.next().isEnabled()) {
return true;
}
}
return false;
}
@MainThread
public void onBackPressed() {
Iterator<OnBackPressedCallback> descendingIterator = this.mOnBackPressedCallbacks.descendingIterator();
while (descendingIterator.hasNext()) {
OnBackPressedCallback next = descendingIterator.next();
if (next.isEnabled()) {
next.handleOnBackPressed();
return;
}
}
Runnable runnable = this.mFallbackOnBackPressed;
if (runnable != null) {
runnable.run();
}
}
}

View File

@ -0,0 +1,20 @@
package androidx.activity;
import kotlin.jvm.functions.Function1;
/* compiled from: OnBackPressedDispatcher.kt */
public final class OnBackPressedDispatcherKt$addCallback$callback$1 extends OnBackPressedCallback {
public final /* synthetic */ boolean $enabled;
public final /* synthetic */ Function1 $onBackPressed;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public OnBackPressedDispatcherKt$addCallback$callback$1(Function1 function1, boolean z2, boolean z3) {
super(z3);
this.$onBackPressed = function1;
this.$enabled = z2;
}
@Override // androidx.activity.OnBackPressedCallback
public void handleOnBackPressed() {
this.$onBackPressed.invoke(this);
}
}

View File

@ -0,0 +1,30 @@
package androidx.activity;
import androidx.lifecycle.LifecycleOwner;
import d0.z.d.m;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
/* compiled from: OnBackPressedDispatcher.kt */
public final class OnBackPressedDispatcherKt {
public static final OnBackPressedCallback addCallback(OnBackPressedDispatcher onBackPressedDispatcher, LifecycleOwner lifecycleOwner, boolean z2, Function1<? super OnBackPressedCallback, Unit> function1) {
m.checkNotNullParameter(onBackPressedDispatcher, "$this$addCallback");
m.checkNotNullParameter(function1, "onBackPressed");
OnBackPressedDispatcherKt$addCallback$callback$1 onBackPressedDispatcherKt$addCallback$callback$1 = new OnBackPressedDispatcherKt$addCallback$callback$1(function1, z2, z2);
if (lifecycleOwner != null) {
onBackPressedDispatcher.addCallback(lifecycleOwner, onBackPressedDispatcherKt$addCallback$callback$1);
} else {
onBackPressedDispatcher.addCallback(onBackPressedDispatcherKt$addCallback$callback$1);
}
return onBackPressedDispatcherKt$addCallback$callback$1;
}
public static /* synthetic */ OnBackPressedCallback addCallback$default(OnBackPressedDispatcher onBackPressedDispatcher, LifecycleOwner lifecycleOwner, boolean z2, Function1 function1, int i, Object obj) {
if ((i & 1) != 0) {
lifecycleOwner = null;
}
if ((i & 2) != 0) {
z2 = true;
}
return addCallback(onBackPressedDispatcher, lifecycleOwner, z2, function1);
}
}

View File

@ -0,0 +1,8 @@
package androidx.activity;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
public interface OnBackPressedDispatcherOwner extends LifecycleOwner {
@NonNull
OnBackPressedDispatcher getOnBackPressedDispatcher();
}

View File

@ -0,0 +1,13 @@
package androidx.activity.contextaware;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public interface ContextAware {
void addOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener);
@Nullable
Context peekAvailableContext();
void removeOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener);
}

View File

@ -0,0 +1,38 @@
package androidx.activity.contextaware;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
public final class ContextAwareHelper {
private volatile Context mContext;
private final Set<OnContextAvailableListener> mListeners = new CopyOnWriteArraySet();
public void addOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
if (this.mContext != null) {
onContextAvailableListener.onContextAvailable(this.mContext);
}
this.mListeners.add(onContextAvailableListener);
}
public void clearAvailableContext() {
this.mContext = null;
}
public void dispatchOnContextAvailable(@NonNull Context context) {
this.mContext = context;
for (OnContextAvailableListener onContextAvailableListener : this.mListeners) {
onContextAvailableListener.onContextAvailable(context);
}
}
@Nullable
public Context peekAvailableContext() {
return this.mContext;
}
public void removeOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
this.mListeners.remove(onContextAvailableListener);
}
}

View File

@ -0,0 +1,35 @@
package androidx.activity.contextaware;
import android.content.Context;
import d0.k;
import d0.l;
import d0.z.d.m;
import kotlin.jvm.functions.Function1;
import kotlinx.coroutines.CancellableContinuation;
/* compiled from: ContextAware.kt */
public final class ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 implements OnContextAvailableListener {
public final /* synthetic */ CancellableContinuation $co;
public final /* synthetic */ Function1 $onContextAvailable$inlined;
public final /* synthetic */ ContextAware $this_withContextAvailable$inlined;
public ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1(CancellableContinuation cancellableContinuation, ContextAware contextAware, Function1 function1) {
this.$co = cancellableContinuation;
this.$this_withContextAvailable$inlined = contextAware;
this.$onContextAvailable$inlined = function1;
}
@Override // androidx.activity.contextaware.OnContextAvailableListener
public void onContextAvailable(Context context) {
Object obj;
m.checkNotNullParameter(context, "context");
CancellableContinuation cancellableContinuation = this.$co;
try {
k.a aVar = k.i;
obj = k.m78constructorimpl(this.$onContextAvailable$inlined.invoke(context));
} catch (Throwable th) {
k.a aVar2 = k.i;
obj = k.m78constructorimpl(l.createFailure(th));
}
cancellableContinuation.resumeWith(obj);
}
}

View File

@ -0,0 +1,31 @@
package androidx.activity.contextaware;
import d0.z.d.o;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
/* compiled from: ContextAware.kt */
public final class ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2 extends o implements Function1<Throwable, Unit> {
public final /* synthetic */ ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 $listener;
public final /* synthetic */ Function1 $onContextAvailable$inlined;
public final /* synthetic */ ContextAware $this_withContextAvailable$inlined;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2(ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1, ContextAware contextAware, Function1 function1) {
super(1);
this.$listener = contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1;
this.$this_withContextAvailable$inlined = contextAware;
this.$onContextAvailable$inlined = function1;
}
/* Return type fixed from 'java.lang.Object' to match base method */
/* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */
@Override // kotlin.jvm.functions.Function1
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
invoke(th);
return Unit.a;
}
public final void invoke(Throwable th) {
this.$this_withContextAvailable$inlined.removeOnContextAvailableListener(this.$listener);
}
}

View File

@ -0,0 +1,49 @@
package androidx.activity.contextaware;
import android.content.Context;
import d0.w.g.b;
import d0.w.g.c;
import d0.w.h.a.g;
import d0.z.d.l;
import kotlin.coroutines.Continuation;
import kotlin.jvm.functions.Function1;
import s.a.j;
/* compiled from: ContextAware.kt */
public final class ContextAwareKt {
public static final <R> Object withContextAvailable(ContextAware contextAware, Function1<? super Context, ? extends R> function1, Continuation<? super R> continuation) {
Context peekAvailableContext = contextAware.peekAvailableContext();
if (peekAvailableContext != null) {
return function1.invoke(peekAvailableContext);
}
j jVar = new j(b.intercepted(continuation), 1);
jVar.A();
ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 = new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1(jVar, contextAware, function1);
contextAware.addOnContextAvailableListener(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1);
jVar.e(new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1, contextAware, function1));
Object u = jVar.u();
if (u != c.getCOROUTINE_SUSPENDED()) {
return u;
}
g.probeCoroutineSuspended(continuation);
return u;
}
private static final Object withContextAvailable$$forInline(ContextAware contextAware, Function1 function1, Continuation continuation) {
Context peekAvailableContext = contextAware.peekAvailableContext();
if (peekAvailableContext != null) {
return function1.invoke(peekAvailableContext);
}
l.mark(0);
j jVar = new j(b.intercepted(continuation), 1);
jVar.A();
ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 = new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1(jVar, contextAware, function1);
contextAware.addOnContextAvailableListener(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1);
jVar.e(new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1, contextAware, function1));
Object u = jVar.u();
if (u == c.getCOROUTINE_SUSPENDED()) {
g.probeCoroutineSuspended(continuation);
}
l.mark(1);
return u;
}
}

View File

@ -0,0 +1,7 @@
package androidx.activity.contextaware;
import android.content.Context;
import androidx.annotation.NonNull;
public interface OnContextAvailableListener {
void onContextAvailable(@NonNull Context context);
}

View File

@ -0,0 +1,79 @@
package androidx.activity.result;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import c.d.b.a.a;
@SuppressLint({"BanParcelableUsage"})
public final class ActivityResult implements Parcelable {
@NonNull
public static final Parcelable.Creator<ActivityResult> CREATOR = new AnonymousClass1();
@Nullable
private final Intent mData;
private final int mResultCode;
/* renamed from: androidx.activity.result.ActivityResult$1 reason: invalid class name */
public class AnonymousClass1 implements Parcelable.Creator<ActivityResult> {
@Override // android.os.Parcelable.Creator
public ActivityResult createFromParcel(@NonNull Parcel parcel) {
return new ActivityResult(parcel);
}
@Override // android.os.Parcelable.Creator
public ActivityResult[] newArray(int i) {
return new ActivityResult[i];
}
}
public ActivityResult(int i, @Nullable Intent intent) {
this.mResultCode = i;
this.mData = intent;
}
public ActivityResult(Parcel parcel) {
this.mResultCode = parcel.readInt();
this.mData = parcel.readInt() == 0 ? null : (Intent) Intent.CREATOR.createFromParcel(parcel);
}
@NonNull
public static String resultCodeToString(int i) {
return i != -1 ? i != 0 ? String.valueOf(i) : "RESULT_CANCELED" : "RESULT_OK";
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Nullable
public Intent getData() {
return this.mData;
}
public int getResultCode() {
return this.mResultCode;
}
@Override // java.lang.Object
public String toString() {
StringBuilder L = a.L("ActivityResult{resultCode=");
L.append(resultCodeToString(this.mResultCode));
L.append(", data=");
L.append(this.mData);
L.append('}');
return L.toString();
}
@Override // android.os.Parcelable
public void writeToParcel(@NonNull Parcel parcel, int i) {
parcel.writeInt(this.mResultCode);
parcel.writeInt(this.mData == null ? 0 : 1);
Intent intent = this.mData;
if (intent != null) {
intent.writeToParcel(parcel, i);
}
}
}

View File

@ -0,0 +1,6 @@
package androidx.activity.result;
import android.annotation.SuppressLint;
public interface ActivityResultCallback<O> {
void onActivityResult(@SuppressLint({"UnknownNullness"}) O o);
}

View File

@ -0,0 +1,11 @@
package androidx.activity.result;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.NonNull;
public interface ActivityResultCaller {
@NonNull
<I, O> ActivityResultLauncher<I> registerForActivityResult(@NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultCallback<O> activityResultCallback);
@NonNull
<I, O> ActivityResultLauncher<I> registerForActivityResult(@NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultRegistry activityResultRegistry, @NonNull ActivityResultCallback<O> activityResultCallback);
}

View File

@ -0,0 +1,16 @@
package androidx.activity.result;
import kotlin.jvm.functions.Function1;
/* compiled from: ActivityResultCaller.kt */
public final class ActivityResultCallerKt$registerForActivityResult$resultLauncher$1<O> implements ActivityResultCallback<O> {
public final /* synthetic */ Function1 $callback;
public ActivityResultCallerKt$registerForActivityResult$resultLauncher$1(Function1 function1) {
this.$callback = function1;
}
@Override // androidx.activity.result.ActivityResultCallback
public final void onActivityResult(O o) {
this.$callback.invoke(o);
}
}

View File

@ -0,0 +1,16 @@
package androidx.activity.result;
import kotlin.jvm.functions.Function1;
/* compiled from: ActivityResultCaller.kt */
public final class ActivityResultCallerKt$registerForActivityResult$resultLauncher$2<O> implements ActivityResultCallback<O> {
public final /* synthetic */ Function1 $callback;
public ActivityResultCallerKt$registerForActivityResult$resultLauncher$2(Function1 function1) {
this.$callback = function1;
}
@Override // androidx.activity.result.ActivityResultCallback
public final void onActivityResult(O o) {
this.$callback.invoke(o);
}
}

View File

@ -0,0 +1,27 @@
package androidx.activity.result;
import androidx.activity.result.contract.ActivityResultContract;
import d0.z.d.m;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
/* compiled from: ActivityResultCaller.kt */
public final class ActivityResultCallerKt {
public static final <I, O> ActivityResultLauncher<Unit> registerForActivityResult(ActivityResultCaller activityResultCaller, ActivityResultContract<I, O> activityResultContract, I i, ActivityResultRegistry activityResultRegistry, Function1<? super O, Unit> function1) {
m.checkNotNullParameter(activityResultCaller, "$this$registerForActivityResult");
m.checkNotNullParameter(activityResultContract, "contract");
m.checkNotNullParameter(activityResultRegistry, "registry");
m.checkNotNullParameter(function1, "callback");
ActivityResultLauncher<I> registerForActivityResult = activityResultCaller.registerForActivityResult(activityResultContract, activityResultRegistry, new ActivityResultCallerKt$registerForActivityResult$resultLauncher$1(function1));
m.checkNotNullExpressionValue(registerForActivityResult, "registerForActivityResul…egistry) { callback(it) }");
return new ActivityResultCallerLauncher(registerForActivityResult, activityResultContract, i);
}
public static final <I, O> ActivityResultLauncher<Unit> registerForActivityResult(ActivityResultCaller activityResultCaller, ActivityResultContract<I, O> activityResultContract, I i, Function1<? super O, Unit> function1) {
m.checkNotNullParameter(activityResultCaller, "$this$registerForActivityResult");
m.checkNotNullParameter(activityResultContract, "contract");
m.checkNotNullParameter(function1, "callback");
ActivityResultLauncher<I> registerForActivityResult = activityResultCaller.registerForActivityResult(activityResultContract, new ActivityResultCallerKt$registerForActivityResult$resultLauncher$2(function1));
m.checkNotNullExpressionValue(registerForActivityResult, "registerForActivityResul…ontract) { callback(it) }");
return new ActivityResultCallerLauncher(registerForActivityResult, activityResultContract, i);
}
}

View File

@ -0,0 +1,48 @@
package androidx.activity.result;
import android.content.Context;
import android.content.Intent;
import androidx.activity.result.contract.ActivityResultContract;
import d0.z.d.m;
import d0.z.d.o;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
/* compiled from: ActivityResultCaller.kt */
public final class ActivityResultCallerLauncher$resultContract$2 extends o implements Function0<AnonymousClass1> {
public final /* synthetic */ ActivityResultCallerLauncher this$0;
/* compiled from: ActivityResultCaller.kt */
/* renamed from: androidx.activity.result.ActivityResultCallerLauncher$resultContract$2$1 reason: invalid class name */
public static final class AnonymousClass1 extends ActivityResultContract<Unit, O> {
public final /* synthetic */ ActivityResultCallerLauncher$resultContract$2 this$0;
public AnonymousClass1(ActivityResultCallerLauncher$resultContract$2 activityResultCallerLauncher$resultContract$2) {
this.this$0 = activityResultCallerLauncher$resultContract$2;
}
public Intent createIntent(Context context, Unit unit) {
m.checkNotNullParameter(context, "context");
Intent createIntent = this.this$0.this$0.getCallerContract().createIntent(context, this.this$0.this$0.getInput());
m.checkNotNullExpressionValue(createIntent, "callerContract.createIntent(context, input)");
return createIntent;
}
/* JADX WARNING: Unknown variable types count: 1 */
@Override // androidx.activity.result.contract.ActivityResultContract
public O parseResult(int i, Intent intent) {
return this.this$0.this$0.getCallerContract().parseResult(i, intent);
}
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ActivityResultCallerLauncher$resultContract$2(ActivityResultCallerLauncher activityResultCallerLauncher) {
super(0);
this.this$0 = activityResultCallerLauncher;
}
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final AnonymousClass1 mo1invoke() {
return new AnonymousClass1(this);
}
}

View File

@ -0,0 +1,55 @@
package androidx.activity.result;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.core.app.ActivityOptionsCompat;
import d0.g;
import d0.z.d.m;
import kotlin.Lazy;
import kotlin.Unit;
/* compiled from: ActivityResultCaller.kt */
public final class ActivityResultCallerLauncher<I, O> extends ActivityResultLauncher<Unit> {
private final ActivityResultContract<I, O> callerContract;
private final I input;
private final ActivityResultLauncher<I> launcher;
private final Lazy resultContract$delegate = g.lazy(new ActivityResultCallerLauncher$resultContract$2(this));
public ActivityResultCallerLauncher(ActivityResultLauncher<I> activityResultLauncher, ActivityResultContract<I, O> activityResultContract, I i) {
m.checkNotNullParameter(activityResultLauncher, "launcher");
m.checkNotNullParameter(activityResultContract, "callerContract");
this.launcher = activityResultLauncher;
this.callerContract = activityResultContract;
this.input = i;
}
public final ActivityResultContract<I, O> getCallerContract() {
return this.callerContract;
}
/* Return type fixed from 'androidx.activity.result.contract.ActivityResultContract<kotlin.Unit, O>' to match base method */
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: androidx.activity.result.contract.ActivityResultContract<kotlin.Unit, O>, androidx.activity.result.contract.ActivityResultContract<kotlin.Unit, ?> */
@Override // androidx.activity.result.ActivityResultLauncher
public ActivityResultContract<Unit, ?> getContract() {
return (ActivityResultContract<Unit, O>) getResultContract();
}
public final I getInput() {
return this.input;
}
public final ActivityResultLauncher<I> getLauncher() {
return this.launcher;
}
public final ActivityResultContract<Unit, O> getResultContract() {
return (ActivityResultContract) this.resultContract$delegate.getValue();
}
public void launch(Unit unit, ActivityOptionsCompat activityOptionsCompat) {
this.launcher.launch(this.input, activityOptionsCompat);
}
@Override // androidx.activity.result.ActivityResultLauncher
public void unregister() {
this.launcher.unregister();
}
}

View File

@ -0,0 +1,16 @@
package androidx.activity.result;
import android.content.Intent;
import d0.z.d.m;
/* compiled from: ActivityResult.kt */
public final class ActivityResultKt {
public static final int component1(ActivityResult activityResult) {
m.checkNotNullParameter(activityResult, "$this$component1");
return activityResult.getResultCode();
}
public static final Intent component2(ActivityResult activityResult) {
m.checkNotNullParameter(activityResult, "$this$component2");
return activityResult.getData();
}
}

View File

@ -0,0 +1,21 @@
package androidx.activity.result;
import android.annotation.SuppressLint;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityOptionsCompat;
public abstract class ActivityResultLauncher<I> {
@NonNull
public abstract ActivityResultContract<I, ?> getContract();
public void launch(@SuppressLint({"UnknownNullness"}) I i) {
launch(i, null);
}
public abstract void launch(@SuppressLint({"UnknownNullness"}) I i, @Nullable ActivityOptionsCompat activityOptionsCompat);
@MainThread
public abstract void unregister();
}

View File

@ -0,0 +1,31 @@
package androidx.activity.result;
import androidx.core.app.ActivityOptionsCompat;
import d0.z.d.m;
import kotlin.Unit;
/* compiled from: ActivityResultLauncher.kt */
public final class ActivityResultLauncherKt {
public static final void launch(ActivityResultLauncher<Void> activityResultLauncher, ActivityOptionsCompat activityOptionsCompat) {
m.checkNotNullParameter(activityResultLauncher, "$this$launch");
activityResultLauncher.launch(null, activityOptionsCompat);
}
public static /* synthetic */ void launch$default(ActivityResultLauncher activityResultLauncher, ActivityOptionsCompat activityOptionsCompat, int i, Object obj) {
if ((i & 1) != 0) {
activityOptionsCompat = null;
}
launch(activityResultLauncher, activityOptionsCompat);
}
public static final void launchUnit(ActivityResultLauncher<Unit> activityResultLauncher, ActivityOptionsCompat activityOptionsCompat) {
m.checkNotNullParameter(activityResultLauncher, "$this$launch");
activityResultLauncher.launch(null, activityOptionsCompat);
}
public static /* synthetic */ void launchUnit$default(ActivityResultLauncher activityResultLauncher, ActivityOptionsCompat activityOptionsCompat, int i, Object obj) {
if ((i & 1) != 0) {
activityOptionsCompat = null;
}
launchUnit(activityResultLauncher, activityOptionsCompat);
}
}

View File

@ -0,0 +1,308 @@
package androidx.activity.result;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityOptionsCompat;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
import c.d.b.a.a;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
public abstract class ActivityResultRegistry {
private static final int INITIAL_REQUEST_CODE_VALUE = 65536;
private static final String KEY_COMPONENT_ACTIVITY_PENDING_RESULTS = "KEY_COMPONENT_ACTIVITY_PENDING_RESULT";
private static final String KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT = "KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT";
private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS = "KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS";
private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_RCS = "KEY_COMPONENT_ACTIVITY_REGISTERED_RCS";
private static final String LOG_TAG = "ActivityResultRegistry";
public final transient Map<String, CallbackAndContract<?>> mKeyToCallback = new HashMap();
private final Map<String, LifecycleContainer> mKeyToLifecycleContainers = new HashMap();
private final Map<String, Integer> mKeyToRc = new HashMap();
public final Map<String, Object> mParsedPendingResults = new HashMap();
public final Bundle mPendingResults = new Bundle();
private Random mRandom = new Random();
private final Map<Integer, String> mRcToKey = new HashMap();
/* renamed from: androidx.activity.result.ActivityResultRegistry$1 reason: invalid class name */
public class AnonymousClass1 implements LifecycleEventObserver {
public final /* synthetic */ ActivityResultCallback val$callback;
public final /* synthetic */ ActivityResultContract val$contract;
public final /* synthetic */ String val$key;
public AnonymousClass1(String str, ActivityResultCallback activityResultCallback, ActivityResultContract activityResultContract) {
this.val$key = str;
this.val$callback = activityResultCallback;
this.val$contract = activityResultContract;
}
@Override // androidx.lifecycle.LifecycleEventObserver
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
if (Lifecycle.Event.ON_START.equals(event)) {
ActivityResultRegistry.this.mKeyToCallback.put(this.val$key, new CallbackAndContract<>(this.val$callback, this.val$contract));
if (ActivityResultRegistry.this.mParsedPendingResults.containsKey(this.val$key)) {
Object obj = ActivityResultRegistry.this.mParsedPendingResults.get(this.val$key);
ActivityResultRegistry.this.mParsedPendingResults.remove(this.val$key);
this.val$callback.onActivityResult(obj);
}
ActivityResult activityResult = (ActivityResult) ActivityResultRegistry.this.mPendingResults.getParcelable(this.val$key);
if (activityResult != null) {
ActivityResultRegistry.this.mPendingResults.remove(this.val$key);
this.val$callback.onActivityResult(this.val$contract.parseResult(activityResult.getResultCode(), activityResult.getData()));
}
} else if (Lifecycle.Event.ON_STOP.equals(event)) {
ActivityResultRegistry.this.mKeyToCallback.remove(this.val$key);
} else if (Lifecycle.Event.ON_DESTROY.equals(event)) {
ActivityResultRegistry.this.unregister(this.val$key);
}
}
}
/* renamed from: androidx.activity.result.ActivityResultRegistry$2 reason: invalid class name */
public class AnonymousClass2 extends ActivityResultLauncher<I> {
public final /* synthetic */ ActivityResultContract val$contract;
public final /* synthetic */ String val$key;
public final /* synthetic */ int val$requestCode;
public AnonymousClass2(int i, ActivityResultContract activityResultContract, String str) {
this.val$requestCode = i;
this.val$contract = activityResultContract;
this.val$key = str;
}
@Override // androidx.activity.result.ActivityResultLauncher
@NonNull
public ActivityResultContract<I, ?> getContract() {
return this.val$contract;
}
@Override // androidx.activity.result.ActivityResultLauncher
public void launch(I i, @Nullable ActivityOptionsCompat activityOptionsCompat) {
ActivityResultRegistry.this.onLaunch(this.val$requestCode, this.val$contract, i, activityOptionsCompat);
}
@Override // androidx.activity.result.ActivityResultLauncher
public void unregister() {
ActivityResultRegistry.this.unregister(this.val$key);
}
}
/* renamed from: androidx.activity.result.ActivityResultRegistry$3 reason: invalid class name */
public class AnonymousClass3 extends ActivityResultLauncher<I> {
public final /* synthetic */ ActivityResultContract val$contract;
public final /* synthetic */ String val$key;
public final /* synthetic */ int val$requestCode;
public AnonymousClass3(int i, ActivityResultContract activityResultContract, String str) {
this.val$requestCode = i;
this.val$contract = activityResultContract;
this.val$key = str;
}
@Override // androidx.activity.result.ActivityResultLauncher
@NonNull
public ActivityResultContract<I, ?> getContract() {
return this.val$contract;
}
@Override // androidx.activity.result.ActivityResultLauncher
public void launch(I i, @Nullable ActivityOptionsCompat activityOptionsCompat) {
ActivityResultRegistry.this.onLaunch(this.val$requestCode, this.val$contract, i, activityOptionsCompat);
}
@Override // androidx.activity.result.ActivityResultLauncher
public void unregister() {
ActivityResultRegistry.this.unregister(this.val$key);
}
}
public static class CallbackAndContract<O> {
public final ActivityResultCallback<O> mCallback;
public final ActivityResultContract<?, O> mContract;
public CallbackAndContract(ActivityResultCallback<O> activityResultCallback, ActivityResultContract<?, O> activityResultContract) {
this.mCallback = activityResultCallback;
this.mContract = activityResultContract;
}
}
public static class LifecycleContainer {
public final Lifecycle mLifecycle;
private final ArrayList<LifecycleEventObserver> mObservers = new ArrayList<>();
public LifecycleContainer(@NonNull Lifecycle lifecycle) {
this.mLifecycle = lifecycle;
}
public void addObserver(@NonNull LifecycleEventObserver lifecycleEventObserver) {
this.mLifecycle.addObserver(lifecycleEventObserver);
this.mObservers.add(lifecycleEventObserver);
}
public void clearObservers() {
Iterator<LifecycleEventObserver> it = this.mObservers.iterator();
while (it.hasNext()) {
this.mLifecycle.removeObserver(it.next());
}
this.mObservers.clear();
}
}
private void bindRcKey(int i, String str) {
this.mRcToKey.put(Integer.valueOf(i), str);
this.mKeyToRc.put(str, Integer.valueOf(i));
}
private <O> void doDispatch(String str, int i, @Nullable Intent intent, @Nullable CallbackAndContract<O> callbackAndContract) {
ActivityResultCallback<O> activityResultCallback;
if (callbackAndContract == null || (activityResultCallback = callbackAndContract.mCallback) == null) {
this.mParsedPendingResults.remove(str);
this.mPendingResults.putParcelable(str, new ActivityResult(i, intent));
return;
}
activityResultCallback.onActivityResult(callbackAndContract.mContract.parseResult(i, intent));
}
private int generateRandomNumber() {
int nextInt = this.mRandom.nextInt(2147418112);
while (true) {
int i = nextInt + 65536;
if (!this.mRcToKey.containsKey(Integer.valueOf(i))) {
return i;
}
nextInt = this.mRandom.nextInt(2147418112);
}
}
private int registerKey(String str) {
Integer num = this.mKeyToRc.get(str);
if (num != null) {
return num.intValue();
}
int generateRandomNumber = generateRandomNumber();
bindRcKey(generateRandomNumber, str);
return generateRandomNumber;
}
@MainThread
public final boolean dispatchResult(int i, int i2, @Nullable Intent intent) {
String str = this.mRcToKey.get(Integer.valueOf(i));
if (str == null) {
return false;
}
doDispatch(str, i2, intent, this.mKeyToCallback.get(str));
return true;
}
@MainThread
public final <O> boolean dispatchResult(int i, @SuppressLint({"UnknownNullness"}) O o) {
ActivityResultCallback<?> activityResultCallback;
String str = this.mRcToKey.get(Integer.valueOf(i));
if (str == null) {
return false;
}
CallbackAndContract<?> callbackAndContract = this.mKeyToCallback.get(str);
if (callbackAndContract == null || (activityResultCallback = callbackAndContract.mCallback) == null) {
this.mPendingResults.remove(str);
this.mParsedPendingResults.put(str, o);
return true;
}
activityResultCallback.onActivityResult(o);
return true;
}
@MainThread
public abstract <I, O> void onLaunch(int i, @NonNull ActivityResultContract<I, O> activityResultContract, @SuppressLint({"UnknownNullness"}) I i2, @Nullable ActivityOptionsCompat activityOptionsCompat);
public final void onRestoreInstanceState(@Nullable Bundle bundle) {
if (bundle != null) {
ArrayList<Integer> integerArrayList = bundle.getIntegerArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_RCS");
ArrayList<String> stringArrayList = bundle.getStringArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS");
if (!(stringArrayList == null || integerArrayList == null)) {
int size = stringArrayList.size();
for (int i = 0; i < size; i++) {
bindRcKey(integerArrayList.get(i).intValue(), stringArrayList.get(i));
}
this.mRandom = (Random) bundle.getSerializable("KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT");
this.mPendingResults.putAll(bundle.getBundle("KEY_COMPONENT_ACTIVITY_PENDING_RESULT"));
}
}
}
public final void onSaveInstanceState(@NonNull Bundle bundle) {
bundle.putIntegerArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_RCS", new ArrayList<>(this.mRcToKey.keySet()));
bundle.putStringArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS", new ArrayList<>(this.mRcToKey.values()));
bundle.putBundle("KEY_COMPONENT_ACTIVITY_PENDING_RESULT", (Bundle) this.mPendingResults.clone());
bundle.putSerializable("KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT", this.mRandom);
}
/* JADX DEBUG: Multi-variable search result rejected for r6v0, resolved type: androidx.activity.result.ActivityResultCallback<O> */
/* JADX WARN: Multi-variable type inference failed */
@NonNull
public final <I, O> ActivityResultLauncher<I> register(@NonNull String str, @NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultCallback<O> activityResultCallback) {
int registerKey = registerKey(str);
this.mKeyToCallback.put(str, new CallbackAndContract<>(activityResultCallback, activityResultContract));
if (this.mParsedPendingResults.containsKey(str)) {
Object obj = this.mParsedPendingResults.get(str);
this.mParsedPendingResults.remove(str);
activityResultCallback.onActivityResult(obj);
}
ActivityResult activityResult = (ActivityResult) this.mPendingResults.getParcelable(str);
if (activityResult != null) {
this.mPendingResults.remove(str);
activityResultCallback.onActivityResult(activityResultContract.parseResult(activityResult.getResultCode(), activityResult.getData()));
}
return new AnonymousClass3(registerKey, activityResultContract, str);
}
@NonNull
public final <I, O> ActivityResultLauncher<I> register(@NonNull String str, @NonNull LifecycleOwner lifecycleOwner, @NonNull ActivityResultContract<I, O> activityResultContract, @NonNull ActivityResultCallback<O> activityResultCallback) {
Lifecycle lifecycle = lifecycleOwner.getLifecycle();
if (!lifecycle.getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
int registerKey = registerKey(str);
LifecycleContainer lifecycleContainer = this.mKeyToLifecycleContainers.get(str);
if (lifecycleContainer == null) {
lifecycleContainer = new LifecycleContainer(lifecycle);
}
lifecycleContainer.addObserver(new AnonymousClass1(str, activityResultCallback, activityResultContract));
this.mKeyToLifecycleContainers.put(str, lifecycleContainer);
return new AnonymousClass2(registerKey, activityResultContract, str);
}
throw new IllegalStateException("LifecycleOwner " + lifecycleOwner + " is attempting to register while current state is " + lifecycle.getCurrentState() + ". LifecycleOwners must call register before they are STARTED.");
}
@MainThread
public final void unregister(@NonNull String str) {
Integer remove = this.mKeyToRc.remove(str);
if (remove != null) {
this.mRcToKey.remove(remove);
}
this.mKeyToCallback.remove(str);
if (this.mParsedPendingResults.containsKey(str)) {
StringBuilder Q = a.Q("Dropping pending result for request ", str, ": ");
Q.append(this.mParsedPendingResults.get(str));
Log.w("ActivityResultRegistry", Q.toString());
this.mParsedPendingResults.remove(str);
}
if (this.mPendingResults.containsKey(str)) {
StringBuilder Q2 = a.Q("Dropping pending result for request ", str, ": ");
Q2.append(this.mPendingResults.getParcelable(str));
Log.w("ActivityResultRegistry", Q2.toString());
this.mPendingResults.remove(str);
}
LifecycleContainer lifecycleContainer = this.mKeyToLifecycleContainers.get(str);
if (lifecycleContainer != null) {
lifecycleContainer.clearObservers();
this.mKeyToLifecycleContainers.remove(str);
}
}
}

View File

@ -0,0 +1,7 @@
package androidx.activity.result;
import androidx.annotation.NonNull;
public interface ActivityResultRegistryOwner {
@NonNull
ActivityResultRegistry getActivityResultRegistry();
}

View File

@ -0,0 +1,112 @@
package androidx.activity.result;
import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.IntentSender;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@SuppressLint({"BanParcelableUsage"})
public final class IntentSenderRequest implements Parcelable {
@NonNull
public static final Parcelable.Creator<IntentSenderRequest> CREATOR = new AnonymousClass1();
@Nullable
private final Intent mFillInIntent;
private final int mFlagsMask;
private final int mFlagsValues;
@NonNull
private final IntentSender mIntentSender;
/* renamed from: androidx.activity.result.IntentSenderRequest$1 reason: invalid class name */
public class AnonymousClass1 implements Parcelable.Creator<IntentSenderRequest> {
@Override // android.os.Parcelable.Creator
public IntentSenderRequest createFromParcel(Parcel parcel) {
return new IntentSenderRequest(parcel);
}
@Override // android.os.Parcelable.Creator
public IntentSenderRequest[] newArray(int i) {
return new IntentSenderRequest[i];
}
}
public static final class Builder {
private Intent mFillInIntent;
private int mFlagsMask;
private int mFlagsValues;
private IntentSender mIntentSender;
public Builder(@NonNull PendingIntent pendingIntent) {
this(pendingIntent.getIntentSender());
}
public Builder(@NonNull IntentSender intentSender) {
this.mIntentSender = intentSender;
}
@NonNull
public IntentSenderRequest build() {
return new IntentSenderRequest(this.mIntentSender, this.mFillInIntent, this.mFlagsMask, this.mFlagsValues);
}
@NonNull
public Builder setFillInIntent(@Nullable Intent intent) {
this.mFillInIntent = intent;
return this;
}
@NonNull
public Builder setFlags(int i, int i2) {
this.mFlagsValues = i;
this.mFlagsMask = i2;
return this;
}
}
public IntentSenderRequest(@NonNull IntentSender intentSender, @Nullable Intent intent, int i, int i2) {
this.mIntentSender = intentSender;
this.mFillInIntent = intent;
this.mFlagsMask = i;
this.mFlagsValues = i2;
}
public IntentSenderRequest(@NonNull Parcel parcel) {
this.mIntentSender = (IntentSender) parcel.readParcelable(IntentSender.class.getClassLoader());
this.mFillInIntent = (Intent) parcel.readParcelable(Intent.class.getClassLoader());
this.mFlagsMask = parcel.readInt();
this.mFlagsValues = parcel.readInt();
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Nullable
public Intent getFillInIntent() {
return this.mFillInIntent;
}
public int getFlagsMask() {
return this.mFlagsMask;
}
public int getFlagsValues() {
return this.mFlagsValues;
}
@NonNull
public IntentSender getIntentSender() {
return this.mIntentSender;
}
@Override // android.os.Parcelable
public void writeToParcel(@NonNull Parcel parcel, int i) {
parcel.writeParcelable(this.mIntentSender, i);
parcel.writeParcelable(this.mFillInIntent, i);
parcel.writeInt(this.mFlagsMask);
parcel.writeInt(this.mFlagsValues);
}
}

View File

@ -0,0 +1,34 @@
package androidx.activity.result.contract;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public abstract class ActivityResultContract<I, O> {
public static final class SynchronousResult<T> {
@SuppressLint({"UnknownNullness"})
private final T mValue;
public SynchronousResult(@SuppressLint({"UnknownNullness"}) T t) {
this.mValue = t;
}
@SuppressLint({"UnknownNullness"})
public T getValue() {
return this.mValue;
}
}
@NonNull
public abstract Intent createIntent(@NonNull Context context, @SuppressLint({"UnknownNullness"}) I i);
@Nullable
public SynchronousResult<O> getSynchronousResult(@NonNull Context context, @SuppressLint({"UnknownNullness"}) I i) {
return null;
}
@SuppressLint({"UnknownNullness"})
public abstract O parseResult(int i, @Nullable Intent intent);
}

View File

@ -0,0 +1,388 @@
package androidx.activity.result.contract;
import android.annotation.TargetApi;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.IntentSenderRequest;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.CallSuper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.collection.ArrayMap;
import androidx.core.content.ContextCompat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
public final class ActivityResultContracts {
@TargetApi(19)
public static class CreateDocument extends ActivityResultContract<String, Uri> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull String str) {
return new Intent("android.intent.action.CREATE_DOCUMENT").setType("*/*").putExtra("android.intent.extra.TITLE", str);
}
@Nullable
public final ActivityResultContract.SynchronousResult<Uri> getSynchronousResult(@NonNull Context context, @NonNull String str) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Uri parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return intent.getData();
}
}
public static class GetContent extends ActivityResultContract<String, Uri> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull String str) {
return new Intent("android.intent.action.GET_CONTENT").addCategory("android.intent.category.OPENABLE").setType(str);
}
@Nullable
public final ActivityResultContract.SynchronousResult<Uri> getSynchronousResult(@NonNull Context context, @NonNull String str) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Uri parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return intent.getData();
}
}
@TargetApi(18)
public static class GetMultipleContents extends ActivityResultContract<String, List<Uri>> {
@NonNull
public static List<Uri> getClipDataUris(@NonNull Intent intent) {
LinkedHashSet linkedHashSet = new LinkedHashSet();
if (intent.getData() != null) {
linkedHashSet.add(intent.getData());
}
ClipData clipData = intent.getClipData();
if (clipData == null && linkedHashSet.isEmpty()) {
return Collections.emptyList();
}
if (clipData != null) {
for (int i = 0; i < clipData.getItemCount(); i++) {
Uri uri = clipData.getItemAt(i).getUri();
if (uri != null) {
linkedHashSet.add(uri);
}
}
}
return new ArrayList(linkedHashSet);
}
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull String str) {
return new Intent("android.intent.action.GET_CONTENT").addCategory("android.intent.category.OPENABLE").setType(str).putExtra("android.intent.extra.ALLOW_MULTIPLE", true);
}
@Nullable
public final ActivityResultContract.SynchronousResult<List<Uri>> getSynchronousResult(@NonNull Context context, @NonNull String str) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public final List<Uri> parseResult(int i, @Nullable Intent intent) {
return (intent == null || i != -1) ? Collections.emptyList() : getClipDataUris(intent);
}
}
@TargetApi(19)
public static class OpenDocument extends ActivityResultContract<String[], Uri> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull String[] strArr) {
return new Intent("android.intent.action.OPEN_DOCUMENT").putExtra("android.intent.extra.MIME_TYPES", strArr).setType("*/*");
}
@Nullable
public final ActivityResultContract.SynchronousResult<Uri> getSynchronousResult(@NonNull Context context, @NonNull String[] strArr) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Uri parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return intent.getData();
}
}
@TargetApi(21)
public static class OpenDocumentTree extends ActivityResultContract<Uri, Uri> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @Nullable Uri uri) {
Intent intent = new Intent("android.intent.action.OPEN_DOCUMENT_TREE");
if (Build.VERSION.SDK_INT >= 26 && uri != null) {
intent.putExtra("android.provider.extra.INITIAL_URI", uri);
}
return intent;
}
@Nullable
public final ActivityResultContract.SynchronousResult<Uri> getSynchronousResult(@NonNull Context context, @Nullable Uri uri) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Uri parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return intent.getData();
}
}
@TargetApi(19)
public static class OpenMultipleDocuments extends ActivityResultContract<String[], List<Uri>> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull String[] strArr) {
return new Intent("android.intent.action.OPEN_DOCUMENT").putExtra("android.intent.extra.MIME_TYPES", strArr).putExtra("android.intent.extra.ALLOW_MULTIPLE", true).setType("*/*");
}
@Nullable
public final ActivityResultContract.SynchronousResult<List<Uri>> getSynchronousResult(@NonNull Context context, @NonNull String[] strArr) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public final List<Uri> parseResult(int i, @Nullable Intent intent) {
return (i != -1 || intent == null) ? Collections.emptyList() : GetMultipleContents.getClipDataUris(intent);
}
}
public static final class PickContact extends ActivityResultContract<Void, Uri> {
@NonNull
public Intent createIntent(@NonNull Context context, @Nullable Void r2) {
return new Intent("android.intent.action.PICK").setType("vnd.android.cursor.dir/contact");
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public Uri parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return intent.getData();
}
}
public static final class RequestMultiplePermissions extends ActivityResultContract<String[], Map<String, Boolean>> {
public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
@NonNull
public static Intent createIntent(@NonNull String[] strArr) {
return new Intent("androidx.activity.result.contract.action.REQUEST_PERMISSIONS").putExtra("androidx.activity.result.contract.extra.PERMISSIONS", strArr);
}
@NonNull
public Intent createIntent(@NonNull Context context, @NonNull String[] strArr) {
return createIntent(strArr);
}
@Nullable
public ActivityResultContract.SynchronousResult<Map<String, Boolean>> getSynchronousResult(@NonNull Context context, @Nullable String[] strArr) {
if (strArr == null || strArr.length == 0) {
return new ActivityResultContract.SynchronousResult<>(Collections.emptyMap());
}
ArrayMap arrayMap = new ArrayMap();
boolean z2 = true;
for (String str : strArr) {
boolean z3 = ContextCompat.checkSelfPermission(context, str) == 0;
arrayMap.put(str, Boolean.valueOf(z3));
if (!z3) {
z2 = false;
}
}
if (z2) {
return new ActivityResultContract.SynchronousResult<>(arrayMap);
}
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public Map<String, Boolean> parseResult(int i, @Nullable Intent intent) {
if (i != -1) {
return Collections.emptyMap();
}
if (intent == null) {
return Collections.emptyMap();
}
String[] stringArrayExtra = intent.getStringArrayExtra("androidx.activity.result.contract.extra.PERMISSIONS");
int[] intArrayExtra = intent.getIntArrayExtra("androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS");
if (intArrayExtra == null || stringArrayExtra == null) {
return Collections.emptyMap();
}
HashMap hashMap = new HashMap();
int length = stringArrayExtra.length;
for (int i2 = 0; i2 < length; i2++) {
hashMap.put(stringArrayExtra[i2], Boolean.valueOf(intArrayExtra[i2] == 0));
}
return hashMap;
}
}
public static final class RequestPermission extends ActivityResultContract<String, Boolean> {
@NonNull
public Intent createIntent(@NonNull Context context, @NonNull String str) {
return RequestMultiplePermissions.createIntent(new String[]{str});
}
@Nullable
public ActivityResultContract.SynchronousResult<Boolean> getSynchronousResult(@NonNull Context context, @Nullable String str) {
if (str == null) {
return new ActivityResultContract.SynchronousResult<>(Boolean.FALSE);
}
if (ContextCompat.checkSelfPermission(context, str) == 0) {
return new ActivityResultContract.SynchronousResult<>(Boolean.TRUE);
}
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public Boolean parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return Boolean.FALSE;
}
int[] intArrayExtra = intent.getIntArrayExtra("androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS");
if (intArrayExtra == null || intArrayExtra.length == 0) {
return Boolean.FALSE;
}
boolean z2 = false;
if (intArrayExtra[0] == 0) {
z2 = true;
}
return Boolean.valueOf(z2);
}
}
public static final class StartActivityForResult extends ActivityResultContract<Intent, ActivityResult> {
public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
@NonNull
public Intent createIntent(@NonNull Context context, @NonNull Intent intent) {
return intent;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public ActivityResult parseResult(int i, @Nullable Intent intent) {
return new ActivityResult(i, intent);
}
}
public static final class StartIntentSenderForResult extends ActivityResultContract<IntentSenderRequest, ActivityResult> {
public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
@NonNull
public Intent createIntent(@NonNull Context context, @NonNull IntentSenderRequest intentSenderRequest) {
return new Intent("androidx.activity.result.contract.action.INTENT_SENDER_REQUEST").putExtra("androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST", intentSenderRequest);
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public ActivityResult parseResult(int i, @Nullable Intent intent) {
return new ActivityResult(i, intent);
}
}
public static class TakePicture extends ActivityResultContract<Uri, Boolean> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull Uri uri) {
return new Intent("android.media.action.IMAGE_CAPTURE").putExtra("output", uri);
}
@Nullable
public final ActivityResultContract.SynchronousResult<Boolean> getSynchronousResult(@NonNull Context context, @NonNull Uri uri) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@NonNull
public final Boolean parseResult(int i, @Nullable Intent intent) {
return Boolean.valueOf(i == -1);
}
}
public static class TakePicturePreview extends ActivityResultContract<Void, Bitmap> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @Nullable Void r2) {
return new Intent("android.media.action.IMAGE_CAPTURE");
}
@Nullable
public final ActivityResultContract.SynchronousResult<Bitmap> getSynchronousResult(@NonNull Context context, @Nullable Void r2) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Bitmap parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return (Bitmap) intent.getParcelableExtra("data");
}
}
public static class TakeVideo extends ActivityResultContract<Uri, Bitmap> {
@NonNull
@CallSuper
public Intent createIntent(@NonNull Context context, @NonNull Uri uri) {
return new Intent("android.media.action.VIDEO_CAPTURE").putExtra("output", uri);
}
@Nullable
public final ActivityResultContract.SynchronousResult<Bitmap> getSynchronousResult(@NonNull Context context, @NonNull Uri uri) {
return null;
}
@Override // androidx.activity.result.contract.ActivityResultContract
@Nullable
public final Bitmap parseResult(int i, @Nullable Intent intent) {
if (intent == null || i != -1) {
return null;
}
return (Bitmap) intent.getParcelableExtra("data");
}
}
private ActivityResultContracts() {
}
}

View File

@ -0,0 +1,12 @@
package androidx.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Documented
@Retention(RetentionPolicy.CLASS)
public @interface AnimRes {
}

View File

@ -0,0 +1,12 @@
package androidx.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Documented
@Retention(RetentionPolicy.CLASS)
public @interface AnimatorRes {
}

View File

@ -0,0 +1,12 @@
package androidx.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Documented
@Retention(RetentionPolicy.CLASS)
public @interface AnyRes {
}

View File

@ -0,0 +1,12 @@
package androidx.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.TYPE, ElementType.PARAMETER})
@Documented
@Retention(RetentionPolicy.CLASS)
public @interface AnyThread {
}

View File

@ -0,0 +1,12 @@
package androidx.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Documented
@Retention(RetentionPolicy.CLASS)
public @interface ArrayRes {
}

Some files were not shown because too many files have changed in this diff Show More