Skip to content

🎨 Palette: UX improvements for sample app - #12

Draft
juankyc wants to merge 1 commit into
mainfrom
palette-ux-improvements-shadowhook-7506484357222495060
Draft

🎨 Palette: UX improvements for sample app#12
juankyc wants to merge 1 commit into
mainfrom
palette-ux-improvements-shadowhook-7506484357222495060

Conversation

@juankyc

@juankyc juankyc commented Jul 11, 2026

Copy link
Copy Markdown
Owner

This PR implements several micro-UX improvements to the ShadowHook sample application to make it more intuitive and developer-friendly.

💡 What

  • Interactive ADB Command: The top TextView containing the ADB command is now clickable and copies the command to the clipboard, providing immediate visual feedback with a ripple effect and a Toast message.
  • Action Feedback: All primary actions (hooking, unhooking, running, and getting records) now display a Toast message upon completion, providing clear confirmation for native operations.
  • Stateful Load Button: The library load button now disables itself and updates its text to "libhookee2.so loaded" once clicked. This state is persisted across Activity recreation (e.g., screen rotation) using onSaveInstanceState.
  • Accessibility Enhancements: Added android:contentDescription to interactive elements and ensured they are focusable for screen readers.
  • Build Infrastructure: Upgraded Gradle to 8.5 and AGP to 8.2.2 to enable compilation in the Java 21 environment.

🎯 Why

Technical sample apps often lack feedback for native operations, leaving users unsure if an action succeeded. Making commands copyable significantly reduces friction for developers testing the library.

♿ Accessibility

  • Added a descriptive contentDescription for the copyable ADB command.
  • Ensure all interactive elements have proper focus states.
  • Used semantic string resources for all UI text.

Note: Build system upgrades were necessary to resolve compatibility issues between the environment's Java 21 and the project's original Gradle 7.5.


PR created automatically by Jules for task 7506484357222495060 started by @juankyc

- Add click-to-copy for ADB logcat command with visual feedback.
- Add Toast notifications for native operations (hook, unhook, run, records).
- Implement state persistence and better feedback for the 'load library' button.
- Upgrade build system (Gradle 8.5, AGP 8.2.2) for Java 21 compatibility.
- Add accessibility descriptions and focus states for interactive elements.

Co-authored-by: juankyc <150547187+juankyc@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

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.

1 participant