Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
0c8aea4
Build keys .gitignore
ElJaviLuki Jul 5, 2022
6a44b4e
Disable addExtraProfileFields()
Lanchon Sep 14, 2022
508ce73
Redundant Feature.isNotGranted(...) methods are gone from Grindr 8.16.0
Lanchon Sep 14, 2022
59bdc7d
Obfuscation for Grindr 8.16.0
Lanchon Sep 14, 2022
1cd383a
Merge pull request #15 from Lanchon/client_8.16.0
ElJaviLuki Sep 14, 2022
909b955
Update Anti-anti Location Mock
ElJaviLuki Sep 14, 2022
faed4b6
Update README.md
ElJaviLuki Sep 15, 2022
a822f0f
addExtraProfileFields() is back!
ElJaviLuki Sep 15, 2022
e1fe133
Code cleaning rituals
ElJaviLuki Sep 15, 2022
e2bf193
Bump to 8.17.0
ElJaviLuki Sep 15, 2022
113c4b9
Quick-fix for additional extended profile fields on v8.17.0
ElJaviLuki Sep 15, 2022
ae7d0d8
Fix Location Mock error on devices below SDK 31
ElJaviLuki Sep 15, 2022
d64dc22
Handle hook exceptions
ElJaviLuki Sep 15, 2022
faadf4d
Bump to 8.17.1
ElJaviLuki Sep 18, 2022
82cc63f
Automatic versioning
ElJaviLuki Sep 20, 2022
52a6547
Tap variants are now supported by the Unlimited Taps hook
ElJaviLuki Sep 21, 2022
b823255
Update build.gradle
ElJaviLuki Sep 22, 2022
70b9ea2
Long press to copy Profile ID
ElJaviLuki Sep 22, 2022
509e2d4
Bump to 8.20.0
ElJaviLuki Nov 9, 2022
dfdb802
Bump to 8.22.1
ElJaviLuki Dec 5, 2022
90a39ce
Prevent from Recording Profile Views
ElJaviLuki Dec 5, 2022
5c4cb54
Bump to 8.23.0
ElJaviLuki Dec 9, 2022
1ff8465
Make messages always removable
ElJaviLuki Dec 9, 2022
b013379
Notify Block/Unblock Status via Toast
ElJaviLuki Dec 15, 2022
ad5cd86
Fix extraProfileFields for profiles with no details
ElJaviLuki Jan 1, 2023
30b8fc5
Fixes #37 - Unlimited grid on the "Fresh" section is back
ElJaviLuki Jan 2, 2023
d21d1c5
Remove unused code
ElJaviLuki Jan 2, 2023
e166da7
Update to Grindr 9.6.0 to support the most basic functionality
TebbeUbben Apr 18, 2023
6700b1a
Fix addExtraProfileFields
TebbeUbben Apr 18, 2023
4c92687
Set _canBeUnsent to right value
TebbeUbben Apr 20, 2023
6e884a3
Show blocks/unblocks in chat history
TebbeUbben Apr 21, 2023
d84a7b7
Don't remove blocked profiles
TebbeUbben Apr 22, 2023
53f8d60
Fix preventRecordProfileViews
TebbeUbben Apr 23, 2023
12a39c1
Add localSavedPhrases
TebbeUbben Apr 23, 2023
6fe63f8
Use Proxy for better compatibility
TebbeUbben Apr 23, 2023
0032252
Add disableAnalytics
TebbeUbben Apr 23, 2023
b1f52a1
Fix typo
TebbeUbben Apr 23, 2023
84d9a9f
Remove log statement
TebbeUbben Apr 23, 2023
713d864
Fix phrases frequency
TebbeUbben Apr 24, 2023
a6a9506
Update to Grindr 9.7.0
TebbeUbben Apr 25, 2023
d3c5003
Add useThreeColumnLayoutForFavorites
TebbeUbben Apr 28, 2023
bf316b3
Add disableAutomaticMessageDeletion
TebbeUbben Apr 28, 2023
8bbc853
Fix undo error ;)
TebbeUbben Apr 28, 2023
b595e3a
Make showBlocksInChat more reliable
TebbeUbben Apr 28, 2023
2dc75a8
Log outgoing blocks in chat
TebbeUbben Apr 28, 2023
a8f67bf
Overhaul blocking hooks
TebbeUbben Apr 28, 2023
3dd1b29
Add dontSendChatMarkers and dontSendTypingIndicator
TebbeUbben Apr 28, 2023
7f21e99
Fix don't delete profile when blocking
TebbeUbben Apr 29, 2023
81ad2e7
Don't block incoming chat markers
TebbeUbben Apr 29, 2023
3ce6b09
Merge pull request #45 from TebbeUbben/master
ElJaviLuki May 7, 2023
997dd4f
Change package name
ElJaviLuki May 23, 2023
44b7f13
Bump to v9.9.1
ElJaviLuki May 23, 2023
5641ae3
Merge branch 'master' of https://github.com/ElJaviLuki/GrindrPlus
ElJaviLuki May 24, 2023
bec7111
Bump to v9.9.1 (fix hook unlimited profiles in cascade is pending)
ElJaviLuki May 24, 2023
5801baa
Create ChatMessage decorator
ElJaviLuki May 24, 2023
f4bccee
Apply the ChatMessage decorator
ElJaviLuki May 24, 2023
031f0fe
Improve readability and reduce hooker wrappers' coupling
ElJaviLuki May 24, 2023
1471f6f
Full Cascade (fixes unclickable profiles on Cascade)
ElJaviLuki May 24, 2023
17fad86
Remove now unnecessary obfuscation mappings
ElJaviLuki May 24, 2023
10d9879
Update build.gradle
ElJaviLuki May 24, 2023
5b8d622
Fix 'profile choosing not allowed on Explore mode'
ElJaviLuki May 26, 2023
d3cc130
A more idiomatic Kotlin way
ElJaviLuki May 26, 2023
3474883
Fix for Grindr 9.12.0
TebbeUbben Jul 12, 2023
190f9f4
Fix for Grindr 9.12.0 v2
TebbeUbben Jul 13, 2023
c2ba870
Always show option for precise location
TebbeUbben Jul 13, 2023
76ea9bc
Merge v9.12.0 Fork from @TebbeUbben
ElJaviLuki Jul 15, 2023
b414934
Update for client 9.17.2
ElJaviLuki Oct 8, 2023
e0c9872
A New Discord Server!
ElJaviLuki Oct 11, 2023
aa28fa3
Icons for Grindr Plus
ElJaviLuki Oct 11, 2023
8308208
Some deobfuscation
ElJaviLuki Oct 11, 2023
a6ecfbe
Refactoring for more kotlin-ish idiomatic code
ElJaviLuki Oct 11, 2023
5f2d35e
Better details for each of the available feature flags
ElJaviLuki Oct 11, 2023
d0cb7b6
Some refactoring for better readability
ElJaviLuki Oct 11, 2023
7b71b88
Refactor "allowMockProvider"
ElJaviLuki Oct 11, 2023
31df325
Cleaner obfuscated symbols
ElJaviLuki Oct 11, 2023
9da4d1a
Fix Unlimited Cascade in Tag Search
ElJaviLuki Oct 22, 2023
712893c
GrindrPlus: Fix the record video button not showing up
R0rt1z2 Nov 12, 2023
70daf15
GrindrPlus: Update target version to 9.17.3
R0rt1z2 Nov 13, 2023
72178bd
GrindrPlus: `9.17.4` preliminary work
R0rt1z2 Nov 15, 2023
c6f7580
GrindrPLus: Prolong the life of old versions
R0rt1z2 Dec 14, 2023
1b306c4
GrindrPlus: Make `updateAvailability` return `UPDATE_NOT_AVAILABLE`
RobbieTechie Dec 16, 2023
8d5e1cd
GrindrPlus: Update `createSuccessResult` to use latest API
R0rt1z2 Dec 14, 2023
5a379b3
GrindrPlus: Fix for `hookOnlineIndicatorDuration`
TebbeUbben Dec 14, 2023
7845aab
GrindrPlus: Bump gradle versions
R0rt1z2 Dec 14, 2023
28fe43f
GrindrPlus: Spoof app version dynamically
R0rt1z2 Dec 16, 2023
1f15edf
GrindrPlus: Unbreak `useThreeColumnLayoutForFavorites`
R0rt1z2 Dec 16, 2023
60df8eb
GrindrPlus: Rework `addExtraProfileFields` implementation
R0rt1z2 Dec 17, 2023
3c83422
GrindrPlus: Upgrade version identifiers for 9.18.0
R0rt1z2 Dec 20, 2023
f7e6dcb
GrindrPlus: Only spoof version if it's newer
R0rt1z2 Dec 20, 2023
873df71
GrindrPlus: Update obfuscation for 9.18.0
R0rt1z2 Dec 20, 2023
42f2afe
GrindrPlus: Unbreak `showBlocksInChat`
R0rt1z2 Dec 20, 2023
e63cd7a
GrindrPlus: Add small command handler
R0rt1z2 Dec 20, 2023
d80b35b
GrindrPlus: Disable profile redesign
R0rt1z2 Dec 21, 2023
665e30c
GrindrPlus: Simplify `Hooker` logic
R0rt1z2 Dec 21, 2023
20159eb
GrindrPlus: Drop unused decorated classes
R0rt1z2 Dec 21, 2023
2bbe5ec
GrindrPlus: Move `GRINDR_PKG_VERSION_NAME` to `Constants`
R0rt1z2 Dec 21, 2023
0d6fbe0
GrindrPlus: Upgrade Android Gradle Plugin to 8.1.1
R0rt1z2 Dec 21, 2023
3973053
GrindrPlus: Simplify build gradle configuration
R0rt1z2 Dec 21, 2023
7772859
GrindrPlus: Simplify app updates hook
R0rt1z2 Dec 21, 2023
1667d22
GrindrPlus: Rework and refactor a few hooks
R0rt1z2 Dec 21, 2023
65b8040
GrindrPlus: Fix crash when opening certain profiles
R0rt1z2 Dec 21, 2023
dbdd751
GrindrPlus: Simplify feature hooking
R0rt1z2 Dec 22, 2023
ede4611
GrindrPlus: More refactoring and cleanup
R0rt1z2 Dec 22, 2023
77a2614
GrindrPlus: Upgrade version identifiers for 9.18.1
R0rt1z2 Dec 22, 2023
8c4362e
GrindrPlus: Rework command handler
R0rt1z2 Dec 22, 2023
bd2eaca
GrindrPlus: Use annotations for help command
R0rt1z2 Dec 22, 2023
ea53a34
GrindrPlus: Always hook `updateAvailability`
R0rt1z2 Dec 23, 2023
9687549
GrindrPlus: Add command to control profile redesign
R0rt1z2 Dec 25, 2023
f7b4308
Fix keepChatsOfBlockedProfiles
TebbeUbben Dec 26, 2023
daffae9
Fix dontSendChatMarkers
TebbeUbben Dec 26, 2023
41fc652
Fix minor mistake
TebbeUbben Dec 26, 2023
74f13a0
GrindrPlus: Bump to 1.3.5
R0rt1z2 Dec 28, 2023
a21aab0
GrindrPlus: Split `id` commands
R0rt1z2 Dec 29, 2023
efee0be
Fix preventRecordProfileViews and disableAnalytics
TebbeUbben Dec 29, 2023
5afe759
Merge remote-tracking branch 'origin/master'
TebbeUbben Dec 29, 2023
9d14c24
GrindrPlus: Bump to 1.3.6
R0rt1z2 Dec 29, 2023
92cbded
GrindrPlus: Upgrade version identifiers for 9.18.2
R0rt1z2 Jan 4, 2024
c7b2ea8
GrindrPlus: Fix `ProfileRestService` constant
R0rt1z2 Jan 4, 2024
107c437
GrindrPlus: Reintroduce `makeMessagesAlwaysRemovable`
R0rt1z2 Jan 5, 2024
4c51308
GrindrPlus: Let the user control hide views feature
R0rt1z2 Jan 5, 2024
5bab2a9
GrindrPlus: Add teleport feature
R0rt1z2 Jan 5, 2024
8614fa8
GrindrPlus: Simplify `allowMockProvider`
R0rt1z2 Jan 5, 2024
d12f2d6
GrindrPlus: Bump to 1.3.7
R0rt1z2 Jan 5, 2024
25158e7
GrindrPlus: Fix profile views once again
R0rt1z2 Jan 6, 2024
bad4e63
GrindrPlus: Use the new config manager everywhere
R0rt1z2 Jan 6, 2024
20f2616
GrindrPlus: Show BMI in profile details
R0rt1z2 Jan 7, 2024
835c13d
GrindrPlus: Add aliases for teleport locations
R0rt1z2 Jan 9, 2024
6170f65
GrindrPlus: Update releases link to point to the fork
R0rt1z2 Jan 11, 2024
7ddc2a6
GrindrPlus: Add all the new features to the `README`
R0rt1z2 Jan 11, 2024
5842128
GrindrPlus: Upgrade Android Gradle Plugin to 8.2.1
R0rt1z2 Jan 11, 2024
2e968dd
GrindrPlus: Rewrite decorated `ChatMessage` class
R0rt1z2 Jan 11, 2024
daa2095
GrindrPlus: Cleanup `Obfuscation` blocks
R0rt1z2 Jan 11, 2024
2c3a878
GrindrPlus: Fetch latest version from our JSON file
R0rt1z2 Jan 14, 2024
104e3c3
GrindrPlus: Simplify and add more config methods
R0rt1z2 Jan 14, 2024
dd02ec5
GrindrPlus: Use config manager for `localSavedPhrases`
R0rt1z2 Jan 14, 2024
b9f544b
GrindrPlus: Create `core` package
R0rt1z2 Jan 14, 2024
c94c230
GrindrPlus: Rework commands logic
R0rt1z2 Jan 14, 2024
1d793e5
GrindrPlus: Remove upsells from cached profiles
R0rt1z2 Jan 15, 2024
a285ee7
Remove redundant ?-null-checker with dot call
ElJaviLuki Jan 15, 2024
d184ca9
GrindrPlus: Add unlimited Albums hook
R0rt1z2 Jan 16, 2024
f08002a
GrindrPlus: GrindrPlus: Bump to 1.3.8
R0rt1z2 Jan 16, 2024
d63331f
Merge branch 'master' of https://github.com/R0rt1z2/GrindrPlus
ElJaviLuki Jan 29, 2024
201aea0
Clean some unused obfuscation mappings
ElJaviLuki Jan 29, 2024
30e601e
Clarification
ElJaviLuki Jan 29, 2024
78c6adc
Implement useMorePreciseDistanceDisplay
ElJaviLuki Jan 29, 2024
02e3cdf
Fix naming of command function for "myId"
ElJaviLuki Jan 29, 2024
b7361ce
GrindrPlus: Initial commit
R0rt1z2 Apr 24, 2024
daedd17
UnlimitedAlbums: Speed up subsequent calls to getContent
poundross Apr 25, 2024
7fc94f2
GrindrPlus: Compatibility update for 24.4.0
R0rt1z2 Apr 27, 2024
841a70d
Merge pull request #1 from poundross/master
R0rt1z2 Apr 27, 2024
9ea75b6
FeatureGranting: Fix invalid method names
R0rt1z2 Apr 27, 2024
fc7411f
ExpiringPhotos: Fix unlimited expiring photos
R0rt1z2 Apr 27, 2024
966ab6f
Location: Improve the `/save` command
R0rt1z2 Apr 27, 2024
363bf68
GrindrPlus: Add poundross to the contributors list
R0rt1z2 Apr 27, 2024
e2638d6
Huge refactor :) (#2)
poundross Apr 27, 2024
45204f9
Code clean up and a few fixes
poundross Apr 28, 2024
25b53ac
Improve retrofit hooks
poundross Apr 28, 2024
000168c
Migrate to gradle kts, improve command handler
poundross Apr 29, 2024
2db2963
Don't rely on prebuilt sources
poundross Apr 29, 2024
339ad7a
Fixed chat bug, updated hook adapter, reformatted code
poundross Apr 29, 2024
5fb667a
GrindrPlus: Fix ghost 'back presses'
R0rt1z2 May 1, 2024
3dfb92a
GrindrPlus: Better safe than sorry
R0rt1z2 May 1, 2024
cb47c5f
GrindrPlus: Bump to 3.1.1
R0rt1z2 May 1, 2024
6a6d5ea
GrindrPlus: Compatibility update for 24.4.1
R0rt1z2 May 1, 2024
adf7d0a
GrindrPlus: Fix `InvocationTargetException`
R0rt1z2 May 1, 2024
9951105
Partial fix for unlimited albums, allow "findClass" to throw if not f…
poundross May 2, 2024
47e22df
SignatureSpoofer: Login (#7)
Truffle2143 May 19, 2024
da9ffe3
GrindrPlus: Updates for 24.7.0
R0rt1z2 Jun 10, 2024
826ac29
albums: Rename function
poundross Jun 10, 2024
4031493
Bump gradle and dependencies versions
poundross Jun 10, 2024
6ef68e0
Fix some hooks attaching too late!
poundross Jun 10, 2024
0bf450c
GrindrPlus: Fix ChatTerminal on latest version
R0rt1z2 Jun 11, 2024
44a4293
GrindrPlus: Fix ModSettings on latest version
R0rt1z2 Jun 11, 2024
900db89
GrindrPlus: Bump version to 3.1.3
R0rt1z2 Jun 11, 2024
b24b770
GrindrPlus: Updates for 24.8.0
R0rt1z2 Jul 19, 2024
2d93e57
GrindrPlus: Allow flexible spacing for arguments
R0rt1z2 Jul 19, 2024
16b6689
GrindrPlus: Long press to copy ID with spacing
R0rt1z2 Jul 19, 2024
2a795d1
GrindrPlus: Fix send video once for all
R0rt1z2 Jul 19, 2024
48bf5d5
GrindrPlus: Add notes regarding GrapheneOS
ByteBolt556 Jul 25, 2024
d18a251
GrindrPlus: Customizable online indicator
R0rt1z2 Aug 4, 2024
08ea274
GrindrPlus: Customizable favorite grid size
R0rt1z2 Aug 4, 2024
50d785f
GrindrPlus: Ability to export / import config
R0rt1z2 Aug 4, 2024
d5d7952
GrindrPlus: Add reset GrindrPlus option
R0rt1z2 Aug 4, 2024
952cf92
GrindrPlus: Disable analytics
Truffle2143 Aug 6, 2024
1cddfb7
GrindrPlus: Add compatibility with with 24.9.0
R0rt1z2 Aug 6, 2024
437fe0f
GrindrPlus: Small adjustments for `README.md`
R0rt1z2 Aug 7, 2024
8af97c1
GrindrPlus: Partial Update to 24.12.0
Truffle2143 Sep 9, 2024
aea6e7b
GrindrPlus: Bump version identifiers for 24.12.0
R0rt1z2 Sep 10, 2024
1921968
GrindrPlus: Switch back to prebuilt libs for LSPosed
R0rt1z2 Sep 11, 2024
61619e3
GrindrPlus: Add dynamic type conversion using reflection
R0rt1z2 Sep 11, 2024
e42c781
GrindrPlus: More fixes for 24.12.0
R0rt1z2 Sep 11, 2024
a52c60c
GrindrPlus: Improve `DisableScreenshot` hook
rhunk Sep 11, 2024
4b309b2
GrindrPlus: Restore applovin error reporting hook
Truffle2143 Sep 11, 2024
7d7c11f
GrindrPlus: Match Mod Settings with new theme
R0rt1z2 Sep 11, 2024
bff353f
GrindrPlus: Fix broken profile details
R0rt1z2 Sep 11, 2024
7d7856e
GrindrPlus: Fix missing GrindrPlus easter egg
R0rt1z2 Sep 11, 2024
b40d34b
GrindrPlus: Simplify easter egg logic
R0rt1z2 Sep 11, 2024
dc2865f
GrindrPlus: Invalidate `requestUpdateInfo()`
R0rt1z2 Sep 11, 2024
6233436
GrindrPlus: Introduce hook for boost upsells
R0rt1z2 Sep 11, 2024
4ca42c0
GrindrPlus: Bump to 3.2.0
R0rt1z2 Sep 11, 2024
35cde7b
Revert "GrindrPlus: Restore applovin error reporting hook"
poundross Sep 12, 2024
ae80f27
Bump gradle version
poundross Sep 12, 2024
5200387
GrindrPlus: Use threads in DisableUpdates
R0rt1z2 Sep 12, 2024
6b23afc
GrindrPlus: Bump version to 3.2.1
R0rt1z2 Sep 12, 2024
256de0b
GrindrPlus: Restore SSL pinning bypass
Truffle2143 Sep 12, 2024
11ceb70
GrindrPlus: Add initial issue template
R0rt1z2 Sep 14, 2024
7bcc87e
GrindrPlus: Refactor the whole `README.md`
R0rt1z2 Sep 14, 2024
5a6959d
GrindrPlus: License the project under GPLv3
R0rt1z2 Sep 14, 2024
0ecf188
GrindrPlus: Append commit hash to `versionName`
R0rt1z2 Sep 15, 2024
37339b2
GrindrPlus: Add initial build workflow
R0rt1z2 Sep 15, 2024
2666b50
GrindrPlus: Add backup/restore for database
R0rt1z2 Sep 15, 2024
7cfdaae
GrindrPlus: Sign the release APK
R0rt1z2 Sep 17, 2024
5bf257a
GrindrPlus: Update gradle
R0rt1z2 Sep 17, 2024
8b4a833
GrindrPlus: Initial set-up for translations
R0rt1z2 Sep 17, 2024
720b577
GrindrPlus: `local_profiles` -> `local_phrases`
R0rt1z2 Sep 17, 2024
13776ca
Merge R0rt1z2 fork improvements
ElJaviLuki Sep 18, 2024
bc0720b
Update README.md
ElJaviLuki Sep 18, 2024
8e78b0a
Update settings.gradle
COMPUTERS-bit Jun 26, 2025
7017781
Create devcontainer.json
COMPUTERS-bit Jun 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {}
}
198 changes: 198 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
name: 🐞 Bug Report
description: Create a report about something that is not working
title: "[BUG]: "
labels: ["bug"]
projects: ["ElJaviLuki/GrindrPlus"]
assignees:
- ElJaviLuki
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this bug report. We greatly appreciate your effort in helping us improve the project :) Before submitting your report, please take a moment to ensure that all the information provided is as complete and accurate as possible.

