PhoneProfilesPlus (PPP) Documentation

repository·master·Indexed 20 days ago

https://github.com/henrichg/phoneprofilesplus

An Android automation tool for creating and triggering device profiles to change settings such as Wi-Fi, Bluetooth, sound, and airplane mode based on context or events. Documentation covers installation via app stores or ADB, granting WRITE_SECURE_SETTINGS permissions, configuring airplane mode radios, using Shizuku for non-rooted devices, and building the application from source using AOSP android.jar.

Tokens
4.5K
Snippets
8
Records
27
Agent score
71%

What's inside PhoneProfilesPlus

  1. Overview of PhoneProfilesPlus features

    master

    PhoneProfilesPlus (PPP) is a profile and event management system. Key capabilities include:

    Editor Capabilities

    • Manage Profiles and Events: Add, edit, duplicate, and delete.
    • Customization: Change visibility of Profiles and Events, and configure how they are filtered.
    • Reordering: Use "drag and drop" to reorder Profiles and Events.
    • Launch Configuration: Define what is launched from the home screen, widgets, or notifications.

    Activator Capabilities

    • Profile Activation: Activate a Profile via a click from a popup window.
    • Launch Configuration: Define what is launched from the home screen, widgets, or notifications.

    UI and Experience

    • Notifications: Configure status bar, toast, and notification styles.
    • Themes: Switch between light and dark application themes.
    • Widgets: Choose between icon, one row, or list widget styles.
    • Shortcuts: Create shortcuts directly into a Profile.
    • Settings: Backup and restore application settings.
    • Global Control: Enable or disable the starting of all Events globally.
  2. What is PhoneProfilesPlus (PPP)?

    master

    PhoneProfilesPlus (PPP) is an Android application that allows users to manually or automatically change device settings based on specific events or life situations (e.g., home, work, car, sleep, outside).

    Key capabilities include changing settings like:

    • Ringer mode and sounds
    • Wi-Fi and Bluetooth status
    • Launcher wallpaper
    • Airplane mode

    Profiles can be activated manually or triggered automatically by Events.

  3. Configure Event behaviors and properties

    master

    Events in PhoneProfilesPlus can be fine-tuned with several properties to control how they interact with Profiles and the system:

    • Priority: Set the importance of the event.
    • Profile Activation: Specify which Profile should be activated upon the event's start or end.
    • Manual Activation Override: Option to ignore manual Profile activation.
    • Sound: Configure sound notifications for the event.
    • Undo Mechanism: Option to undo the Profile that was activated before the Event started.
    • Timing: Configure delays for both the start and end of an Event.
  4. Enable root-level parameters on non-rooted devices

    master

    PhoneProfilesPlus (PPP) provides several mechanisms to modify system parameters that typically require root access, allowing them to work on non-rooted devices:

    • Shizuku (Z): Enables parameters that normally require root via the Shizuku service.
    • WRITE_SECURE_SETTINGS permission (G1): Enables parameters that normally require root by utilizing the WRITE_SECURE_SETTINGS Android permission.
    • PPPPutSettings (S): Enables parameters that normally require root using the PPPPutSettings utility.

    Depending on the specific parameter you wish to control, you may need to ensure one of these services or permissions is active.

  5. Requirements for advanced parameters

    master

    While many parameters are available out-of-the-box, certain advanced profile parameters require additional components to function:

    • PhoneProfilesPlusExtender: Required for specific parameters not included in the core package.
    • PPPPutSettings: Required for specific parameters that utilize the PPPPutSettings mechanism for non-rooted device control.
  6. Use Shizuku for specific PhoneProfilesPlus features

    master

    Some PhoneProfilesPlus profile parameters are marked with (Z). These specific parameters require the Shizuku application to function. Shizuku serves as a powerful alternative for accessing system APIs on non-rooted devices.

    To use these features, you must have Shizuku installed and running on your Android device.

  7. Install PhoneProfilesPlus on Android

    master

    PhoneProfilesPlus can be installed via several app stores or direct download.

    Recommended Method: Use an app store like Droid-ify, Neo Store, or F-Droid (with the IzzyOnDroid repository included) to search for "PhoneProfilesPlus". This is preferred over direct APK installation, especially for Android 13+ devices, for security reasons.

    Direct Download:

    • You can download the APK directly from GitHub Releases.
    • Note for Android 13+: Direct APK installation is not recommended for security. If you cannot install the APK directly on your device, you may need to install it from a computer. See docs/install_apk_from_pc.md for instructions.

    Google Play Protect Warning: Because PPP targets SDK version 28 (Android 9) to maintain specific functionalities, Google Play Protect may show a dialog: "Unsafe app blocked - This app was build for an older version of Android and doesn't include the latest privacy protection." To proceed, click "More details" and then "Install anyway".

  8. Configure permissions and advanced settings

    master

    PPP requires specific configurations for certain profile parameters to work correctly. Refer to the following guides for setup:

    • Granting (G1) permissions: Required for profile parameters that need this specific permission level. Guide
    • Using Shizuku: A good alternative for non-rooted devices to handle parameters requiring (Z) permission. Guide
    • Disabling Wi-Fi scan throttling: Useful for improving Wi-Fi scanning reliability. Guide
    • Configuring Airplane mode radios: Necessary for the "Airplane mode" profile parameter. Guide
  9. Disable Wi-Fi scan throttling via ADB

    master

    To disable Wi-Fi scan throttling on a device that lacks the setting in the UI, follow these steps:

    1. Enable Developer Options on the device:
      • Go to Settings > About > Software Information.
      • Tap Build Number 7 times until Developer Options are unlocked.
    2. Enable USB Debugging:
      • Go to Settings > Developer Options and enable USB Debugging.
      • Note for specific manufacturers:
        • Xiaomi: You must also enable USB debugging (Security settings).
        • Oppo/OnePlus: You may need to enable Disable permission monitoring.
    3. Execute the command from your PC:
      • Open a Command Prompt (Windows) or Terminal (Linux/macOS).
      • Navigate (cd) to the folder where you extracted the ADB platform tools.
      • Run the following command to disable throttling:
    adb shell settings put global wifi_scan_throttle_enabled 0
  10. Prepare device for ADB configuration

    master

    To configure airplane mode radios via ADB, you must first set up the Android SDK Platform Tools and enable Developer Options on your device.

    1. Install ADB

    If you do not have adb installed:

    1. Download SDK Platform Tools from the official Android developer site.
    2. Extract the zip contents to a folder on your PC.

    2. Enable USB Debugging

    1. On your device, navigate to Settings > About > Software Information.
    2. Tap Build Number 7 times until Developer Options are unlocked.
    3. Go to Settings > Developer Options and enable USB Debugging.

    Device-specific requirements:

    • Xiaomi: Enable "USB debugging (Security settings)".
    • Oppo / OnePlus: Enable "Disable permission monitoring".

    Note: When connecting to your PC, you must accept the prompt on the device to allow access to phone data for ADB.