The stream is subscribed for ReflexEvent whenever a notification is received.
Reflex Event
The incoming reflex event contains:
type: ReflexEventType.notification whenever a notification is received to flutter application, and ReflexEventType.reply whenever an automated reply is sent.
packageName: Application's package name from which notifications are received and reply are sent.
title: Notification title
message: Message contained in the notification and while sending reply.
timestamp: Timestamp of the notification received and reply sent.
Listen notification from specific apps
Specify list of package names to listen to notifications from those applications.
If packageNameList: null plugin will listen to notifications from all packages.
Send an automated reply while listening notification.
AutoReply autoReply = AutoReply(
message: "[Reflex] This is an automated reply.",
),
Auto reply specific apps
Specify packageNameList in AutoReply to reply to specific applications.
AutoReply autoReply = AutoReply(
packageNameList: ["com.whatsapp"],
message: "[Reflex] This is an automated reply.",
),
The AutoReply object is used by the Reflex's autoReply field to automatically reply to applications.
Reflex reflex = Reflex(
debug: true,
packageNameList: ["com.whatsapp", "com.tyup"],
packageNameExceptionList: ["com.miui.securitycenter"],
autoReply: AutoReply(
packageNameList: ["com.whatsapp"],
message: "[Reflex] This is an automated reply.",
),
);
If the autoReply field is null in Reflex class, Auto reply feature will be disabled.
Ambiguity
A ReflexException will be thrown if,
Reflex's packageNameList and packageNameExceptionList contains any similar package name.
any package name in AutoReply's packageNameList is contained in Reflex's packageNameExceptionList.
Project Created & Maintained By
Divyanshu Shekhar
Subham Praharaj
Contributions
Contributions are welcomed!
If you feel that a hook is missing, feel free to open a pull-request.
For a custom-hook to be merged, you will need to do the following:
Describe the use-case.
Open an issue explaining why we need this hook, how to use it, ...
This is important as a hook will not get merged if the hook doens't appeal to
a large number of people.
If your hook is rejected, don't worry! A rejection doesn't mean that it won't
be merged later in the future if more people shows an interest in it.
In the mean-time, feel free to publish your hook as a package on https://pub.dev.
A hook will not be merged unles fully tested, to avoid breaking it inadvertendly in the future.