Well-detailed bug reports allow us to identify, replicate, and fix issues faster. Please include the steps to reproduce the problem, your device and environment details, and any relevant logs or additional information. If possible, describe what you expected to happen versus what actually occurred.

> [!IMPORTANT]
> **Malformed or incomplete bug reports will NOT be accepted.**
> This includes reports with missing key information, vague descriptions, or those lacking logs and proper reproduction steps.

- type: markdown
attributes:
value: |
Please search to see if an issue already exists for the bug you encountered. You can search existing issues [here](https://github.com/ElJaviLuki/GrindrPlus/issues).

- type: checkboxes
id: existing-issue
attributes:
label: Is there an existing issue for this?
description: Please confirm that you have searched the existing issues.
options:
- label: I have searched the existing issues
required: true

- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: Provide a clear and concise description of the bug.
placeholder: Tell us what you see!
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Provide the steps to reproduce the issue. For example:
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
placeholder: List the steps to reproduce the bug.
validations:
required: true

- type: dropdown
id: install-method
attributes:
label: Installation Method
description: Please select how you installed the mod.
options:
- LSPatch
- LSPosed
validations:
required: true

- type: input
id: lspatch-version
attributes:
label: LSPatch version
description: |
If you installed the mod using LSPatch, enter the version of LSPatch (e.g. `0.6 (402)`).
*If you did not use LSPatch, leave this field blank.*
placeholder: Enter the LSPatch version
validations:
required: false

- type: input
id: lspatch-variant
attributes:
label: LSPatch variant
description: |
If you installed the mod using LSPatch, enter the variant used (e.g. `Official`, `JingMatrix's`, `LSPosed_mod`).
*If you did not use LSPatch, leave this field blank.*
placeholder: Enter the LSPatch variant
validations:
required: false

- type: input
id: lsposed-version
attributes:
label: LSPosed version
description: |
If you installed the mod using LSPosed, enter the version of LSPosed (e.g. `1.9.2 (7024)`).
*If you did not use LSPosed, leave this field blank.*
placeholder: Enter the LSPosed version
validations:
required: false

- type: input
id: lsposed-variant
attributes:
label: LSPosed variant
description: |
If you installed the mod using LSPosed, enter the variant used (e.g. `Official`, `JingMatrix's`, `LSPosed_mod`).
*If you did not use LSPosed, leave this field blank.*
placeholder: Enter the LSPosed variant
validations:
required: false

- type: input
id: rom
attributes:
label: ROM
description: ROM (e.g. `OneUI`, `LineageOS`)
placeholder: Enter the ROM version
validations:
required: true

- type: input
id: android-version
attributes:
label: Android Version
description: Android Version (e.g. `13`, `12`, `8.1`, `14`)
placeholder: Enter the Android version
validations:
required: false

- type: input
id: google-play-update
attributes:
label: Google Play system update date
description: |
Google Play system update date (e.g. `May 1, 2024`).
**Note**: This is different from Google Play Services, and custom ROMs usually don’t have it. Learn more about it [here](https://support.google.com/product-documentation/answer/14343500?hl=en).
placeholder: Enter the Google Play system update date
validations:
required: false

- type: input
id: security-patch-date
attributes:
label: Security patch date
description: Security patch date (e.g. `June 15, 2024`)
placeholder: Enter the security patch date
validations:
required: true

- type: input
id: grindr-version
attributes:
label: Grindr version
description: Grindr version (e.g. `24.12.0 (127593)`)
placeholder: Enter the Grindr version
validations:
required: true

- type: dropdown
id: grindrplus-version
attributes:
label: GrindrPlus version
description: Please select the version of GrindrPlus you are using.
options:
- v3.2.1-24.12.0
- v3.2.0-24.12.0
- v3.1.5-24.9.0
- v3.1.4-24.8.0
- v3.1.3-24.7.0
- v3.1.2-24.4.1
- v3.1.1-24.4.0
- v3.1.0-24.4.0
- v3.0.0-24.3.1
- v2.1.4-24.3.0
- v2.1.3-24.2.0
- v2.1.2-24.2.0
- v2.1.1-24.1.0
- v2.1.0-24.0.8
- v1.4.0-9.18.5
- v1.3.8-9.18.2
- v1.3.7-9.18.2
- v1.3.6-9.18.1
- v1.3.5-9.18.1
- v1.3.4-9.18.1
- v1.3.3-9.18.0
- v1.3.2-9.18.0
- v1.3.1-9.17.4
- v1.2.6-9.16.1
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant log output
description: |
Logs are very useful if they contain necessary straces to debug what's going on. Take logs and grep for `Grindr`, `LSPosed`, `LSPatch` if possible. For more information about how to take logs, check the LineageOS website [here](https://wiki.lineageos.org/how-to/logcat/).
render: shell
100 changes: 100 additions & 0 deletions .github/workflows/build_apk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Android APK Build and Upload to Telegram & Artifacts

on:
push:
branches:
- 'master'
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'

- name: Make gradlew executable
run: chmod +x ./gradlew

- name: Get Version Info
id: version_info
run: |
VERSION_INFO=$(./gradlew printVersionInfo --quiet | grep 'VERSION_INFO:' | sed 's/VERSION_INFO: //;s/ (.*)//')
echo "VERSION_INFO=$VERSION_INFO" >> $GITHUB_ENV

- name: Get Commit SHA and URL
run: |
COMMIT_SHA=$(git rev-parse --short HEAD)
REPO_URL="https://github.com/${{ github.repository }}"
COMMIT_URL="${REPO_URL}/commit/${COMMIT_SHA}"
echo "COMMIT_SHA=$COMMIT_SHA" >> $GITHUB_ENV
echo "COMMIT_URL=$COMMIT_URL" >> $GITHUB_ENV

- name: Build APK (Debug)
run: ./gradlew assembleDebug

- name: Build APK (Release)
run: ./gradlew assembleRelease

- name: Find APK filenames
id: find_apks
run: |
DEBUG_APK=$(find app/build/outputs/apk/debug/ -name "*.apk")
RELEASE_APK=$(find app/build/outputs/apk/release/ -name "*.apk")
echo "DEBUG_APK=$DEBUG_APK" >> $GITHUB_ENV
echo "RELEASE_APK=$RELEASE_APK" >> $GITHUB_ENV

- name: Decode and Save Keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > /tmp/keystore.jks

- name: Sign the Release APK
run: |
${ANDROID_HOME}/build-tools/$(ls "${ANDROID_HOME}/build-tools/" | sort -V | tail -n 1)/apksigner sign \
--ks /tmp/keystore.jks \
--ks-key-alias ${{ secrets.KEY_ALIAS }} \
--ks-pass pass:${{ secrets.KEYSTORE_PASSWORD }} \
--key-pass pass:${{ secrets.KEY_PASSWORD }} \
--out "${{ env.RELEASE_APK }}" \
"${{ env.RELEASE_APK }}"

- name: Verify the signed APK
run: |
${ANDROID_HOME}/build-tools/$(ls "${ANDROID_HOME}/build-tools/" | sort -V | tail -n 1)/apksigner verify \
"${{ env.RELEASE_APK }}"

- name: Upload Debug APK to Telegram
run: |
curl -F document=@"${{ env.DEBUG_APK }}" \
-F chat_id=${{ secrets.TELEGRAM_CHAT_ID }} \
-F parse_mode=Markdown \
-F caption="${{ env.VERSION_INFO }} (debug) | [${{ env.COMMIT_SHA }}](${{ env.COMMIT_URL }})" \
https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendDocument

- name: Upload Signed Release APK to Telegram
run: |
curl -F document=@"${{ env.RELEASE_APK }}" \
-F chat_id=${{ secrets.TELEGRAM_CHAT_ID }} \
-F parse_mode=Markdown \
-F caption="${{ env.VERSION_INFO }} (release) | [${{ env.COMMIT_SHA }}](${{ env.COMMIT_URL }})" \
https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendDocument

- name: Upload Debug APK as Artifact
uses: actions/upload-artifact@v3
with:
name: "Debug APK - ${{ env.DATE_TODAY }}"
path: ${{ env.DEBUG_APK }}

- name: Upload Signed Release APK as Artifact
uses: actions/upload-artifact@v3
with:
name: "Signed Release APK - ${{ env.DATE_TODAY }}"
path: "${{ env.RELEASE_APK }}"
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@
.cxx
local.properties
.idea/*
.idea
.idea
build_keys/*
Loading