oxmc e3cecb9cc5 Restructure fonts into self-contained modules, add theme set
- Each font family is now its own themes/fonts/fonts-*/ module carrying
  its RRO switcher, font files and fonts_customization.xml fragment
  (merged by the genrule in prebuilt/product/etc/Android.bp)
- Drop config.mk: which modules a product ships is now chosen by the
  product (vendor/pawlet/config/addons_packages.mk)
- Add theme overlays: icon packs, UDFPS animations/icons, lockscreen clock
  fonts, QS tile layouts, icon shapes, charging animations and more
- Add NOTICE
2026-10-11 21:11:54 -07:00
…
…

android_vendor_addons (PawletOS)

A library of optional device customization modules — fonts, battery styles, icon packs, and other RRO overlays — ported from AxionOS's vendor_addons. Synced at vendor/addons (path kept identical to upstream).

This repo doesn't decide what gets built. Every module here is independent and opt-in; vendor/pawlet/config/addons_packages.mk is the actual selection list a PawletOS build uses. See Build wiring below.

What's in here

Fonts (themes/fonts/) — system font-family switchers, selectable under Settings > Display > Font:

  • fonts-arcticons-sans, fonts-fucek, fonts-inter, fonts-rookery — each ships its own font file and RRO.
  • fonts-roboto, fonts-roboto-flex — select fonts the platform already provides, no files of their own.
  • fonts-google-sans — Material You's own typography (variable-* tokens, etc). Always needed regardless of which switcher above is picked, not a switchable option itself.
  • fonts-ndot — Nothing's "Ndot" font family. Standalone, not referenced by anything else.

Back gesture (themes/back_gesture/) — BackGestureDotTrailOverlay, an alternate back-gesture arrow trail style.

Battery styles (themes/battery/) — five battery icon styles (BatteryStyle{iOS15,iOS16,OneUI7,Origami,Smiley}Overlay), selectable as alternates to the stock battery icon.

Brightness slider styles (themes/brightness_slider/) — twelve Quick Settings brightness slider looks (BrightnessSlider*Overlay: Acun, Bang, Cyberpunk, Filled, GradientRoundedBar, LeafyOutline, MinimalThumb, Outline, RoundedClip, Shaded, Thin, Translucent).

Charging animations (themes/charging_animation/) — MotoChargingAnimationOverlay, NothingChargingAnimationOverlay: lock screen charging animations styled after those OEMs. See Licensing.

Clocks (themes/clocks/) — HideClock, HideSmartSpace, SmartSpaceOffset: lock screen clock/smartspace visibility and positioning toggles.

Navbar styles (themes/navbar/) — ten 3-button navigation bar icon styles (Navbar*Overlay: Android, Asus, Dora, Moto, Nexus, Old, OnePlus, OneUi, Sammy, TecnoCamon).

Notifications (themes/notifications/) — four notification shade styles (NotifCyberPunk, NotifDuoline, NotifIOS, NotifLayers).

Power menu (themes/powermenu/) — four power menu styles (PowerCyberPunk, PowerDuoline, PowerIOS, PowerLayers).

Progress bar (themes/progressbar/) — four seekbar/progress-bar thumb styles (PGB_BlockyThumb, PGB_MinimalThumb, PGB_OutlineThumb, PGB_Shishu).

System dark themes (themes/system/) — AndroidAmoledBlackThemeOverlay, AndroidBlackThemeOverlay.

UI styles (themes/UiStyles/) — nine full-system visual themes (three single-target: Espresso, SnowPaintDrop, Vivid; six that ship three sub-overlays each targeting android/Settings/SystemUI: Pacleggers, ShishuAmalgamation, ShishuIllusions, ShishuImmensity, ShishuNights, SolarizedDark — 21 modules total).

QS waveforms (themes/waveforms/) — four Quick Settings media waveform styles (AxionWaveformOverlay, HeartbeatWaveformOverlay, OceanWaveformOverlay, PulseWaveformOverlay).

