Text Select

Text Select

A lightweight modern LSPosed module that is inspired by the double-tap text-selection behavior of the historical `com.arjerine.textxposed` / Text Aide module. It is a new implementation rewritten against the modern libxposed API by AI.

Features

  • Double-tap TextView to enable text selection
  • Native Android selection UI
  • Toast confirmation: "Select now"

Privacy

  • No Internet permission
  • No Accessibility Service
  • No clipboard monitoring
  • No background service
  • Only active in applications selected by LSPosed

Compatibility

  • Android / LSPosed
  • Modern libxposed API (LSPosed 2.x)

What it does

When enabled for an application in LSPosed Manager, the module hooks android.widget.TextView construction and installs a small touch listener. A qualifying double tap causes the module to:

  1. Enable TextView text selection.
  2. Show the confirmation toast Select now.
  3. Return false so the application's normal touch handling can continue.

The double-tap behavior follows the observed legacy implementation: a second ACTION_DOWN within 300 ms and within 15 dp of the first tap is treated as the double tap.

Requirements

  • Rooted Android device.
  • LSPosed with modern libxposed API support.
  • Android 8.0+ (minSdk 26).

Build locally

gradle :app:assembleRelease

The release build is intentionally not configured with a repository signing key. Public releases are signed in GitHub Actions with the maintainer's private release keystore and Uber APK Signer.

GitHub release process

Release tags use the format required by the Xposed Modules Repository:

VersionCode-VersionName

For example, the first release is:

1-1.0.0

Later releases can use the same format, for example 2-1.1.0. The workflow derives the APK version and filename from the tag.

The release workflow:

  1. Builds the release APK.
  2. Downloads the pinned Uber APK Signer release.
  3. Reconstructs the PKCS#12 release keystore from GitHub Actions secrets.
  4. Signs and zip-aligns the APK.
  5. Verifies the APK signature against the expected certificate SHA-256 fingerprint.
  6. Produces a SHA-256 checksum for the final APK.
  7. Renames the APK to hamedsbt.xposed.textselect.<version>.apk.
  8. Creates the GitHub Release and uploads the APK and checksum.

The signing keystore and passwords are never committed to the repository.

Release signing secrets

Configure these GitHub Actions repository Secrets:

  • RELEASE_KEYSTORE_BASE64 — base64-encoded textselect-release.p12.
  • RELEASE_KEYSTORE_PASSWORD — PKCS#12 keystore password.
  • RELEASE_KEY_ALIAStextselect.
  • RELEASE_KEY_PASSWORD — private-key password.

The workflow derives the certificate SHA-256 from the restored keystore at release time, so no additional certificate secret is required.

Provenance

The behavior was reconstructed from the supplied apktool output of com.arjerine.textxposed, particularly the decompiled Xposed and touch-listener implementation. Text Select is a clean-room rewrite of the observed behavior in a modern codebase and is intentionally limited to the double-tap selection feature.

License

The source code of this rewrite is released under the MIT License.

Releases

1-1.0.0

Stable

8/17/2026, 11:25:13 AM

Initial release of Text Select, a lightweight modern LSPosed module inspired by the double-tap text-selection behavior of com.arjerine.textxposed.

Assets

1