MuntashirAkon / MuntashirAkon/AppManager

Greenify Prescription-like features with new schema for rules

Open
#447 0 comments 3 reactions 0 assignees View on GitHub
Feature Priority: 5 Status: Pending
Dominant language
Java
Stars
9k
Forks
518
PR merge metrics
No merged PRs in 30d

Description

From the beginning, App Manager supported blocking via Intent Firewall. However, this is only restricted to the component blocking (via `component-filter` tag). As the project has become matured, I like to support additional blocking by the use of `intent-filter`. However, the current tab-separated schema is unusable for supporting advanced features such as Intent filter. As a result, I am proposing a new way for storing rules through a well-structured XML schema.

**Background**
Due to the complex nature of the intent filters, providing an in-app editor will not be possible anytime soon. The great thing about XML schema is that, an advanced text editor can recognise DTDs and can validate XML structure based on them. One of the Greenify's most advanced yet unused feature is the [Prescription](https://greenify.github.io/) which is basically a wrapper around Intent Firewall's `intent-filter` tag. It also supports advance IFW-specific `and`, `not` and `or` filters.

Another great thing about using XML is that we will be able to store URI grants without flattening them to string.

**My prescription**
My plan is to take it to the next level by making a few changes to it, adding all the rules that App Manager support, along with IFW's `intent-filter`. This way, experienced users can add advanced rules and pass them to the less advanced users. I might also consider using presets like I did for profiles.

A full DTD schema will be announced when I finally have the time to work on the feature.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.