ReceivePollWorker

Doze-aware background poll for incoming UNSHIELDED NIGHT (#271). Scheduled by WalletForegroundService.attach — periodically (~15 min) and as an expedited one-shot when the app backgrounds — so a receipt is noticed even while the app is backgrounded / the device is locked, when the live observer isn't running.

Flow: read the poll target (ReceiveTargetStore) → seed-free one-shot catch-up (BackgroundReceiveChecker.newReceipts) that returns per-transaction inbound NIGHT receipts classified by UTXO-set provenance (#284 — our own change is never a receipt) → announce each one not yet seen (ReceiveCheckpointStore tx-id cursor, shared with the live observer). Skipped when the wallet UI is foreground (the live observer covers that, and there's no point summoning someone who's already here).

Shielded receipts are out of scope here — they need the seed-derived viewing key (#280).

Constructors

Link copied to clipboard
constructor(appContext: Context, params: WorkerParameters)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open val coroutineContext: CoroutineDispatcher

Functions

Link copied to clipboard
open suspend override fun doWork(): ListenableWorker.Result
Link copied to clipboard
open suspend fun getForegroundInfo(): ForegroundInfo
Link copied to clipboard
override fun getForegroundInfoAsync(): ListenableFuture<ForegroundInfo>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@RequiresApi(value = 31)
fun getStopReason(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
override fun onStopped()
Link copied to clipboard
suspend fun setForeground(foregroundInfo: ForegroundInfo)
Link copied to clipboard
fun setForegroundAsync(@NonNull foregroundInfo: ForegroundInfo): ListenableFuture
Link copied to clipboard
suspend fun setProgress(data: Data)
Link copied to clipboard
open fun setProgressAsync(@NonNull data: Data): ListenableFuture
Link copied to clipboard
Link copied to clipboard
override fun startWork(): ListenableFuture<ListenableWorker.Result>
Link copied to clipboard