The Privacy Friendly Apps Core library is developed for the Privacy Friendly Apps project. It provides functionality used across many Privacy Friendly Apps.
Whilst developing a single app is a one-time burden, maintaining all of our apps became a time-demanding chore, only getting worse whilst Android develops further. To this time seemingly small features, like multiple themes, lack in most of our apps and are wished by many, but developing them, finding errors, keeping consistency, ... is a lot of work for every single app. Changes in the Android-Permission-Handling, updating app information and other things require repetitive work across all apps without any sane way to automate due to differing structure.
To ease this burden the PFA-Core library provides an easy to use framework to be used by the Privacy Friendly Apps. It automatically handles the backup and restore process, creating and opening the default activities, applying and changing themes, requesting and handling permissions and other UI-related things. To be future-ready, the PFA-Core Library is designed and built to provide a easy option to switch in between Jetpack Compose and the normal XML-based View approach.
The PFA-Core library is split into three modules:
-
model
This module declares the common API used by the UI-modules. It also provides the XML based resources like the PrivacyFriendlyCoreTheme, strings, drawables, ... The base implementation and interfaces to interact with permissions, dialogs, preferences, ...
It does not provide any UI-Related implementation. -
ui-view
This module declares activities and implementations to the model crate by using XML-based View UIs were possible. Min-SDK: 17
-
ui-compose
This module declares activities and implementations using Jetpack Compose and suits the declarative nature of the PFA-Core model best. Min-SDK: 21
Further development requires Android Studio, we recommend to use the latest version.
Target SDK: 34
PFA-Core is licensed under the GPLv3.
Copyright (C) 2024-2025 Patrick Schneider
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The icons used in the nagivation drawer are licensed under the CC BY 2.5. In addition to them the app uses icons from Google Design Material Icons licensed under Apache License Version 2.0. All other images (the logo of Privacy Friendly Apps, the SECUSO logo and the app logo) copyright Karlsruhe Institute of Technology.