Skip to content

Drawer polish: recording controls, header chips, info section, flags and endpoint restarts - #16

Merged
abhishek-3289 merged 7 commits into
mainfrom
flags-and-permissions-page
Oct 24, 2026
Merged

abhishek-3289 merged 7 commits into
mainfrom
flags-and-permissions-page

Conversation

@abhishek-3289

Copy link
Copy Markdown
Collaborator

What changed

Drawer improvements from hands-on testing on small phones:

  • Header: app version under the subtitle; New version chip that opens App at Test build updates; while recording, a Recording chip (opens the screen capture tools) and a red stop button that stays fixed while the chips scroll; settings and close buttons closer together.
  • Screen recording: pause/resume (Android 7+) in the service and notification, and a small floating bar with timer, pause/resume and stop that stays on screen and keeps its position.
  • Feature flags: per-flag reset and Overridden text removed; Restart screen / Restart app buttons added.
  • Endpoint: a Restart app row after switching, unless restartOnChange or onChanged already applies it.
  • Info section: App info (version, package, build type/flavor from the app's own BuildConfig, debuggable, R8 state, SDK levels) and Device info, with InfoPlugin(appInfo, deviceInfo) switches.
  • Permissions open on their own page; System language & region button (AppearancePlugin(localeSettings)).
  • Layout: slightly smaller drawer text, 48dp rows, tighter section titles and dividers; screenshot, record, gallery and deep link rows use the standard button/page rows.
  • Floating button remembers where it was dragged (across screens, the drawer and restarts) and is placed correctly in RTL.

Public API stays compatible with 1.0.0: new constructor parameters come with hidden overloads of the old constructors (apiCheck and the .api diff show only additions).

How it was tested

  • ./gradlew ktlintFormat ktlintCheck lintDebug lintRelease testDebugUnitTest assembleDebug assembleRelease publishToMavenLocal apiCheck :sample:assembleQa passes.
  • Pixel 10 Pro emulator (API 37) at normal size and 360×760dp: header and chips, update chip focus, recording start/pause/resume/stop from the floating bar and the header, recording chip focus with all sections collapsed, flags page, endpoint restart, Info and User Interface rows, floating button position across drawer and app restarts. Also installed on a physical phone.
  • Independent review of the full diff; its findings (RTL trigger placement, lingering focus requests, timer jump on resume, endpoint prompt with onChanged, BuildConfig from other modules, unbounded recording bar, missing switches, docs) are fixed in the last commit.

Checklist

  • Entry added under [Unreleased] in CHANGELOG.md (or the skip-changelog label is set)
  • ./gradlew ktlintFormat ktlintCheck lintDebug testDebugUnitTest passes
  • README / sample README updated if the public API or behaviour changed
  • Screenshots attached for UI changes

@abhishek-3289 abhishek-3289 added this to the v1.1.0 milestone Oct 24, 2026
@abhishek-3289
abhishek-3289 merged commit e4d73b0 into main Oct 24, 2026
3 checks passed
@abhishek-3289
abhishek-3289 deleted the flags-and-permissions-page branch October 24, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants