Skip to main content

Summary

This feature provides two essential configuration tools for the user. First, the App Visibility settings allow users to manually choose which apps appear in the launcher and have their usage tracked, giving them control over their digital environment. Second, the Calibration tool ensures the app accurately measures physical scrolling distances (like “meters scrolled”) by asking the user to match an on-screen ruler to a physical credit card.

How It Works

The following diagram illustrates how the app manages the visibility status of installed applications, from the user’s tap to the database storage.
1

Loading and Filtering Apps

When the user opens the App Visibility screen, the system retrieves a list of all installed applications. It checks the database to see if the user has previously hidden any apps or if the system has marked them as “non-interactive” (like background services). The user can filter this list (e.g., “Show only Hidden Apps”) or search by name.
2

Toggling Visibility (Optimistic Update)

When the user taps the “eye” icon to hide or show an app, the screen performs an . This means the icon changes instantly to reflect the new state, and a haptic vibration confirms the action. Simultaneously, a background request is sent to the database to permanently save this preference.
3

Calibrating Screen Measurements

In the Calibration screen, the user places a standard physical card (like a credit card) on the screen. They adjust a slider until the on-screen card matches the physical card’s size. The app uses this measurement to calculate the screen’s exact . This value is saved to settings and used elsewhere in the app to convert “pixels scrolled” into real-world units like meters or feet.

Data Stored

This feature manages two distinct types of data: per-app visibility overrides and global screen calibration settings.
FieldTypeDescription
userHidesOverrideBoolean/NullTrue: User forced hidden. False: User forced visible. Null: Use system default.
screenDpiIntegerThe calculated pixel density of the screen (e.g., 420 dpi).
sliderPositionFloatThe position of the calibration slider (0.0 to 1.0), saved to restore the UI state.
sliderHeightFloatThe pixel height of the calibration box, used to recalculate DPI if needed.

Key Components

App Visibility Screen

Displays the list of apps with search and filter options, handling the immediate visual feedback when toggling visibility.

Calibration ViewModel

Handles the math required to convert a slider position and a known physical object size (a credit card) into a precise screen density value.

App Metadata Repository

Acts as the source of truth for which apps are installed and manages the “override” flags that determine if an app is hidden.

Settings Repository

Stores the global calibration results, ensuring the “meters scrolled” statistic remains accurate across app restarts.
Last modified on January 25, 2026