Skip to content

Develop - lock QS tile, minor string updates and bug fixes - #691

Merged
sameerasw merged 18 commits into
mainfrom
develop
Aug 5, 2026
Merged

Develop - lock QS tile, minor string updates and bug fixes#691
sameerasw merged 18 commits into
mainfrom
develop

Conversation

@sameerasw

Copy link
Copy Markdown
Owner

This pull request introduces a new "Lockdown" Quick Settings tile, centralizes device lock logic, and refactors related features for improved maintainability and extensibility. It also adds a new "Lockdown mode" feature to the registry, updates supporting UI and search, and cleans up legacy code paths in favor of a unified utility.

New Quick Settings Tile and Feature:

  • Added a new LockdownTileService for a "Lockdown" Quick Settings tile, including manifest registration and UI integration. The tile adapts its icon and label based on the current mode, and supports both click and long-press actions. [1] [2] [3] [4] [5]

  • Registered "Lockdown mode" as a new feature in FeatureRegistry, with associated search keywords, descriptions, and toggle logic. [1] [2]

Centralized Device Lock Logic:

  • Introduced and used DeviceLockUtils utility throughout the codebase, replacing scattered device lock implementations in services, widgets, and automation executors. This ensures all device locking (Accessibility, Input, Device Admin) is handled consistently. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Supporting Changes:

  • Added a new DEVICE_ADMIN value to the ScreenOffMethod enum for improved lock method selection.
  • Added a new settings key KEY_LOCKDOWN_MODE for storing the lockdown mode state in SettingsRepository.

Code Cleanup:

  • Removed unused imports and legacy floating toolbar scroll behavior from MainActivity. [1] [2] [3]

These changes collectively add a robust, extensible "Lockdown" tile and feature, while improving code maintainability and user experience.

thekrdev and others added 17 commits July 27, 2026 08:04
## Summary

Adds two new automation trigger types: **Bluetooth device
connected/disconnected** and **Wi-Fi network connected/disconnected**.
Users can now build automations that fire an action when the phone
connects to (or disconnects from) a specific paired Bluetooth device or
a specific Wi-Fi network — the same way existing triggers like Charger
Connected or Schedule work today.

## What's new

- **`Trigger.kt`**: 4 new sealed subtypes —
`BluetoothConnected`/`BluetoothDisconnected` (device address + name) and
`WifiConnected`/`WifiDisconnected` (SSID), all configurable via a
settings sheet like `Trigger.Schedule`.
- **`BluetoothModule`** (new): dynamic `BroadcastReceiver` on
`ACTION_ACL_CONNECTED`/`ACTION_ACL_DISCONNECTED`, filtered by MAC
address.
- **`WifiModule`** (new): `ConnectivityManager.NetworkCallback` on the
Wi-Fi transport, resolving the active SSID via `WifiManager` and firing
on connect/lost.
- **`AutomationManager`**: wires both modules into the existing module
lifecycle (same pattern as Power/Display/Time modules).
- **Editor UI**: two new trigger entries in `AutomationEditorActivity`,
each configurable through a bottom sheet:
- `BluetoothDeviceSelectionSheet` — pick from the phone's paired devices
(requests `BLUETOOTH_CONNECT` on Android 12+).
- `WifiNetworkSelectionSheet` — if the app has **Shizuku** (or root)
authorized, it runs `cmd wifi list-networks` under shell privileges and
lets the user pick straight from the device's saved networks; otherwise
it falls back to manual SSID entry with a "Use Current Network" helper
(requests `ACCESS_FINE_LOCATION`, needed by Android to read the current
SSID).
- **Manifest**: added `ACCESS_WIFI_STATE` (the Bluetooth/location
permissions needed were already present).

## Why

Requested enhancement to make automations react to connectivity context
(e.g. "turn on Wi-Fi calling when connected to home network", "mute when
a specific headset disconnects") without needing a schedule or manual
toggle.

## Test plan

- [ ] Create a Trigger automation on "Bluetooth Device
Connected"/"Disconnected" for a paired device and verify the linked
action fires on connect/disconnect.
- [ ] Create a Trigger automation on "Wi-Fi Network
Connected"/"Disconnected".
- [ ] Verify triggers still fire correctly after the app/service is
killed and restarted (foreground service reattachment).
…iver registration context in BluetoothModule
…selection sheets to use RoundedCardContainer
- Lockdown feature requires shizuku, if no shizuku permission, It'll
normally lock your phone, no lockdowns.
- Lockdown feature removes weak unlock methods like face, fingerprint
and require secure methods like pin, password or pattern.
- **it works but you may face some bugs like It'll ask 2-3 times to
unlock, bcs of adb glicthes... but it works.**

If you don't want lockdown, you can continue with accessibility
permission, by just adding the qs tile.

Close #631
@sameerasw sameerasw self-assigned this Aug 5, 2026
@sameerasw sameerasw added the bug Something isn't working label Aug 5, 2026
@sameerasw sameerasw added the enhancement New feature or request label Aug 5, 2026
@sameerasw
sameerasw merged commit 8bf9c1f into main Aug 5, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Essentials Progress Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants