You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
ThomasSession b510b064cf
[SES-1652] Swap video views in calls (#1533)
* WIP: swap video views

* feat: swap video views

* minor fixes

* minor fix

* minor fix

* update libsession-util

* Revert "update libsession-util"

This reverts commit 0d386e706e.

* reverse updating libsession-util

* update libsession-util

* Tweaking colors to match designs

* More theme fixes

* WebRTC rework

Only using two sinks and swapping between them
Reworked the device rotation logic as it didn't work well with pitch ( you could tip the device front to back and the rotation went out of whack, so had to resort to more robust calculation for the device orientation.
Had to use a deprecated sensor setting but it's the only one I could use that works.

* Video management logic update

Rounded corners for floating inset
Proper handling of video scaling based on video proportions
Proper handling of mirroring logic for floating/fullscreen videos depending on whether they are the user or the remote video and whether the camera is front facing or not

* Showing floating video inset only when there is at least one video stream active, hiding it when both are inactive

* Rotating controls on rotation

* Clean up

* Review feedback

* OrientationManager

The new OrientationManager encapsulate the orientation logic and sends out a mutable state flow

* PR feedback

---------

Co-authored-by: Ryan Zhao <ryanzhaors@qq.com>
Co-authored-by: Ryan ZHAO <>
9 months ago
.github Update issue templates (#1253) 2 years ago
.run SES-1156 - Ban and delete functionality fix (#1428) 1 year ago
app [SES-1652] Swap video views in calls (#1533) 9 months ago
buildSrc Paged conversation recycler, update compile sdk version 31 (#1049) 2 years ago
gradle/wrapper Paged conversation recycler, update compile sdk version 31 (#1049) 2 years ago
liblazysodium Update session libsodium (#1326) 2 years ago
libsession [SES-1652] Swap video views in calls (#1533) 9 months ago
libsession-util Update libsession 10 months ago
libsignal SS-2168 - User profile warnings (#1531) 10 months ago
scripts Updated the 'upload exists' script with the latest fixes 1 year ago
.drone.jsonnet Further tweaks 1 year ago
.gitattributes materialize conversation item indicators 11 years ago
.gitignore Initial CI setup test 1 year ago
.gitmodules Integrate shared libsession-util library (#1096) 2 years ago
BUILDING.md Add huawei info to BUILDING.md 2 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 4 years ago
LICENSE Initial Project Import 14 years ago
README.md SES-1156 - Ban and delete functionality fix (#1428) 1 year ago
build.gradle Update session libsodium (#1326) 2 years ago
gradle.properties SS-2168 - User profile warnings (#1531) 10 months ago
gradlew Gradle/Gradlew/AndroidGradlePlugin update. 6 years ago
gradlew.bat Gradle/Gradlew/AndroidGradlePlugin update. 6 years ago
settings.gradle Integrate shared libsession-util library (#1096) 2 years ago

README.md

Session Android

Download on the Google Play Store

Add the F-Droid repo

Download the APK from here

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://raw.githubusercontent.com/oxen-io/oxen-core/master/utils/gpg_keys/KeeJef.asc
gpg --import KeeJef.asc

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/oxen-io/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

Socials