Skip to content

feat: Spanish (es) localization, keyword blacklist, ghost mode privacy, telemetry blocker & HD avatar download - #9

Open
SkuuIll wants to merge 2 commits into
MeiYongAI:mainfrom
SkuuIll:feat/spanish-translation
Open

feat: Spanish (es) localization, keyword blacklist, ghost mode privacy, telemetry blocker & HD avatar download#9
SkuuIll wants to merge 2 commits into
MeiYongAI:mainfrom
SkuuIll:feat/spanish-translation

Conversation

@SkuuIll

@SkuuIll SkuuIll commented Aug 20, 2026

Copy link
Copy Markdown

Summary

This pull request brings complete Spanish (es) localization support along with 4 new high-value enhancement features for Toki: Keyword Blacklist filter, Ghost Mode privacy (anonymous stories & invisible DMs), ByteDance Telemetry Blocker, and HD Avatar Download on long-press.


🌟 Key Features & Changes

1. 🌐 Full Spanish Localization (es)

  • Strings & Plurals: Added complete Spanish translation in app/src/main/res/values-es/strings.xml covering 100% of UI strings, plurals, dialogs, warnings, and descriptions.
  • Language Picker: Integrated SPANISH("es", "es") in AppLanguage.kt and SettingsScreen.kt.

2. 🚫 Keyword & Hashtag Blacklist Filter

  • Functionality: Automatically filters out and hides videos from the feed whose caption (getDesc()) or hashtag tags contain user-defined keywords (case-insensitive).
  • UI: Added a dedicated multiline dialog in the Feed settings to configure blocked keywords separated by commas or newlines.
  • Hook/Filter Engine: Integrated in FeedFilter.java.

3. 👻 Ghost Mode & Advanced Privacy

  • Anonymous Stories: View stories without sending story read receipts to ByteDance servers (ghost_mode_stories).
  • Invisible Direct Messages (DMs): Read incoming DMs without dispatching "Seen" / read receipt events (ghost_mode_dm_read).
  • Hide Typing Status: Prevent sending the "typing..." indicator while composing direct messages (ghost_mode_typing).
  • Implementation: Hook feature in GhostModeHooks.java.

4. 🛡️ ByteDance Analytics & Telemetry Blocker

  • Functionality: Intercepts and drops background analytics and tracking calls (AppLog, SensorsData, MobClick, Tracker), saving mobile data and battery life while maximizing user privacy (block_telemetry).
  • Implementation: Hook feature in TelemetryHooks.java.

5. 🖼️ HD Avatar Download on Long-Press

  • Functionality: Long-pressing a creator's avatar in the feed automatically resolves the maximum resolution image (getAvatarLarger() / getAvatarHd()) and saves it directly to Pictures/TikTok/ via Android DownloadManager (avatar_hd).
  • Implementation: Hook feature in AvatarHooks.java.

🧪 Testing & Verification

  • Unit Tests: All unit tests (FeedFilterTest, AppLanguageTest, SettingsInputTest, RootActionsTest) pass (./gradlew testDebugUnitTest -> 0 failures).
  • Linter: Zero lint errors found (./gradlew lintDebug -> BUILD SUCCESSFUL).
  • Build & Signature: Successfully compiled app-debug.apk and minified app-release-unsigned.apk with R8 (./gradlew assembleDebug assembleRelease).

@SkuuIll
SkuuIll force-pushed the feat/spanish-translation branch from 0aee684 to f976ba3 Compare August 20, 2026 01:13
@SkuuIll SkuuIll changed the title feat(i18n): add full Spanish (es) localization and language picker support feat: Spanish (es) localization, keyword blacklist, ghost mode privacy, telemetry blocker & HD avatar download Aug 20, 2026
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