Resource merging

This commit is contained in:
maelstrom 2024-07-19 14:46:18 +02:00
parent fde55e3a96
commit b78fed57f4
31 changed files with 18300 additions and 2 deletions

3
.gitignore vendored
View file

@ -9,7 +9,8 @@ build/
## ykit ## ykit
source-apk/*.apk source-apk/*.apk
tools/*
# Temporary

6
.idea/vcs.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View file

@ -3,7 +3,7 @@ plugins {
} }
group = 'dev.maelstrom' group = 'dev.maelstrom'
version = '1.0-SNAPSHOT' version = '0.3-SNAPSHOT'
repositories { repositories {
mavenCentral() mavenCentral()
@ -16,4 +16,30 @@ dependencies {
test { test {
useJUnitPlatform() useJUnitPlatform()
}
tasks.register('extractApk', JavaExec) {
onlyIf {
!file('build/extracted').exists()
}
classpath = files('tools/apktool_2.9.3.jar')
args = ['d', 'source-apk/tumblr.apk', '-o', 'build/extracted']
}
// NOTE: Maybe broken if gradle thinks the extracted files are newer?
tasks.register('mergeResources') {
dependsOn tasks.extractApk
doLast {
copy {
from 'build/extracted'
into 'build/merged'
exclude 'smali_classes*', 'smali'
}
copy {
from 'src/main/resources'
into 'build/merged'
}
}
} }

View file

@ -0,0 +1,491 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="34" android:compileSdkVersionCodename="14" package="com.tumblr" platformBuildVersionCode="34" platformBuildVersionName="14">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:maxSdkVersion="32" android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<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.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.wifi" android:required="false"/>
<uses-feature android:name="android.hardware.screen.portrait" android:required="false"/>
<uses-feature android:name="android.hardware.TOUCHSCREEN" android:required="false"/>
<permission android:name="com.tumblr.permissions.RECEIVER" android:protectionLevel="signature"/>
<uses-permission android:name="com.tumblr.permissions.RECEIVER"/>
<queries>
<package android:name="com.ideashower.readitlater.pro"/>
<intent>
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="text/plain"/>
</intent>
<intent>
<action android:name="android.intent.action.VIEW"/>
<data android:scheme="otpauth"/>
</intent>
<package android:name="com.android.vending"/>
<package android:name="com.google.android.engage.verifyapp"/>
<intent>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https"/>
</intent>
<intent>
<action android:name="android.support.customtabs.action.CustomTabsService"/>
</intent>
<package android:name="com.facebook.katana"/>
<intent>
<action android:name="com.android.vending.billing.InAppBillingService.BIND"/>
</intent>
</queries>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<permission android:name="com.tumblr.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature"/>
<uses-permission android:name="com.tumblr.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.READ_APP_BADGE"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_READ"/>
<uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_WRITE"/>
<application android:allowBackup="false" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:debuggable="true" android:extractNativeLibs="false" android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/tumblr_app_name" android:largeHeap="true" android:localeConfig="@xml/locales_config" android:name="com.tumblr.App" android:networkSecurityConfig="@xml/network_security_config" android:requestLegacyExternalStorage="true" android:supportsRtl="false" android:theme="@style/Theme.Tumblr" android:usesCleartextTraffic="true">
<profileable android:shell="true"/>
<activity android:name="com.tumblr.onboarding.OnboardingActivity" android:screenOrientation="portrait" android:theme="@style/Onboarding.Step"/>
<activity android:name="com.tumblr.onboarding.preonboarding.CombinedPreOnboardingActivity" android:screenOrientation="portrait" android:theme="@style/Onboarding"/>
<activity android:label="@string/third_party_auth_login_options" android:name="com.tumblr.onboarding.options.LoginOptionsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/settings_birthday" android:name="com.tumblr.onboarding.options.BirthdayOptionsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:configChanges="orientation|screenSize" android:label="" android:name="com.tumblr.onboarding.signup.SignUpActivity" android:screenOrientation="portrait" android:theme="@style/Onboarding.Signup" android:windowSoftInputMode="adjustResize"/>
<activity android:label="@string/subscriptions_settings" android:name="com.tumblr.memberships.subscriptions.SubscriptionsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar"/>
<activity android:name="com.tumblr.memberships.WebCheckoutActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:name="com.tumblr.memberships.WebProvisionActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:name="com.tumblr.memberships.WebPaymentMethodActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:label="" android:name="com.tumblr.memberships.TipJarSetupCompleteActivity" android:screenOrientation="nosensor" android:theme="@style/Theme.Tumblr.NoActionBar.TipJar"/>
<activity android:label="@string/payouts_settings" android:name="com.tumblr.memberships.PayoutsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/tumblrmart" android:name="com.tumblr.tumblrmart.view.TumblrMartV2FrontStoreActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:label="@string/tumblrmart" android:name="com.tumblr.tumblrmart.view.ProductCheckoutActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:label="@string/tumblr_premium" android:name="com.tumblr.premiumold.purchase.PremiumPurchaseActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.PremiumPerks"/>
<activity android:label="@string/tumblr_premium" android:name="com.tumblr.premiumold.purchase.GoAdFreeActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.NoBackground"/>
<activity android:label="@string/tumblr_premium" android:name="com.tumblr.premiumold.settings.PremiumSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/cancel_subscription" android:name="com.tumblr.premiumold.settings.PremiumCancellationActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/adfree_cancellation_survey" android:name="com.tumblr.premiumold.settings.AdFreeCancellationSurveyActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/gifts" android:name="com.tumblr.premiumold.gift.ManageGiftsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.Dark"/>
<activity android:label="@string/payment_and_purchases" android:name="com.tumblr.premiumold.paymentandpurchases.PaymentAndPurchasesActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.Dark"/>
<activity android:name="com.tumblr.notes.view.PostNotesActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name="com.tumblr.blaze.ui.done.BlazeInsightsActivity" android:screenOrientation="portrait"/>
<activity android:name="com.tumblr.blaze.ui.compose.BlazeEntryActivity" android:screenOrientation="portrait"/>
<provider android:authorities="com.tumblr.androidx-startup" android:exported="false" android:name="androidx.startup.InitializationProvider">
<meta-data android:name="com.tumblr.startup.WebviewInitializer" android:value="androidx.startup"/>
<meta-data android:name="com.tumblr.startup.NimbusInitializer" android:value="androidx.startup"/>
<meta-data android:name="com.tumblr.startup.RememberInitializer" android:value="androidx.startup"/>
<meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup"/>
<meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>
<meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer" android:value="androidx.startup"/>
</provider>
<activity android:configChanges="orientation|screenSize" android:name="com.tumblr.videohub.view.VideoHubActivity" android:theme="@style/Theme.Tumblr.VideoHub"/>
<activity android:exported="false" android:label="@string/community_label_settings_title_2" android:name="com.tumblr.communitylabel.view.settings.user.CommunityLabelSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:exported="false" android:label="@string/blog_community_label_settings" android:name="com.tumblr.communitylabel.view.settings.blog.BlogCommunityLabelSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:label="@string/configurable_tabs_toolbar_title" android:launchMode="singleTask" android:name="com.tumblr.configurabletabs.ui.ConfigureDashboardTabsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:name="com.tumblr.badges.badges.supporterbadge.view.SupporterBadgeActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:name="com.tumblr.badges.badges.freeclaim.view.FreeBadgeClaimActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<receiver android:enabled="true" android:exported="true" android:name="com.tumblr.engagement.AppEngagementBroadcastReceiver">
<intent-filter>
<action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION"/>
</intent-filter>
</receiver>
<activity android:label="@string/delete_account" android:name="com.tumblr.accountdeletion.DeleteAccountActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings" android:windowSoftInputMode="adjustResize"/>
<activity android:exported="false" android:label="@string/sexually_explicit_content_appeal" android:name="com.tumblr.appeal.view.adultcontent.AdultContentAppealActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:exported="false" android:name="com.tumblr.premium.onboarding.PremiumOnboardingActivity" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:exported="false" android:name="com.tumblr.premium.perks.PremiumPerksActivity" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:exported="false" android:name="com.tumblr.premium.payments.PaymentsAndPurchasesActivity" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:exported="false" android:label="@string/cancel_subscription" android:name="com.tumblr.premium.cancel.PremiumCancelActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<provider android:authorities="com.tumblr" android:exported="false" android:label="Tumblr" android:name="com.tumblr.content.TumblrProvider" android:syncable="true"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-5932904123661942~3080059875"/>
<meta-data android:name="android.max_aspect" android:value="2.1"/>
<meta-data android:name="ignore_ssl_errors" android:value="false"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/FACEBOOK_APP_ID"/>
<meta-data android:name="com.samsung.android.icon_container.has_icon_container" android:value="true"/>
<meta-data android:name="com.google.android.engage.service.ENV" android:value="PRODUCTION"/>
<activity android:exported="true" android:launchMode="@integer/launch_mode" android:name="com.tumblr.ui.activity.JumpoffActivity" android:theme="@style/Theme.Tumblr.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PICK"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.facebook.orca.category.PLATFORM_THREAD_20150314"/>
</intent-filter>
<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
</activity>
<activity android:name="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Root"/>
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:name="com.tumblr.ui.activity.webview.WebViewActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBarNoIcon" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.ui.activity.SimpleTimelineActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBarNoIcon"/>
<activity android:name="com.tumblr.ui.activity.BlogHeaderTimelineActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBarNoIcon"/>
<activity android:name="com.tumblr.ui.activity.RidiculousCroppingActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.RidiculousCrop"/>
<activity android:name="com.tumblr.ui.activity.BlogPagesActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Blog">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activity.RootActivity"/>
</activity>
<activity android:label="@string/answertime" android:name="com.tumblr.answertime.AnswertimeActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Answertime"/>
<activity android:name="com.tumblr.ui.activity.GraywaterTakeoverActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:exported="true" android:name="com.tumblr.ui.activity.SearchActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="com.google.android.gms.actions.SEARCH_ACTION"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name="com.tumblr.ui.activity.GraywaterBlogSearchActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<activity android:label="@string/hint_inblog_search" android:name="com.tumblr.ui.widget.blogpages.search.InblogSearchActivity" android:screenOrientation="portrait" android:theme="@style/BlogTagsSearch" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.ui.activity.PostPermalinkTimelineActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:label="@string/edit_appearance" android:name="com.tumblr.ui.activity.CustomizeOpticaBlogPagesActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr" android:windowSoftInputMode="adjustPan|stateHidden"/>
<activity android:label="@string/drafts_title" android:name="com.tumblr.ui.activity.GraywaterDraftsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:label="@string/followers_title" android:name="com.tumblr.ui.activity.FollowerActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Transparent" android:windowSoftInputMode="adjustPan"/>
<activity android:label="@string/blocked_tumblrs_title" android:name="com.tumblr.ui.activity.BlockedTumblrsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Transparent" android:windowSoftInputMode="adjustPan"/>
<activity android:label="@string/inbox_title" android:name="com.tumblr.ui.activity.GraywaterInboxActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activity.RootActivity"/>
</activity>
<activity android:label="@string/setting_label_filter" android:name="com.tumblr.ui.activity.FilterSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:label="@string/setting_media_autoplay" android:name="com.tumblr.ui.activity.MediaAutoplaySettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="YKit Settings" android:name="dev.maelstrom.ykit.settings.YkitSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/setting_label_blog_privacy_title" android:name="com.tumblr.ui.activity.BlogPrivacySettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/setting_label_theme" android:name="com.tumblr.ui.activity.AppThemeSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/pages" android:name="com.tumblr.ui.activity.blog.BlogPagesSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Transparent"/>
<activity android:name="com.tumblr.ui.activity.FullScreenCameraActivity" android:resizeableActivity="false" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.ui.activity.FullScreenCameraPreviewActivity" android:resizeableActivity="false" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.ui.activity.FullScreenEditorActivity" android:resizeableActivity="false" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="adjustResize"/>
<activity android:configChanges="keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize" android:hardwareAccelerated="true" android:name="com.tumblr.ui.activity.FullScreenYouTubePlayerActivity" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:label="@string/queue_title" android:name="com.tumblr.ui.activity.GraywaterQueuedActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar"/>
<activity android:exported="true" android:label="@string/settings" android:name="com.tumblr.settings.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES"/>
</intent-filter>
</activity>
<activity android:label="@string/settings" android:name="com.tumblr.settings.SettingPossibleValuesActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:label="@string/settings" android:name="com.tumblr.settings.accountsettings.AccountSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SolidActionBar.PushSettings"/>
<activity android:name="com.tumblr.rating.RatingMoodActivity" android:theme="@style/Theme.Tumblr.NoActionBar.Rating"/>
<activity android:name="com.tumblr.rating.RatingPromptActivity" android:theme="@style/Theme.Tumblr.NoActionBar.Rating"/>
<activity android:name="com.tumblr.posts.postform.CanvasActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/CanvasTheme" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:name="com.tumblr.posts.tagsearch.TagSearchActivity" android:screenOrientation="portrait" android:theme="@style/TagSearchTheme" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:configChanges="orientation|screenSize" android:name="com.tumblr.ui.activity.GalleryActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.Gallery"/>
<activity android:name="com.tumblr.ui.activity.GalleryPreviewActivity" android:screenOrientation="fullUser" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:name="com.tumblr.ui.activity.AudioPostSearchActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/AudioPostSearch" android:windowSoftInputMode="adjustResize"/>
<activity android:hardwareAccelerated="false" android:label="@string/tumblr_app_name" android:name="com.tumblr.ui.fragment.dialog.AvatarChooseAndCropActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:name="com.tumblr.settings.account.BlogNameChangeActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.Onboarding.NameChange" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.activity.rollup.ActivityNotificationRollupDetailActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.SimpleActivityNoIcon" android:windowSoftInputMode="stateUnchanged"/>
<activity android:name="com.tumblr.ui.activity.PhotoLightboxActivity" android:screenOrientation="fullUser" android:theme="@style/Theme.Tumblr.Lightbox"/>
<activity android:exported="true" android:label="@string/message_a_tumblr" android:name="com.tumblr.messenger.ChooseParticipantsActivity" android:screenOrientation="portrait" android:theme="@style/ChooseParticipants">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
<data android:mimeType="image/*"/>
</intent-filter>
<meta-data android:name="android.service.chooser.chooser_target_service" android:value="androidx.sharetarget.ChooserTargetServiceCompat"/>
</activity>
<activity android:label="@string/label_conversation" android:launchMode="singleTask" android:name="com.tumblr.messenger.ConversationActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<activity android:name="com.tumblr.ui.activity.OauthAuthorizeActivity" android:noHistory="true" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:exported="true" android:launchMode="singleTask" android:name="com.tumblr.ui.activity.WebsiteInterceptActivity" android:noHistory="true" android:theme="@style/Theme.Tumblr.Splash">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="tumblr.com"/>
<data android:host="www.tumblr.com"/>
<data android:pathPrefix="/download/android"/>
<data android:pathPrefix="/follow/"/>
<data android:pathPrefix="/oauth/authorize"/>
<data android:pathPrefix="/message/"/>
<data android:pathPrefix="/explore/answertime"/>
<data android:pathPrefix="/explore"/>
<data android:pathPrefix="/apps"/>
<data android:pathPrefix="/likes"/>
<data android:pathPrefix="/share/post"/>
<data android:pathPrefix="/dashboard/tab"/>
<data android:pathPrefix="/new"/>
<data android:pathPrefix="/new/audio"/>
<data android:pathPrefix="/new/chat"/>
<data android:pathPrefix="/new/link"/>
<data android:pathPrefix="/new/photo"/>
<data android:pathPrefix="/new/quote"/>
<data android:pathPrefix="/new/text"/>
<data android:pathPrefix="/new/video"/>
<data android:pathPrefix="/premium/success"/>
<data android:pathPrefix="/blaze"/>
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="tumblr.com"/>
<data android:host="www.tumblr.com"/>
<data android:pathPrefix="/authenticate"/>
</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="tumblr-auth"/>
<data android:host="x-callback-url"/>
<data android:pathPrefix="/oauth/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:host="x-callback-url" android:pathPrefix="/adfreebrowsingonboarding" android:scheme="tumblr"/>
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*.tumblr.com" android:scheme="http"/>
<data android:host="*.tumblr.com" android:scheme="https"/>
</intent-filter>
</activity>
<activity android:exported="true" android:name="com.tumblr.ui.appwidget.ChoosePostWidgetConfigure" android:theme="@style/AppWidgetConfigureDialog">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
</intent-filter>
</activity>
<activity android:excludeFromRecents="true" android:exported="true" android:label="@string/post_to_tumblr" android:name="com.tumblr.creation.receiver.ShareActivity" android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action android:name="android.intent.action.SEND_MULTIPLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
<data android:mimeType="video/*"/>
<data android:mimeType="image/*"/>
</intent-filter>
</activity>
<activity android:name="com.tumblr.ui.activity.GifSearchActivity" android:screenOrientation="portrait" android:theme="@style/GifSearchResults" android:windowSoftInputMode="stateAlwaysHidden|adjustResize"/>
<activity android:launchMode="singleTask" android:name="com.tumblr.settings.account.SingleLineFormActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="adjustResize"/>
<activity android:label="@string/title_blog_settings" android:name="com.tumblr.ui.activity.BlogSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Transparent" android:windowSoftInputMode="adjustPan"/>
<activity android:label="@string/create_new_tumblr" android:name="com.tumblr.ui.widget.blogpages.CreateBlogActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.CreateBlog" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.tumblr.ui.activity.blog.BlogPagesPreviewActivity" android:parentActivityName="com.tumblr.ui.activity.blog.BlogPagesSettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.Blog">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activity.blog.BlogPagesSettingsActivity"/>
</activity>
<activity android:launchMode="singleTop" android:name="com.tumblr.guce.GuceActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<activity android:launchMode="singleTask" android:name="com.tumblr.guce.GuceSingleInstanceActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<activity android:label="@string/posts_review_screen_title" android:name="com.tumblr.blog.projectx.PostsReviewActivity" android:parentActivityName="com.tumblr.ui.activity.RootActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar.DarkStatusBar">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activity.RootActivity"/>
</activity>
<activity android:name="com.tumblr.communityhubs.CommunityHubActivity" android:screenOrientation="portrait" android:theme="@style/CommunityHub"/>
<activity android:name="com.tumblr.tagmanagement.TagManagementActivity" android:screenOrientation="portrait" android:theme="@style/CommunityHub"/>
<activity android:name="com.tumblr.components.audioplayer.ReblogPostActionActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:name="com.tumblr.ad.rewarded.RewardedAdComposeActivity" android:theme="@style/Theme.Tumblr.NoActionBar.NoBackground"/>
<activity android:name="com.tumblr.settings.account.askpagetitle.AskPageTitleActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="adjustResize"/>
<receiver android:exported="true" android:label="@string/appwidget_choose_post_label" android:name="com.tumblr.ui.appwidget.ChoosePostWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_choose_post"/>
</receiver>
<receiver android:name="com.tumblr.receiver.HubShareBroadcastReceiver"/>
<service android:name="com.tumblr.blog.customize.CustomizeService"/>
<receiver android:exported="false" android:name="com.tumblr.messenger.network.MessageNotificationReceiver" android:permission="com.tumblr.permissions.RECEIVER">
<intent-filter android:priority="0">
<action android:name="com.tumblr.ACTION_CHECK_MESSAGES"/>
</intent-filter>
</receiver>
<receiver android:exported="false" android:name="com.tumblr.notes.ConversationalNotificationReceiver" android:permission="com.tumblr.permissions.RECEIVER">
<intent-filter android:priority="0">
<action android:name="com.tumblr.ACTION_NEW_NOTES"/>
</intent-filter>
</receiver>
<receiver android:enabled="true" android:exported="false" android:name="com.tumblr.posts.outgoing.NPSRetryPostReceiver"/>
<receiver android:enabled="true" android:exported="false" android:name="com.tumblr.posts.outgoing.NPSDiscardPostReceiver"/>
<service android:name="com.tumblr.service.notification.BlogUnsubscribeService"/>
<service android:name="com.tumblr.fcm.FCMTokenRegistrarJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:exported="true" android:name="com.tumblr.fcm.TumblrFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<provider android:authorities="com.tumblr.fileprovider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths"/>
</provider>
<receiver android:enabled="true" android:exported="false" android:name="com.tumblr.service.notification.UserNotificationActionEnqueuingReceiver"/>
<receiver android:exported="false" android:name="com.tumblr.receiver.SelectedAppReceiver"/>
<activity android:label="Meadow Sample Feature" android:name="com.tumblr.meadow.ui.FollowersAndConversationsActivity" android:theme="@style/Theme.Tumblr.SolidActionBar"/>
<activity android:label="JC Navigation Sample Feature" android:name="com.tumblr.meadow.ui.election.ElectionEntryPointActivity" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:label="JC Navigation Sample Feature" android:name="com.tumblr.meadow.ui.NewCampaignEntryPointActivity" android:theme="@style/Theme.Tumblr.NoActionBar"/>
<activity android:label="@string/account_settings_security_v3" android:name="com.tumblr.security.view.ui.securitysettings.SecurityActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="stateHidden"/>
<activity android:label="@string/account_settings_backup_codes_v3" android:name="com.tumblr.security.view.ui.generatecodes.GenerateBackupCodesActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="stateHidden"/>
<activity android:label="@string/account_settings_security_confirmation_2fa_v3" android:name="com.tumblr.security.view.ui.confirmation.TwoFactorAuthEnrolmentActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Tumblr.NoActionBar" android:windowSoftInputMode="stateHidden"/>
<activity android:label="@string/title_activity_labs" android:name="com.tumblr.labs.ui.LabsActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/>
<receiver android:exported="true" android:name="com.tumblr.notificationchannel.ChannelStateChangedReceiver">
<intent-filter>
<action android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED"/>
<action android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED"/>
<action android:name="android.app.action.APP_BLOCK_STATE_CHANGED"/>
</intent-filter>
</receiver>
<provider android:authorities="com.tumblr.KanvasFileProvider" android:exported="false" android:grantUriPermissions="true" android:name="com.tumblr.kanvas.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/kanvas_paths"/>
</provider>
<activity android:name="com.yalantis.ucrop.UCropActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<service android:enabled="true" android:exported="false" android:foregroundServiceType="mediaPlayback" android:name="com.tumblr.components.audioplayer.TumblrAudioPlayerService" android:stopWithTask="true"/>
<activity android:configChanges="orientation|screenLayout|screenSize|smallestScreenSize" android:name="com.smartadserver.android.library.ui.SASInterstitialActivity" android:theme="@style/SASInterstitialActivityTheme"/>
<provider android:authorities="com.tumblr.smartadserver.transparencyreport" android:exported="false" android:grantUriPermissions="true" android:name="com.smartadserver.android.library.components.transparencyreport.SASTransparencyReport$FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths_smartadserver"/>
</provider>
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:exported="false" android:name="com.google.android.gms.ads.AdActivity" android:theme="@android:style/Theme.Translucent"/>
<provider android:authorities="com.tumblr.mobileadsinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.android.gms.ads.MobileAdsInitProvider"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.ads.AdService"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:exported="false" android:name="com.google.android.gms.ads.OutOfContextTestingActivity"/>
<activity android:excludeFromRecents="true" android:exported="false" android:launchMode="singleTask" android:name="com.google.android.gms.ads.NotificationHandlerActivity" android:taskAffinity="" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.SystemAlarmService"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:name="androidx.work.impl.foreground.SystemForegroundService"/>
<receiver android:directBootAware="false" android:enabled="true" android:exported="false" android:name="androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver"/>
<receiver android:directBootAware="false" android:enabled="false" android:exported="false" android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy">
<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:directBootAware="false" android:enabled="false" android:exported="false" android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy">
<intent-filter>
<action android:name="android.intent.action.BATTERY_OKAY"/>
<action android:name="android.intent.action.BATTERY_LOW"/>
</intent-filter>
</receiver>
<receiver android:directBootAware="false" android:enabled="false" android:exported="false" android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy">
<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:directBootAware="false" android:enabled="false" android:exported="false" android:name="androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<receiver android:directBootAware="false" android:enabled="false" android:exported="false" android:name="androidx.work.impl.background.systemalarm.RescheduleReceiver">
<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:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver">
<intent-filter>
<action android:name="androidx.work.impl.background.systemalarm.UpdateProxies"/>
</intent-filter>
</receiver>
<receiver android:directBootAware="false" android:enabled="true" android:exported="true" android:name="androidx.work.impl.diagnostics.DiagnosticsReceiver" android:permission="android.permission.DUMP">
<intent-filter>
<action android:name="androidx.work.diagnostics.REQUEST_DIAGNOSTICS"/>
</intent-filter>
</receiver>
<activity android:excludeFromRecents="true" android:exported="false" android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<service android:exported="true" android:name="com.google.android.gms.auth.api.signin.RevocationBoundService" android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" android:visibleToInstantApps="true"/>
<receiver android:exported="true" android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
<meta-data android:name="com.google.android.gms.cloudmessaging.FINISHED_AFTER_HANDLED" android:value="true"/>
</receiver>
<service android:directBootAware="true" android:exported="false" android:name="com.google.firebase.messaging.FirebaseMessagingService">
<intent-filter android:priority="-500">
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:directBootAware="true" android:exported="false" android:name="com.google.firebase.components.ComponentDiscoveryService">
<meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.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.crashlytics.ndk.CrashlyticsNdkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.crashlytics.FirebaseCrashlyticsKtxRegistrar" 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.sessions.FirebaseSessionsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsKtxRegistrar" 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.ktx.FirebaseCommonLegacyRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.FirebaseCommonKtxRegistrar" 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>
<activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:hardwareAccelerated="true" android:name="com.brandio.ads.DioActivity"/>
<activity android:name="com.brandio.ads.device.PermissionsHandler"/>
<activity android:name="com.brandio.ads.UnityActivity"/>
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:name="com.brandio.ads.DioTranslucentActivity" android:theme="@android:style/Theme.NoTitleBar"/>
<service android:exported="true" 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>
<service android:enabled="true" android:exported="false" android:name="com.google.firebase.sessions.SessionLifecycleService"/>
<provider android:authorities="com.tumblr.firebaseinitprovider" android:directBootAware="true" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<uses-library android:name="androidx.window.extensions" android:required="false"/>
<uses-library android:name="androidx.window.sidecar" android:required="false"/>
<uses-library android:name="android.ext.adservices" android:required="false"/>
<activity android:configChanges="keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize" android:exported="false" android:name="com.facebook.ads.AudienceNetworkActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<provider android:authorities="com.tumblr.AudienceNetworkContentProvider" android:exported="false" android:name="com.facebook.ads.AudienceNetworkContentProvider"/>
<provider android:authorities="com.tumblr.plumber-installer" android:enabled="@bool/leak_canary_plumber_auto_install" android:exported="false" android:name="leakcanary.internal.PlumberInstaller"/>
<service android:directBootAware="true" android:exported="false" android:name="androidx.room.MultiInstanceInvalidationService"/>
<service android:exported="false" android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery">
<meta-data android:name="backend:com.google.android.datatransport.cct.CctBackendFactory" android:value="cct"/>
</service>
<receiver android:directBootAware="false" android:enabled="true" android:exported="true" android:name="androidx.profileinstaller.ProfileInstallReceiver" android:permission="android.permission.DUMP">
<intent-filter>
<action android:name="androidx.profileinstaller.action.INSTALL_PROFILE"/>
</intent-filter>
<intent-filter>
<action android:name="androidx.profileinstaller.action.SKIP_FILE"/>
</intent-filter>
<intent-filter>
<action android:name="androidx.profileinstaller.action.SAVE_PROFILE"/>
</intent-filter>
<intent-filter>
<action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION"/>
</intent-filter>
</receiver>
<service android:exported="false" android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<receiver android:exported="false" android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver"/>
<activity android:configChanges="orientation|screenSize" android:exported="true" android:name="com.amazon.aps.ads.activity.ApsInterstitialActivity" android:theme="@style/NoWindow"/>
<activity android:configChanges="orientation|screenSize" android:exported="true" android:name="com.amazon.device.ads.DTBInterstitialActivity"/>
<meta-data android:name="com.google.android.play.billingclient.version" android:value="5.2.1"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="false" android:name="com.android.billingclient.api.ProxyBillingActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<meta-data android:name="com.facebook.soloader.enabled" android:value="false"/>
<activity android:exported="false" android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity" android:stateNotNeeded="true" android:theme="@style/Theme.PlayCore.Transparent"/>
<meta-data android:name="com.android.dynamic.apk.fused.modules" android:value="base"/>
<meta-data android:name="com.android.stamp.source" android:value="https://play.google.com/store"/>
<meta-data android:name="com.android.stamp.type" android:value="STAMP_TYPE_STANDALONE_APK"/>
<meta-data android:name="com.android.vending.splits" android:resource="@xml/splits0"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="2"/>
</application>
</manifest>

View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:background="?themeHighlightedContentBackgroundColor" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tumblr="http://schemas.android.com/apk/res-auto">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textColor="?themeMainTextColor" android:gravity="start|bottom|center" android:paddingBottom="@dimen/setting_header_title_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="0.0dip" android:minHeight="@dimen/setting_header_min_height" android:layout_alignParentBottom="true" android:paddingStart="@dimen/setting_header_title_padding_left" android:paddingEnd="@dimen/setting_header_title_padding_right" android:layout_alignParentStart="true" style="@style/NotBoldSettingsSectionHeader"
android:text="General" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Bring back yellow" subtitle="Adds yellow back to the list of selectable text colors. Mostly for fun. Warning: NOT recommended for readability" bindSetting="bringBackPhoebeEnabled" />
<include layout="@layout/list_item_setting_divider" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Enhanced block" subtitle="Tumblr's blocking system is not always perfect and can sometimes show you posts from people you've blocked. Enhanced block gets rid of every last trace." bindSetting="enhancedBlockEnabled" />
<include layout="@layout/list_item_setting_divider" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Block Ads" subtitle="Blocks all advertisements on the dashboard" bindSetting="blockAdsEnabled" />
<include layout="@layout/list_item_setting_divider" />
<TextView android:textColor="?themeMainTextColor" android:gravity="start|bottom|center" android:paddingBottom="@dimen/setting_header_title_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="0.0dip" android:minHeight="@dimen/setting_header_min_height" android:layout_alignParentBottom="true" android:paddingStart="@dimen/setting_header_title_padding_left" android:paddingEnd="@dimen/setting_header_title_padding_right" android:layout_alignParentStart="true" style="@style/NotBoldSettingsSectionHeader"
android:text="Dashboard" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Reduce dashboard clutter" subtitle="Removes &quot;Check these out&quot; carousels including blog and tag carousels" bindSetting="reduceDashboardClutterEnabled" />
<include layout="@layout/list_item_setting_divider" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Boil the frog" subtitle="Do it." bindSetting="boilTheFrog" />
<include layout="@layout/list_item_setting_divider" />
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Hide blazed posts" subtitle="Hide blazed posts from your feed. Get content organically from your followed blogs" bindSetting="hideBlazedPosts" />
<include layout="@layout/list_item_setting_divider" />
<!-- <dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Hide blaze button" subtitle="Hides the blaze button under your posts" bindSetting="hideBlazeButton" />
<include layout="@layout/list_item_setting_divider" /> -->
<dev.maelstrom.ykit.settings.YkitSettingsToggle android:layout_width="fill_parent" android:layout_height="wrap_content"
title="Hide filtered posts" subtitle="Hides posts that were detected by your content filters instead of showing the &quot;This post contains filtered content&quot; card" bindSetting="hideFilteredPosts" />
<include layout="@layout/list_item_setting_divider" />
<TextView android:textColor="?themeMainTextColor" android:gravity="start|bottom|center" android:paddingBottom="@dimen/setting_header_title_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="0.0dip" android:minHeight="@dimen/setting_header_min_height" android:layout_alignParentBottom="true" android:paddingStart="@dimen/setting_header_title_padding_left" android:paddingEnd="@dimen/setting_header_title_padding_right" android:layout_alignParentStart="true" style="@style/NotBoldSettingsSectionHeader"
android:text="YKit" />
<LinearLayout android:id="@id/user_blog_default_options" style="@style/BlogSettingsUserBlogOptionsContainer">
<dev.maelstrom.ykit.settings.YkitSettingsVersionButton android:id="@id/ykit_version" tumblr:listItemDetail="Released 2024-06-24" tumblr:listItemTitle="YKit Version 0.2.0 Alpha" style="@style/DetailedListItem" />
</LinearLayout>
<include layout="@layout/list_item_setting_divider" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:src="@drawable/ykitty"
android:contentDescription="A vector rendering of Ykitty's head. It is made up of abstract shapes. Its head is an upside down triangle and
has two more triangles on top of it to represent its ears. The two ears intersesct to form a Y on its forehead
and its eyes are formed with upwards pointing chevrons. It has a little nose and a W for a mouth. All is colored
the same shade of yellow."
/>
</LinearLayout>
</ScrollView>

View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<com.tumblr.ui.widget.fab.ObservableScrollView android:id="@id/blog_settings_scroll_view" android:background="?themeHighlightedContentBackgroundColor" android:paddingTop="@dimen/action_bar_base_height" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tumblr="http://schemas.android.com/apk/res-auto">
<LinearLayout android:background="@null" style="@style/BlogSettingsContainer">
<LinearLayout android:id="@id/user_blog_default_options" style="@style/BlogSettingsUserBlogOptionsContainer">
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/account_settings" tumblr:listItemDetail="@string/global_settings_subtitle" tumblr:listItemTitle="@string/account_settings" style="@style/DetailedListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_ad_free_management" android:visibility="gone" tumblr:listItemDetail="@string/tumblr_premium_subtitle" tumblr:listItemTitle="@string/tumblr_premium" style="@style/DetailedListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_payment_and_purchases" tumblr:listItemDetail="@string/payment_and_purchases_desc" tumblr:listItemTitle="@string/payment_and_purchases" style="@style/DetailedListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_subscriptions_and_purchases" tumblr:listItemDetail="@string/subscriptions_and_purchases_desc" tumblr:listItemTitle="@string/subscriptions_and_purchases" style="@style/DetailedListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/ykit_settings" tumblr:listItemDetail="Change settings for YKit" tumblr:listItemTitle="YKit Settings" style="@style/DetailedListItem" />
</LinearLayout>
<LinearLayout style="@style/BlogSettingsOptionsSection">
<TextView android:id="@id/blog_settings_header" android:background="?themeHighlightedContentBackgroundColor" style="@style/SettingsSectionHeader" />
<com.tumblr.ui.widget.UserBlogOptionsLayout android:id="@id/user_blog_options_container" style="@style/BlogSettingsUserBlogOptionsContainer">
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_change_username_row" android:visibility="gone" tumblr:listItemTitle="@string/change_name_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_pages_row" android:visibility="gone" tumblr:listItemDetail="@string/pages_description" tumblr:listItemTitle="@string/pages" style="@style/DetailedListItem.White" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_featured_tags" android:visibility="gone" tumblr:listItemTitle="@string/featured_tags" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_followers_row" tumblr:listItemTitle="@string/followers_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_drafts_row" tumblr:listItemTitle="@string/drafts_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_queue_row" tumblr:listItemTitle="@string/queue_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_inbox_row" tumblr:listItemDetail="@string/inbox_detail_new" tumblr:listItemTitle="@string/inbox_title" style="@style/DetailedListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_community_label_row" android:visibility="gone" tumblr:listItemTitle="@string/blog_community_label_settings" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_posts_review_row" android:visibility="gone" tumblr:listItemTitle="@string/posts_review_setting_label" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blaze_info_page" android:visibility="gone" tumblr:listItemTitle="@string/tumblr_blaze" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/manage_gifts" android:visibility="gone" tumblr:listItemTitle="@string/gifts" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_payouts" android:visibility="gone" tumblr:listItemTitle="@string/payouts_settings" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_privacy_row" tumblr:listItemTitle="@string/setting_label_blog_privacy_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_delete_row" tumblr:listItemTitle="@string/delete_blog" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMToggleWithWarningRow android:id="@id/blog_allow_tipping" android:paddingStart="6.0dip" tumblr:rowText="@string/allow_tipping" tumblr:toggleDefault="false" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleWithWarningRow android:id="@id/blog_allow_blaze_by_others" android:paddingStart="6.0dip" tumblr:rowText="@string/allow_blaze_by_others_v2" tumblr:toggleDefault="false" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_show_tip_button" android:paddingStart="6.0dip" tumblr:rowText="@string/tipping_tip_blog" tumblr:toggleDefault="false" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_post_tipping_default" android:paddingStart="6.0dip" tumblr:rowText="@string/tipping_post_default" tumblr:toggleDefault="false" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_allow_submissions" android:paddingStart="6.0dip" tumblr:rowText="@string/blog_allow_submissions" tumblr:toggleDefault="true" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_allow_asks" android:paddingStart="6.0dip" tumblr:rowText="@string/blog_allow_asks" tumblr:toggleDefault="true" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_ask_allow_anonymous" android:paddingStart="6.0dip" tumblr:rowText="@string/blog_ask_allow_anonymous" tumblr:toggleDefault="true" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_ask_allow_media" android:paddingStart="6.0dip" tumblr:rowText="@string/blog_ask_allow_with_media" tumblr:toggleDefault="true" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_ask_page_title" android:minHeight="0.0dip" tumblr:listItemTitle="@string/blog_ask_page_title" style="@style/BlogSettingsListItem" />
<com.tumblr.ui.widget.TMToggleRow android:id="@id/blog_show_top_posts" android:paddingStart="6.0dip" tumblr:rowText="@string/blog_show_top_posts" tumblr:toggleDefault="true" style="@style/SettingsToggleSettingRow" />
<com.tumblr.ui.widget.TMBlogSettingsTextRow android:id="@id/blog_blocked_tumblrs_row" tumblr:listItemTitle="@string/blocked_tumblrs_title" style="@style/BlogSettingsListItem" />
</com.tumblr.ui.widget.UserBlogOptionsLayout>
</LinearLayout>
</LinearLayout>
</com.tumblr.ui.widget.fab.ObservableScrollView>

File diff suppressed because it is too large Load diff

BIN
tools/d2j/ST4-4.3.1.jar Normal file

Binary file not shown.

BIN
tools/d2j/antlr-3.5.2.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
tools/d2j/antlr4-4.9.3.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
tools/d2j/asm-9.5.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
tools/d2j/asm-tree-9.5.jar Normal file

Binary file not shown.

BIN
tools/d2j/asm-util-9.5.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
tools/d2j/dex-ir-v2.4.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
tools/d2j/dx-30.0.2.jar Normal file

Binary file not shown.

BIN
tools/d2j/icu4j-69.1.jar Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,67 @@
==== dx-*.jar
Apache 2.0 http://www.apache.org/licenses/LICENSE-2.0.html
==== antlr-*.jar
[The BSD License]
Copyright (c) 2003-2007, Terence Parr
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of the author nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
==== asm-*.jar
ASM: a very small and fast Java bytecode manipulation framework
Copyright (c) 2000-2005 INRIA, France Telecom
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

Binary file not shown.