Repository navigation
Conversation
Signed-off-by: Saik2789 <[EMAIL_REDACTED]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #1272
/claim #1272
Root Cause / Motivation
microG lacked support for Google's Nearby Share (Quick Share) protocol and Nearby Connections API. This prevented users from discovering, sending, and receiving files to/from standard Google Play Services devices, Chromebooks, and PCs over local network transports.
Key Changes
play-services-nearby): AddedNearby.getConnectionsClient()with completeConnectionsClientinterface, option builders (AdvertisingOptions,DiscoveryOptions),Strategy,Payload, and status codes.play-services-nearby-core): Implemented mDNS service advertisement and discovery for Nearby Share (_FC9F5ED42C8A._tcp.) conforming to standard Nearby Endpoint Info encoding.NearbyCrypto): Implemented P-256 ECDH key exchange with SHA-512 commitment verification, HKDF-SHA256 key derivation (D2D client/server keys), AES-256-CBC framing, and 4-digit PIN verification generation matching standard Nearby protocol.NearbySharingClient&NearbySharingServer): Implemented encrypted introduction frame negotiation, connection response handling, and chunked payload transfer for bidirectional file sharing.NearbySharingActivityfor sending files/text via Android Sharesheet (SEND/SEND_MULTIPLE/SHARE_NEARBY),ReceiveActivityfor accepting incoming transfers with PIN verification, andNearbySharingSettingsActivityfor device name and visibility controls.NearbyEndpointInfo,NearbyCrypto(handshake, tamper detection, sequence replay prevention), andConnectionsClient.Verification & Test Proof
Executed full Gradle assemble, test, and Android lint checks:
./gradlew :play-services-nearby:assemble :play-services-nearby-core:assemble \ :play-services-nearby:test :play-services-nearby-core:test \ :play-services-nearby:lintDebug :play-services-nearby-core:lintDebug \ :play-services-nearby:lintRelease :play-services-nearby-core:lintReleaseResult:
:play-services-nearbyand:play-services-nearby-core.lintDebugandlintReleasepassed with 0 errors.Payout Address
Wallet (USDC on Base network): 0x20A0525b47f087f1Cc498cda257A0feB78D2320B