Skip to content

Watermark and Tools

sameerasw edited this page Aug 9, 2026 · 1 revision

🛠️ Tools

Miscellaneous standalone tools in Essentials that don't fit neatly into a feature group.


Watermark

ID: Watermark

Add custom watermarks, logos, and EXIF metadata to photos directly from within Essentials. No photo editing app required.

Features

  • Logo overlay — Add a custom logo/image to your photos
  • Text watermark — Add text (date, time, device info, custom text)
  • EXIF metadata editor — Modify or append metadata fields
  • Batch processing — Apply to multiple photos at once
  • Output format — Choose JPEG quality / PNG output

Opening Watermark

Opens WatermarkActivity as a standalone screen from the feature card.

Architecture

Managed by WatermarkViewModel and WatermarkEngine:

  • WatermarkEngine handles image compositing and EXIF operations
  • WatermarkRepository stores watermark presets and configuration

Daily Wallpaper

ID: Daily Wallpaper

Automatically rotate your wallpaper on a schedule — pick from curated sources or your own photo library.

Features

  • Schedule — Set wallpaper change frequency (daily, every 6h, every unlock, etc.)
  • Source — Local photos, network sources
  • Live wallpaper — Works alongside the Live Wallpaper engine

Architecture

DailyWallpaperWorker (WorkManager) handles the periodic wallpaper update. Opens WallpaperActivity as the configuration screen.


Location Reached

ID: Location reached
Permissions: LOCATION, BACKGROUND_LOCATION, USE_FULL_SCREEN_INTENT

A "Are we there yet?" geofencing alert — set a destination and get a prominent notification or full-screen alert when you're nearby, without keeping navigation open.

Use Cases

  • Alert yourself when approaching a subway stop
  • Notify when getting close to a meeting destination
  • Trigger actions when arriving home

How it works

  1. You set a destination (tap on map or enter address)
  2. LocationReachedService monitors your location in the background
  3. When within the configured radius, a full-screen intent notification fires

Permissions Breakdown

  • ACCESS_FINE_LOCATION — Read your current GPS coordinates
  • ACCESS_BACKGROUND_LOCATION — Required on Android 10+ to monitor location when app is in background
  • USE_FULL_SCREEN_INTENT — Show a full-screen arrival alert (required on Android 14+)

Settings

  • Destination address or coordinates
  • Alert radius (meters)
  • Alert type (notification / full screen / sound)

Architecture

LocationReachedService is a foreground service that:

  • Uses FusedLocationProviderClient for battery-efficient location polling
  • Evaluates distance to destination using the Haversine formula
  • Fires USE_FULL_SCREEN_INTENT when within the arrival radius

Maps Power Saving

ID: Maps power saving
Permissions: SHIZUKU/ROOT, NOTIFICATION_LISTENER

Automatically terminates Google Maps when navigation ends, preventing the notorious "Maps keeps running in the background" battery drain issue.

How it works

  1. NotificationListener monitors the Maps navigation notification
  2. When the navigation session ends (notification dismissed or cancelled), Essentials kills the Maps process
  3. Available for any Android device — not just Pixel

Also accessible as: Maps Power Saving QS tile


App Updates Tracker

ID: App updates
Not visible in main feature list

Checks for updates to sideloaded apps by querying their GitHub releases. Allows updating directly from within Essentials without visiting the browser.

Features

  • Monitor GitHub repositories for new releases
  • Download and install APK updates in-app
  • Supports GitHub OAuth for private repositories

Architecture

  • AppUpdatesViewModel handles GitHub API calls
  • GitHubAuthViewModel manages OAuth device flow
  • AppUpdateWorker runs periodic background checks
  • Opens YourAndroidActivity as the UI screen

Clone this wiki locally