# picasso09/device_xiaomi_rock architecture

> Architecture diagram of the GitHub repository picasso09/device_xiaomi_rock, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/picasso09/device_xiaomi_rock
- Repository: https://github.com/picasso09/device_xiaomi_rock

## Overview

This is an Android device-configuration repository for the Redmi 11 Prime 4G (rock) and POCO M5 (stone), not a standalone application. Its product workflow is adapting Android to the MT6789 device variants: variant initialization selects product properties, while device configuration supplies boot, hardware, overlay, and platform integration settings. The tree also documents audio, media, connectivity, sensors, firmware, and bundled apps. Source excerpts show variant-property calls and the power-mode sysfs writes; links among unsampled configuration subsystems are omitted or marked unverified.

Main entry points: [`libinit/init_xiaomi_rock.cpp`](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/init_xiaomi_rock.cpp) (Variant initialization), [`libinit/libinit_variant.cpp`](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_variant.cpp) (Variant matching), [`power/power-mode.cpp`](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/power/power-mode.cpp) (Power mode service), [`libinit/libinit_utils.cpp`](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_utils.cpp) (Property helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Device identity"]
  node_variant_entry["Variant initialization"]
  node_variant_match["Variant matching"]
  node_property_helpers["Property helpers<br/>[libinit_utils.cpp]"]
end

subgraph group_platform["Platform configuration"]
  node_boot_config["Boot configuration"]
  node_device_properties["Device properties"]
  node_vintf["VINTF declarations"]
end

subgraph group_hardware["Hardware integration"]
  node_audio["Audio configuration"]
  node_media["Media configuration"]
  node_connectivity["Connectivity configuration"]
  node_sensors["Sensor configuration"]
  node_power_mode["Power mode service<br/>[power-mode.cpp]"]
end

subgraph group_system["Android integration"]
  node_overlays["Resource overlays"]
  node_permissions["Privileged permissions"]
  node_security_policy["SELinux policy"]
  node_bundled_apps["Bundled applications"]
  node_firmware["Device firmware"]
end

node_android(("Android runtime"))

node_android -.->|"loads properties"| node_variant_entry
node_variant_entry -->|"searches variants"| node_variant_match
node_variant_entry -->|"sets fallback"| node_property_helpers
node_variant_match -->|"sets properties"| node_property_helpers
node_android -.->|"uses at boot"| node_boot_config
node_android -.->|"uses properties"| node_device_properties
node_android -.->|"reads declarations"| node_vintf
node_android -.->|"configures audio"| node_audio
node_android -.->|"configures media"| node_media
node_android -.->|"configures networking"| node_connectivity
node_android -.->|"configures sensors"| node_sensors
node_android -.->|"requests power mode"| node_power_mode
node_power_mode -->|"writes gesture controls"| node_android
node_android -.->|"loads overlays"| node_overlays
node_android -.->|"applies permissions"| node_permissions
node_android -.->|"enforces policy"| node_security_policy
node_android -.->|"includes apps"| node_bundled_apps
node_android -.->|"uses firmware"| node_firmware

click node_variant_entry "https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/init_xiaomi_rock.cpp"
click node_variant_match "https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_variant.cpp"
click node_property_helpers "https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_utils.cpp"
click node_boot_config "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/rootdir/etc"
click node_device_properties "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/prop"
click node_vintf "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/vintf"
click node_audio "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/audio"
click node_media "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/media"
click node_connectivity "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/wifi"
click node_sensors "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/sensors"
click node_power_mode "https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/power/power-mode.cpp"
click node_overlays "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/rro_overlay"
click node_permissions "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/permissions"
click node_security_policy "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/sepolicy/private"
click node_bundled_apps "https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/GoogleCameraGo"
click node_firmware "https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/proprietary-firmware.txt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_variant_entry,node_variant_match,node_property_helpers toneBlue
class node_boot_config,node_device_properties,node_vintf toneAmber
class node_audio,node_media,node_connectivity,node_sensors,node_power_mode toneMint
class node_overlays,node_permissions,node_security_policy,node_bundled_apps,node_firmware toneRose
class node_android toneIndigo
```

## Components

### Device identity

- [Variant initialization](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/init_xiaomi_rock.cpp): `libinit/init_xiaomi_rock.cpp`
- [Variant matching](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_variant.cpp): `libinit/libinit_variant.cpp`
- [Property helpers](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/libinit/libinit_utils.cpp): `libinit/libinit_utils.cpp`

### Platform configuration

- [Boot configuration](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/rootdir/etc): `rootdir/etc`
- [Device properties](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/prop): `config/prop`
- [VINTF declarations](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/vintf): `config/vintf`

### Hardware integration

- [Audio configuration](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/audio): `config/audio`
- [Media configuration](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/media): `config/media`
- [Connectivity configuration](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/wifi): `config/wifi`
- [Sensor configuration](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/sensors): `config/sensors`
- [Power mode service](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/power/power-mode.cpp): `power/power-mode.cpp`

### Android integration

- [Resource overlays](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/rro_overlay): `rro_overlay`
- [Privileged permissions](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/config/permissions): `config/permissions`
- [SELinux policy](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/sepolicy/private): `sepolicy/private`
- [Bundled applications](https://github.com/picasso09/device_xiaomi_rock/tree/lineage-23.2/GoogleCameraGo): `GoogleCameraGo`
- [Device firmware](https://github.com/picasso09/device_xiaomi_rock/blob/lineage-23.2/proprietary-firmware.txt): `proprietary-firmware.txt`

### Other components

- **Android runtime**

## Connections

- Android runtime → Variant initialization: loads properties
- Variant initialization → Variant matching: searches variants (evidence: `libinit/init_xiaomi_rock.cpp`)
- Variant initialization → Property helpers: sets fallback (evidence: `libinit/init_xiaomi_rock.cpp`)
- Variant matching → Property helpers: sets properties (evidence: `libinit/libinit_variant.cpp`)
- Android runtime → Boot configuration: uses at boot
- Android runtime → Device properties: uses properties
- Android runtime → VINTF declarations: reads declarations
- Android runtime → Audio configuration: configures audio
- Android runtime → Media configuration: configures media
- Android runtime → Connectivity configuration: configures networking
- Android runtime → Sensor configuration: configures sensors
- Android runtime → Power mode service: requests power mode
- Power mode service → Android runtime: writes gesture controls (evidence: `power/power-mode.cpp`)
- Android runtime → Resource overlays: loads overlays
- Android runtime → Privileged permissions: applies permissions
- Android runtime → SELinux policy: enforces policy
- Android runtime → Bundled applications: includes apps
- Android runtime → Device firmware: uses firmware
