SolidNotificationsClient
Client SDK for the sharing notification inbox, built on Linked Data Notifications (LDN). Lets an app read incoming share notifications and access requests from the user's inbox, and send the matching outgoing notifications.
This layer is pull-only: there is no push subscription. The expected usage:
call listNotifications / listRequests from a
PeriodicWorkRequest(15.minutes)worker for background sync;call them again on user-initiated refresh (pull-to-refresh, tab open).
Calls are delegated over IPC to the Android Solid Services app. Obtain an instance via Solid.getNotificationsClient; collect connectionState and wait for true before issuing calls. All operations are suspend functions and throw SolidException on failure.
Functions
Deletes Offer/Undo pairs that cancel out and (optionally) items older than olderThanIso. The IPC layer doesn't propagate the delete count back; callers needing it should drive the manager in-process.
Hot Flow of the IPC service connection state; emits true once connected.
Deletes a single message from the inbox.
Ensures the user has an LDN inbox, creating and advertising it if absent.
Returns the share notifications currently in webId's inbox (offers, accepts, withdrawals, rejections).
Returns the access requests in webId's inbox — others asking for access to this user's resources.
Notifies receiverWebId that ownerWebId has granted them mode access to resourceUri. resourceType / resourceName describe the object of a typed (entity) share — the entity's RDF class IRI and human title; both null for plain resource shares.
Declines requesterWebId's access request for resourceUri, with an optional reason.
Asks ownerWebId for requestedMode access to resourceUri on behalf of requesterWebId, with an optional summary message.
Notifies receiverWebId that their access to resourceUri has been withdrawn.
Tells a receiver their access level changed. This is an as:Update — deliberately not a re-Offer, so the receiver sees "X updated your access" rather than a fresh share. resourceType / resourceName behave as on sendOffer.