* Adjusted microphone -> phoneCall use call which allows foreground services to work from locked screens * Found a way to force the device to wake up & accept a call if the foreground service is stopped - but it's ugly * WIP * Minor cleanup * Fix minor issue * Cleanup * Further cleanup * Attempt to unlock keyguard if locked on incoming call * Minor tidyup * Cleaned method name * Bump canonical version code & name for a 1.20.8 release * Modernised fullscreen intent flags * Prevent dangling call activity on resume after taking a call from lock screen after force close * Prevented stale call activity hanging around when call finished having been woken from lock via fullscreen intent * Addressed PR feedback * Further PR feedback & fixed dead call activity in history if denied outright * Hopefully final PR feedback / adjustments * Corrected some things I'd accidentally missed * Adjustments to run wakeup 'emergency exit' timer off the main thread as per PR feedback * Removed accidentally left in commented code * Removed no longer valid comment * Removed unused imports * Removed wait for screen wakeup - still seems to work okay (unlike if we wait but do it wrong) such as via a few commits ago * Removed unused imports - always gets me, that one.. --------- Co-authored-by: alansley <aclansley@gmail.com> |
5 months ago | |
---|---|---|
.github | 6 months ago | |
.run | 1 year ago | |
app | 5 months ago | |
buildSrc | 2 years ago | |
common | 8 months ago | |
content-descriptions | 7 months ago | |
gradle/wrapper | 9 months ago | |
liblazysodium | 2 years ago | |
libsession | 5 months ago | |
libsession-util | 5 months ago | |
libsignal | 6 months ago | |
scripts | 6 months ago | |
.drone.jsonnet | 8 months ago | |
.gitattributes | 11 years ago | |
.gitignore | 6 months ago | |
.gitmodules | 6 months ago | |
BUILDING.md | 6 months ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
LICENSE | 14 years ago | |
README.md | 6 months ago | |
build.gradle | 9 months ago | |
gradle.properties | 6 months ago | |
gradlew | 6 years ago | |
gradlew.bat | 6 years ago | |
settings.gradle | 8 months ago |
README.md
Session Android
Download on the Google Play Store
Add the F-Droid repo
Summary
Session integrates directly with Oxen Service Nodes, which are a set of distributed, decentralized and Sybil resistant nodes. Service Nodes act as servers which store messages offline, and a set of nodes which allow for onion routing functionality obfuscating users' IP addresses. For a full understanding of how Session works, read the Session Whitepaper.

Want to contribute? Found a bug or have a feature request?
Please search for any existing issues that describe your bugs in order to avoid duplicate submissions. Submissions can be made by making a pull request to our dev
branch. If you don't know where to start contributing, try reading the Github issues page for ideas.
Build instructions
Build instructions can be found in BUILDING.md.
Translations
Want to help us translate Session into your language? You can do so at https://crowdin.com/project/session-android!
Verifying signatures
Step 1:
wget https://github.com/jagerman.gpg
gpg --import jagerman.gpg
Step 2:
Get the signed hash for this release. SESSION_VERSION
needs to be updated for the release you want to verify.
export SESSION_VERSION=1.10.4
wget https://github.com/session-foundation/session-android/releases/download/$SESSION_VERSION/signatures.asc
Step 3:
Verify the signature of the hashes of the files.
gpg --verify signatures.asc 2>&1 |grep "Good signature from"
The command above should print "Good signature from "Kee Jefferys...
". If it does, the hashes are valid but we still have to make the sure the signed hashes matches the downloaded files.
Step 4:
Make sure the two commands below returns the same hash. If they do, files are valid.
sha256sum session-$SESSION_VERSION-universal.apk
grep universal.apk signatures.asc
License
Copyright 2011 Whisper Systems
Copyright 2013-2017 Open Whisper Systems
Copyright 2019-2021 The Oxen Project
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html