All Classes and Interfaces
Class
Description
Other apps' notifications held until their time (docs/android.md,
"Notifications from other apps"; crates/sioul-app/src/appnotes.rs, which
decides; crates/sioul-core/src/appnotes.rs, how).
A mail attachment opened in the app you choose, or saved where you choose
(docs/client.md, "Antivirus"; crates/sioul-app/src/attachments.rs).
Android's question "where?" for a file to save: an action, a category, a type, the name offered.
What another app is handed to open a file: an action, an address, a type, flags.
"Save…" beside a mail attachment, on a phone (docs/client.md, "Antivirus";
Attachments): Android's own question where to save it
(
ACTION_CREATE_DOCUMENT: Downloads, a folder, a cloud's app), then
the copy there, on a thread of its own, and the copy in Sioul's cache taken
out, saved or not.Calls screened (docs/android.md, "Calls"; docs/research/call-screening.md,
section 8).
What Sioul answers, and why: for the response, the list of calls held, and the log.
One stretch of time and who rings in it.
What the decision asks of the phone beyond the table: Android's emergency list, its contacts.
A press of Expecting a call (once "Let every call through"): when (ms), on or off, until (ms; 0: until turned off).
How the table's country writes its numbers (phones.rs's Region).
The call screening, as a table of version 2 says it
(crates/sioul-core/src/screening.rs, `TablePart`): what becomes of a
number nobody knows, apart from do-not-disturb and every state.
The table as Rust wrote it (crates/sioul-core/src/calls.rs, `Table`).
Android's question about each call, to Sioul as the "Caller ID & spam app"
(docs/android.md, "Calls"): answered from the table Rust wrote ahead
(
Calls.decide(android.content.Context, android.telecom.Call.Details, long)), in a process of its own (":calls") that never loads
Sioul's library or Qt, so that Telecom, which holds the ringing until it
hears back (five seconds at most), waits milliseconds.Android's question "Set Sioul as your default caller ID & spam app?"
(docs/android.md, "Calls"), asked from Settings ▸ Calls: Android answers
only an activity that asks for a result, so this one, never seen, asks
and goes.
A smart card's messages over USB (CCID, the USB Integrated Circuit(s) Cards
Interface Device class, revision 1.1, §6), for your security key plugged
into the phone (SecurityKeyLink.java).
The key's answer that said nothing sensible, or a failure of its own: a code, never its bytes.
The key's two bulk endpoints.
Sioul's notification channels, every one made here: without a badge on
Sioul's icon, neither the launcher's dot nor a count (docs/design.md: no
badges, no counts).
The end of work's notice and the night's (docs/reviews.md), as on a
computer: "Work hours are over" with Close the work day; as the night's
wind-down begins, its own notice with Close the whole day while that
night's review is to give, and Options….
A button: its words, and what it opens (ReminderOpener.opens).
The people who may reach you during do-not-disturb, as this phone's
contacts have them (crates/sioul-app/src/everywhere.rs): Android lets only
starred contacts through a mode, so Sioul says who on the list is not
starred here, and opens their contact for you to star it.
What a change of the phone's own do-not-disturb means for Sioul's switch
(docs/do-not-disturb.md, "Both ways"; DndReceiver), decided in Java so that
most changes end without loading Sioul's library.
Do-not-disturb applied in Sioul's own process (crates/sioul-app/src/
everywhere.rs, `apply`), where Android's modes of Sioul's are kept
(PauseMode): asked by the background service when your other devices
changed it, at the alarm of its next end (the switch's "until", waking,
the night), and after the phone's restart.
Work that may wait, on a thread of its own, the broadcast held open meanwhile.
"Do not disturb (Sioul)" among the quick settings: Sioul's switch, on every
device (docs/do-not-disturb.md), pressed without opening Sioul.
Doses reminded while Sioul is not on the screen (docs/android.md, "Doses
while Sioul is away").
The doses' alarms given again from the list kept (DoseAlarms): Android
forgets them when it restarts; an update keeps them, given again all the
same; allowed "Alarms & reminders" again, they ring on time again.
A reminder tapped: its dose kept for Sioul (
DoseAlarms.takeOpened(android.content.Context), which
Rust reads when the window comes up), then Sioul brought up as by its icon.A dose's alarm, and the "Taken" of its reminder (DoseAlarms): each asks
Rust's side (crates/sioul-app/src/alarms.rs) on a thread of its own, the
broadcast held open meanwhile (goAsync).
One broadcast: answered in time, or let go at the deadline and answered after.
Reminders before events while Sioul is not on the screen (docs/android.md,
"Events"): Android freezes an app it does not show, so Rust hands the
coming reminders of events ahead (crates/sioul-app/src/eventalarms.rs:
their own alarms, Sioul's before them, the working day before), and each
is given to Android's alarm clock, as the doses are (DoseAlarms).
An alarm to set: its reminder's key, and when (Unix ms).
The events' reminders (EventAlarms): at a reminder's time, Rust is asked
what to say (crates/sioul-app/src/eventalarms.rs) on a thread of its own,
the broadcast held open meanwhile (goAsync), as for the doses
(DoseReceiver).
One broadcast: answered in time, or let go at the deadline and answered after.
Sioul's cards on the home screen (docs/android.md, "The card on the home
screen").
Sioul's agenda card on the home screen: the coming events alone, day by
day, as the full card lists them (HomeCardRows).
Sioul's mail card on the home screen: the Porch's latest messages alone,
as the full card lists them (HomeCardRows).
A line of the home screen's card tapped (HomeCard, HomeCardRows): the
Porch or a message on it, Now on its step, the Agenda or an event in it,
kept for Rust (
HomeCard.opened(android.content.Context, android.content.Intent); homecard.rs takes it when the window comes
up), then Sioul brought up as by its icon.The rows of a home-screen card's list (HomeCard, through HomeCardService),
as a mail card and an agenda card show them, from what Rust wrote (crates/
sioul-app/src/homecard.rs).
One row: its kind, the message or event it shows, its words, where a tap leads.
The home-screen cards' lists (HomeCard): Android's widget service binds here
for the rows of a card's list, each card its own factory (HomeCardRows),
the card's kind in its address.
Sioul's full card on the home screen (HomeCard draws it; docs/android.md,
"The card on the home screen"), from what Rust wrote (crates/sioul-app/src/
homecard.rs).
A cell of the weather: an hour, a part of the day, a day.
What fits in the card's height, the most needed first; and what its width allows.
What the full card says now, and when that changes next: the pure part.
New mail at the times it may come (docs/porch.md, "Notifications"; Rust
decides what and when: crates/sioul-app/src/mailnote.rs): one notification
for a batch, "Two letters", the first senders with their subjects below,
the next batch in its place.
Sioul's addresses that can send, published to Android (docs/android.md,
"Sharing"): one shortcut each, which the share sheet offers as a direct
target from Android 10 (its
<share-target> in res/xml/sioul_shortcuts.xml
matches their category), and a long press on Sioul's icon as "Write from
you@example.org".The phone's do-not-disturb during Sioul's pauses and for its own
do-not-disturb (crates/sioul-app/src/dnd.rs, docs/android.md "Pauses"): a
mode of Sioul's own for each, an AutomaticZenRule named "Pause" / "En
pause", "Free time" / "Temps libre" or "Do not disturb (Sioul)",
letting through what the matrix of what reaches you lets through then, as
far as Android can say it (sioul_core::attention::Silence, docs/attention.md
§3.3): calls and messages from nobody, starred contacts, contacts or
anyone; a second call within 15 minutes; the conversations marked
important in Android (Android 11 and later); alarms; the sound of what the
person plays.
What one of Sioul's modes lets through, as Rust asks it (dnd.rs's Ask,
from the matrix: sioul_core::attention::Silence): who may call and who
may write ("none", "starred", "contacts", "anyone"), a second call
within 15 minutes, the conversations marked important in Android,
alarms, the doses' and an event's alarms' channels.
"Pause" pressed on the quick-settings tile (PauseTile) or the home screen's
shortcut (res/xml/sioul_shortcuts.xml): the press kept for Sioul
(
PauseMode.pressed(android.content.Context), which Rust takes when the window comes up), then Sioul
brought up as by its icon, where the pause starts, or shows when it is on
already."Pause" among the quick settings: a tap opens Sioul, which starts the pause,
or shows it when it is on already; never an end (ending is the pause
screen's one button: no exit by accident).
What the listener says of a notification for your computers, beside what
decides its time (AppNotes, describe; crates/sioul-core/src/phonemsgs.rs,
`Extra`): whether its app keeps it secret, when it was sent and posted,
whether it shows a picture; and of each message, when it was sent and
whether it is a picture.
An event's reminder, new mail's notification, or a button of the end of
work's or the night's notice pressed (EventAlarms, MailNotes, DayNotes):
what it opens, the event's file, the Porch, a closing sheet or a block's
question, kept for Sioul (
EventAlarms.takeOpened(android.content.Context), which Rust reads
when the window comes up), the day's notice taken away, then Sioul brought
up as by its icon.A reply from your computers sent through a notification's own Reply, as
the phone's shade sends one typed under it (docs/android.md, "Replies from
your computers"; Rust's side: crates/sioul-app/src/replies.rs,
crates/sioul-core/src/replies.rs).
One action of a notification as the choice reads it: plain data, made
on the phone from a Notification.Action or a car extender's bundle
(
Replies.found(android.app.Notification)), by hand in android/jvm-checks/RepliesCheck.java.What a notification offers (
Replies.choose(java.util.List<com.aurelienpierre.sioul.Replies.Act>, boolean, boolean)): its Reply and its Mark as read, each null when none.An action found on the phone: what the choice reads, and what sends it.
Your security key held against the phone or plugged into its USB-C port
(crates/sioul-app/src/nfc.rs, crates/sioul-sync/src/securitykey/phone.rs,
docs/android.md "Your security key"), for Rust through android/main.cpp.
What other apps hand Sioul to write (docs/android.md, "Sharing"): files and
text shared to it, or to one of your addresses straight from the share
sheet (MailShortcuts), and mailto: links.
A shared file, open, or why not.
What is chosen as Sioul's process starts, before anything of Qt's (Android
makes an app's providers first): Qt's accessibility is kept for screen
readers.
The background service's alarm, and the phone's restart or Sioul's update
(StepService, in the same process ":steps"): a step for the service
running, else the service started again, if it was on.
Sioul in the background: it keeps your devices in step while Sioul is
closed (crates/sioul-app/src/steps.rs; docs/android.md, "In the
background").
A step asked for later: its reason, and when it comes (elapsed realtime,
milliseconds).
Texts read on the phone for your computers (docs/texts.md; Rust's side:
crates/sioul-app/src/texts.rs), without Sioul being the phone's SMS app:
the SMS app stays the record.
A new text, after the phone's SMS app had it (SMS_RECEIVED, sent by
the system alone: its permission): a step soon, in which Rust reads it
and shares it.
An inbox's newest id asked in an order (`NEWEST`); a refusal throws.
A row of a cursor, or of a check's stand-in: its values by column.
Android's question for the texts' permissions (docs/texts.md), asked from
Settings ▸ This phone ▸ Texts: reading the texts (READ_SMS), hearing a new
one (RECEIVE_SMS), sending one written on a computer (SEND_SMS), then,
apart, the SIMs' names (READ_PHONE_STATE), which Android never keeps
behind restricted settings: the first question's answer, timed, says
whether Android showed one (`Texts.atOnce`).
A text written on a computer, sent by this phone (docs/texts.md, "Never
twice"; Rust's side: crates/sioul-app/src/texts.rs).
Android's word on a part, sent or delivered, or on a multimedia message (in the background service's process): written, then a step soon.
The time running, in Android's notifications while a focus session runs
(docs/android.md, "The time running"): its task, a chronometer counting
from its start, the time paused left out, and Pause (Go on, while paused)
and Stop.
A button of the time running (TimeNote): Pause, Go on or Stop, done by
Rust's side (crates/sioul-app/src/timenote.rs) on a thread of its own, the
broadcast held open meanwhile (goAsync), Sioul's window running or not.
The alarm at waking (docs/android.md, "Waking"): it rings when the night
ends, on the mornings ticked with the night in Sioul's Health settings.
The alarm at waking's moments (WakeAlarms): its ring, which starts the
ringer at once and gives the next from the list kept, then asks Rust for
the wakings as they are now; its look, a little before each ring and as
each night starts, which asks Rust after the sync app had its twenty
seconds (Sioul may be frozen while another device changed the night); a
try ("Try the alarm"), rung the same way and nothing else; Stop and 10 min
later; and the phone's own moments: started (before its first
unlock, then after), Sioul updated, the time or the zone changed, "Alarms &
reminders" allowed again, each giving the alarms again.
The alarm at waking, ringing (WakeAlarms): a service in the foreground for
as long as it rings, its notification on the "Waking" channel with the
screen over the lock screen (WakeScreen), Stop and 10 min later.
The alarm at waking, over the lock screen (WakeRinger's full-screen
notification): the time, Stop, 10 min later (a try's last ring: Stop
alone).