Skip to content

Develop - AppFunctions for Gemini and wallpaper color extraction before apply - #714

Merged
sameerasw merged 3 commits into
mainfrom
develop
Aug 7, 2026
Merged

Develop - AppFunctions for Gemini and wallpaper color extraction before apply#714
sameerasw merged 3 commits into
mainfrom
develop

Conversation

@sameerasw

Copy link
Copy Markdown
Owner

This pull request introduces support for the Android AppFunctions API (Android 14+, API 36+) to the Essentials app, enabling system-level automation and device control through a new AppFunctionService. It adds a comprehensive set of AppFunctions for device actions, automations, and status queries, with all necessary service declarations, DTOs, and integration points. ProGuard rules and dependencies are updated accordingly.

AppFunctions Integration and Service Implementation

  • Added the new EssentialsAppFunctionService and abstract base class BaseEssentialsAppFunctionService implementing a wide range of AppFunctions for device control (flashlight, sound mode, battery saver, AOD, notification lighting, freeze tags, automations, etc.), with detailed KDoc documentation for each function.
  • Registered the service in AndroidManifest.xml with required permissions, schema, and metadata properties for AppFunctions.
  • Introduced AppFunctionAvailabilityManager to update AppFunction availability on supported devices, invoked during app initialization in EssentialsApp. [1] [2]

Data Transfer Objects (DTOs) for AppFunctions

  • Added serializable DTOs for AppFunction communication: AppFunctionResult, AutomationSummary, CreateAutomationParams, and others to support function parameters and responses. [1] [2] [3]

Build and ProGuard Configuration

  • Updated build.gradle.kts to include androidx.appfunctions dependencies and KSP compiler.
  • Updated proguard-rules.pro to keep new AppFunctions and related classes for correct operation in release builds.

@sameerasw sameerasw self-assigned this Aug 7, 2026
@sameerasw sameerasw added the enhancement New feature or request label Aug 7, 2026
@sameerasw
sameerasw merged commit bc92ca0 into main Aug 7, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Essentials Progress Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant