soul-browser/app/res/values-v24/styles.xml
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* Decompile and recreate Soul Browser v1.4.85 with APK CI builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix CI build: include bundled google.jks and remove PR trigger

The apktool build failed in CI because app/unknown/.../google.jks was
excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files
and commit the missing resource.

Also remove the redundant pull_request workflow trigger.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Change package ID to com.github.kaki87.soulbrowser

Rename the application ID so the rebuilt APK can be installed
alongside the original Soul Browser from Google Play.

- Update AndroidManifest package, permissions, providers, and actions
- Update R class references in smali (com/github/kaki87/soulbrowser/R)
- Update shortcuts.xml targetPackage
- Rename app label to "Soul Rebuild" for easy identification

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install compatibility: remove split APK metadata and bundle native libs

The rebuilt APK still declared requiredSplitTypes and Play Store split
metadata, causing Android to reject standalone installs as incompatible.

- Remove requiredSplitTypes and split-related manifest meta-data
- Merge native libs from all ABI splits with uncompressed storage
- Page-align before signing for extractNativeLibs=false
- Add .so to apktool doNotCompress list

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install failure: use apksigner v2/v3 and bundle arm64 native libs

Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only
produces v1 signatures, causing Android to reject the install.

- Sign with apksigner (v1+v2+v3) instead of jarsigner
- Add arm64-v8a native libraries from universal Soul Browser 1.4.79
- Set extractNativeLibs=true for reliable sideload installs
- Commit stable debug keystore for consistent signatures across builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Add committed debug keystore for consistent APK signatures

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix startup crash: use original classes2.dex desugar libraries

Apktool recompiles smali_classes2 into a broken classes2.dex, causing
ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init.

Inject the original classes2.dex (Java 8+ desugar libs) after apktool
build instead of using the recompiled version.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix missing drawable resources from density split APKs

The base APK is an app bundle module; density-specific drawables like
seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild,
causing Resources$NotFoundException at runtime.

- Merge non-9-patch resources from split APKs before apktool build
- Sync public.xml IDs from R smali only when backing files exist
- Add 713 density-specific resource IDs to public.xml

Co-authored-by: KaKi87 <KaKi87@pm.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 16:07:14 +02:00

193 lines
18 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="@android:style/TextAppearance.Material.Widget.Button.Borderless.Colored" />
<style name="Base.TextAppearance.AppCompat.Widget.Button.Colored" parent="@android:style/TextAppearance.Material.Widget.Button.Colored" />
<style name="Base.V14.Theme.MaterialComponents" parent="@style/Base.V14.Theme.MaterialComponents.Bridge">
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
<item name="android:buttonBarButtonStyle">?buttonBarButtonStyle</item>
<item name="android:timePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
<item name="android:datePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
<item name="bottomSheetDialogTheme">@style/ThemeOverlay.MaterialComponents.BottomSheetDialog</item>
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
<item name="colorAccent">?colorSecondary</item>
<item name="colorError">@color/design_dark_default_color_error</item>
<item name="colorPrimary">@color/design_dark_default_color_primary</item>
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
<item name="materialTimePickerTheme">@style/ThemeOverlay.MaterialComponents.TimePicker</item>
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
</style>
<style name="Base.V14.Theme.MaterialComponents.Dialog" parent="@style/Base.V14.Theme.MaterialComponents.Dialog.Bridge">
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Dialog.Flush</item>
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
<item name="colorAccent">?colorSecondary</item>
<item name="colorError">@color/design_dark_default_color_error</item>
<item name="colorPrimary">@color/design_dark_default_color_primary</item>
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
<item name="colorSecondary">@color/design_dark_default_color_secondary</item>
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
</style>
<style name="Base.V14.Theme.MaterialComponents.Light" parent="@style/Base.V14.Theme.MaterialComponents.Light.Bridge">
<item name="android:colorBackground">@color/design_default_color_background</item>
<item name="android:buttonBarButtonStyle">?buttonBarButtonStyle</item>
<item name="android:timePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
<item name="android:datePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
<item name="bottomSheetDialogTheme">@style/ThemeOverlay.MaterialComponents.BottomSheetDialog</item>
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
<item name="colorAccent">?colorSecondary</item>
<item name="colorError">@color/design_default_color_error</item>
<item name="colorPrimary">@color/design_default_color_primary</item>
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
<item name="materialTimePickerTheme">@style/ThemeOverlay.MaterialComponents.TimePicker</item>
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
</style>
<style name="Base.V14.Theme.MaterialComponents.Light.Dialog" parent="@style/Base.V14.Theme.MaterialComponents.Light.Dialog.Bridge">
<item name="android:colorBackground">@color/design_default_color_background</item>
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Dialog.Flush</item>
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
<item name="colorAccent">?colorSecondary</item>
<item name="colorError">@color/design_default_color_error</item>
<item name="colorPrimary">@color/design_default_color_primary</item>
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
<item name="colorSecondary">@color/design_default_color_secondary</item>
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
</style>
<style name="TextAppearance.Compat.Notification.Info.Media" parent="@style/TextAppearance.Compat.Notification.Info" />
<style name="TextAppearance.Compat.Notification.Media" parent="@style/TextAppearance.Compat.Notification" />
<style name="TextAppearance.Compat.Notification.Time.Media" parent="@style/TextAppearance.Compat.Notification.Time" />
<style name="TextAppearance.Compat.Notification.Title.Media" parent="@style/TextAppearance.Compat.Notification.Title" />
</resources>