Skip to content
ConteDiMonteCristo edited this page May 23, 2016 · 5 revisions

Description

This app blocks or reacts to unwanted calls on a rule-based logic. The main-home activity controls the turning on and off of a background service that listens to incoming calls. This service is sticky and survives crashes and reboots of the system.

When an incoming call is detected, the service loops through the list of active filters, and for each filter, if there is a match, an action is performed, like dropping the call, logging the event or sending a warning toast message. Hence central to this design is the definition of a filter object.

A filter is assembled by combining two rules and one action objects: a calendar rule to define when the filter is active, a filter rule to define the numbers and patterns against which the incoming call is matched and an action to be performed when the filter is active and there is a match.

Functionality

Filters can be created and edited (changed and deleted) using the "Show active filters" in the menu drop-down inside the action bar. This functionality allows to create a new filter or to modify an existing one. Calendar rules and filter rules can be created independently and then assembled into a filter or can be created directly when creating the filter. It is important to notice that all filters shown by the action "Show active filters" will be used by the service when an incoming call is detected.

Here is a list of all menu items available from the drop-down menu:

  • Show active filters, to create and edit active filters; This is a main entry point in the use of this app.
  • Show latest service runs, this is a brief summary of recent service runs, where a run is defined as the period between two consecutive service-start and service-stop events,
  • Show latest calls received, a log of the incoming calls most recently received.
  • Show calendar rules, the activity to create and edit calendar rules.
  • Show filter rules, the activity to create and edit filter rules.
  • Settings, a setting page for further customization.

Once the service is running, the main activity's page also shows a brief statistics of the total number of calls received and triggered events, i.e. when the filter reacted by performing an action, since service start. These statistics are displayed on top of two buttons that allow to navigate directly to the relevant logs: the latest calls received and latest calls that triggered an action, respectively.

Navigation

Clone this wiki locally