Commit 7f50494
SystemUI: Ongoing action progressbar chip implementation
This commit provides an implementation of a progressbar chip in statusbar which features ongoing action progress from a notification
The chip is featured to the right of default statusbar clock position, but before the icon container. The contents of chip are miniature app icon and a progress bar
The implementation provided is basic and lacks customizations which are planned to be added further
Idea is taken from this reddit post: https://www.reddit.com/r/NOTHING/comments/1dyuak6/nothing_os_30_images_fan_made/
@neobuddy89:
* Removed opacity customization
* Switch from VibrationUtils to VibratorHelper.
* Renamed settings key for media progress and compact mode.
* Disabled chip by default.
Squashed:
From: NurKeinNeid <nurkeinneid@derpfest.org>
Date: Sat, 22 Feb 2025 16:14:01 +0100
Subject: SystemUI: Add ongoing action chip toggle setting [1/2]
Change-Id: I2083b5184d9a8233722661e42d7d5f33876fc276
Signed-off-by: NurKeinNeid <nurkeinneid@derpfest.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: f104a <f104a@f104a.io>
Date: Thu, 16 Jan 2025 15:57:43 +0100
Subject: SystemUI: Don't tint progressbar chip icon
Change-Id: I5de1ff070e8ced513db5e4867728fcd727e5f511
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: f104a <f104a@f104a.io>
Date: Thu, 27 Feb 2025 16:17:47 +0100
Subject: SystemUI: Hide ongoing action progress chip on lockscreen
Change-Id: Iace5817e4c3111d23a1c38c0707e4822ce8fd93c
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Fri, 21 Mar 2025 10:14:55 +0000
Subject: SystemUI: Add click action to status bar ongoing progress chip
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Fri, 21 Mar 2025 16:25:28 +0000
Subject: SystemUI: Introduce media playback progress bar in action chip
- Add support for displaying media playback progress in the status bar.
- Integrate MediaSessionManagerHelper (thanks to RisingOS and AxionAOSP) to track media playback state.
- Show media progress only when music/video is playing; hide during downloads.
- Add gesture controls:
- Single tap: stop media.
- Double tap: Skip to the next track.
- Long press: Open the media app.
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Sat, 22 Mar 2025 08:25:06 +0000
Subject: SystemUI: Enhance media playback gestures and controls
- Added swipe gestures to change tracks.
- Implemented double-tap to play/pause.
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Mon, 24 Mar 2025 18:54:59 +0000
Subject: [PATCH 15/31] SystemUI: Remove unused foreground drawable of ongoing chip
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Wed, 26 Mar 2025 07:58:27 +0000
Subject: [PATCH 16/31] SystemUI: Optimize code and improve Ongoingchip handling
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Sun, 30 Mar 2025 19:41:23 +0000
Subject: [PATCH 17/31] SystemUI: Minor improvements in ongonig chip
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Ghosuto <clash.raja10@gmail.com>
Date: Wed, 2 Apr 2025 03:58:56 +0000
Subject: SystemUI: Increase Progress chip size
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: drkphnx <dark.phnx12@gmail.com>
Date: Sun, 27 Apr 2025 18:13:03 +0000
Subject: OnGoingActionProgressController: Disable media playback progress by default
Signed-off-by: drkphnx <dark.phnx12@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Thu, 8 May 2025 21:00:10 +0000
Subject: Optimize OnGoingActionProgressController
- Implemented UI update debouncing (150ms) to eliminate rapid redraws
- Offloaded intensive operations to background threads
- Added icon caching to prevent redundant drawable creation
- Split UI updates into partial refreshes - only updating what changed
- Added proper memory management and resource cleanup
- Improved state tracking and null safety
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Sat, 10 May 2025 08:39:48 +0000
Subject: SystemUI: Introduce compact progress indicator style [1/2]
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Sat, 10 May 2025 15:36:13 +0000
Subject: Progress indicator: dont track notifications when feature off
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Sat, 24 May 2025 10:21:22 +0000
Subject: fix: add null checks for PlaybackState in media progress methods
Prevents NPE during fast forward/rewind operations
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: NurKeinNeid <nurkeinneid@derpfest.org>
Date: Mon, 26 May 2025 19:12:49 +0200
Subject: OnGoingActionProgressController: Improve thread safety and error handling
- Add proper synchronization for shared state
- Improve icon loading with error handling
- Add executor cleanup and cache size limits
Signed-off-by: NurKeinNeid <nurkeinneid@derpfest.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Tue, 15 Jul 2025 20:35:54 +0000
Subject: SystemUI: Hide progress chip during heads-up notifications
Hide the progress chip when a heads-up notification is displayed
to prevent UI overlap.
The controller now listens to the HeadsUpManager to determine
when a HUN is pinned.
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Mon, 22 Sep 2025 16:43:01 +0000
Subject: OnGoingActionProgressController: Fix stuck progress bar after upload/download completion
Add stale progress detection and fix race conditions in notification handling
Change-Id: Ia0edd27b153a7a2d46fee4560b4e8e66275f5deb
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: NurKeinNeid <nurkeinneid@derpfest.org>
Date: Sat, 8 Nov 2025 22:50:02 +0100
Subject: SystemUI: Improve media progress tracking with timestamp updates
Signed-off-by: NurKeinNeid <nurkeinneid@derpfest.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Sat, 17 Jan 2026 19:57:55 +0100
Subject: ProgressIndicator: compose refactor
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Dmitrii <bankersenator@gmail.com>
Date: Sat, 17 Jan 2026 20:02:44 +0100
Subject: fix ongoing indicator again
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ide3ff14927b314d9b988e2c24eba5345fad168aa
Co-authored-by: Dmitrii <bankersenator@gmail.com>
Co-authored-by: Ghosuto <clash.raja10@gmail.com>
Co-authored-by: NurKeinNeid <nurkeinneid@derpfest.org>
Co-authored-by: f104a <f104a@f104a.io>
Co-authored-by: drkphnx <dark.phnx12@gmail.com>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>1 parent 2ae765f commit 7f50494
24 files changed
Lines changed: 2277 additions & 4 deletions
File tree
- core/java/android/provider
- packages/SystemUI
- res
- drawable-night
- drawable
- layout
- values
- src/com/android/systemui
- statusbar
- phone
- util
- util
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7747 | 7747 | | |
7748 | 7748 | | |
7749 | 7749 | | |
| 7750 | + | |
| 7751 | + | |
| 7752 | + | |
| 7753 | + | |
| 7754 | + | |
| 7755 | + | |
| 7756 | + | |
| 7757 | + | |
| 7758 | + | |
| 7759 | + | |
| 7760 | + | |
| 7761 | + | |
| 7762 | + | |
| 7763 | + | |
| 7764 | + | |
7750 | 7765 | | |
7751 | 7766 | | |
7752 | 7767 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
0 commit comments