Icon packs (themes/iconpacks/) — sixteen full icon packs (Acherus, Aurora, Circular, Filled, Gradicon, Kai, Lorn, Nostalgic, OOS, Outline, Plumpy, PUI, Rounded, Sam, Victor, Xperia), each split into an android-targeting + SystemUI-targeting overlay (32 modules total).

Quick Settings grid layouts (themes/QSTileLayout/) — 50 column×row grid configurations for the QS panel and its collapsed ("QQS") state (qs_portrait_*, qqs_portrait_*, 2×2 through 6×6).

Lock screen clock fonts (themes/lockscreenclockfonts/) — 87 lock screen clock font-family switchers (ClockFont*Overlay), same pattern as the system font switchers in themes/fonts/ but for the clock specifically. 15 are real and fully wired (13 ship the actual Google Fonts release, Lato/Rubik reference AOSP's own existing copies). The other 72 reference decorative font names (Aclonica-alikes aside, mostly novelty/OEM-styled names like Comic Sans, HarmonyOS Sans, SamsungOne) with no open-licensed source found — they build fine and select cleanly in the UI, but currently render as the platform default since nothing defines those family names. See Licensing.

Quick Settings styles (themes/qs/) — eleven QS panel tile styles (A11QSUI, BetterQS, QSCyberPunk, QSNeumorph, QSOutline, QSReflected, QSShaded, QSSurround, QSThin, QSTwoToneAccent, QSTwoToneAccentTrans).

Volume dialog styles (themes/Volume/) — six volume slider styles (VolumeDoubleLayer, VolumeGradient, VolumeNeumorph, VolumeNeumorphOutline, VolumeOutline, VolumeShadedLayer).

UDFPS fingerprint icons (themes/udfps_icons/) — 95 static fingerprint-sensor icon styles (UdfpsIconTheme*). See Licensing — a large portion of these are fan art of copyrighted game/anime characters, kept only because nothing is published yet.

UDFPS fingerprint animations (themes/udfps/) — 36 under-display fingerprint sensor "recognizing" animations (UdfpsTheme*). See Licensing — several of these are very likely extracted from real OEM firmware, not original art.

Status bar icons (themes/icons/Statusbar/, themes/icons/Wi-Fi/) — 36 cellular signal icon styles + 16 Wi-Fi icon styles (*SignalOverlay, *WiFiOverlay).

Icon shapes (themes/iconshapes/) — nineteen stock AOSP adaptive icon shapes (IconShape*Overlay: Cloudy, Cylinder, Flower, Heart, Hexagon, Ios, Leaf, Meow, Pebble, RoundedHexagon, RoundedRect, Samsung, Scroll, Square, Squircle, Stretched, Taperedrect, Teardrop, Vessel), plus PawletOS's own IconShapePawOverlay — a paw print.

How a module gets included

Each module is its own Soong target (an RRO, a font file, or both) with no dependency on anything outside its own directory except where it genuinely needs one — e.g. a font switcher's Android.bp lists its font file in required:, so selecting just the switcher's name is enough to pull everything it needs along with it.

Where a module produces a fragment of a file the platform reads as one piece (fonts_customization.xml is the only case of this today), that fragment is a filegroup merged by a genrule elsewhere in this repo — adding a new font means adding its fragment to that genrule's srcs.

Licensing

See NOTICE for the full per-module attribution. Short version: most of this is Apache-2.0 (AxionOS/Proton AOSP/risingOS-derived, or PawletOS's own), the Google Sans fonts are the real OFL-licensed release from google/fonts, and a couple of items (Nothing's "Ndot" fonts, two clock-face font cuts) have no license file upstream at all — flagged in NOTICE, not included by default.

Build wiring

This repo has no PRODUCT_PACKAGES of its own. Everything here is pure Soong (Android.bp), discovered automatically. What actually gets built is vendor/pawlet/config/addons_packages.mk, inherited from vendor/pawlet/config/common.mk only when this repo is present — a checkout without it synced just builds without any of this.

S
Description
No description provided
Readme
140 MiB
Languages
Soong 100%