Permissions
Every permission and special access Twofold declares, what uses it, and what happens without it. Home works with all
of the optional ones refused (PRV-1). Twofold declares no INTERNET
permission. What Twofold does with the data is in PRIVACY.md.
Granted with the app
| Permission | What uses it | Without it |
|---|---|---|
VIBRATE |
Haptics, including the fold landing (FoldTransition.kt) |
Nothing to grant |
ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE |
Wi-Fi and cellular signal in the status area (DeviceStatus.kt). The network's name is never read |
Nothing to grant |
REQUEST_DELETE_PACKAGES |
Delete App from an icon's menu (AppRemoval.kt). Android shows its own confirmation every time |
Nothing to grant |
USE_BIOMETRIC |
Unlocking the hidden apps list (CustomizationSheet.kt) |
Nothing to grant |
BIND_APPWIDGET |
Adding widgets (WidgetController.kt). A Play install never holds it, so Android asks per widget |
Android's bind dialog |
Asked for in context
| Access | What uses it | Asked from | Without it |
|---|---|---|---|
| Home app role | Being the Home screen | The Preview bar's Use as Home, Settings | Twofold opens as a preview |
READ_CONTACTS |
Contact results in Search (Spotlight.kt) |
The Search your contacts row in Search | No contact results |
READ_CALENDAR |
The Up Next widget (UpNext.kt) |
The Up Next card | The card asks for access |
Notification access (NotificationListener) |
Badges, an app's notifications and media controls in its panel, what's playing | A disclosure, then Android's settings (PermissionDisclosure.kt) |
No badges or media |
Accessibility service (SystemShadeAccessibilityService) |
Pull-downs to Android's notifications and Quick Settings, gesture and button actions, the dock and Big Buttons over other apps | The Turn On Twofold Gestures disclosure (MainActivity.showShadeSetup) |
Those gestures and overlays are off |
Usage access (PACKAGE_USAGE_STATS) |
Better suggestions, recent-app dots on the dock (Suggestions.kt, LayoutHistory.kt) |
A disclosure, then Android's settings | Suggestions count only launches from Twofold |
Do Not Disturb access (ACCESS_NOTIFICATION_POLICY) |
Gesture and button actions that change Do Not Disturb (FolioActions.kt) |
Privacy & Permissions | Those actions do nothing |
Components other apps can reach
| Component | Why it's exported |
|---|---|
MainActivity |
The Home intent, and Android's Home app gear (APPLICATION_PREFERENCES) |
PinWidgetActivity |
Android delivers widget and shortcut pin requests to it |
FolioSettingsActivity |
Opens Twofold's settings from Android's Accessibility, Quick Settings and wallpaper screens |
| Quick Settings tiles, the wallpaper service, the notification listener, the accessibility service | Each is guarded by the system permission Android binds it with |
ButtonsRoomProvider |
Answers one number, how much room Big Buttons take at the bottom, so a keyboard can stay clear of them. Read-only, no personal data |