Enable replacing const values in jadx
Tracking changes should be much easier now.
|
@ -0,0 +1,272 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="86107" android:versionName="86.7 - 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/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/AppTheme_Translucent" android:name="com.discord.samsung.SamsungConnectActivity"/>
|
||||
<activity android:theme="@style/AppTheme_Dark" android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:windowSoftInputMode="stateHidden|adjustResize"/>
|
||||
<activity android:theme="@style/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/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_new_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.7-texture-crop-scale"/>
|
||||
<activity android:theme="@style/res_2131952264_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>
|
|
@ -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"}]
|
|
@ -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": [
|
||||
";)",
|
||||
";-)"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -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"}]
|
|
@ -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>
|
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.7 KiB |
|
@ -0,0 +1 @@
|
|||
https://www.reddit.com/r/discordapp/comments/dlkvza/theres_a_cute_catdog_image_hidden_inside_the/
|
|
@ -25,6 +25,8 @@ import androidx.annotation.RequiresApi;
|
|||
import androidx.collection.ArrayMap;
|
||||
import androidx.core.app.BundleCompat;
|
||||
import androidx.media.MediaBrowserCompatUtils;
|
||||
import androidx.media.MediaBrowserProtocol;
|
||||
import androidx.media.MediaBrowserServiceCompat;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -46,10 +48,10 @@ public final class MediaBrowserCompat {
|
|||
if (bundle != null) {
|
||||
bundle = MediaSessionCompat.b(bundle);
|
||||
}
|
||||
if (i != 0 || bundle == null || !bundle.containsKey("media_item")) {
|
||||
if (i != 0 || bundle == null || !bundle.containsKey(MediaBrowserServiceCompat.KEY_MEDIA_ITEM)) {
|
||||
throw null;
|
||||
}
|
||||
Parcelable parcelable = bundle.getParcelable("media_item");
|
||||
Parcelable parcelable = bundle.getParcelable(MediaBrowserServiceCompat.KEY_MEDIA_ITEM);
|
||||
if (parcelable == null || (parcelable instanceof MediaItem)) {
|
||||
MediaItem mediaItem = (MediaItem) parcelable;
|
||||
throw null;
|
||||
|
@ -136,10 +138,10 @@ public final class MediaBrowserCompat {
|
|||
if (bundle != null) {
|
||||
bundle = MediaSessionCompat.b(bundle);
|
||||
}
|
||||
if (i != 0 || bundle == null || !bundle.containsKey("search_results")) {
|
||||
if (i != 0 || bundle == null || !bundle.containsKey(MediaBrowserServiceCompat.KEY_SEARCH_RESULTS)) {
|
||||
throw null;
|
||||
}
|
||||
Parcelable[] parcelableArray = bundle.getParcelableArray("search_results");
|
||||
Parcelable[] parcelableArray = bundle.getParcelableArray(MediaBrowserServiceCompat.KEY_SEARCH_RESULTS);
|
||||
Objects.requireNonNull(parcelableArray);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (Parcelable parcelable : parcelableArray) {
|
||||
|
@ -172,19 +174,19 @@ public final class MediaBrowserCompat {
|
|||
try {
|
||||
int i = message.what;
|
||||
if (i == 1) {
|
||||
Bundle bundle = data.getBundle("data_root_hints");
|
||||
Bundle bundle = data.getBundle(MediaBrowserProtocol.DATA_ROOT_HINTS);
|
||||
MediaSessionCompat.a(bundle);
|
||||
gVar.a(messenger, data.getString("data_media_item_id"), (MediaSessionCompat.Token) data.getParcelable("data_media_session_token"), bundle);
|
||||
gVar.a(messenger, data.getString(MediaBrowserProtocol.DATA_MEDIA_ITEM_ID), (MediaSessionCompat.Token) data.getParcelable(MediaBrowserProtocol.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");
|
||||
Bundle bundle2 = data.getBundle(MediaBrowserProtocol.DATA_OPTIONS);
|
||||
MediaSessionCompat.a(bundle2);
|
||||
Bundle bundle3 = data.getBundle("data_notify_children_changed_options");
|
||||
Bundle bundle3 = data.getBundle(MediaBrowserProtocol.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);
|
||||
gVar.b(messenger, data.getString(MediaBrowserProtocol.DATA_MEDIA_ITEM_ID), data.getParcelableArrayList(MediaBrowserProtocol.DATA_MEDIA_ITEM_LIST), bundle2, bundle3);
|
||||
}
|
||||
} catch (BadParcelableException unused) {
|
||||
Log.e("MediaBrowserCompat", "Could not unparcel the data.");
|
||||
|
@ -214,8 +216,8 @@ public final class MediaBrowserCompat {
|
|||
try {
|
||||
Bundle extras = dVar.b.getExtras();
|
||||
if (extras != null) {
|
||||
extras.getInt("extra_service_version", 0);
|
||||
IBinder binder = BundleCompat.getBinder(extras, "extra_messenger");
|
||||
extras.getInt(MediaBrowserProtocol.EXTRA_SERVICE_VERSION, 0);
|
||||
IBinder binder = BundleCompat.getBinder(extras, MediaBrowserProtocol.EXTRA_MESSENGER_BINDER);
|
||||
if (binder != null) {
|
||||
dVar.f = new h(binder, dVar.f10c);
|
||||
Messenger messenger = new Messenger(dVar.d);
|
||||
|
@ -227,15 +229,15 @@ public final class MediaBrowserCompat {
|
|||
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);
|
||||
bundle.putString(MediaBrowserProtocol.DATA_PACKAGE_NAME, context.getPackageName());
|
||||
bundle.putInt(MediaBrowserProtocol.DATA_CALLING_PID, Process.myPid());
|
||||
bundle.putBundle(MediaBrowserProtocol.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"));
|
||||
x.a.b.b.a.b e = b.a.e(BundleCompat.getBinder(extras, MediaBrowserProtocol.EXTRA_SESSION_BINDER));
|
||||
if (e != null) {
|
||||
dVar.h = MediaSessionCompat.Token.a(dVar.b.getSessionToken(), e);
|
||||
}
|
||||
|
@ -311,8 +313,8 @@ public final class MediaBrowserCompat {
|
|||
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());
|
||||
bundle2.putInt(MediaBrowserProtocol.EXTRA_CLIENT_VERSION, 1);
|
||||
bundle2.putInt(MediaBrowserProtocol.EXTRA_CALLING_PID, Process.myPid());
|
||||
bVar.setInternalConnectionCallback(this);
|
||||
this.b = new MediaBrowser(context, componentName, bVar.mConnectionCallbackFwk, bundle2);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import androidx.activity.result.ActivityResultRegistry;
|
|||
import androidx.activity.result.ActivityResultRegistryOwner;
|
||||
import androidx.activity.result.IntentSenderRequest;
|
||||
import androidx.activity.result.contract.ActivityResultContract;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.ContentView;
|
||||
import androidx.annotation.LayoutRes;
|
||||
|
@ -111,7 +112,7 @@ public class ComponentActivity extends androidx.core.app.ComponentActivity imple
|
|||
|
||||
@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));
|
||||
AnonymousClass2.this.dispatchResult(this.val$requestCode, 0, new Intent().setAction(ActivityResultContracts.StartIntentSenderForResult.ACTION_INTENT_SENDER_REQUEST).putExtra(ActivityResultContracts.StartIntentSenderForResult.EXTRA_SEND_INTENT_EXCEPTION, this.val$e));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,14 +129,14 @@ public class ComponentActivity extends androidx.core.app.ComponentActivity imple
|
|||
}
|
||||
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");
|
||||
if (createIntent.hasExtra(ActivityResultContracts.StartActivityForResult.EXTRA_ACTIVITY_OPTIONS_BUNDLE)) {
|
||||
bundle = createIntent.getBundleExtra(ActivityResultContracts.StartActivityForResult.EXTRA_ACTIVITY_OPTIONS_BUNDLE);
|
||||
createIntent.removeExtra(ActivityResultContracts.StartActivityForResult.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 (ActivityResultContracts.RequestMultiplePermissions.ACTION_REQUEST_PERMISSIONS.equals(createIntent.getAction())) {
|
||||
String[] stringArrayExtra = createIntent.getStringArrayExtra(ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSIONS);
|
||||
if (stringArrayExtra != null) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (String str : stringArrayExtra) {
|
||||
|
@ -147,8 +148,8 @@ public class ComponentActivity extends androidx.core.app.ComponentActivity imple
|
|||
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");
|
||||
} else if (ActivityResultContracts.StartIntentSenderForResult.ACTION_INTENT_SENDER_REQUEST.equals(createIntent.getAction())) {
|
||||
IntentSenderRequest intentSenderRequest = (IntentSenderRequest) createIntent.getParcelableExtra(ActivityResultContracts.StartIntentSenderForResult.EXTRA_INTENT_SENDER_REQUEST);
|
||||
try {
|
||||
ActivityCompat.startIntentSenderForResult(componentActivity, intentSenderRequest.getIntentSender(), i, intentSenderRequest.getFillInIntent(), intentSenderRequest.getFlagsMask(), intentSenderRequest.getFlagsValues(), 0, bundle);
|
||||
} catch (IntentSender.SendIntentException e) {
|
||||
|
@ -358,7 +359,7 @@ public class ComponentActivity extends androidx.core.app.ComponentActivity imple
|
|||
@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) {
|
||||
if (!this.mActivityResultRegistry.dispatchResult(i, -1, new Intent().putExtra(ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSIONS, strArr).putExtra(ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSION_GRANT_RESULTS, iArr)) && Build.VERSION.SDK_INT >= 23) {
|
||||
super.onRequestPermissionsResult(i, strArr, iArr);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -225,24 +225,24 @@ public abstract class ActivityResultRegistry {
|
|||
|
||||
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");
|
||||
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"));
|
||||
this.mRandom = (Random) bundle.getSerializable(KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT);
|
||||
this.mPendingResults.putAll(bundle.getBundle(KEY_COMPONENT_ACTIVITY_PENDING_RESULTS));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
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_RESULTS, (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> */
|
||||
|
@ -290,13 +290,13 @@ public abstract class ActivityResultRegistry {
|
|||
if (this.mParsedPendingResults.containsKey(str)) {
|
||||
StringBuilder P = a.P("Dropping pending result for request ", str, ": ");
|
||||
P.append(this.mParsedPendingResults.get(str));
|
||||
Log.w("ActivityResultRegistry", P.toString());
|
||||
Log.w(LOG_TAG, P.toString());
|
||||
this.mParsedPendingResults.remove(str);
|
||||
}
|
||||
if (this.mPendingResults.containsKey(str)) {
|
||||
StringBuilder P2 = a.P("Dropping pending result for request ", str, ": ");
|
||||
P2.append(this.mPendingResults.getParcelable(str));
|
||||
Log.w("ActivityResultRegistry", P2.toString());
|
||||
Log.w(LOG_TAG, P2.toString());
|
||||
this.mPendingResults.remove(str);
|
||||
}
|
||||
LifecycleContainer lifecycleContainer = this.mKeyToLifecycleContainers.get(str);
|
||||
|
|
|
@ -202,7 +202,7 @@ public final class ActivityResultContracts {
|
|||
|
||||
@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);
|
||||
return new Intent(ACTION_REQUEST_PERMISSIONS).putExtra(EXTRA_PERMISSIONS, strArr);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -239,8 +239,8 @@ public final class ActivityResultContracts {
|
|||
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");
|
||||
String[] stringArrayExtra = intent.getStringArrayExtra(EXTRA_PERMISSIONS);
|
||||
int[] intArrayExtra = intent.getIntArrayExtra(EXTRA_PERMISSION_GRANT_RESULTS);
|
||||
if (intArrayExtra == null || stringArrayExtra == null) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
@ -276,7 +276,7 @@ public final class ActivityResultContracts {
|
|||
if (intent == null || i != -1) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
int[] intArrayExtra = intent.getIntArrayExtra("androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS");
|
||||
int[] intArrayExtra = intent.getIntArrayExtra(RequestMultiplePermissions.EXTRA_PERMISSION_GRANT_RESULTS);
|
||||
if (intArrayExtra == null || intArrayExtra.length == 0) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ public final class ActivityResultContracts {
|
|||
|
||||
@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);
|
||||
return new Intent(ACTION_INTENT_SENDER_REQUEST).putExtra(EXTRA_INTENT_SENDER_REQUEST, intentSenderRequest);
|
||||
}
|
||||
|
||||
@Override // androidx.activity.result.contract.ActivityResultContract
|
||||
|
|
|
@ -15,6 +15,7 @@ import androidx.annotation.StringRes;
|
|||
import androidx.appcompat.app.ActionBarDrawerToggleHoneycomb;
|
||||
import androidx.appcompat.graphics.drawable.DrawerArrowDrawable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
public class ActionBarDrawerToggle implements DrawerLayout.DrawerListener {
|
||||
private final Delegate mActivityImpl;
|
||||
|
@ -278,7 +279,7 @@ public class ActionBarDrawerToggle implements DrawerLayout.DrawerListener {
|
|||
public void setDrawerIndicatorEnabled(boolean z2) {
|
||||
if (z2 != this.mDrawerIndicatorEnabled) {
|
||||
if (z2) {
|
||||
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen(8388611) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
|
||||
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen(GravityCompat.START) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
|
||||
} else {
|
||||
setActionBarUpIndicator(this.mHomeAsUpIndicator, 0);
|
||||
}
|
||||
|
@ -315,22 +316,22 @@ public class ActionBarDrawerToggle implements DrawerLayout.DrawerListener {
|
|||
}
|
||||
|
||||
public void syncState() {
|
||||
if (this.mDrawerLayout.isDrawerOpen(8388611)) {
|
||||
if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
|
||||
setPosition(1.0f);
|
||||
} else {
|
||||
setPosition(0.0f);
|
||||
}
|
||||
if (this.mDrawerIndicatorEnabled) {
|
||||
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen(8388611) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
|
||||
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen(GravityCompat.START) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
|
||||
}
|
||||
}
|
||||
|
||||
public void toggle() {
|
||||
int drawerLockMode = this.mDrawerLayout.getDrawerLockMode(8388611);
|
||||
if (this.mDrawerLayout.isDrawerVisible(8388611) && drawerLockMode != 2) {
|
||||
this.mDrawerLayout.closeDrawer(8388611);
|
||||
int drawerLockMode = this.mDrawerLayout.getDrawerLockMode(GravityCompat.START);
|
||||
if (this.mDrawerLayout.isDrawerVisible(GravityCompat.START) && drawerLockMode != 2) {
|
||||
this.mDrawerLayout.closeDrawer(GravityCompat.START);
|
||||
} else if (drawerLockMode != 1) {
|
||||
this.mDrawerLayout.openDrawer(8388611);
|
||||
this.mDrawerLayout.openDrawer(GravityCompat.START);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class ActionBarDrawerToggleHoneycomb {
|
|||
try {
|
||||
setIndicatorInfo.setHomeActionContentDescription.invoke(activity.getActionBar(), Integer.valueOf(i));
|
||||
} catch (Exception e) {
|
||||
Log.w("ActionBarDrawerToggleHC", "Couldn't set content description via JB-MR2 API", e);
|
||||
Log.w(TAG, "Couldn't set content description via JB-MR2 API", e);
|
||||
}
|
||||
}
|
||||
return setIndicatorInfo;
|
||||
|
@ -70,14 +70,14 @@ public class ActionBarDrawerToggleHoneycomb {
|
|||
setIndicatorInfo.setHomeAsUpIndicator.invoke(actionBar, drawable);
|
||||
setIndicatorInfo.setHomeActionContentDescription.invoke(actionBar, Integer.valueOf(i));
|
||||
} catch (Exception e) {
|
||||
Log.w("ActionBarDrawerToggleHC", "Couldn't set home-as-up indicator via JB-MR2 API", e);
|
||||
Log.w(TAG, "Couldn't set home-as-up indicator via JB-MR2 API", e);
|
||||
}
|
||||
} else {
|
||||
ImageView imageView = setIndicatorInfo.upIndicatorView;
|
||||
if (imageView != null) {
|
||||
imageView.setImageDrawable(drawable);
|
||||
} else {
|
||||
Log.w("ActionBarDrawerToggleHC", "Couldn't set home-as-up indicator");
|
||||
Log.w(TAG, "Couldn't set home-as-up indicator");
|
||||
}
|
||||
}
|
||||
return setIndicatorInfo;
|
||||
|
|
|
@ -123,7 +123,7 @@ public abstract class AppCompatDelegate {
|
|||
|
||||
public static void setDefaultNightMode(int i) {
|
||||
if (i != -1 && i != 0 && i != 1 && i != 2 && i != 3) {
|
||||
Log.d("AppCompatDelegate", "setDefaultNightMode() called with an unknown mode");
|
||||
Log.d(TAG, "setDefaultNightMode() called with an unknown mode");
|
||||
} else if (sDefaultNightMode != i) {
|
||||
sDefaultNightMode = i;
|
||||
applyDayNightToActiveDelegates();
|
||||
|
|
|
@ -87,6 +87,7 @@ import androidx.core.util.ObjectsCompat;
|
|||
import androidx.core.view.KeyEventDispatcher;
|
||||
import androidx.core.view.LayoutInflaterCompat;
|
||||
import androidx.core.view.OnApplyWindowInsetsListener;
|
||||
import androidx.core.view.PointerIconCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.ViewPropertyAnimatorCompat;
|
||||
import androidx.core.view.ViewPropertyAnimatorListenerAdapter;
|
||||
|
@ -97,6 +98,7 @@ import androidx.lifecycle.LifecycleOwner;
|
|||
import c.d.b.a.a;
|
||||
import java.lang.Thread;
|
||||
import java.util.List;
|
||||
import org.webrtc.MediaStreamTrack;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY})
|
||||
public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuilder.Callback, LayoutInflater.Factory2 {
|
||||
|
@ -176,7 +178,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
@Override // java.lang.Thread.UncaughtExceptionHandler
|
||||
public void uncaughtException(@NonNull Thread thread, @NonNull Throwable th) {
|
||||
if (shouldWrapException(th)) {
|
||||
Resources.NotFoundException notFoundException = new Resources.NotFoundException(th.getMessage() + ". If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.");
|
||||
Resources.NotFoundException notFoundException = new Resources.NotFoundException(th.getMessage() + AppCompatDelegateImpl.EXCEPTION_HANDLER_MESSAGE_SUFFIX);
|
||||
notFoundException.initCause(th.getCause());
|
||||
notFoundException.setStackTrace(th.getStackTrace());
|
||||
this.val$defHandler.uncaughtException(thread, notFoundException);
|
||||
|
@ -1437,7 +1439,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
ActivityInfo activityInfo = packageManager.getActivityInfo(new ComponentName(this.mContext, this.mHost.getClass()), i >= 29 ? 269221888 : i >= 24 ? 786432 : 0);
|
||||
this.mActivityHandlesUiMode = (activityInfo == null || (activityInfo.configChanges & 512) == 0) ? false : true;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.d("AppCompatDelegate", "Exception while getting ActivityInfo", e);
|
||||
Log.d(AppCompatDelegate.TAG, "Exception while getting ActivityInfo", e);
|
||||
this.mActivityHandlesUiMode = false;
|
||||
}
|
||||
}
|
||||
|
@ -1471,11 +1473,11 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
closePanel(panelState, true);
|
||||
z3 = z4;
|
||||
if (z3) {
|
||||
AudioManager audioManager = (AudioManager) this.mContext.getApplicationContext().getSystemService("audio");
|
||||
AudioManager audioManager = (AudioManager) this.mContext.getApplicationContext().getSystemService(MediaStreamTrack.AUDIO_TRACK_KIND);
|
||||
if (audioManager != null) {
|
||||
audioManager.playSoundEffect(0);
|
||||
} else {
|
||||
Log.w("AppCompatDelegate", "Couldn't get audio manager");
|
||||
Log.w(AppCompatDelegate.TAG, "Couldn't get audio manager");
|
||||
}
|
||||
}
|
||||
return z3;
|
||||
|
@ -1553,7 +1555,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
if (!(view == null || (layoutParams = view.getLayoutParams()) == null || layoutParams.width != -1)) {
|
||||
i = -1;
|
||||
panelFeatureState.isHandled = false;
|
||||
WindowManager.LayoutParams layoutParams3 = new WindowManager.LayoutParams(i, -2, panelFeatureState.f13x, panelFeatureState.f14y, 1002, 8519680, -3);
|
||||
WindowManager.LayoutParams layoutParams3 = new WindowManager.LayoutParams(i, -2, panelFeatureState.f13x, panelFeatureState.f14y, PointerIconCompat.TYPE_HAND, 8519680, -3);
|
||||
layoutParams3.gravity = panelFeatureState.gravity;
|
||||
layoutParams3.windowAnimations = panelFeatureState.windowAnimations;
|
||||
windowManager.addView(panelFeatureState.decorView, layoutParams3);
|
||||
|
@ -1563,7 +1565,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
}
|
||||
i = -2;
|
||||
panelFeatureState.isHandled = false;
|
||||
WindowManager.LayoutParams layoutParams3 = new WindowManager.LayoutParams(i, -2, panelFeatureState.f13x, panelFeatureState.f14y, 1002, 8519680, -3);
|
||||
WindowManager.LayoutParams layoutParams3 = new WindowManager.LayoutParams(i, -2, panelFeatureState.f13x, panelFeatureState.f14y, PointerIconCompat.TYPE_HAND, 8519680, -3);
|
||||
layoutParams3.gravity = panelFeatureState.gravity;
|
||||
layoutParams3.windowAnimations = panelFeatureState.windowAnimations;
|
||||
windowManager.addView(panelFeatureState.decorView, layoutParams3);
|
||||
|
@ -1691,12 +1693,12 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
|
||||
private int sanitizeWindowFeatureId(int i) {
|
||||
if (i == 8) {
|
||||
Log.i("AppCompatDelegate", "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR id when requesting this feature.");
|
||||
Log.i(AppCompatDelegate.TAG, "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR id when requesting this feature.");
|
||||
return 108;
|
||||
} else if (i != 9) {
|
||||
return i;
|
||||
} else {
|
||||
Log.i("AppCompatDelegate", "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR_OVERLAY id when requesting this feature.");
|
||||
Log.i(AppCompatDelegate.TAG, "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR_OVERLAY id when requesting this feature.");
|
||||
return 109;
|
||||
}
|
||||
}
|
||||
|
@ -1941,7 +1943,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
try {
|
||||
this.mAppCompatViewInflater = (AppCompatViewInflater) Class.forName(string).getDeclaredConstructor(new Class[0]).newInstance(new Object[0]);
|
||||
} catch (Throwable th) {
|
||||
Log.i("AppCompatDelegate", "Failed to instantiate custom view inflater " + string + ". Falling back to default.", th);
|
||||
Log.i(AppCompatDelegate.TAG, "Failed to instantiate custom view inflater " + string + ". Falling back to default.", th);
|
||||
this.mAppCompatViewInflater = new AppCompatViewInflater();
|
||||
}
|
||||
}
|
||||
|
@ -2129,7 +2131,7 @@ public class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuil
|
|||
if (from.getFactory() == null) {
|
||||
LayoutInflaterCompat.setFactory2(from, this);
|
||||
} else if (!(from.getFactory2() instanceof AppCompatDelegateImpl)) {
|
||||
Log.i("AppCompatDelegate", "The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's");
|
||||
Log.i(AppCompatDelegate.TAG, "The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ public class AppCompatViewInflater {
|
|||
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.View, 0, 0);
|
||||
int resourceId = z2 ? obtainStyledAttributes.getResourceId(R.styleable.View_android_theme, 0) : 0;
|
||||
if (z3 && resourceId == 0 && (resourceId = obtainStyledAttributes.getResourceId(R.styleable.View_theme, 0)) != 0) {
|
||||
Log.i("AppCompatViewInflater", "app:theme is now deprecated. Please move to using android:theme instead.");
|
||||
Log.i(LOG_TAG, "app:theme is now deprecated. Please move to using android:theme instead.");
|
||||
}
|
||||
obtainStyledAttributes.recycle();
|
||||
return resourceId != 0 ? (!(context instanceof ContextThemeWrapper) || ((ContextThemeWrapper) context).getThemeResId() != resourceId) ? new ContextThemeWrapper(context, resourceId) : context : context;
|
||||
|
|
|
@ -43,7 +43,7 @@ public class ResourcesFlusher {
|
|||
sDrawableCacheField = declaredField;
|
||||
declaredField.setAccessible(true);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve Resources#mDrawableCache field", e);
|
||||
Log.e(TAG, "Could not retrieve Resources#mDrawableCache field", e);
|
||||
}
|
||||
sDrawableCacheFieldFetched = true;
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
map = (Map) field.get(resources);
|
||||
} catch (IllegalAccessException e2) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve value from Resources#mDrawableCache", e2);
|
||||
Log.e(TAG, "Could not retrieve value from Resources#mDrawableCache", e2);
|
||||
}
|
||||
if (map != null) {
|
||||
map.clear();
|
||||
|
@ -69,7 +69,7 @@ public class ResourcesFlusher {
|
|||
sDrawableCacheField = declaredField;
|
||||
declaredField.setAccessible(true);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve Resources#mDrawableCache field", e);
|
||||
Log.e(TAG, "Could not retrieve Resources#mDrawableCache field", e);
|
||||
}
|
||||
sDrawableCacheFieldFetched = true;
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
obj = field.get(resources);
|
||||
} catch (IllegalAccessException e2) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve value from Resources#mDrawableCache", e2);
|
||||
Log.e(TAG, "Could not retrieve value from Resources#mDrawableCache", e2);
|
||||
}
|
||||
}
|
||||
if (obj != null) {
|
||||
|
@ -96,7 +96,7 @@ public class ResourcesFlusher {
|
|||
sResourcesImplField = declaredField;
|
||||
declaredField.setAccessible(true);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve Resources#mResourcesImpl field", e);
|
||||
Log.e(TAG, "Could not retrieve Resources#mResourcesImpl field", e);
|
||||
}
|
||||
sResourcesImplFieldFetched = true;
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
obj = field.get(resources);
|
||||
} catch (IllegalAccessException e2) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve value from Resources#mResourcesImpl", e2);
|
||||
Log.e(TAG, "Could not retrieve value from Resources#mResourcesImpl", e2);
|
||||
obj = null;
|
||||
}
|
||||
if (obj != null) {
|
||||
|
@ -116,7 +116,7 @@ public class ResourcesFlusher {
|
|||
sDrawableCacheField = declaredField2;
|
||||
declaredField2.setAccessible(true);
|
||||
} catch (NoSuchFieldException e3) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve ResourcesImpl#mDrawableCache field", e3);
|
||||
Log.e(TAG, "Could not retrieve ResourcesImpl#mDrawableCache field", e3);
|
||||
}
|
||||
sDrawableCacheFieldFetched = true;
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
obj2 = field2.get(obj);
|
||||
} catch (IllegalAccessException e4) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve value from ResourcesImpl#mDrawableCache", e4);
|
||||
Log.e(TAG, "Could not retrieve value from ResourcesImpl#mDrawableCache", e4);
|
||||
}
|
||||
}
|
||||
if (obj2 != null) {
|
||||
|
@ -141,7 +141,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
sThemedResourceCacheClazz = Class.forName("android.content.res.ThemedResourceCache");
|
||||
} catch (ClassNotFoundException e) {
|
||||
Log.e("ResourcesFlusher", "Could not find ThemedResourceCache class", e);
|
||||
Log.e(TAG, "Could not find ThemedResourceCache class", e);
|
||||
}
|
||||
sThemedResourceCacheClazzFetched = true;
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ public class ResourcesFlusher {
|
|||
sThemedResourceCache_mUnthemedEntriesField = declaredField;
|
||||
declaredField.setAccessible(true);
|
||||
} catch (NoSuchFieldException e2) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve ThemedResourceCache#mUnthemedEntries field", e2);
|
||||
Log.e(TAG, "Could not retrieve ThemedResourceCache#mUnthemedEntries field", e2);
|
||||
}
|
||||
sThemedResourceCache_mUnthemedEntriesFieldFetched = true;
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ public class ResourcesFlusher {
|
|||
try {
|
||||
longSparseArray = (LongSparseArray) field.get(obj);
|
||||
} catch (IllegalAccessException e3) {
|
||||
Log.e("ResourcesFlusher", "Could not retrieve value from ThemedResourceCache#mUnthemedEntries", e3);
|
||||
Log.e(TAG, "Could not retrieve value from ThemedResourceCache#mUnthemedEntries", e3);
|
||||
}
|
||||
if (longSparseArray != null) {
|
||||
longSparseArray.clear();
|
||||
|
|
|
@ -23,12 +23,12 @@ public class TwilightCalculator {
|
|||
}
|
||||
|
||||
public void calculateTwilight(long j, double d, double d2) {
|
||||
float f = ((float) (j - 946728000000L)) / 8.64E7f;
|
||||
float f = ((float) (j - UTC_2000)) / 8.64E7f;
|
||||
float f2 = (0.01720197f * f) + 6.24006f;
|
||||
double d3 = (double) f2;
|
||||
double sin = (Math.sin((double) (f2 * 3.0f)) * 5.236000106378924E-6d) + (Math.sin((double) (2.0f * f2)) * 3.4906598739326E-4d) + (Math.sin(d3) * 0.03341960161924362d) + d3 + 1.796593063d + 3.141592653589793d;
|
||||
double d4 = (-d2) / 360.0d;
|
||||
double sin2 = (Math.sin(2.0d * sin) * -0.0069d) + (Math.sin(d3) * 0.0053d) + ((double) (((float) Math.round(((double) (f - 9.0E-4f)) - d4)) + 9.0E-4f)) + d4;
|
||||
double sin2 = (Math.sin(2.0d * sin) * -0.0069d) + (Math.sin(d3) * 0.0053d) + ((double) (((float) Math.round(((double) (f - J0)) - d4)) + J0)) + d4;
|
||||
double asin = Math.asin(Math.sin(0.4092797040939331d) * Math.sin(sin));
|
||||
double d5 = 0.01745329238474369d * d;
|
||||
double sin3 = (Math.sin(-0.10471975803375244d) - (Math.sin(asin) * Math.sin(d5))) / (Math.cos(asin) * Math.cos(d5));
|
||||
|
@ -42,8 +42,8 @@ public class TwilightCalculator {
|
|||
this.sunrise = -1;
|
||||
} else {
|
||||
double acos = (double) ((float) (Math.acos(sin3) / 6.283185307179586d));
|
||||
this.sunset = Math.round((sin2 + acos) * 8.64E7d) + 946728000000L;
|
||||
long round = Math.round((sin2 - acos) * 8.64E7d) + 946728000000L;
|
||||
this.sunset = Math.round((sin2 + acos) * 8.64E7d) + UTC_2000;
|
||||
long round = Math.round((sin2 - acos) * 8.64E7d) + UTC_2000;
|
||||
this.sunrise = round;
|
||||
if (round >= j || this.sunset <= j) {
|
||||
this.state = 1;
|
||||
|
|
|
@ -60,7 +60,7 @@ public class TwilightManager {
|
|||
}
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
Log.d("TwilightManager", "Failed to get last known location", e);
|
||||
Log.d(TAG, "Failed to get last known location", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ public class TwilightManager {
|
|||
updateState(lastKnownLocation);
|
||||
return twilightState.isNight;
|
||||
}
|
||||
Log.i("TwilightManager", "Could not get last known location. This is probably because the app does not have any location permissions. Falling back to hardcoded sunrise/sunset values.");
|
||||
Log.i(TAG, "Could not get last known location. This is probably because the app does not have any location permissions. Falling back to hardcoded sunrise/sunset values.");
|
||||
int i = Calendar.getInstance().get(11);
|
||||
return i < 6 || i >= 22;
|
||||
}
|
||||
|
|
|
@ -662,9 +662,9 @@ public class WindowDecorActionBar extends ActionBar implements ActionBarOverlayL
|
|||
if (shouldAnimateContextView()) {
|
||||
if (z2) {
|
||||
viewPropertyAnimatorCompat = this.mDecorToolbar.setupAnimatorToVisibility(4, 100);
|
||||
viewPropertyAnimatorCompat2 = this.mContextView.setupAnimatorToVisibility(0, 200);
|
||||
viewPropertyAnimatorCompat2 = this.mContextView.setupAnimatorToVisibility(0, FADE_IN_DURATION_MS);
|
||||
} else {
|
||||
viewPropertyAnimatorCompat2 = this.mDecorToolbar.setupAnimatorToVisibility(0, 200);
|
||||
viewPropertyAnimatorCompat2 = this.mDecorToolbar.setupAnimatorToVisibility(0, FADE_IN_DURATION_MS);
|
||||
viewPropertyAnimatorCompat = this.mContextView.setupAnimatorToVisibility(8, 100);
|
||||
}
|
||||
ViewPropertyAnimatorCompatSet viewPropertyAnimatorCompatSet = new ViewPropertyAnimatorCompatSet();
|
||||
|
|
|
@ -107,7 +107,7 @@ public final class AppCompatResources {
|
|||
try {
|
||||
return ColorStateListInflaterCompat.createFromXml(resources, resources.getXml(i), context.getTheme());
|
||||
} catch (Exception e) {
|
||||
Log.e("AppCompatResources", "Failed to inflate ColorStateList, leaving it to the framework", e);
|
||||
Log.e(LOG_TAG, "Failed to inflate ColorStateList, leaving it to the framework", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -331,9 +331,9 @@ public class AnimatedStateListDrawableCompat extends StateListDrawable implement
|
|||
return;
|
||||
}
|
||||
if (next == 2 && depth2 <= depth) {
|
||||
if (xmlPullParser.getName().equals("item")) {
|
||||
if (xmlPullParser.getName().equals(ELEMENT_ITEM)) {
|
||||
parseItem(context, resources, xmlPullParser, attributeSet, theme);
|
||||
} else if (xmlPullParser.getName().equals("transition")) {
|
||||
} else if (xmlPullParser.getName().equals(ELEMENT_TRANSITION)) {
|
||||
parseTransition(context, resources, xmlPullParser, attributeSet, theme);
|
||||
}
|
||||
}
|
||||
|
@ -362,13 +362,13 @@ public class AnimatedStateListDrawableCompat extends StateListDrawable implement
|
|||
if (next == 2) {
|
||||
drawable = xmlPullParser.getName().equals("vector") ? VectorDrawableCompat.createFromXmlInner(resources, xmlPullParser, attributeSet, theme) : Drawable.createFromXmlInner(resources, xmlPullParser, attributeSet, theme);
|
||||
} else {
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": <item> tag requires a 'drawable' attribute or child tag defining a drawable");
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ITEM_MISSING_DRAWABLE_ERROR);
|
||||
}
|
||||
}
|
||||
if (drawable != null) {
|
||||
return this.mState.addStateSet(extractStateSet, drawable, resourceId);
|
||||
}
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": <item> tag requires a 'drawable' attribute or child tag defining a drawable");
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ITEM_MISSING_DRAWABLE_ERROR);
|
||||
}
|
||||
|
||||
private int parseTransition(@NonNull Context context, @NonNull Resources resources, @NonNull XmlPullParser xmlPullParser, @NonNull AttributeSet attributeSet, @Nullable Resources.Theme theme) throws XmlPullParserException, IOException {
|
||||
|
@ -387,15 +387,15 @@ public class AnimatedStateListDrawableCompat extends StateListDrawable implement
|
|||
if (next == 2) {
|
||||
drawable = xmlPullParser.getName().equals("animated-vector") ? AnimatedVectorDrawableCompat.createFromXmlInner(context, resources, xmlPullParser, attributeSet, theme) : Drawable.createFromXmlInner(resources, xmlPullParser, attributeSet, theme);
|
||||
} else {
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": <transition> tag requires a 'drawable' attribute or child tag defining a drawable");
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_DRAWABLE_ERROR);
|
||||
}
|
||||
}
|
||||
if (drawable == null) {
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": <transition> tag requires a 'drawable' attribute or child tag defining a drawable");
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_DRAWABLE_ERROR);
|
||||
} else if (resourceId != -1 && resourceId2 != -1) {
|
||||
return this.mState.addTransition(resourceId, resourceId2, drawable, z2);
|
||||
} else {
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": <transition> tag requires 'fromId' & 'toId' attributes");
|
||||
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_FROM_TO_ID);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import androidx.annotation.RestrictTo;
|
|||
import androidx.appcompat.R;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import c.d.b.a.a;
|
||||
import com.google.android.material.shadow.ShadowDrawableWrapper;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
public class DrawerArrowDrawable extends Drawable {
|
||||
|
@ -153,7 +154,7 @@ public class DrawerArrowDrawable extends Drawable {
|
|||
return this.mPaint;
|
||||
}
|
||||
|
||||
@FloatRange(from = 0.0d, to = 1.0d)
|
||||
@FloatRange(from = ShadowDrawableWrapper.COS_45, to = 1.0d)
|
||||
public float getProgress() {
|
||||
return this.mProgress;
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
constructor.setAccessible(true);
|
||||
return (T) constructor.newInstance(objArr);
|
||||
} catch (Exception e) {
|
||||
Log.w("SupportMenuInflater", "Cannot instantiate class: " + str, e);
|
||||
Log.w(SupportMenuInflater.LOG_TAG, "Cannot instantiate class: " + str, e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
if (!z2) {
|
||||
menuItem.setActionView(i2);
|
||||
} else {
|
||||
Log.w("SupportMenuInflater", "Ignoring attribute 'itemActionViewLayout'. Action view already specified.");
|
||||
Log.w(SupportMenuInflater.LOG_TAG, "Ignoring attribute 'itemActionViewLayout'. Action view already specified.");
|
||||
}
|
||||
}
|
||||
ActionProvider actionProvider = this.itemActionProvider;
|
||||
|
@ -225,7 +225,7 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
public void readItem(AttributeSet attributeSet) {
|
||||
TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(SupportMenuInflater.this.mContext, attributeSet, R.styleable.MenuItem);
|
||||
this.itemId = obtainStyledAttributes.getResourceId(R.styleable.MenuItem_android_id, 0);
|
||||
this.itemCategoryOrder = (obtainStyledAttributes.getInt(R.styleable.MenuItem_android_menuCategory, this.groupCategory) & -65536) | (obtainStyledAttributes.getInt(R.styleable.MenuItem_android_orderInCategory, this.groupOrder) & 65535);
|
||||
this.itemCategoryOrder = (obtainStyledAttributes.getInt(R.styleable.MenuItem_android_menuCategory, this.groupCategory) & SupportMenu.CATEGORY_MASK) | (obtainStyledAttributes.getInt(R.styleable.MenuItem_android_orderInCategory, this.groupOrder) & 65535);
|
||||
this.itemTitle = obtainStyledAttributes.getText(R.styleable.MenuItem_android_title);
|
||||
this.itemTitleCondensed = obtainStyledAttributes.getText(R.styleable.MenuItem_android_titleCondensed);
|
||||
this.itemIconResId = obtainStyledAttributes.getResourceId(R.styleable.MenuItem_android_icon, 0);
|
||||
|
@ -253,7 +253,7 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
this.itemActionProvider = (ActionProvider) newInstance(string, SupportMenuInflater.ACTION_PROVIDER_CONSTRUCTOR_SIGNATURE, SupportMenuInflater.this.mActionProviderConstructorArguments);
|
||||
} else {
|
||||
if (z2) {
|
||||
Log.w("SupportMenuInflater", "Ignoring attribute 'actionProviderClass'. Action view already specified.");
|
||||
Log.w(SupportMenuInflater.LOG_TAG, "Ignoring attribute 'actionProviderClass'. Action view already specified.");
|
||||
}
|
||||
this.itemActionProvider = null;
|
||||
}
|
||||
|
@ -314,7 +314,7 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
}
|
||||
} else {
|
||||
String name = xmlPullParser.getName();
|
||||
if (name.equals("menu")) {
|
||||
if (name.equals(XML_MENU)) {
|
||||
eventType = xmlPullParser.next();
|
||||
} else {
|
||||
throw new RuntimeException(a.s("Expecting menu, got ", name));
|
||||
|
@ -332,9 +332,9 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
if (z3 && name2.equals(str)) {
|
||||
str = null;
|
||||
z3 = false;
|
||||
} else if (name2.equals("group")) {
|
||||
} else if (name2.equals(XML_GROUP)) {
|
||||
menuState.resetGroup();
|
||||
} else if (name2.equals("item")) {
|
||||
} else if (name2.equals(XML_ITEM)) {
|
||||
if (!menuState.hasAddedItem()) {
|
||||
ActionProvider actionProvider = menuState.itemActionProvider;
|
||||
if (actionProvider == null || !actionProvider.hasSubMenu()) {
|
||||
|
@ -343,17 +343,17 @@ public class SupportMenuInflater extends MenuInflater {
|
|||
menuState.addSubMenuItem();
|
||||
}
|
||||
}
|
||||
} else if (name2.equals("menu")) {
|
||||
} else if (name2.equals(XML_MENU)) {
|
||||
z2 = true;
|
||||
}
|
||||
}
|
||||
} else if (!z3) {
|
||||
String name3 = xmlPullParser.getName();
|
||||
if (name3.equals("group")) {
|
||||
if (name3.equals(XML_GROUP)) {
|
||||
menuState.readGroup(attributeSet);
|
||||
} else if (name3.equals("item")) {
|
||||
} else if (name3.equals(XML_ITEM)) {
|
||||
menuState.readItem(attributeSet);
|
||||
} else if (name3.equals("menu")) {
|
||||
} else if (name3.equals(XML_MENU)) {
|
||||
parseMenu(xmlPullParser, attributeSet, menuState.addSubMenuItem());
|
||||
} else {
|
||||
z3 = true;
|
||||
|
|
|
@ -18,6 +18,7 @@ import androidx.appcompat.widget.ActionMenuView;
|
|||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.appcompat.widget.ForwardingListener;
|
||||
import androidx.appcompat.widget.TooltipCompat;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
public class ActionMenuItemView extends AppCompatTextView implements MenuView.ItemView, View.OnClickListener, ActionMenuView.ActionMenuChildView {
|
||||
private static final int MAX_ICON_SIZE = 32;
|
||||
|
@ -174,7 +175,7 @@ public class ActionMenuItemView extends AppCompatTextView implements MenuView.It
|
|||
int measuredWidth = getMeasuredWidth();
|
||||
int min = mode == Integer.MIN_VALUE ? Math.min(size, this.mMinWidth) : this.mMinWidth;
|
||||
if (mode != 1073741824 && this.mMinWidth > 0 && measuredWidth < min) {
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(min, 1073741824), i2);
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(min, BasicMeasure.EXACTLY), i2);
|
||||
}
|
||||
if (!hasText && this.mIcon != null) {
|
||||
super.setPadding((getMeasuredWidth() - this.mIcon.getBounds().width()) / 2, getPaddingTop(), getPaddingRight(), getPaddingBottom());
|
||||
|
|
|
@ -209,7 +209,7 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick
|
|||
}
|
||||
|
||||
public void restoreHierarchyState(Bundle bundle) {
|
||||
SparseArray<Parcelable> sparseParcelableArray = bundle.getSparseParcelableArray("android:menu:list");
|
||||
SparseArray<Parcelable> sparseParcelableArray = bundle.getSparseParcelableArray(VIEWS_TAG);
|
||||
if (sparseParcelableArray != null) {
|
||||
this.mMenuView.restoreHierarchyState(sparseParcelableArray);
|
||||
}
|
||||
|
@ -221,7 +221,7 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick
|
|||
if (expandedMenuView != null) {
|
||||
expandedMenuView.saveHierarchyState(sparseArray);
|
||||
}
|
||||
bundle.putSparseParcelableArray("android:menu:list", sparseArray);
|
||||
bundle.putSparseParcelableArray(VIEWS_TAG, sparseArray);
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
|
|
|
@ -110,7 +110,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
|
||||
private void dispatchRestoreInstanceState(Bundle bundle) {
|
||||
Parcelable parcelable;
|
||||
SparseArray sparseParcelableArray = bundle.getSparseParcelableArray("android:menu:presenters");
|
||||
SparseArray sparseParcelableArray = bundle.getSparseParcelableArray(PRESENTER_KEY);
|
||||
if (sparseParcelableArray != null && !this.mPresenters.isEmpty()) {
|
||||
Iterator<WeakReference<MenuPresenter>> it = this.mPresenters.iterator();
|
||||
while (it.hasNext()) {
|
||||
|
@ -145,7 +145,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
}
|
||||
}
|
||||
}
|
||||
bundle.putSparseParcelableArray("android:menu:presenters", sparseArray);
|
||||
bundle.putSparseParcelableArray(PRESENTER_KEY, sparseArray);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -513,7 +513,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
((MenuBuilder) menuItemImpl.getSubMenu()).findItemsWithShortcutForKey(list, i, keyEvent);
|
||||
}
|
||||
char alphabeticShortcut = isQwertyMode ? menuItemImpl.getAlphabeticShortcut() : menuItemImpl.getNumericShortcut();
|
||||
if (((modifiers & 69647) == ((isQwertyMode ? menuItemImpl.getAlphabeticModifiers() : menuItemImpl.getNumericModifiers()) & 69647)) && alphabeticShortcut != 0) {
|
||||
if (((modifiers & SupportMenu.SUPPORTED_MODIFIERS_MASK) == ((isQwertyMode ? menuItemImpl.getAlphabeticModifiers() : menuItemImpl.getNumericModifiers()) & SupportMenu.SUPPORTED_MODIFIERS_MASK)) && alphabeticShortcut != 0) {
|
||||
char[] cArr = keyData.meta;
|
||||
if ((alphabeticShortcut == cArr[0] || alphabeticShortcut == cArr[2] || (isQwertyMode && alphabeticShortcut == '\b' && i == 67)) && menuItemImpl.isEnabled()) {
|
||||
list.add(menuItemImpl);
|
||||
|
@ -564,7 +564,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
}
|
||||
|
||||
public String getActionViewStatesKey() {
|
||||
return "android:menu:actionviewstates";
|
||||
return ACTION_VIEW_STATES_KEY;
|
||||
}
|
||||
|
||||
public Context getContext() {
|
||||
|
@ -789,7 +789,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
((SubMenuBuilder) item.getSubMenu()).restoreActionViewStates(bundle);
|
||||
}
|
||||
}
|
||||
int i2 = bundle.getInt("android:menu:expandedactionview");
|
||||
int i2 = bundle.getInt(EXPANDED_ACTION_VIEW_ID);
|
||||
if (i2 > 0 && (findItem = findItem(i2)) != null) {
|
||||
findItem.expandActionView();
|
||||
}
|
||||
|
@ -812,7 +812,7 @@ public class MenuBuilder implements SupportMenu {
|
|||
}
|
||||
actionView.saveHierarchyState(sparseArray);
|
||||
if (item.isActionViewExpanded()) {
|
||||
bundle.putInt("android:menu:expandedactionview", item.getItemId());
|
||||
bundle.putInt(EXPANDED_ACTION_VIEW_ID, item.getItemId());
|
||||
}
|
||||
}
|
||||
if (item.hasSubMenu()) {
|
||||
|
|
|
@ -10,6 +10,7 @@ import androidx.annotation.NonNull;
|
|||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.view.menu.MenuPresenter;
|
||||
import androidx.core.view.PointerIconCompat;
|
||||
public class MenuDialogHelper implements DialogInterface.OnKeyListener, DialogInterface.OnClickListener, DialogInterface.OnDismissListener, MenuPresenter.Callback {
|
||||
private AlertDialog mDialog;
|
||||
private MenuBuilder mMenu;
|
||||
|
@ -103,7 +104,7 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, DialogIn
|
|||
this.mDialog = create;
|
||||
create.setOnDismissListener(this);
|
||||
WindowManager.LayoutParams attributes = this.mDialog.getWindow().getAttributes();
|
||||
attributes.type = 1003;
|
||||
attributes.type = PointerIconCompat.TYPE_HELP;
|
||||
if (iBinder != null) {
|
||||
attributes.token = iBinder;
|
||||
}
|
||||
|
|
|
@ -345,7 +345,7 @@ public final class MenuItemImpl implements SupportMenuItem {
|
|||
this.mMenu.getContext().startActivity(this.mIntent);
|
||||
return true;
|
||||
} catch (ActivityNotFoundException e) {
|
||||
Log.e("MenuItemImpl", "Can't find activity to handle intent; ignoring", e);
|
||||
Log.e(TAG, "Can't find activity to handle intent; ignoring", e);
|
||||
}
|
||||
}
|
||||
ActionProvider actionProvider = this.mActionProvider;
|
||||
|
|
|
@ -373,7 +373,7 @@ public class MenuItemWrapperICS extends BaseMenuWrapper implements MenuItem {
|
|||
}
|
||||
this.mSetExclusiveCheckableMethod.invoke(this.mWrappedObject, Boolean.valueOf(z2));
|
||||
} catch (Exception e) {
|
||||
Log.w("MenuItemWrapper", "Error while calling setExclusiveCheckable", e);
|
||||
Log.w(LOG_TAG, "Error while calling setExclusiveCheckable", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ public class MenuPopupHelper implements MenuHelper {
|
|||
}
|
||||
|
||||
public MenuPopupHelper(@NonNull Context context, @NonNull MenuBuilder menuBuilder, @NonNull View view, boolean z2, @AttrRes int i, @StyleRes int i2) {
|
||||
this.mDropDownGravity = 8388611;
|
||||
this.mDropDownGravity = GravityCompat.START;
|
||||
this.mInternalOnDismissListener = new AnonymousClass1();
|
||||
this.mContext = context;
|
||||
this.mMenu = menuBuilder;
|
||||
|
|
|
@ -16,6 +16,7 @@ import androidx.annotation.RestrictTo;
|
|||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.view.ActionMode;
|
||||
import androidx.appcompat.view.menu.MenuBuilder;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.ViewPropertyAnimatorCompat;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
|
@ -267,8 +268,9 @@ public class ActionBarContextView extends AbsActionBarView {
|
|||
|
||||
@Override // android.view.View
|
||||
public void onMeasure(int i, int i2) {
|
||||
int i3 = 1073741824;
|
||||
if (View.MeasureSpec.getMode(i) != 1073741824) {
|
||||
int mode = View.MeasureSpec.getMode(i);
|
||||
int i3 = BasicMeasure.EXACTLY;
|
||||
if (mode != 1073741824) {
|
||||
throw new IllegalStateException(getClass().getSimpleName() + " can only be used with android:layout_width=\"match_parent\" (or fill_parent)");
|
||||
} else if (View.MeasureSpec.getMode(i2) != 0) {
|
||||
int size = View.MeasureSpec.getSize(i);
|
||||
|
@ -308,7 +310,7 @@ public class ActionBarContextView extends AbsActionBarView {
|
|||
if (view2 != null) {
|
||||
ViewGroup.LayoutParams layoutParams = view2.getLayoutParams();
|
||||
int i6 = layoutParams.width;
|
||||
int i7 = i6 != -2 ? 1073741824 : Integer.MIN_VALUE;
|
||||
int i7 = i6 != -2 ? BasicMeasure.EXACTLY : Integer.MIN_VALUE;
|
||||
if (i6 >= 0) {
|
||||
paddingLeft = Math.min(i6, paddingLeft);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import androidx.appcompat.view.menu.SubMenuBuilder;
|
|||
import androidx.appcompat.widget.ActionMenuView;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.core.view.ActionProvider;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import java.util.ArrayList;
|
||||
public class ActionMenuPresenter extends BaseMenuPresenter implements ActionProvider.SubUiVisibilityListener {
|
||||
private static final String TAG = "ActionMenuPresenter";
|
||||
|
@ -192,7 +193,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter implements ActionProv
|
|||
public class OverflowPopup extends MenuPopupHelper {
|
||||
public OverflowPopup(Context context, MenuBuilder menuBuilder, View view, boolean z2) {
|
||||
super(context, menuBuilder, view, z2, R.attr.actionOverflowMenuStyle);
|
||||
setGravity(8388613);
|
||||
setGravity(GravityCompat.END);
|
||||
setPresenterCallback(ActionMenuPresenter.this.mPopupPresenterCallback);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import androidx.appcompat.view.menu.MenuItemImpl;
|
|||
import androidx.appcompat.view.menu.MenuPresenter;
|
||||
import androidx.appcompat.view.menu.MenuView;
|
||||
import androidx.appcompat.widget.LinearLayoutCompat;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.ItemInvoker, MenuView {
|
||||
public static final int GENERATED_ITEM_PADDING = 4;
|
||||
public static final int MIN_CELL_SIZE = 56;
|
||||
|
@ -155,7 +156,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It
|
|||
}
|
||||
layoutParams.expandable = z2;
|
||||
layoutParams.cellsUsed = i5;
|
||||
view.measure(View.MeasureSpec.makeMeasureSpec(i * i5, 1073741824), makeMeasureSpec);
|
||||
view.measure(View.MeasureSpec.makeMeasureSpec(i * i5, BasicMeasure.EXACTLY), makeMeasureSpec);
|
||||
return i5;
|
||||
}
|
||||
|
||||
|
@ -362,7 +363,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It
|
|||
View childAt4 = getChildAt(i33);
|
||||
LayoutParams layoutParams5 = (LayoutParams) childAt4.getLayoutParams();
|
||||
if (layoutParams5.expanded) {
|
||||
childAt4.measure(View.MeasureSpec.makeMeasureSpec((layoutParams5.cellsUsed * i12) + layoutParams5.extraPixels, 1073741824), childMeasureSpec);
|
||||
childAt4.measure(View.MeasureSpec.makeMeasureSpec((layoutParams5.cellsUsed * i12) + layoutParams5.extraPixels, BasicMeasure.EXACTLY), childMeasureSpec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.text.TextUtils;
|
|||
import android.util.Log;
|
||||
import android.util.Xml;
|
||||
import c.d.b.a.a;
|
||||
import com.adjust.sdk.Constants;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
|
@ -119,7 +120,7 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||
ActivityResolveInfo activityResolveInfo2 = map.get(historicalRecord.activity);
|
||||
if (activityResolveInfo2 != null) {
|
||||
activityResolveInfo2.weight = (historicalRecord.weight * f) + activityResolveInfo2.weight;
|
||||
f *= 0.95f;
|
||||
f *= WEIGHT_DECAY_COEFFICIENT;
|
||||
}
|
||||
}
|
||||
Collections.sort(list);
|
||||
|
@ -211,18 +212,18 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||
XmlSerializer newSerializer = Xml.newSerializer();
|
||||
try {
|
||||
newSerializer.setOutput(openFileOutput, null);
|
||||
newSerializer.startDocument("UTF-8", Boolean.TRUE);
|
||||
newSerializer.startTag(null, "historical-records");
|
||||
newSerializer.startDocument(Constants.ENCODING, Boolean.TRUE);
|
||||
newSerializer.startTag(null, ActivityChooserModel.TAG_HISTORICAL_RECORDS);
|
||||
int size = list.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
HistoricalRecord historicalRecord = (HistoricalRecord) list.remove(0);
|
||||
newSerializer.startTag(null, "historical-record");
|
||||
newSerializer.attribute(null, "activity", historicalRecord.activity.flattenToString());
|
||||
newSerializer.startTag(null, ActivityChooserModel.TAG_HISTORICAL_RECORD);
|
||||
newSerializer.attribute(null, ActivityChooserModel.ATTRIBUTE_ACTIVITY, historicalRecord.activity.flattenToString());
|
||||
newSerializer.attribute(null, "time", String.valueOf(historicalRecord.time));
|
||||
newSerializer.attribute(null, "weight", String.valueOf(historicalRecord.weight));
|
||||
newSerializer.endTag(null, "historical-record");
|
||||
newSerializer.attribute(null, ActivityChooserModel.ATTRIBUTE_WEIGHT, String.valueOf(historicalRecord.weight));
|
||||
newSerializer.endTag(null, ActivityChooserModel.TAG_HISTORICAL_RECORD);
|
||||
}
|
||||
newSerializer.endTag(null, "historical-records");
|
||||
newSerializer.endTag(null, ActivityChooserModel.TAG_HISTORICAL_RECORDS);
|
||||
newSerializer.endDocument();
|
||||
ActivityChooserModel.this.mCanReadHistoricalData = true;
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
@ -258,10 +259,10 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||
|
||||
private ActivityChooserModel(Context context, String str) {
|
||||
this.mContext = context.getApplicationContext();
|
||||
if (TextUtils.isEmpty(str) || str.endsWith(".xml")) {
|
||||
if (TextUtils.isEmpty(str) || str.endsWith(HISTORY_FILE_EXTENSION)) {
|
||||
this.mHistoryFileName = str;
|
||||
} else {
|
||||
this.mHistoryFileName = a.s(str, ".xml");
|
||||
this.mHistoryFileName = a.s(str, HISTORY_FILE_EXTENSION);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -349,12 +350,12 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||
FileInputStream openFileInput = this.mContext.openFileInput(this.mHistoryFileName);
|
||||
try {
|
||||
XmlPullParser newPullParser = Xml.newPullParser();
|
||||
newPullParser.setInput(openFileInput, "UTF-8");
|
||||
newPullParser.setInput(openFileInput, Constants.ENCODING);
|
||||
int i = 0;
|
||||
while (i != 1 && i != 2) {
|
||||
i = newPullParser.next();
|
||||
}
|
||||
if ("historical-records".equals(newPullParser.getName())) {
|
||||
if (TAG_HISTORICAL_RECORDS.equals(newPullParser.getName())) {
|
||||
List<HistoricalRecord> list = this.mHistoricalRecords;
|
||||
list.clear();
|
||||
while (true) {
|
||||
|
@ -364,8 +365,8 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||
return;
|
||||
}
|
||||
} else if (!(next == 3 || next == 4)) {
|
||||
if ("historical-record".equals(newPullParser.getName())) {
|
||||
list.add(new HistoricalRecord(newPullParser.getAttributeValue(null, "activity"), Long.parseLong(newPullParser.getAttributeValue(null, "time")), Float.parseFloat(newPullParser.getAttributeValue(null, "weight"))));
|
||||
if (TAG_HISTORICAL_RECORD.equals(newPullParser.getName())) {
|
||||
list.add(new HistoricalRecord(newPullParser.getAttributeValue(null, ATTRIBUTE_ACTIVITY), Long.parseLong(newPullParser.getAttributeValue(null, "time")), Float.parseFloat(newPullParser.getAttributeValue(null, ATTRIBUTE_WEIGHT))));
|
||||
} else {
|
||||
throw new XmlPullParserException("Share records file not well-formed.");
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import androidx.annotation.RestrictTo;
|
|||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.view.menu.ShowableListMenu;
|
||||
import androidx.appcompat.widget.ActivityChooserModel;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.ActionProvider;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
||||
|
@ -505,7 +506,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
|
|||
public void onMeasure(int i, int i2) {
|
||||
View view = this.mActivityChooserContent;
|
||||
if (this.mDefaultActivityButton.getVisibility() != 0) {
|
||||
i2 = View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(i2), 1073741824);
|
||||
i2 = View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(i2), BasicMeasure.EXACTLY);
|
||||
}
|
||||
measureChild(view, i, i2);
|
||||
setMeasuredDimension(view.getMeasuredWidth(), view.getMeasuredHeight());
|
||||
|
|
|
@ -9,6 +9,7 @@ import androidx.annotation.Nullable;
|
|||
import androidx.annotation.RestrictTo;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.widget.LinearLayoutCompat;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
|
@ -22,7 +23,7 @@ public class AlertDialogLayout extends LinearLayoutCompat {
|
|||
}
|
||||
|
||||
private void forceUniformWidth(int i, int i2) {
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), BasicMeasure.EXACTLY);
|
||||
for (int i3 = 0; i3 < i; i3++) {
|
||||
View childAt = getChildAt(i3);
|
||||
if (childAt.getVisibility() != 8) {
|
||||
|
@ -116,7 +117,7 @@ public class AlertDialogLayout extends LinearLayoutCompat {
|
|||
i8 -= min;
|
||||
i5 += min;
|
||||
}
|
||||
view2.measure(i, View.MeasureSpec.makeMeasureSpec(i5, 1073741824));
|
||||
view2.measure(i, View.MeasureSpec.makeMeasureSpec(i5, BasicMeasure.EXACTLY));
|
||||
paddingBottom = i9 + view2.getMeasuredHeight();
|
||||
i3 = View.combineMeasuredStates(i3, view2.getMeasuredState());
|
||||
}
|
||||
|
@ -154,7 +155,7 @@ public class AlertDialogLayout extends LinearLayoutCompat {
|
|||
int childCount = getChildCount();
|
||||
int gravity = getGravity();
|
||||
int i9 = gravity & 112;
|
||||
int i10 = gravity & 8388615;
|
||||
int i10 = gravity & GravityCompat.RELATIVE_HORIZONTAL_GRAVITY_MASK;
|
||||
int paddingTop = i9 != 16 ? i9 != 80 ? getPaddingTop() : ((getPaddingTop() + i4) - i2) - measuredHeight : (((i4 - i2) - measuredHeight) / 2) + getPaddingTop();
|
||||
Drawable dividerDrawable = getDividerDrawable();
|
||||
int intrinsicHeight = dividerDrawable == null ? 0 : dividerDrawable.getIntrinsicHeight();
|
||||
|
|
|
@ -167,17 +167,17 @@ public class AppCompatSpinner extends Spinner implements TintableBackgroundView
|
|||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
public void setBackgroundDrawable(Drawable drawable) {
|
||||
Log.e("AppCompatSpinner", "Cannot set popup background for MODE_DIALOG, ignoring");
|
||||
Log.e(AppCompatSpinner.TAG, "Cannot set popup background for MODE_DIALOG, ignoring");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
public void setHorizontalOffset(int i) {
|
||||
Log.e("AppCompatSpinner", "Cannot set horizontal offset for MODE_DIALOG, ignoring");
|
||||
Log.e(AppCompatSpinner.TAG, "Cannot set horizontal offset for MODE_DIALOG, ignoring");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
public void setHorizontalOriginalOffset(int i) {
|
||||
Log.e("AppCompatSpinner", "Cannot set horizontal (original) offset for MODE_DIALOG, ignoring");
|
||||
Log.e(AppCompatSpinner.TAG, "Cannot set horizontal (original) offset for MODE_DIALOG, ignoring");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
|
@ -187,7 +187,7 @@ public class AppCompatSpinner extends Spinner implements TintableBackgroundView
|
|||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
public void setVerticalOffset(int i) {
|
||||
Log.e("AppCompatSpinner", "Cannot set vertical offset for MODE_DIALOG, ignoring");
|
||||
Log.e(AppCompatSpinner.TAG, "Cannot set vertical offset for MODE_DIALOG, ignoring");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup
|
||||
|
@ -603,7 +603,7 @@ public class AppCompatSpinner extends Spinner implements TintableBackgroundView
|
|||
} catch (Exception e2) {
|
||||
e = e2;
|
||||
try {
|
||||
Log.i("AppCompatSpinner", "Could not read android:spinnerMode", e);
|
||||
Log.i(TAG, "Could not read android:spinnerMode", e);
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
typedArray2 = typedArray;
|
||||
|
@ -616,7 +616,7 @@ public class AppCompatSpinner extends Spinner implements TintableBackgroundView
|
|||
} catch (Exception e3) {
|
||||
e = e3;
|
||||
typedArray = null;
|
||||
Log.i("AppCompatSpinner", "Could not read android:spinnerMode", e);
|
||||
Log.i(TAG, "Could not read android:spinnerMode", e);
|
||||
} catch (Throwable th3) {
|
||||
th = th3;
|
||||
if (typedArray2 != null) {
|
||||
|
|
|
@ -101,7 +101,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
Field textViewField = getTextViewField(str);
|
||||
return textViewField == null ? t : (T) textViewField.get(obj);
|
||||
} catch (IllegalAccessException e) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to access TextView#" + str + " member", e);
|
||||
Log.w(TAG, "Failed to access TextView#" + str + " member", e);
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
try {
|
||||
this.mImpl.computeAndSetTextDirection(obtain, this.mTextView);
|
||||
} catch (ClassCastException unused) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to obtain TextDirectionHeuristic, auto size may be incorrect");
|
||||
Log.w(TAG, "Failed to obtain TextDirectionHeuristic, auto size may be incorrect");
|
||||
}
|
||||
return obtain.build();
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
}
|
||||
return field;
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to access TextView#" + str + " member", e);
|
||||
Log.w(TAG, "Failed to access TextView#" + str + " member", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
}
|
||||
return method;
|
||||
} catch (Exception e) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to retrieve TextView#" + str + "() method", e);
|
||||
Log.w(TAG, "Failed to retrieve TextView#" + str + "() method", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
try {
|
||||
return (T) getTextViewMethod(str).invoke(obj, new Object[0]);
|
||||
} catch (Exception e) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to invoke TextView#" + str + "() method", e);
|
||||
Log.w(TAG, "Failed to invoke TextView#" + str + "() method", e);
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
@ -236,7 +236,7 @@ public class AppCompatTextViewAutoSizeHelper {
|
|||
textViewMethod.invoke(this.mTextView, new Object[0]);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.w("ACTVAutoSizeHelper", "Failed to invoke TextView#nullLayouts() method", e);
|
||||
Log.w(TAG, "Failed to invoke TextView#nullLayouts() method", e);
|
||||
}
|
||||
if (!isInLayout) {
|
||||
this.mTextView.requestLayout();
|
||||
|
|
|
@ -79,7 +79,7 @@ public class ButtonBarLayout extends LinearLayout {
|
|||
}
|
||||
super.onMeasure(i3, i2);
|
||||
if (this.mAllowStacking && !isStacked()) {
|
||||
if ((getMeasuredWidthAndState() & -16777216) == 16777216) {
|
||||
if ((getMeasuredWidthAndState() & ViewCompat.MEASURED_STATE_MASK) == 16777216) {
|
||||
setStacked(true);
|
||||
z2 = true;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import android.widget.FrameLayout;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RestrictTo;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.ViewCompat;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY})
|
||||
public class ContentFrameLayout extends FrameLayout {
|
||||
|
@ -147,7 +148,7 @@ public class ContentFrameLayout extends FrameLayout {
|
|||
i8 = 0;
|
||||
if (i8 > 0) {
|
||||
Rect rect = this.mDecorPadding;
|
||||
i = View.MeasureSpec.makeMeasureSpec(Math.min(i8 - (rect.left + rect.right), View.MeasureSpec.getSize(i)), 1073741824);
|
||||
i = View.MeasureSpec.makeMeasureSpec(Math.min(i8 - (rect.left + rect.right), View.MeasureSpec.getSize(i)), BasicMeasure.EXACTLY);
|
||||
z2 = true;
|
||||
if (mode2 == Integer.MIN_VALUE) {
|
||||
TypedValue typedValue2 = z4 ? this.mFixedHeightMajor : this.mFixedHeightMinor;
|
||||
|
@ -161,7 +162,7 @@ public class ContentFrameLayout extends FrameLayout {
|
|||
i6 = 0;
|
||||
if (i6 > 0) {
|
||||
Rect rect2 = this.mDecorPadding;
|
||||
i2 = View.MeasureSpec.makeMeasureSpec(Math.min(i6 - (rect2.top + rect2.bottom), View.MeasureSpec.getSize(i2)), 1073741824);
|
||||
i2 = View.MeasureSpec.makeMeasureSpec(Math.min(i6 - (rect2.top + rect2.bottom), View.MeasureSpec.getSize(i2)), BasicMeasure.EXACTLY);
|
||||
}
|
||||
}
|
||||
i6 = (int) fraction2;
|
||||
|
@ -171,7 +172,7 @@ public class ContentFrameLayout extends FrameLayout {
|
|||
}
|
||||
super.onMeasure(i, i2);
|
||||
measuredWidth = getMeasuredWidth();
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(measuredWidth, 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(measuredWidth, BasicMeasure.EXACTLY);
|
||||
if (!z2 && mode == Integer.MIN_VALUE) {
|
||||
TypedValue typedValue3 = !z4 ? this.mMinWidthMinor : this.mMinWidthMajor;
|
||||
if (!(typedValue3 == null || (i3 = typedValue3.type) == 0)) {
|
||||
|
@ -187,7 +188,7 @@ public class ContentFrameLayout extends FrameLayout {
|
|||
i4 -= rect3.left + rect3.right;
|
||||
}
|
||||
if (measuredWidth < i4) {
|
||||
makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(i4, 1073741824);
|
||||
makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(i4, BasicMeasure.EXACTLY);
|
||||
if (z3) {
|
||||
super.onMeasure(makeMeasureSpec, i2);
|
||||
return;
|
||||
|
@ -217,7 +218,7 @@ public class ContentFrameLayout extends FrameLayout {
|
|||
}
|
||||
super.onMeasure(i, i2);
|
||||
measuredWidth = getMeasuredWidth();
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(measuredWidth, 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(measuredWidth, BasicMeasure.EXACTLY);
|
||||
if (!z4) {
|
||||
}
|
||||
if (i3 != 5) {
|
||||
|
|
|
@ -61,7 +61,7 @@ public class DrawableUtils {
|
|||
}
|
||||
|
||||
public static void fixDrawable(@NonNull Drawable drawable) {
|
||||
if (Build.VERSION.SDK_INT == 21 && "android.graphics.drawable.VectorDrawable".equals(drawable.getClass().getName())) {
|
||||
if (Build.VERSION.SDK_INT == 21 && VECTOR_DRAWABLE_CLAZZ_NAME.equals(drawable.getClass().getName())) {
|
||||
fixVectorDrawableTinting(drawable);
|
||||
}
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ public class DrawableUtils {
|
|||
return rect2;
|
||||
}
|
||||
} catch (Exception unused) {
|
||||
Log.e("DrawableUtils", "Couldn't obtain the optical insets. Ignoring.");
|
||||
Log.e(TAG, "Couldn't obtain the optical insets. Ignoring.");
|
||||
}
|
||||
}
|
||||
return INSETS_NONE;
|
||||
|
|
|
@ -14,6 +14,7 @@ import android.widget.ListView;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.graphics.drawable.DrawableWrapper;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.core.view.ViewPropertyAnimatorCompat;
|
||||
import androidx.core.widget.ListViewAutoScrollHelper;
|
||||
|
@ -329,7 +330,7 @@ public class DropDownListView extends ListView {
|
|||
view.setLayoutParams(layoutParams);
|
||||
}
|
||||
int i10 = layoutParams.height;
|
||||
view.measure(i, i10 > 0 ? View.MeasureSpec.makeMeasureSpec(i10, 1073741824) : View.MeasureSpec.makeMeasureSpec(0, 0));
|
||||
view.measure(i, i10 > 0 ? View.MeasureSpec.makeMeasureSpec(i10, BasicMeasure.EXACTLY) : View.MeasureSpec.makeMeasureSpec(0, 0));
|
||||
view.forceLayout();
|
||||
if (i7 > 0) {
|
||||
i6 += dividerHeight;
|
||||
|
|
|
@ -13,9 +13,12 @@ import androidx.annotation.NonNull;
|
|||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RestrictTo;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.core.view.InputDeviceCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import c.d.b.a.a;
|
||||
import com.google.android.material.badge.BadgeDrawable;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
public class LinearLayoutCompat extends ViewGroup {
|
||||
|
@ -113,7 +116,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
this.mBaselineAligned = true;
|
||||
this.mBaselineAlignedChildIndex = -1;
|
||||
this.mBaselineChildTop = 0;
|
||||
this.mGravity = 8388659;
|
||||
this.mGravity = BadgeDrawable.TOP_START;
|
||||
int[] iArr = R.styleable.LinearLayoutCompat;
|
||||
TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(context, attributeSet, iArr, i, 0);
|
||||
ViewCompat.saveAttributeDataForStyleable(this, context, iArr, attributeSet, obtainStyledAttributes.getWrappedTypeArray(), i, 0);
|
||||
|
@ -139,7 +142,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
}
|
||||
|
||||
private void forceUniformHeight(int i, int i2) {
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredHeight(), 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredHeight(), BasicMeasure.EXACTLY);
|
||||
for (int i3 = 0; i3 < i; i3++) {
|
||||
View virtualChildAt = getVirtualChildAt(i3);
|
||||
if (virtualChildAt.getVisibility() != 8) {
|
||||
|
@ -155,7 +158,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
}
|
||||
|
||||
private void forceUniformWidth(int i, int i2) {
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), BasicMeasure.EXACTLY);
|
||||
for (int i3 = 0; i3 < i; i3++) {
|
||||
View virtualChildAt = getVirtualChildAt(i3);
|
||||
if (virtualChildAt.getVisibility() != 8) {
|
||||
|
@ -499,7 +502,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
int virtualChildCount = getVirtualChildCount();
|
||||
int i9 = this.mGravity;
|
||||
int i10 = i9 & 112;
|
||||
int i11 = i9 & 8388615;
|
||||
int i11 = i9 & GravityCompat.RELATIVE_HORIZONTAL_GRAVITY_MASK;
|
||||
int paddingTop = i10 != 16 ? i10 != 80 ? getPaddingTop() : ((getPaddingTop() + i4) - i2) - this.mTotalLength : getPaddingTop() + (((i4 - i2) - this.mTotalLength) / 2);
|
||||
int i12 = 0;
|
||||
while (i12 < virtualChildCount) {
|
||||
|
@ -598,7 +601,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
iArr2[0] = -1;
|
||||
boolean z6 = this.mBaselineAligned;
|
||||
boolean z7 = this.mUseLargestChild;
|
||||
int i20 = 1073741824;
|
||||
int i20 = BasicMeasure.EXACTLY;
|
||||
boolean z8 = mode == 1073741824;
|
||||
float f2 = 0.0f;
|
||||
int i21 = 0;
|
||||
|
@ -642,7 +645,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
z4 = z7;
|
||||
z3 = z6;
|
||||
view = virtualChildAt;
|
||||
i17 = 1073741824;
|
||||
i17 = BasicMeasure.EXACTLY;
|
||||
z9 = true;
|
||||
if (mode2 == i17 && ((ViewGroup.MarginLayoutParams) layoutParams).height == -1) {
|
||||
z5 = true;
|
||||
|
@ -682,7 +685,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
iArr2 = iArr2;
|
||||
z7 = z4;
|
||||
z6 = z3;
|
||||
i20 = 1073741824;
|
||||
i20 = BasicMeasure.EXACTLY;
|
||||
}
|
||||
} else {
|
||||
if (((ViewGroup.MarginLayoutParams) layoutParams).width != 0 || f3 <= 0.0f) {
|
||||
|
@ -711,7 +714,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
i22 = Math.max(measuredWidth, i22);
|
||||
}
|
||||
}
|
||||
i17 = 1073741824;
|
||||
i17 = BasicMeasure.EXACTLY;
|
||||
if (mode2 == i17) {
|
||||
}
|
||||
z5 = false;
|
||||
|
@ -735,7 +738,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
iArr2 = iArr2;
|
||||
z7 = z4;
|
||||
z6 = z3;
|
||||
i20 = 1073741824;
|
||||
i20 = BasicMeasure.EXACTLY;
|
||||
}
|
||||
i15 = i21;
|
||||
z4 = z7;
|
||||
|
@ -744,7 +747,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
iArr2 = iArr2;
|
||||
z7 = z4;
|
||||
z6 = z3;
|
||||
i20 = 1073741824;
|
||||
i20 = BasicMeasure.EXACTLY;
|
||||
}
|
||||
if (this.mTotalLength > 0 && hasDividerBeforeChildAt(virtualChildCount)) {
|
||||
this.mTotalLength += this.mDividerWidth;
|
||||
|
@ -819,25 +822,25 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
i9 = virtualChildCount;
|
||||
int childMeasureSpec = ViewGroup.getChildMeasureSpec(i2, getPaddingBottom() + getPaddingTop() + ((ViewGroup.MarginLayoutParams) layoutParams3).topMargin + ((ViewGroup.MarginLayoutParams) layoutParams3).bottomMargin, ((ViewGroup.MarginLayoutParams) layoutParams3).height);
|
||||
if (((ViewGroup.MarginLayoutParams) layoutParams3).width == 0) {
|
||||
i13 = 1073741824;
|
||||
i13 = BasicMeasure.EXACTLY;
|
||||
if (mode == 1073741824) {
|
||||
if (i38 <= 0) {
|
||||
i38 = 0;
|
||||
}
|
||||
virtualChildAt3.measure(View.MeasureSpec.makeMeasureSpec(i38, 1073741824), childMeasureSpec);
|
||||
i35 = View.combineMeasuredStates(i35, virtualChildAt3.getMeasuredState() & -16777216);
|
||||
virtualChildAt3.measure(View.MeasureSpec.makeMeasureSpec(i38, BasicMeasure.EXACTLY), childMeasureSpec);
|
||||
i35 = View.combineMeasuredStates(i35, virtualChildAt3.getMeasuredState() & ViewCompat.MEASURED_STATE_MASK);
|
||||
f2 = f7;
|
||||
i10 = i39;
|
||||
}
|
||||
} else {
|
||||
i13 = 1073741824;
|
||||
i13 = BasicMeasure.EXACTLY;
|
||||
}
|
||||
int measuredWidth2 = virtualChildAt3.getMeasuredWidth() + i38;
|
||||
if (measuredWidth2 < 0) {
|
||||
measuredWidth2 = 0;
|
||||
}
|
||||
virtualChildAt3.measure(View.MeasureSpec.makeMeasureSpec(measuredWidth2, i13), childMeasureSpec);
|
||||
i35 = View.combineMeasuredStates(i35, virtualChildAt3.getMeasuredState() & -16777216);
|
||||
i35 = View.combineMeasuredStates(i35, virtualChildAt3.getMeasuredState() & ViewCompat.MEASURED_STATE_MASK);
|
||||
f2 = f7;
|
||||
i10 = i39;
|
||||
} else {
|
||||
|
@ -907,7 +910,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
for (int i43 = 0; i43 < virtualChildCount; i43++) {
|
||||
View virtualChildAt4 = getVirtualChildAt(i43);
|
||||
if (!(virtualChildAt4 == null || virtualChildAt4.getVisibility() == 8 || ((LayoutParams) virtualChildAt4.getLayoutParams()).weight <= 0.0f)) {
|
||||
virtualChildAt4.measure(View.MeasureSpec.makeMeasureSpec(i22, 1073741824), View.MeasureSpec.makeMeasureSpec(virtualChildAt4.getMeasuredHeight(), 1073741824));
|
||||
virtualChildAt4.measure(View.MeasureSpec.makeMeasureSpec(i22, BasicMeasure.EXACTLY), View.MeasureSpec.makeMeasureSpec(virtualChildAt4.getMeasuredHeight(), BasicMeasure.EXACTLY));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -918,7 +921,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
if (z10 || mode2 == 1073741824) {
|
||||
i8 = i6;
|
||||
}
|
||||
setMeasuredDimension(resolveSizeAndState | (i3 & -16777216), View.resolveSizeAndState(Math.max(getPaddingBottom() + getPaddingTop() + i8, getSuggestedMinimumHeight()), i7, i3 << 16));
|
||||
setMeasuredDimension(resolveSizeAndState | (i3 & ViewCompat.MEASURED_STATE_MASK), View.resolveSizeAndState(Math.max(getPaddingBottom() + getPaddingTop() + i8, getSuggestedMinimumHeight()), i7, i3 << 16));
|
||||
if (z11) {
|
||||
forceUniformHeight(i5, i);
|
||||
}
|
||||
|
@ -1122,24 +1125,24 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
i7 = i36 - i39;
|
||||
int childMeasureSpec = ViewGroup.getChildMeasureSpec(i, getPaddingRight() + getPaddingLeft() + ((ViewGroup.MarginLayoutParams) layoutParams3).leftMargin + ((ViewGroup.MarginLayoutParams) layoutParams3).rightMargin, ((ViewGroup.MarginLayoutParams) layoutParams3).width);
|
||||
if (((ViewGroup.MarginLayoutParams) layoutParams3).height == 0) {
|
||||
i10 = 1073741824;
|
||||
i10 = BasicMeasure.EXACTLY;
|
||||
if (mode2 == 1073741824) {
|
||||
if (i39 <= 0) {
|
||||
i39 = 0;
|
||||
}
|
||||
virtualChildAt3.measure(childMeasureSpec, View.MeasureSpec.makeMeasureSpec(i39, 1073741824));
|
||||
i5 = View.combineMeasuredStates(i5, virtualChildAt3.getMeasuredState() & -256);
|
||||
virtualChildAt3.measure(childMeasureSpec, View.MeasureSpec.makeMeasureSpec(i39, BasicMeasure.EXACTLY));
|
||||
i5 = View.combineMeasuredStates(i5, virtualChildAt3.getMeasuredState() & InputDeviceCompat.SOURCE_ANY);
|
||||
f = f6;
|
||||
}
|
||||
} else {
|
||||
i10 = 1073741824;
|
||||
i10 = BasicMeasure.EXACTLY;
|
||||
}
|
||||
int measuredHeight2 = virtualChildAt3.getMeasuredHeight() + i39;
|
||||
if (measuredHeight2 < 0) {
|
||||
measuredHeight2 = 0;
|
||||
}
|
||||
virtualChildAt3.measure(childMeasureSpec, View.MeasureSpec.makeMeasureSpec(measuredHeight2, i10));
|
||||
i5 = View.combineMeasuredStates(i5, virtualChildAt3.getMeasuredState() & -256);
|
||||
i5 = View.combineMeasuredStates(i5, virtualChildAt3.getMeasuredState() & InputDeviceCompat.SOURCE_ANY);
|
||||
f = f6;
|
||||
} else {
|
||||
i7 = i36;
|
||||
|
@ -1193,7 +1196,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
for (int i42 = 0; i42 < i3; i42++) {
|
||||
View virtualChildAt4 = getVirtualChildAt(i42);
|
||||
if (!(virtualChildAt4 == null || virtualChildAt4.getVisibility() == 8 || ((LayoutParams) virtualChildAt4.getLayoutParams()).weight <= 0.0f)) {
|
||||
virtualChildAt4.measure(View.MeasureSpec.makeMeasureSpec(virtualChildAt4.getMeasuredWidth(), 1073741824), View.MeasureSpec.makeMeasureSpec(i24, 1073741824));
|
||||
virtualChildAt4.measure(View.MeasureSpec.makeMeasureSpec(virtualChildAt4.getMeasuredWidth(), BasicMeasure.EXACTLY), View.MeasureSpec.makeMeasureSpec(i24, BasicMeasure.EXACTLY));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1227,13 +1230,13 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
|
||||
super.onInitializeAccessibilityEvent(accessibilityEvent);
|
||||
accessibilityEvent.setClassName("androidx.appcompat.widget.LinearLayoutCompat");
|
||||
accessibilityEvent.setClassName(ACCESSIBILITY_CLASS_NAME);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
|
||||
super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
|
||||
accessibilityNodeInfo.setClassName("androidx.appcompat.widget.LinearLayoutCompat");
|
||||
accessibilityNodeInfo.setClassName(ACCESSIBILITY_CLASS_NAME);
|
||||
}
|
||||
|
||||
@Override // android.view.ViewGroup, android.view.View
|
||||
|
@ -1294,7 +1297,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
public void setGravity(int i) {
|
||||
if (this.mGravity != i) {
|
||||
if ((8388615 & i) == 0) {
|
||||
i |= 8388611;
|
||||
i |= GravityCompat.START;
|
||||
}
|
||||
if ((i & 112) == 0) {
|
||||
i |= 48;
|
||||
|
@ -1305,7 +1308,7 @@ public class LinearLayoutCompat extends ViewGroup {
|
|||
}
|
||||
|
||||
public void setHorizontalGravity(int i) {
|
||||
int i2 = i & 8388615;
|
||||
int i2 = i & GravityCompat.RELATIVE_HORIZONTAL_GRAVITY_MASK;
|
||||
int i3 = this.mGravity;
|
||||
if ((8388615 & i3) != i2) {
|
||||
this.mGravity = i2 | (-8388616 & i3);
|
||||
|
|
|
@ -27,6 +27,8 @@ import androidx.annotation.RestrictTo;
|
|||
import androidx.annotation.StyleRes;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.view.menu.ShowableListMenu;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.PointerIconCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.widget.PopupWindowCompat;
|
||||
import c.d.b.a.a;
|
||||
|
@ -214,19 +216,19 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
try {
|
||||
sSetClipToWindowEnabledMethod = PopupWindow.class.getDeclaredMethod("setClipToScreenEnabled", Boolean.TYPE);
|
||||
} catch (NoSuchMethodException unused) {
|
||||
Log.i("ListPopupWindow", "Could not find method setClipToScreenEnabled() on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not find method setClipToScreenEnabled() on PopupWindow. Oh well.");
|
||||
}
|
||||
try {
|
||||
sSetEpicenterBoundsMethod = PopupWindow.class.getDeclaredMethod("setEpicenterBounds", Rect.class);
|
||||
} catch (NoSuchMethodException unused2) {
|
||||
Log.i("ListPopupWindow", "Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well.");
|
||||
}
|
||||
}
|
||||
if (Build.VERSION.SDK_INT <= 23) {
|
||||
try {
|
||||
sGetMaxAvailableHeightMethod = PopupWindow.class.getDeclaredMethod("getMaxAvailableHeight", View.class, Integer.TYPE, Boolean.TYPE);
|
||||
} catch (NoSuchMethodException unused3) {
|
||||
Log.i("ListPopupWindow", "Could not find method getMaxAvailableHeight(View, int, boolean) on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not find method getMaxAvailableHeight(View, int, boolean) on PopupWindow. Oh well.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -246,7 +248,7 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attributeSet, @AttrRes int i, @StyleRes int i2) {
|
||||
this.mDropDownHeight = -2;
|
||||
this.mDropDownWidth = -2;
|
||||
this.mDropDownWindowLayoutType = 1002;
|
||||
this.mDropDownWindowLayoutType = PointerIconCompat.TYPE_HAND;
|
||||
this.mDropDownGravity = 0;
|
||||
this.mDropDownAlwaysVisible = false;
|
||||
this.mForceIgnoreOutsideTouch = false;
|
||||
|
@ -312,7 +314,7 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
} else if (i5 != 1) {
|
||||
StringBuilder K = a.K("Invalid hint position ");
|
||||
K.append(this.mPromptPosition);
|
||||
Log.e("ListPopupWindow", K.toString());
|
||||
Log.e(TAG, K.toString());
|
||||
} else {
|
||||
linearLayout.addView(dropDownListView, layoutParams);
|
||||
linearLayout.addView(view);
|
||||
|
@ -368,11 +370,11 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
Rect rect2 = this.mTempRect;
|
||||
i3 = View.MeasureSpec.makeMeasureSpec(i9 - (rect2.left + rect2.right), Integer.MIN_VALUE);
|
||||
} else if (i8 != -1) {
|
||||
i3 = View.MeasureSpec.makeMeasureSpec(i8, 1073741824);
|
||||
i3 = View.MeasureSpec.makeMeasureSpec(i8, BasicMeasure.EXACTLY);
|
||||
} else {
|
||||
int i10 = this.mContext.getResources().getDisplayMetrics().widthPixels;
|
||||
Rect rect3 = this.mTempRect;
|
||||
i3 = View.MeasureSpec.makeMeasureSpec(i10 - (rect3.left + rect3.right), 1073741824);
|
||||
i3 = View.MeasureSpec.makeMeasureSpec(i10 - (rect3.left + rect3.right), BasicMeasure.EXACTLY);
|
||||
}
|
||||
int measureHeightOfChildrenCompat = this.mDropDownList.measureHeightOfChildrenCompat(i3, 0, -1, maxAvailableHeight - i, -1);
|
||||
if (measureHeightOfChildrenCompat > 0) {
|
||||
|
@ -390,7 +392,7 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
try {
|
||||
return ((Integer) method.invoke(this.mPopup, view, Integer.valueOf(i), Boolean.valueOf(z2))).intValue();
|
||||
} catch (Exception unused) {
|
||||
Log.i("ListPopupWindow", "Could not call getMaxAvailableHeightMethod(View, int, boolean) on PopupWindow. Using the public version.");
|
||||
Log.i(TAG, "Could not call getMaxAvailableHeightMethod(View, int, boolean) on PopupWindow. Using the public version.");
|
||||
}
|
||||
}
|
||||
return this.mPopup.getMaxAvailableHeight(view, i);
|
||||
|
@ -417,7 +419,7 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
try {
|
||||
method.invoke(this.mPopup, Boolean.valueOf(z2));
|
||||
} catch (Exception unused) {
|
||||
Log.i("ListPopupWindow", "Could not call setClipToScreenEnabled() on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not call setClipToScreenEnabled() on PopupWindow. Oh well.");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -837,7 +839,7 @@ public class ListPopupWindow implements ShowableListMenu {
|
|||
try {
|
||||
method.invoke(this.mPopup, this.mEpicenterBounds);
|
||||
} catch (Exception e) {
|
||||
Log.e("ListPopupWindow", "Could not invoke setEpicenterBounds on PopupWindow", e);
|
||||
Log.e(TAG, "Could not invoke setEpicenterBounds on PopupWindow", e);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -156,7 +156,7 @@ public class MenuPopupWindow extends ListPopupWindow implements MenuItemHoverLis
|
|||
sSetTouchModalMethod = PopupWindow.class.getDeclaredMethod("setTouchModal", Boolean.TYPE);
|
||||
}
|
||||
} catch (NoSuchMethodException unused) {
|
||||
Log.i("MenuPopupWindow", "Could not find method setTouchModal() on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not find method setTouchModal() on PopupWindow. Oh well.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ public class MenuPopupWindow extends ListPopupWindow implements MenuItemHoverLis
|
|||
try {
|
||||
method.invoke(this.mPopup, Boolean.valueOf(z2));
|
||||
} catch (Exception unused) {
|
||||
Log.i("MenuPopupWindow", "Could not invoke setTouchModal() on PopupWindow. Oh well.");
|
||||
Log.i(TAG, "Could not invoke setTouchModal() on PopupWindow. Oh well.");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -255,7 +255,7 @@ public final class ResourceManagerInternal {
|
|||
}
|
||||
|
||||
private static boolean isVectorDrawable(@NonNull Drawable drawable) {
|
||||
return (drawable instanceof VectorDrawableCompat) || "android.graphics.drawable.VectorDrawable".equals(drawable.getClass().getName());
|
||||
return (drawable instanceof VectorDrawableCompat) || PLATFORM_VD_CLAZZ.equals(drawable.getClass().getName());
|
||||
}
|
||||
|
||||
private Drawable loadDrawableFromDelegates(@NonNull Context context, @DrawableRes int i) {
|
||||
|
@ -268,7 +268,7 @@ public final class ResourceManagerInternal {
|
|||
SparseArrayCompat<String> sparseArrayCompat = this.mKnownDrawableIdTags;
|
||||
if (sparseArrayCompat != null) {
|
||||
String str = sparseArrayCompat.get(i);
|
||||
if ("appcompat_skip_skip".equals(str) || (str != null && this.mDelegates.get(str) == null)) {
|
||||
if (SKIP_DRAWABLE_TAG.equals(str) || (str != null && this.mDelegates.get(str) == null)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
|
@ -305,7 +305,7 @@ public final class ResourceManagerInternal {
|
|||
throw new XmlPullParserException("No start tag found");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e("ResourceManagerInternal", "Exception while inflating drawable", e);
|
||||
Log.e(TAG, "Exception while inflating drawable", e);
|
||||
}
|
||||
while (true) {
|
||||
next = xml.next();
|
||||
|
@ -315,7 +315,7 @@ public final class ResourceManagerInternal {
|
|||
}
|
||||
}
|
||||
if (cachedDrawable == null) {
|
||||
this.mKnownDrawableIdTags.append(i, "appcompat_skip_skip");
|
||||
this.mKnownDrawableIdTags.append(i, SKIP_DRAWABLE_TAG);
|
||||
}
|
||||
return cachedDrawable;
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ public final class ResourceManagerInternal {
|
|||
}
|
||||
return;
|
||||
}
|
||||
Log.d("ResourceManagerInternal", "Mutated drawable is not the same instance as the input.");
|
||||
Log.d(TAG, "Mutated drawable is not the same instance as the input.");
|
||||
}
|
||||
|
||||
public synchronized Drawable getDrawable(@NonNull Context context, @DrawableRes int i) {
|
||||
|
|
|
@ -29,6 +29,7 @@ import androidx.appcompat.R;
|
|||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.view.ActionBarPolicy;
|
||||
import androidx.appcompat.widget.LinearLayoutCompat;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
public class ScrollingTabContainerView extends HorizontalScrollView implements AdapterView.OnItemSelectedListener {
|
||||
private static final int FADE_DURATION = 200;
|
||||
|
@ -143,13 +144,13 @@ public class ScrollingTabContainerView extends HorizontalScrollView implements A
|
|||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
|
||||
super.onInitializeAccessibilityEvent(accessibilityEvent);
|
||||
accessibilityEvent.setClassName("androidx.appcompat.app.ActionBar$Tab");
|
||||
accessibilityEvent.setClassName(ACCESSIBILITY_CLASS_NAME);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
|
||||
super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
|
||||
accessibilityNodeInfo.setClassName("androidx.appcompat.app.ActionBar$Tab");
|
||||
accessibilityNodeInfo.setClassName(ACCESSIBILITY_CLASS_NAME);
|
||||
}
|
||||
|
||||
@Override // android.widget.LinearLayout, android.view.View
|
||||
|
@ -157,7 +158,7 @@ public class ScrollingTabContainerView extends HorizontalScrollView implements A
|
|||
int i3;
|
||||
super.onMeasure(i, i2);
|
||||
if (ScrollingTabContainerView.this.mMaxTabWidth > 0 && getMeasuredWidth() > (i3 = ScrollingTabContainerView.this.mMaxTabWidth)) {
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(i3, 1073741824), i2);
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(i3, BasicMeasure.EXACTLY), i2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -472,7 +473,7 @@ public class ScrollingTabContainerView extends HorizontalScrollView implements A
|
|||
}
|
||||
this.mMaxTabWidth = Math.min(this.mMaxTabWidth, this.mStackedTabMaxWidth);
|
||||
}
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(this.mContentHeight, 1073741824);
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(this.mContentHeight, BasicMeasure.EXACTLY);
|
||||
if (z3 || !this.mAllowCollapse) {
|
||||
z2 = false;
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ import androidx.annotation.Nullable;
|
|||
import androidx.annotation.RestrictTo;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.appcompat.view.CollapsibleActionView;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.cursoradapter.widget.CursorAdapter;
|
||||
import androidx.customview.view.AbsSavedState;
|
||||
|
@ -784,7 +785,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
} catch (RuntimeException unused) {
|
||||
i2 = -1;
|
||||
}
|
||||
Log.w("SearchView", "Search suggestions cursor at row " + i2 + " returned exception.", e);
|
||||
Log.w(LOG_TAG, "Search suggestions cursor at row " + i2 + " returned exception.", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -793,7 +794,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
ComponentName searchActivity = searchableInfo.getSearchActivity();
|
||||
Intent intent2 = new Intent("android.intent.action.SEARCH");
|
||||
intent2.setComponent(searchActivity);
|
||||
PendingIntent activity = PendingIntent.getActivity(getContext(), 0, intent2, 1073741824);
|
||||
PendingIntent activity = PendingIntent.getActivity(getContext(), 0, intent2, BasicMeasure.EXACTLY);
|
||||
Bundle bundle = new Bundle();
|
||||
Bundle bundle2 = this.mAppSearchData;
|
||||
if (bundle2 != null) {
|
||||
|
@ -891,7 +892,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
try {
|
||||
getContext().startActivity(intent);
|
||||
} catch (RuntimeException e) {
|
||||
Log.e("SearchView", "Failed launch activity: " + intent, e);
|
||||
Log.e(LOG_TAG, "Failed launch activity: " + intent, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1218,7 +1219,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
} else if (mode2 == 0) {
|
||||
size2 = getPreferredHeight();
|
||||
}
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(size2, 1073741824));
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(size, BasicMeasure.EXACTLY), View.MeasureSpec.makeMeasureSpec(size2, BasicMeasure.EXACTLY));
|
||||
}
|
||||
|
||||
public void onQueryRefine(CharSequence charSequence) {
|
||||
|
@ -1318,7 +1319,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
getContext().startActivity(createVoiceAppSearchIntent(this.mVoiceAppSearchIntent, searchableInfo));
|
||||
}
|
||||
} catch (ActivityNotFoundException unused) {
|
||||
Log.w("SearchView", "Could not find voice search activity");
|
||||
Log.w(LOG_TAG, "Could not find voice search activity");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1432,7 +1433,7 @@ public class SearchView extends LinearLayoutCompat implements CollapsibleActionV
|
|||
boolean hasVoiceSearch = hasVoiceSearch();
|
||||
this.mVoiceButtonEnabled = hasVoiceSearch;
|
||||
if (hasVoiceSearch) {
|
||||
this.mSearchSrcTextView.setPrivateImeOptions("nm");
|
||||
this.mSearchSrcTextView.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE);
|
||||
}
|
||||
updateViewsVisibility(isIconified());
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public class ShareActionProvider extends ActionProvider {
|
|||
private ActivityChooserModel.OnChooseActivityListener mOnChooseActivityListener;
|
||||
private final ShareMenuItemOnMenuItemClickListener mOnMenuItemClickListener = new ShareMenuItemOnMenuItemClickListener();
|
||||
public OnShareTargetSelectedListener mOnShareTargetSelectedListener;
|
||||
public String mShareHistoryFileName = "share_history.xml";
|
||||
public String mShareHistoryFileName = DEFAULT_SHARE_HISTORY_FILE_NAME;
|
||||
|
||||
public interface OnShareTargetSelectedListener {
|
||||
boolean onShareTargetSelected(ShareActionProvider shareActionProvider, Intent intent);
|
||||
|
|
|
@ -112,10 +112,10 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
}
|
||||
StringBuilder L = a.L("Invalid icon resource ", iconResource, " for ");
|
||||
L.append(componentName.flattenToShortString());
|
||||
Log.w("SuggestionsAdapter", L.toString());
|
||||
Log.w(LOG_TAG, L.toString());
|
||||
return null;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.w("SuggestionsAdapter", e.toString());
|
||||
Log.w(LOG_TAG, e.toString());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -162,14 +162,14 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
Drawable createFromStream = Drawable.createFromStream(openInputStream, null);
|
||||
try {
|
||||
} catch (IOException e) {
|
||||
Log.e("SuggestionsAdapter", "Error closing icon stream for " + uri, e);
|
||||
Log.e(LOG_TAG, "Error closing icon stream for " + uri, e);
|
||||
}
|
||||
return createFromStream;
|
||||
} finally {
|
||||
try {
|
||||
openInputStream.close();
|
||||
} catch (IOException e2) {
|
||||
Log.e("SuggestionsAdapter", "Error closing icon stream for " + uri, e2);
|
||||
Log.e(LOG_TAG, "Error closing icon stream for " + uri, e2);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -177,7 +177,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
}
|
||||
}
|
||||
} catch (FileNotFoundException e3) {
|
||||
Log.w("SuggestionsAdapter", "Icon not found: " + uri + ", " + e3.getMessage());
|
||||
Log.w(LOG_TAG, "Icon not found: " + uri + ", " + e3.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
storeInIconCache(str, drawable2);
|
||||
return drawable2;
|
||||
} catch (Resources.NotFoundException unused2) {
|
||||
a.g0("Icon resource not found: ", str, "SuggestionsAdapter");
|
||||
a.g0("Icon resource not found: ", str, LOG_TAG);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
try {
|
||||
return cursor.getString(i);
|
||||
} catch (Exception e) {
|
||||
Log.e("SuggestionsAdapter", "unexpected error retrieving valid column from cursor, did the remote process die?", e);
|
||||
Log.e(LOG_TAG, "unexpected error retrieving valid column from cursor, did the remote process die?", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -318,7 +318,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
@Override // androidx.cursoradapter.widget.CursorAdapter, androidx.cursoradapter.widget.CursorFilter.CursorFilterClient
|
||||
public void changeCursor(Cursor cursor) {
|
||||
if (this.mClosed) {
|
||||
Log.w("SuggestionsAdapter", "Tried to change cursor after adapter was closed.");
|
||||
Log.w(LOG_TAG, "Tried to change cursor after adapter was closed.");
|
||||
if (cursor != null) {
|
||||
cursor.close();
|
||||
return;
|
||||
|
@ -336,7 +336,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
this.mFlagsCol = cursor.getColumnIndex("suggest_flags");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e("SuggestionsAdapter", "error changing cursor and caching columns", e);
|
||||
Log.e(LOG_TAG, "error changing cursor and caching columns", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -404,7 +404,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
try {
|
||||
return super.getDropDownView(i, view, viewGroup);
|
||||
} catch (RuntimeException e) {
|
||||
Log.w("SuggestionsAdapter", "Search suggestions cursor threw exception.", e);
|
||||
Log.w(LOG_TAG, "Search suggestions cursor threw exception.", e);
|
||||
View newDropDownView = newDropDownView(this.mContext, this.mCursor, viewGroup);
|
||||
if (newDropDownView != null) {
|
||||
((ChildViewCache) newDropDownView.getTag()).mText1.setText(e.toString());
|
||||
|
@ -446,7 +446,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
try {
|
||||
return super.getView(i, view, viewGroup);
|
||||
} catch (RuntimeException e) {
|
||||
Log.w("SuggestionsAdapter", "Search suggestions cursor threw exception.", e);
|
||||
Log.w(LOG_TAG, "Search suggestions cursor threw exception.", e);
|
||||
View newView = newView(this.mContext, this.mCursor, viewGroup);
|
||||
if (newView != null) {
|
||||
((ChildViewCache) newView.getTag()).mText1.setText(e.toString());
|
||||
|
@ -499,7 +499,7 @@ public class SuggestionsAdapter extends ResourceCursorAdapter implements View.On
|
|||
return searchManagerSuggestions;
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
Log.w("SuggestionsAdapter", "Search suggestions query threw an exception.", e);
|
||||
Log.w(LOG_TAG, "Search suggestions query threw an exception.", e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
|
|
@ -563,13 +563,13 @@ public class SwitchCompat extends CompoundButton {
|
|||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
|
||||
super.onInitializeAccessibilityEvent(accessibilityEvent);
|
||||
accessibilityEvent.setClassName("android.widget.Switch");
|
||||
accessibilityEvent.setClassName(ACCESSIBILITY_EVENT_CLASS_NAME);
|
||||
}
|
||||
|
||||
@Override // android.view.View
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
|
||||
super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
|
||||
accessibilityNodeInfo.setClassName("android.widget.Switch");
|
||||
accessibilityNodeInfo.setClassName(ACCESSIBILITY_EVENT_CLASS_NAME);
|
||||
CharSequence charSequence = isChecked() ? this.mTextOn : this.mTextOff;
|
||||
if (!TextUtils.isEmpty(charSequence)) {
|
||||
CharSequence text = accessibilityNodeInfo.getText();
|
||||
|
|
|
@ -34,7 +34,7 @@ public class ThemeUtils {
|
|||
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(R.styleable.AppCompatTheme);
|
||||
try {
|
||||
if (!obtainStyledAttributes.hasValue(R.styleable.AppCompatTheme_windowActionBar)) {
|
||||
Log.e("ThemeUtils", "View " + view.getClass() + " is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).");
|
||||
Log.e(TAG, "View " + view.getClass() + " is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).");
|
||||
}
|
||||
} finally {
|
||||
obtainStyledAttributes.recycle();
|
||||
|
|
|
@ -38,6 +38,7 @@ import androidx.appcompat.view.menu.MenuPresenter;
|
|||
import androidx.appcompat.view.menu.MenuView;
|
||||
import androidx.appcompat.view.menu.SubMenuBuilder;
|
||||
import androidx.appcompat.widget.ActionMenuView;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.core.view.MarginLayoutParamsCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
@ -675,7 +676,7 @@ public class Toolbar extends ViewGroup {
|
|||
if (mode != 0) {
|
||||
i5 = Math.min(View.MeasureSpec.getSize(childMeasureSpec2), i5);
|
||||
}
|
||||
childMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(i5, 1073741824);
|
||||
childMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(i5, BasicMeasure.EXACTLY);
|
||||
}
|
||||
view.measure(childMeasureSpec, childMeasureSpec2);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import androidx.core.view.ViewCompat;
|
|||
import androidx.core.view.ViewPropertyAnimatorCompat;
|
||||
import androidx.core.view.ViewPropertyAnimatorListenerAdapter;
|
||||
import c.d.b.a.a;
|
||||
import com.google.android.material.badge.BadgeDrawable;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
public class ToolbarWidgetWrapper implements DecorToolbar {
|
||||
private static final int AFFECTS_LOGO_MASK = 3;
|
||||
|
@ -233,7 +234,7 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
|
|||
|
||||
@Override // androidx.appcompat.widget.DecorToolbar
|
||||
public void animateToVisibility(int i) {
|
||||
ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = setupAnimatorToVisibility(i, 200);
|
||||
ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = setupAnimatorToVisibility(i, DEFAULT_FADE_DURATION_MS);
|
||||
if (viewPropertyAnimatorCompat != null) {
|
||||
viewPropertyAnimatorCompat.start();
|
||||
}
|
||||
|
@ -349,12 +350,12 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
|
|||
|
||||
@Override // androidx.appcompat.widget.DecorToolbar
|
||||
public void initIndeterminateProgress() {
|
||||
Log.i("ToolbarWidgetWrapper", "Progress display unsupported");
|
||||
Log.i(TAG, "Progress display unsupported");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.DecorToolbar
|
||||
public void initProgress() {
|
||||
Log.i("ToolbarWidgetWrapper", "Progress display unsupported");
|
||||
Log.i(TAG, "Progress display unsupported");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.DecorToolbar
|
||||
|
@ -486,7 +487,7 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
|
|||
Toolbar.LayoutParams layoutParams = (Toolbar.LayoutParams) this.mTabView.getLayoutParams();
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).width = -2;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).height = -2;
|
||||
layoutParams.gravity = 8388691;
|
||||
layoutParams.gravity = BadgeDrawable.BOTTOM_START;
|
||||
scrollingTabContainerView.setAllowCollapse(true);
|
||||
}
|
||||
}
|
||||
|
@ -589,7 +590,7 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
|
|||
Toolbar.LayoutParams layoutParams = (Toolbar.LayoutParams) this.mTabView.getLayoutParams();
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).width = -2;
|
||||
((ViewGroup.MarginLayoutParams) layoutParams).height = -2;
|
||||
layoutParams.gravity = 8388691;
|
||||
layoutParams.gravity = BadgeDrawable.BOTTOM_START;
|
||||
}
|
||||
} else {
|
||||
throw new IllegalArgumentException(a.j("Invalid navigation mode ", i));
|
||||
|
|
|
@ -121,7 +121,7 @@ public class TooltipCompatHandler implements View.OnLongClickListener, View.OnHo
|
|||
clearAnchorPos();
|
||||
this.mAnchor.removeOnAttachStateChangeListener(this);
|
||||
} else {
|
||||
Log.e("TooltipCompatHandler", "sActiveHandler.mPopup == null");
|
||||
Log.e(TAG, "sActiveHandler.mPopup == null");
|
||||
}
|
||||
}
|
||||
if (sPendingHandler == this) {
|
||||
|
@ -185,13 +185,13 @@ public class TooltipCompatHandler implements View.OnLongClickListener, View.OnHo
|
|||
tooltipPopup.show(this.mAnchor, this.mAnchorX, this.mAnchorY, this.mFromTouch, this.mTooltipText);
|
||||
this.mAnchor.addOnAttachStateChangeListener(this);
|
||||
if (this.mFromTouch) {
|
||||
j = 2500;
|
||||
j = LONG_CLICK_HIDE_TIMEOUT_MS;
|
||||
} else {
|
||||
if ((ViewCompat.getWindowSystemUiVisibility(this.mAnchor) & 1) == 1) {
|
||||
j2 = 3000;
|
||||
j2 = HOVER_HIDE_TIMEOUT_SHORT_MS;
|
||||
i = ViewConfiguration.getLongPressTimeout();
|
||||
} else {
|
||||
j2 = 15000;
|
||||
j2 = HOVER_HIDE_TIMEOUT_MS;
|
||||
i = ViewConfiguration.getLongPressTimeout();
|
||||
}
|
||||
j = j2 - ((long) i);
|
||||
|
|
|
@ -15,6 +15,7 @@ import android.widget.TextView;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RestrictTo;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.core.view.PointerIconCompat;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
public class TooltipPopup {
|
||||
private static final String TAG = "TooltipPopup";
|
||||
|
@ -35,7 +36,7 @@ public class TooltipPopup {
|
|||
this.mMessageView = (TextView) inflate.findViewById(R.id.message);
|
||||
layoutParams.setTitle(getClass().getSimpleName());
|
||||
layoutParams.packageName = context.getPackageName();
|
||||
layoutParams.type = 1002;
|
||||
layoutParams.type = PointerIconCompat.TYPE_HAND;
|
||||
layoutParams.width = -2;
|
||||
layoutParams.height = -2;
|
||||
layoutParams.format = -3;
|
||||
|
@ -63,7 +64,7 @@ public class TooltipPopup {
|
|||
int dimensionPixelOffset3 = this.mContext.getResources().getDimensionPixelOffset(z2 ? R.dimen.tooltip_y_offset_touch : R.dimen.tooltip_y_offset_non_touch);
|
||||
View appRootView = getAppRootView(view);
|
||||
if (appRootView == null) {
|
||||
Log.e("TooltipPopup", "Cannot find app view");
|
||||
Log.e(TAG, "Cannot find app view");
|
||||
return;
|
||||
}
|
||||
appRootView.getWindowVisibleDisplayFrame(this.mTmpDisplayFrame);
|
||||
|
|
|
@ -20,7 +20,7 @@ public class ViewUtils {
|
|||
sComputeFitSystemWindowsMethod.setAccessible(true);
|
||||
}
|
||||
} catch (NoSuchMethodException unused) {
|
||||
Log.d("ViewUtils", "Could not find method computeFitSystemWindows. Oh well.");
|
||||
Log.d(TAG, "Could not find method computeFitSystemWindows. Oh well.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class ViewUtils {
|
|||
try {
|
||||
method.invoke(view, rect, rect2);
|
||||
} catch (Exception e) {
|
||||
Log.d("ViewUtils", "Could not invoke computeFitSystemWindows", e);
|
||||
Log.d(TAG, "Could not invoke computeFitSystemWindows", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -50,11 +50,11 @@ public class ViewUtils {
|
|||
}
|
||||
method.invoke(view, new Object[0]);
|
||||
} catch (NoSuchMethodException unused) {
|
||||
Log.d("ViewUtils", "Could not find method makeOptionalFitsSystemWindows. Oh well...");
|
||||
Log.d(TAG, "Could not find method makeOptionalFitsSystemWindows. Oh well...");
|
||||
} catch (InvocationTargetException e) {
|
||||
Log.d("ViewUtils", "Could not invoke makeOptionalFitsSystemWindows", e);
|
||||
Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e);
|
||||
} catch (IllegalAccessException e2) {
|
||||
Log.d("ViewUtils", "Could not invoke makeOptionalFitsSystemWindows", e2);
|
||||
Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ public class DefaultTaskExecutor extends TaskExecutor {
|
|||
@Override // java.util.concurrent.ThreadFactory
|
||||
public Thread newThread(Runnable runnable) {
|
||||
Thread thread = new Thread(runnable);
|
||||
thread.setName(String.format("arch_disk_io_%d", Integer.valueOf(this.mThreadId.getAndIncrement())));
|
||||
thread.setName(String.format(THREAD_NAME_STEM, Integer.valueOf(this.mThreadId.getAndIncrement())));
|
||||
return thread;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,11 +127,11 @@ public final class AsyncLayoutInflater {
|
|||
try {
|
||||
take.view = take.inflater.mInflater.inflate(take.resid, take.parent, false);
|
||||
} catch (RuntimeException e) {
|
||||
Log.w("AsyncLayoutInflater", "Failed to inflate resource in the background! Retrying on the UI thread", e);
|
||||
Log.w(AsyncLayoutInflater.TAG, "Failed to inflate resource in the background! Retrying on the UI thread", e);
|
||||
}
|
||||
Message.obtain(take.inflater.mHandler, 0, take).sendToTarget();
|
||||
} catch (InterruptedException e2) {
|
||||
Log.w("AsyncLayoutInflater", e2);
|
||||
Log.w(AsyncLayoutInflater.TAG, e2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public class BrowserActionsFallbackMenuDialog extends Dialog {
|
|||
if (z2) {
|
||||
f = 1.0f;
|
||||
}
|
||||
long j = z2 ? 250 : 150;
|
||||
long j = z2 ? ENTER_ANIMATION_DURATION_MS : 150;
|
||||
this.mContentView.setScaleX(f2);
|
||||
this.mContentView.setScaleY(f2);
|
||||
this.mContentView.animate().scaleX(f).scaleY(f).setDuration(j).setInterpolator(new LinearOutSlowInInterpolator()).setListener(new AnonymousClass1(z2)).start();
|
||||
|
|
|
@ -23,6 +23,7 @@ import androidx.annotation.RestrictTo;
|
|||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.browser.R;
|
||||
import androidx.core.widget.TextViewCompat;
|
||||
import com.discord.restapi.RestAPIBuilder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@Deprecated
|
||||
|
@ -60,7 +61,7 @@ public class BrowserActionsFallbackMenuUi implements AdapterView.OnItemClickList
|
|||
public void onShow(DialogInterface dialogInterface) {
|
||||
BrowserActionsFallMenuUiListener browserActionsFallMenuUiListener = BrowserActionsFallbackMenuUi.this.mMenuUiListener;
|
||||
if (browserActionsFallMenuUiListener == null) {
|
||||
Log.e("BrowserActionskMenuUi", "Cannot trigger menu item listener, it is null");
|
||||
Log.e(BrowserActionsFallbackMenuUi.TAG, "Cannot trigger menu item listener, it is null");
|
||||
} else {
|
||||
browserActionsFallMenuUiListener.onMenuShown(this.val$view);
|
||||
}
|
||||
|
@ -120,7 +121,7 @@ public class BrowserActionsFallbackMenuUi implements AdapterView.OnItemClickList
|
|||
private PendingIntent buildShareAction() {
|
||||
Intent intent = new Intent("android.intent.action.SEND");
|
||||
intent.putExtra("android.intent.extra.TEXT", this.mUri.toString());
|
||||
intent.setType("text/plain");
|
||||
intent.setType(RestAPIBuilder.CONTENT_TYPE_TEXT);
|
||||
return PendingIntent.getActivity(this.mContext, 0, intent, 0);
|
||||
}
|
||||
|
||||
|
@ -153,14 +154,14 @@ public class BrowserActionsFallbackMenuUi implements AdapterView.OnItemClickList
|
|||
try {
|
||||
browserActionItem.getAction().send();
|
||||
} catch (PendingIntent.CanceledException e) {
|
||||
Log.e("BrowserActionskMenuUi", "Failed to send custom item action", e);
|
||||
Log.e(TAG, "Failed to send custom item action", e);
|
||||
}
|
||||
} else if (browserActionItem.getRunnableAction() != null) {
|
||||
browserActionItem.getRunnableAction().run();
|
||||
}
|
||||
BrowserActionsFallbackMenuDialog browserActionsFallbackMenuDialog = this.mBrowserActionsDialog;
|
||||
if (browserActionsFallbackMenuDialog == null) {
|
||||
Log.e("BrowserActionskMenuUi", "Cannot dismiss dialog, it has already been dismissed.");
|
||||
Log.e(TAG, "Cannot dismiss dialog, it has already been dismissed.");
|
||||
} else {
|
||||
browserActionsFallbackMenuDialog.dismiss();
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.widget.LinearLayout;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RestrictTo;
|
||||
import androidx.browser.R;
|
||||
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
||||
@Deprecated
|
||||
public class BrowserActionsFallbackMenuView extends LinearLayout {
|
||||
|
@ -19,6 +20,6 @@ public class BrowserActionsFallbackMenuView extends LinearLayout {
|
|||
|
||||
@Override // android.widget.LinearLayout, android.view.View
|
||||
public void onMeasure(int i, int i2) {
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(Math.min(getResources().getDisplayMetrics().widthPixels - (this.mBrowserActionsMenuMinPaddingPx * 2), this.mBrowserActionsMenuMaxWidthPx), 1073741824), i2);
|
||||
super.onMeasure(View.MeasureSpec.makeMeasureSpec(Math.min(getResources().getDisplayMetrics().widthPixels - (this.mBrowserActionsMenuMinPaddingPx * 2), this.mBrowserActionsMenuMaxWidthPx), BasicMeasure.EXACTLY), i2);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ public class BrowserActionsIntent {
|
|||
public static final class Builder {
|
||||
private Context mContext;
|
||||
private List<Uri> mImageUris = new ArrayList();
|
||||
private final Intent mIntent = new Intent("androidx.browser.browseractions.browser_action_open");
|
||||
private final Intent mIntent = new Intent(BrowserActionsIntent.ACTION_BROWSER_ACTIONS_OPEN);
|
||||
private ArrayList<Bundle> mMenuItems = new ArrayList<>();
|
||||
@Nullable
|
||||
private PendingIntent mOnItemSelectedPendingIntent = null;
|
||||
|
@ -84,13 +84,13 @@ public class BrowserActionsIntent {
|
|||
@NonNull
|
||||
private Bundle getBundleFromItem(@NonNull BrowserActionItem browserActionItem) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("androidx.browser.browseractions.TITLE", browserActionItem.getTitle());
|
||||
bundle.putParcelable("androidx.browser.browseractions.ACTION", browserActionItem.getAction());
|
||||
bundle.putString(BrowserActionsIntent.KEY_TITLE, browserActionItem.getTitle());
|
||||
bundle.putParcelable(BrowserActionsIntent.KEY_ACTION, browserActionItem.getAction());
|
||||
if (browserActionItem.getIconId() != 0) {
|
||||
bundle.putInt("androidx.browser.browseractions.ICON_ID", browserActionItem.getIconId());
|
||||
bundle.putInt(BrowserActionsIntent.KEY_ICON_ID, browserActionItem.getIconId());
|
||||
}
|
||||
if (browserActionItem.getIconUri() != null) {
|
||||
bundle.putParcelable("androidx.browser.browseractions.ICON_URI", browserActionItem.getIconUri());
|
||||
bundle.putParcelable(BrowserActionsIntent.KEY_ICON_URI, browserActionItem.getIconUri());
|
||||
}
|
||||
return bundle;
|
||||
}
|
||||
|
@ -98,12 +98,12 @@ public class BrowserActionsIntent {
|
|||
@NonNull
|
||||
public BrowserActionsIntent build() {
|
||||
this.mIntent.setData(this.mUri);
|
||||
this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
|
||||
this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
|
||||
this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", PendingIntent.getActivity(this.mContext, 0, new Intent(), 0));
|
||||
this.mIntent.putExtra(BrowserActionsIntent.EXTRA_TYPE, this.mType);
|
||||
this.mIntent.putParcelableArrayListExtra(BrowserActionsIntent.EXTRA_MENU_ITEMS, this.mMenuItems);
|
||||
this.mIntent.putExtra(BrowserActionsIntent.EXTRA_APP_ID, PendingIntent.getActivity(this.mContext, 0, new Intent(), 0));
|
||||
PendingIntent pendingIntent = this.mOnItemSelectedPendingIntent;
|
||||
if (pendingIntent != null) {
|
||||
this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", pendingIntent);
|
||||
this.mIntent.putExtra(BrowserActionsIntent.EXTRA_SELECTED_ACTION_PENDING_INTENT, pendingIntent);
|
||||
}
|
||||
BrowserServiceFileProvider.grantReadPermission(this.mIntent, this.mImageUris, this.mContext);
|
||||
return new BrowserActionsIntent(this.mIntent);
|
||||
|
@ -151,7 +151,7 @@ public class BrowserActionsIntent {
|
|||
@NonNull
|
||||
@RestrictTo({RestrictTo.Scope.LIBRARY})
|
||||
public static List<ResolveInfo> getBrowserActionsIntentHandlers(@NonNull Context context) {
|
||||
return context.getPackageManager().queryIntentActivities(new Intent("androidx.browser.browseractions.browser_action_open", Uri.parse("https://www.example.com")), 131072);
|
||||
return context.getPackageManager().queryIntentActivities(new Intent(ACTION_BROWSER_ACTIONS_OPEN, Uri.parse(TEST_URL)), 131072);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -162,7 +162,7 @@ public class BrowserActionsIntent {
|
|||
|
||||
@Nullable
|
||||
public static String getUntrustedCreatorPackageName(@NonNull Intent intent) {
|
||||
PendingIntent pendingIntent = (PendingIntent) intent.getParcelableExtra("androidx.browser.browseractions.APP_ID");
|
||||
PendingIntent pendingIntent = (PendingIntent) intent.getParcelableExtra(EXTRA_APP_ID);
|
||||
if (pendingIntent != null) {
|
||||
return pendingIntent.getCreatorPackage();
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ public class BrowserActionsIntent {
|
|||
if (list.size() == 1) {
|
||||
intent.setPackage(list.get(0).activityInfo.packageName);
|
||||
} else {
|
||||
ResolveInfo resolveActivity = context.getPackageManager().resolveActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://www.example.com")), 65536);
|
||||
ResolveInfo resolveActivity = context.getPackageManager().resolveActivity(new Intent("android.intent.action.VIEW", Uri.parse(TEST_URL)), 65536);
|
||||
if (resolveActivity != null) {
|
||||
String str = resolveActivity.activityInfo.packageName;
|
||||
while (true) {
|
||||
|
@ -212,7 +212,7 @@ public class BrowserActionsIntent {
|
|||
|
||||
private static void openFallbackBrowserActionsMenu(Context context, Intent intent) {
|
||||
Uri data = intent.getData();
|
||||
ArrayList parcelableArrayListExtra = intent.getParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS");
|
||||
ArrayList parcelableArrayListExtra = intent.getParcelableArrayListExtra(EXTRA_MENU_ITEMS);
|
||||
openFallbackBrowserActionsMenu(context, data, parcelableArrayListExtra != null ? parseBrowserActionItems(parcelableArrayListExtra) : null);
|
||||
}
|
||||
|
||||
|
@ -229,10 +229,10 @@ public class BrowserActionsIntent {
|
|||
ArrayList arrayList2 = new ArrayList();
|
||||
for (int i = 0; i < arrayList.size(); i++) {
|
||||
Bundle bundle = arrayList.get(i);
|
||||
String string = bundle.getString("androidx.browser.browseractions.TITLE");
|
||||
PendingIntent pendingIntent = (PendingIntent) bundle.getParcelable("androidx.browser.browseractions.ACTION");
|
||||
int i2 = bundle.getInt("androidx.browser.browseractions.ICON_ID");
|
||||
Uri uri = (Uri) bundle.getParcelable("androidx.browser.browseractions.ICON_URI");
|
||||
String string = bundle.getString(KEY_TITLE);
|
||||
PendingIntent pendingIntent = (PendingIntent) bundle.getParcelable(KEY_ACTION);
|
||||
int i2 = bundle.getInt(KEY_ICON_ID);
|
||||
Uri uri = (Uri) bundle.getParcelable(KEY_ICON_URI);
|
||||
if (TextUtils.isEmpty(string) || pendingIntent == null) {
|
||||
throw new IllegalArgumentException("Custom item should contain a non-empty title and non-null intent.");
|
||||
}
|
||||
|
|
|
@ -94,16 +94,16 @@ public final class BrowserServiceFileProvider extends FileProvider {
|
|||
}
|
||||
|
||||
private static boolean shouldCleanUp(SharedPreferences sharedPreferences) {
|
||||
return System.currentTimeMillis() > sharedPreferences.getLong("last_cleanup_time", System.currentTimeMillis()) + CLEANUP_REQUIRED_TIME_SPAN;
|
||||
return System.currentTimeMillis() > sharedPreferences.getLong(BrowserServiceFileProvider.LAST_CLEANUP_TIME_KEY, System.currentTimeMillis()) + CLEANUP_REQUIRED_TIME_SPAN;
|
||||
}
|
||||
|
||||
public Void doInBackground(Void... voidArr) {
|
||||
SharedPreferences sharedPreferences = this.mAppContext.getSharedPreferences(this.mAppContext.getPackageName() + ".image_provider", 0);
|
||||
SharedPreferences sharedPreferences = this.mAppContext.getSharedPreferences(this.mAppContext.getPackageName() + BrowserServiceFileProvider.AUTHORITY_SUFFIX, 0);
|
||||
if (!shouldCleanUp(sharedPreferences)) {
|
||||
return null;
|
||||
}
|
||||
synchronized (BrowserServiceFileProvider.sFileCleanupLock) {
|
||||
File file = new File(this.mAppContext.getFilesDir(), "image_provider");
|
||||
File file = new File(this.mAppContext.getFilesDir(), BrowserServiceFileProvider.FILE_SUB_DIR);
|
||||
if (!file.exists()) {
|
||||
return null;
|
||||
}
|
||||
|
@ -113,14 +113,14 @@ public final class BrowserServiceFileProvider extends FileProvider {
|
|||
for (File file2 : listFiles) {
|
||||
if (isImageFile(file2)) {
|
||||
if (file2.lastModified() < currentTimeMillis && !file2.delete()) {
|
||||
Log.e("BrowserServiceFP", "Fail to delete image: " + file2.getAbsoluteFile());
|
||||
Log.e(BrowserServiceFileProvider.TAG, "Fail to delete image: " + file2.getAbsoluteFile());
|
||||
z2 = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
long currentTimeMillis2 = z2 ? System.currentTimeMillis() : (System.currentTimeMillis() - CLEANUP_REQUIRED_TIME_SPAN) + DELETION_FAILED_REATTEMPT_DURATION;
|
||||
SharedPreferences.Editor edit = sharedPreferences.edit();
|
||||
edit.putLong("last_cleanup_time", currentTimeMillis2);
|
||||
edit.putLong(BrowserServiceFileProvider.LAST_CLEANUP_TIME_KEY, currentTimeMillis2);
|
||||
edit.apply();
|
||||
return null;
|
||||
}
|
||||
|
@ -176,10 +176,10 @@ public final class BrowserServiceFileProvider extends FileProvider {
|
|||
}
|
||||
|
||||
private void saveFileIfNeededBlocking() {
|
||||
File file = new File(this.mAppContext.getFilesDir(), "image_provider");
|
||||
File file = new File(this.mAppContext.getFilesDir(), BrowserServiceFileProvider.FILE_SUB_DIR);
|
||||
synchronized (BrowserServiceFileProvider.sFileCleanupLock) {
|
||||
if (file.exists() || file.mkdir()) {
|
||||
File file2 = new File(file, this.mFilename + ".png");
|
||||
File file2 = new File(file, this.mFilename + BrowserServiceFileProvider.FILE_EXTENSION);
|
||||
if (file2.exists()) {
|
||||
this.mResultFuture.set(this.mFileUri);
|
||||
} else {
|
||||
|
@ -203,16 +203,16 @@ public final class BrowserServiceFileProvider extends FileProvider {
|
|||
}
|
||||
|
||||
private static Uri generateUri(Context context, String str) {
|
||||
String t = a.t("image_provider_images/", str, ".png");
|
||||
Uri.Builder scheme = new Uri.Builder().scheme("content");
|
||||
return scheme.authority(context.getPackageName() + ".image_provider").path(t).build();
|
||||
String t = a.t(FILE_SUB_DIR_NAME, str, FILE_EXTENSION);
|
||||
Uri.Builder scheme = new Uri.Builder().scheme(CONTENT_SCHEME);
|
||||
return scheme.authority(context.getPackageName() + AUTHORITY_SUFFIX).path(t).build();
|
||||
}
|
||||
|
||||
public static void grantReadPermission(@NonNull Intent intent, @Nullable List<Uri> list, @NonNull Context context) {
|
||||
if (!(list == null || list.size() == 0)) {
|
||||
ContentResolver contentResolver = context.getContentResolver();
|
||||
intent.addFlags(1);
|
||||
ClipData newUri = ClipData.newUri(contentResolver, "image_provider_uris", list.get(0));
|
||||
ClipData newUri = ClipData.newUri(contentResolver, CLIP_DATA_LABEL, list.get(0));
|
||||
for (int i = 1; i < list.size(); i++) {
|
||||
newUri.addItem(new ClipData.Item(list.get(i)));
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.os.Bundle;
|
|||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.view.ViewCompat;
|
||||
public final class CustomTabColorSchemeParams {
|
||||
@Nullable
|
||||
@ColorInt
|
||||
|
@ -39,7 +40,7 @@ public final class CustomTabColorSchemeParams {
|
|||
|
||||
@NonNull
|
||||
public Builder setNavigationBarColor(@ColorInt int i) {
|
||||
this.mNavigationBarColor = Integer.valueOf(i | -16777216);
|
||||
this.mNavigationBarColor = Integer.valueOf(i | ViewCompat.MEASURED_STATE_MASK);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -57,7 +58,7 @@ public final class CustomTabColorSchemeParams {
|
|||
|
||||
@NonNull
|
||||
public Builder setToolbarColor(@ColorInt int i) {
|
||||
this.mToolbarColor = Integer.valueOf(i | -16777216);
|
||||
this.mToolbarColor = Integer.valueOf(i | ViewCompat.MEASURED_STATE_MASK);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +75,7 @@ public final class CustomTabColorSchemeParams {
|
|||
if (bundle == null) {
|
||||
bundle = new Bundle(0);
|
||||
}
|
||||
return new CustomTabColorSchemeParams((Integer) bundle.get("android.support.customtabs.extra.TOOLBAR_COLOR"), (Integer) bundle.get("android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR"), (Integer) bundle.get("androidx.browser.customtabs.extra.NAVIGATION_BAR_COLOR"), (Integer) bundle.get("androidx.browser.customtabs.extra.NAVIGATION_BAR_DIVIDER_COLOR"));
|
||||
return new CustomTabColorSchemeParams((Integer) bundle.get(CustomTabsIntent.EXTRA_TOOLBAR_COLOR), (Integer) bundle.get(CustomTabsIntent.EXTRA_SECONDARY_TOOLBAR_COLOR), (Integer) bundle.get(CustomTabsIntent.EXTRA_NAVIGATION_BAR_COLOR), (Integer) bundle.get(CustomTabsIntent.EXTRA_NAVIGATION_BAR_DIVIDER_COLOR));
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -82,19 +83,19 @@ public final class CustomTabColorSchemeParams {
|
|||
Bundle bundle = new Bundle();
|
||||
Integer num = this.toolbarColor;
|
||||
if (num != null) {
|
||||
bundle.putInt("android.support.customtabs.extra.TOOLBAR_COLOR", num.intValue());
|
||||
bundle.putInt(CustomTabsIntent.EXTRA_TOOLBAR_COLOR, num.intValue());
|
||||
}
|
||||
Integer num2 = this.secondaryToolbarColor;
|
||||
if (num2 != null) {
|
||||
bundle.putInt("android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR", num2.intValue());
|
||||
bundle.putInt(CustomTabsIntent.EXTRA_SECONDARY_TOOLBAR_COLOR, num2.intValue());
|
||||
}
|
||||
Integer num3 = this.navigationBarColor;
|
||||
if (num3 != null) {
|
||||
bundle.putInt("androidx.browser.customtabs.extra.NAVIGATION_BAR_COLOR", num3.intValue());
|
||||
bundle.putInt(CustomTabsIntent.EXTRA_NAVIGATION_BAR_COLOR, num3.intValue());
|
||||
}
|
||||
Integer num4 = this.navigationBarDividerColor;
|
||||
if (num4 != null) {
|
||||
bundle.putInt("androidx.browser.customtabs.extra.NAVIGATION_BAR_DIVIDER_COLOR", num4.intValue());
|
||||
bundle.putInt(CustomTabsIntent.EXTRA_NAVIGATION_BAR_DIVIDER_COLOR, num4.intValue());
|
||||
}
|
||||
return bundle;
|
||||
}
|
||||
|
|
|
@ -191,7 +191,7 @@ public class CustomTabsClient {
|
|||
|
||||
public static boolean bindCustomTabsService(@NonNull Context context, @Nullable String str, @NonNull CustomTabsServiceConnection customTabsServiceConnection) {
|
||||
customTabsServiceConnection.setApplicationContext(context.getApplicationContext());
|
||||
Intent intent = new Intent("android.support.customtabs.action.CustomTabsService");
|
||||
Intent intent = new Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
|
||||
if (!TextUtils.isEmpty(str)) {
|
||||
intent.setPackage(str);
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ public class CustomTabsClient {
|
|||
|
||||
public static boolean bindCustomTabsServicePreservePriority(@NonNull Context context, @Nullable String str, @NonNull CustomTabsServiceConnection customTabsServiceConnection) {
|
||||
customTabsServiceConnection.setApplicationContext(context.getApplicationContext());
|
||||
Intent intent = new Intent("android.support.customtabs.action.CustomTabsService");
|
||||
Intent intent = new Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
|
||||
if (!TextUtils.isEmpty(str)) {
|
||||
intent.setPackage(str);
|
||||
}
|
||||
|
@ -247,7 +247,7 @@ public class CustomTabsClient {
|
|||
}
|
||||
arrayList = arrayList2;
|
||||
}
|
||||
Intent intent2 = new Intent("android.support.customtabs.action.CustomTabsService");
|
||||
Intent intent2 = new Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
|
||||
for (String str2 : arrayList) {
|
||||
intent2.setPackage(str2);
|
||||
if (packageManager.resolveService(intent2, 0) != null) {
|
||||
|
@ -257,7 +257,7 @@ public class CustomTabsClient {
|
|||
if (Build.VERSION.SDK_INT < 30) {
|
||||
return null;
|
||||
}
|
||||
Log.w("CustomTabsClient", "Unable to find any Custom Tabs packages, you may need to add a <queries> element to your manifest. See the docs for CustomTabsClient#getPackageName.");
|
||||
Log.w(TAG, "Unable to find any Custom Tabs packages, you may need to add a <queries> element to your manifest. See the docs for CustomTabsClient#getPackageName.");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -274,7 +274,7 @@ public class CustomTabsClient {
|
|||
if (pendingIntent != null) {
|
||||
try {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("android.support.customtabs.extra.SESSION_ID", pendingIntent);
|
||||
bundle.putParcelable(CustomTabsIntent.EXTRA_SESSION_ID, pendingIntent);
|
||||
z2 = this.mService.newSessionWithExtras(createCallbackWrapper, bundle);
|
||||
} catch (RemoteException unused) {
|
||||
return null;
|
||||
|
|
|
@ -99,9 +99,9 @@ public final class CustomTabsIntent {
|
|||
|
||||
private void setSessionParameters(@Nullable IBinder iBinder, @Nullable PendingIntent pendingIntent) {
|
||||
Bundle bundle = new Bundle();
|
||||
BundleCompat.putBinder(bundle, "android.support.customtabs.extra.SESSION", iBinder);
|
||||
BundleCompat.putBinder(bundle, CustomTabsIntent.EXTRA_SESSION, iBinder);
|
||||
if (pendingIntent != null) {
|
||||
bundle.putParcelable("android.support.customtabs.extra.SESSION_ID", pendingIntent);
|
||||
bundle.putParcelable(CustomTabsIntent.EXTRA_SESSION_ID, pendingIntent);
|
||||
}
|
||||
this.mIntent.putExtras(bundle);
|
||||
}
|
||||
|
@ -119,8 +119,8 @@ public final class CustomTabsIntent {
|
|||
this.mMenuItems = new ArrayList<>();
|
||||
}
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("android.support.customtabs.customaction.MENU_ITEM_TITLE", str);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.PENDING_INTENT", pendingIntent);
|
||||
bundle.putString(CustomTabsIntent.KEY_MENU_ITEM_TITLE, str);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_PENDING_INTENT, pendingIntent);
|
||||
this.mMenuItems.add(bundle);
|
||||
return this;
|
||||
}
|
||||
|
@ -133,10 +133,10 @@ public final class CustomTabsIntent {
|
|||
}
|
||||
if (this.mActionButtons.size() < 5) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("android.support.customtabs.customaction.ID", i);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.ICON", bitmap);
|
||||
bundle.putString("android.support.customtabs.customaction.DESCRIPTION", str);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.PENDING_INTENT", pendingIntent);
|
||||
bundle.putInt(CustomTabsIntent.KEY_ID, i);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_ICON, bitmap);
|
||||
bundle.putString(CustomTabsIntent.KEY_DESCRIPTION, str);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_PENDING_INTENT, pendingIntent);
|
||||
this.mActionButtons.add(bundle);
|
||||
return this;
|
||||
}
|
||||
|
@ -145,18 +145,18 @@ public final class CustomTabsIntent {
|
|||
|
||||
@NonNull
|
||||
public CustomTabsIntent build() {
|
||||
if (!this.mIntent.hasExtra("android.support.customtabs.extra.SESSION")) {
|
||||
if (!this.mIntent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
|
||||
setSessionParameters(null, null);
|
||||
}
|
||||
ArrayList<Bundle> arrayList = this.mMenuItems;
|
||||
if (arrayList != null) {
|
||||
this.mIntent.putParcelableArrayListExtra("android.support.customtabs.extra.MENU_ITEMS", arrayList);
|
||||
this.mIntent.putParcelableArrayListExtra(CustomTabsIntent.EXTRA_MENU_ITEMS, arrayList);
|
||||
}
|
||||
ArrayList<Bundle> arrayList2 = this.mActionButtons;
|
||||
if (arrayList2 != null) {
|
||||
this.mIntent.putParcelableArrayListExtra("android.support.customtabs.extra.TOOLBAR_ITEMS", arrayList2);
|
||||
this.mIntent.putParcelableArrayListExtra(CustomTabsIntent.EXTRA_TOOLBAR_ITEMS, arrayList2);
|
||||
}
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.EXTRA_ENABLE_INSTANT_APPS", this.mInstantAppsEnabled);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS, this.mInstantAppsEnabled);
|
||||
this.mIntent.putExtras(this.mDefaultColorSchemeBuilder.build().toBundle());
|
||||
Bundle bundle = this.mDefaultColorSchemeBundle;
|
||||
if (bundle != null) {
|
||||
|
@ -164,17 +164,17 @@ public final class CustomTabsIntent {
|
|||
}
|
||||
if (this.mColorSchemeParamBundles != null) {
|
||||
Bundle bundle2 = new Bundle();
|
||||
bundle2.putSparseParcelableArray("androidx.browser.customtabs.extra.COLOR_SCHEME_PARAMS", this.mColorSchemeParamBundles);
|
||||
bundle2.putSparseParcelableArray(CustomTabsIntent.EXTRA_COLOR_SCHEME_PARAMS, this.mColorSchemeParamBundles);
|
||||
this.mIntent.putExtras(bundle2);
|
||||
}
|
||||
this.mIntent.putExtra("androidx.browser.customtabs.extra.SHARE_STATE", this.mShareState);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_SHARE_STATE, this.mShareState);
|
||||
return new CustomTabsIntent(this.mIntent, this.mStartAnimationBundle);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public Builder enableUrlBarHiding() {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.ENABLE_URLBAR_HIDING", true);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_ENABLE_URLBAR_HIDING, true);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -186,18 +186,18 @@ public final class CustomTabsIntent {
|
|||
@NonNull
|
||||
public Builder setActionButton(@NonNull Bitmap bitmap, @NonNull String str, @NonNull PendingIntent pendingIntent, boolean z2) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("android.support.customtabs.customaction.ID", 0);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.ICON", bitmap);
|
||||
bundle.putString("android.support.customtabs.customaction.DESCRIPTION", str);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.PENDING_INTENT", pendingIntent);
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.ACTION_BUTTON_BUNDLE", bundle);
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.TINT_ACTION_BUTTON", z2);
|
||||
bundle.putInt(CustomTabsIntent.KEY_ID, 0);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_ICON, bitmap);
|
||||
bundle.putString(CustomTabsIntent.KEY_DESCRIPTION, str);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_PENDING_INTENT, pendingIntent);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_ACTION_BUTTON_BUNDLE, bundle);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_TINT_ACTION_BUTTON, z2);
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder setCloseButtonIcon(@NonNull Bitmap bitmap) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.CLOSE_BUTTON_ICON", bitmap);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_CLOSE_BUTTON_ICON, bitmap);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ public final class CustomTabsIntent {
|
|||
if (i < 0 || i > 2) {
|
||||
throw new IllegalArgumentException("Invalid value for the colorScheme argument");
|
||||
}
|
||||
this.mIntent.putExtra("androidx.browser.customtabs.extra.COLOR_SCHEME", i);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_COLOR_SCHEME, i);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -241,7 +241,7 @@ public final class CustomTabsIntent {
|
|||
|
||||
@NonNull
|
||||
public Builder setExitAnimations(@NonNull Context context, @AnimRes int i, @AnimRes int i2) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.EXIT_ANIMATION_BUNDLE", ActivityOptionsCompat.makeCustomAnimation(context, i, i2).toBundle());
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_EXIT_ANIMATION_BUNDLE, ActivityOptionsCompat.makeCustomAnimation(context, i, i2).toBundle());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -281,9 +281,9 @@ public final class CustomTabsIntent {
|
|||
|
||||
@NonNull
|
||||
public Builder setSecondaryToolbarViews(@NonNull RemoteViews remoteViews, @Nullable int[] iArr, @Nullable PendingIntent pendingIntent) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.EXTRA_REMOTEVIEWS", remoteViews);
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS", iArr);
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT", pendingIntent);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_REMOTEVIEWS, remoteViews);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_REMOTEVIEWS_VIEW_IDS, iArr);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_REMOTEVIEWS_PENDINGINTENT, pendingIntent);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -301,18 +301,18 @@ public final class CustomTabsIntent {
|
|||
}
|
||||
this.mShareState = i;
|
||||
if (i == 1) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.SHARE_MENU_ITEM", true);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_DEFAULT_SHARE_MENU_ITEM, true);
|
||||
} else if (i == 2) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.SHARE_MENU_ITEM", false);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_DEFAULT_SHARE_MENU_ITEM, false);
|
||||
} else {
|
||||
this.mIntent.removeExtra("android.support.customtabs.extra.SHARE_MENU_ITEM");
|
||||
this.mIntent.removeExtra(CustomTabsIntent.EXTRA_DEFAULT_SHARE_MENU_ITEM);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder setShowTitle(boolean z2) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.TITLE_VISIBILITY", z2 ? 1 : 0);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_TITLE_VISIBILITY_STATE, z2 ? 1 : 0);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -331,7 +331,7 @@ public final class CustomTabsIntent {
|
|||
|
||||
@NonNull
|
||||
public Builder setUrlBarHidingEnabled(boolean z2) {
|
||||
this.mIntent.putExtra("android.support.customtabs.extra.ENABLE_URLBAR_HIDING", z2);
|
||||
this.mIntent.putExtra(CustomTabsIntent.EXTRA_ENABLE_URLBAR_HIDING, z2);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
@ -362,7 +362,7 @@ public final class CustomTabsIntent {
|
|||
return CustomTabColorSchemeParams.fromBundle(null);
|
||||
}
|
||||
CustomTabColorSchemeParams fromBundle = CustomTabColorSchemeParams.fromBundle(extras);
|
||||
SparseArray sparseParcelableArray = extras.getSparseParcelableArray("androidx.browser.customtabs.extra.COLOR_SCHEME_PARAMS");
|
||||
SparseArray sparseParcelableArray = extras.getSparseParcelableArray(EXTRA_COLOR_SCHEME_PARAMS);
|
||||
return (sparseParcelableArray == null || (bundle = (Bundle) sparseParcelableArray.get(i)) == null) ? fromBundle : CustomTabColorSchemeParams.fromBundle(bundle).withDefaults(fromBundle);
|
||||
}
|
||||
|
||||
|
@ -376,12 +376,12 @@ public final class CustomTabsIntent {
|
|||
intent = new Intent("android.intent.action.VIEW");
|
||||
}
|
||||
intent.addFlags(268435456);
|
||||
intent.putExtra("android.support.customtabs.extra.user_opt_out", true);
|
||||
intent.putExtra(EXTRA_USER_OPT_OUT_FROM_CUSTOM_TABS, true);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static boolean shouldAlwaysUseBrowserUI(@NonNull Intent intent) {
|
||||
return intent.getBooleanExtra("android.support.customtabs.extra.user_opt_out", false) && (intent.getFlags() & 268435456) != 0;
|
||||
return intent.getBooleanExtra(EXTRA_USER_OPT_OUT_FROM_CUSTOM_TABS, false) && (intent.getFlags() & 268435456) != 0;
|
||||
}
|
||||
|
||||
public void launchUrl(@NonNull Context context, @NonNull Uri uri) {
|
||||
|
|
|
@ -46,8 +46,8 @@ public abstract class CustomTabsService extends Service {
|
|||
if (bundle == null) {
|
||||
return null;
|
||||
}
|
||||
PendingIntent pendingIntent = (PendingIntent) bundle.getParcelable("android.support.customtabs.extra.SESSION_ID");
|
||||
bundle.remove("android.support.customtabs.extra.SESSION_ID");
|
||||
PendingIntent pendingIntent = (PendingIntent) bundle.getParcelable(CustomTabsIntent.EXTRA_SESSION_ID);
|
||||
bundle.remove(CustomTabsIntent.EXTRA_SESSION_ID);
|
||||
return pendingIntent;
|
||||
}
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ public final class CustomTabsSession {
|
|||
private void addIdToBundle(Bundle bundle) {
|
||||
PendingIntent pendingIntent = this.mId;
|
||||
if (pendingIntent != null) {
|
||||
bundle.putParcelable("android.support.customtabs.extra.SESSION_ID", pendingIntent);
|
||||
bundle.putParcelable(CustomTabsIntent.EXTRA_SESSION_ID, pendingIntent);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -188,10 +188,10 @@ public final class CustomTabsSession {
|
|||
|
||||
public boolean setActionButton(@NonNull Bitmap bitmap, @NonNull String str) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("android.support.customtabs.customaction.ICON", bitmap);
|
||||
bundle.putString("android.support.customtabs.customaction.DESCRIPTION", str);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_ICON, bitmap);
|
||||
bundle.putString(CustomTabsIntent.KEY_DESCRIPTION, str);
|
||||
Bundle bundle2 = new Bundle();
|
||||
bundle2.putBundle("android.support.customtabs.extra.ACTION_BUTTON_BUNDLE", bundle);
|
||||
bundle2.putBundle(CustomTabsIntent.EXTRA_ACTION_BUTTON_BUNDLE, bundle);
|
||||
addIdToBundle(bundle);
|
||||
try {
|
||||
return this.mService.updateVisuals(this.mCallback, bundle2);
|
||||
|
@ -202,9 +202,9 @@ public final class CustomTabsSession {
|
|||
|
||||
public boolean setSecondaryToolbarViews(@Nullable RemoteViews remoteViews, @Nullable int[] iArr, @Nullable PendingIntent pendingIntent) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("android.support.customtabs.extra.EXTRA_REMOTEVIEWS", remoteViews);
|
||||
bundle.putIntArray("android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS", iArr);
|
||||
bundle.putParcelable("android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT", pendingIntent);
|
||||
bundle.putParcelable(CustomTabsIntent.EXTRA_REMOTEVIEWS, remoteViews);
|
||||
bundle.putIntArray(CustomTabsIntent.EXTRA_REMOTEVIEWS_VIEW_IDS, iArr);
|
||||
bundle.putParcelable(CustomTabsIntent.EXTRA_REMOTEVIEWS_PENDINGINTENT, pendingIntent);
|
||||
addIdToBundle(bundle);
|
||||
try {
|
||||
return this.mService.updateVisuals(this.mCallback, bundle);
|
||||
|
@ -216,11 +216,11 @@ public final class CustomTabsSession {
|
|||
@Deprecated
|
||||
public boolean setToolbarItem(int i, @NonNull Bitmap bitmap, @NonNull String str) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("android.support.customtabs.customaction.ID", i);
|
||||
bundle.putParcelable("android.support.customtabs.customaction.ICON", bitmap);
|
||||
bundle.putString("android.support.customtabs.customaction.DESCRIPTION", str);
|
||||
bundle.putInt(CustomTabsIntent.KEY_ID, i);
|
||||
bundle.putParcelable(CustomTabsIntent.KEY_ICON, bitmap);
|
||||
bundle.putString(CustomTabsIntent.KEY_DESCRIPTION, str);
|
||||
Bundle bundle2 = new Bundle();
|
||||
bundle2.putBundle("android.support.customtabs.extra.ACTION_BUTTON_BUNDLE", bundle);
|
||||
bundle2.putBundle(CustomTabsIntent.EXTRA_ACTION_BUTTON_BUNDLE, bundle);
|
||||
addIdToBundle(bundle2);
|
||||
try {
|
||||
return this.mService.updateVisuals(this.mCallback, bundle2);
|
||||
|
|