Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Foc integration Proof of Concept #21

Closed
wants to merge 907 commits into from
Closed

Foc integration Proof of Concept #21

wants to merge 907 commits into from

Conversation

emieldesmidt
Copy link
Contributor

Proof of Concept, please give it a shot. Note, actually pressing upload will fail as the filepath is not accurate. Will work on making this a bit more friendly.

Android-Emulator-Pixel_3a_2_5554-2020-04-28-15-15-55

emieldesmidt and others added 30 commits April 15, 2020 18:04
…ific user has casted a vote (and with what result)
# Conflicts:
#	currencyii/src/main/res/navigation/nav_graph.xml
# Conflicts:
#	voting/src/main/java/nl/tudelft/trustchain/voting/VotingActivity.kt
MattSkala pushed a commit that referenced this pull request Apr 29, 2020
MattSkala pushed a commit that referenced this pull request May 6, 2020
MattSkala pushed a commit that referenced this pull request May 6, 2020
Tim-W added a commit that referenced this pull request Dec 9, 2020
mateicristea88 added a commit to mateicristea88/trustchain-superapp that referenced this pull request Feb 2, 2021
* Completely remove torrentstream-android and replace it with jlibtorrent dependency. Show track download progress per-track in the list.

* Fix seeking and close mediaplayer when end of track is reached

* Make distinction in progress bar to show when a file is fully done

* Change priority of selected track to 6 so that other tracks are still preloaded in the background

* Format upload/download rate DHT stats

* Fix seeking and close mediaplayer when end of track is reached

* Fix TrackLibrary and gradle issues

* Fix downloadProgress being either 0 or 1

* Change default torrent and change progress bars UI

* Set min sdk version to 22, add wan log, manual puncture test

* Update IPv8

* Lower min SDK to 22

* Update coroutines

* Fix lint errors

* Fix readme formatting

* Update ipv8

* Add contact list, ability to add a new contact

* Add conversation, message sending, acknowledgements

* Complete merge and remove dead code

* Add nearby contact exchange via QR code

* Fix lint

* Update IPv8

* Remove duplicate IPv8 overlay and trustchain init

* Implement contact deletion

* Update Gradle

* Select first piece of interested file as interested piece index

* Test

* Move jlibtorrent to the common module

* Retain public key on screen rotation

* Create fast forward/backward and improve UI

* Make Release a fragment and add it programatically. Fix audioplayer play button

* Rewrite Tracks UI, make it a fragment. Overall UI improvements

* Created new fragment structure, with nav graph and a NavGraphHost. MusicService is now the only Acitivity running Libtorrent, the rest of UI and interactions happen on Fragments.

* Add message attachments

* Re-implement torrentstream-android, implement ExoPlayer, implement release overview and routing, implement persistent local database of releases

* Cleanup ReleaseOverviewFragment

* Integrate TrackLibrary with MusicService to reduce complexity and to remove duplicate instance of TorrentSessionManager

* Multiple stability improvements in Release rendering

* Improve stability of torrentStream interactions with Release

* Show track info of selected track

* Select local tracks/paste magnet link combined in one DialogFragment, using a FAB

* Fix playing from local files, improve seeding and do not play immediately the first track without selecting it

* Convert all fetchMagnet results to a static Torrent file, so that they can be seeded continuously by the ContentSeeder, also after app reboots

* Layout

* Code cleanup

* Revert common module change

* Always orientate portrait mode

* Show file progress as much as possible

* Extract TorrentInfoName from magnet link, preload tracks with correct piece priorities, stability improvements

* Optimize import

* Fix message item layout

* Add post feed

* Add like and reply count

* Fix lint errors

* Bump version name

* Implement most functions of RemoteQueryCommunity and Metadata payloads

* Request Trustchain database content for the music app in the background iteratively, from all Trustchain peers

* Handle Searching for Playlists with simple keyword search

* Iteratively crawl trustchains with delays

* Return to stable version of kotlin-ipv8

* Remove dead code

* Fix lint checks

* Move all TrustChain interactions at MusicDAO to its own community: MusicCommunity

* Fix imports

* Fix indents

* Initial addresses for MusicDAO

* Rewrite how ReleaseCoverFragments are added to fix some bugs

* Cleanup

* Cleanup

* Fix port

* Show loading text in ReleaseOverview if there is no content yet

* Show up/download speeds, upgrade TorrentStreamAndroid dependency and use it as an AAR file

* Make full table row clickable in Track

* Improve layout of Track

* Improved Track and Release table layout

* Toggle button in action bar that shows the connectivity stats

* Show when a track is selected, but still buffering

* Optimize imports

* Reduce the amount of AudioPlayer.retry() calls to improve the user experience during track streaming

* Fix TorrentStream-Android dependency issues for Release APK build

* Fix loadingReleases visibility

* Allow for multi-file torrent creation and sharing

* Loading content text in Release

* Improve layout of TrackPlaying fragment

* Re-add track table dividers

* Fix lint errors

* BitcoinJ integration: Wallet fragment, blockchain syncing and public/private keypair generation

* Add tip artist dialog, and handle wallet public keys to be added to TrustChain

* Sending coins to other artists with Android Toasts as feedback messages

* Fix loading text and other issues with Playlist fragment

* Add a BTC/USDT conversion rate from Binance for the user, and fix several issues with TipArtistDialog

* Show tip button only when useful

* Code cleanup

* Fix crashes and navigation issues with searching, improve loading time of MusicService by moving work off main thread

* Remove unused import

* Initial code for fully distributed Keyword Search

* Implement WalletService with RegTest, using a static IP pointing to a DigitalOcean droplet, so we can test BTC transactions

* Fix bug with searching and introduce central config for crypto currency wallet

* Remove INITIAL_ADDRESSES from MusicCommunity because if it is offline the device will send infinite messages

* Fix stability bugs and make WalletService a Singleton

* Fix Toast messages in money transfers

* Change TTL for remote keyword search according to 'good' parameters from scientific experiments

* Add comments and improve layout

* Fix a certain issue with ContentSeeder sessionmanager clashing with TorrentStream sessionmanager

* Organize code into packages

* Move AudioPlayer to top-level

* Move AudioPlayer to own package

* Repackage musicdao

* Upgrade JLibtorrent and add some tests

* Add more tests

* Add many tests and refactor some code

* Optimize imports

* Fix ReleaseFactoryTest, code cleanup and upgrade outdated dep

* Fix issues with ContentSeederTest

* Create bitcoin faucet interactions and change USD conversion to Coins

* Hide Release creation button

* Fix input of Release block and fix Tribler#3

* Fix Tribler#4, add preload mechanics, fix Tribler#4 downloading/buffering progress bars of local tracks

* Only download in ContentSeeder after full completion of Release

* End-to-end functionality for seeding content, sending SwarmHealth messages and sorting playlist overview based on swarm health. Fix Tribler#6

* Push app-debug.apk

* Start WalletService at MusicDAO startup immediately, broadcast blocks to random peers, fixes Tribler#9, Tribler#11

* Fix PlaylistsOverviewFragment causing crashes

* Fix Tribler#15, fix Tribler#10

* Fix various issues with peer gossiping, fix Tribler#16, fix Tribler#11, fix various issues with TorrentStream SessionManager and ContentSeeder SessionManager clashing, fix startup crashes

* Fix Tribler#21

* Fix Tribler#22

* Fix Tribler#22

* Fix all tests and upgrade ipv8 package to 80% line coverage, fix Tribler#24

* Improve IPv8 tests

* Cleanup

* Improve test coverage for ContentSeeder

* Cleanup

* Add libs for CI

* Use Ubuntu build instead of MacOS

* Remove unneeded libs

* New try for CI

* Add JNI libs?

* Revert "Add JNI libs?"
Revert kotlin-ipv8 going in wrong state
This reverts commit 946e8fc

* Fix PostRepository in PeerChat

* Use gradle bash check instead of eskatos gradle command action

* Add libtorrent android libs

* Add more native android files

* Re-add linux jlibtorrent so files

* Add native jlibtorrent linux x86_64 SO file to musicdao/src/main/jniLibs

* Add native jlibtorrent linux x86_64 SO file to musicdao/src/main/jniLibs

* Remove jniLibs from Common

* Fix submodule

* Communicate 3 random blocks to peers every 3 seconds, fix Tribler#18

* Use Home button as back pressed button, fix Tribler#25

* Add cover art and improve layout

* Add cover art and improve layout

* Extract audio metadata using MP3 library

* Fix build

* Fix build

* Fix build

* Fix bug with Release Fragment metadata

* Fix bug with playing current track title

* Use file names instead of MP3 file tags for now

* Use file names instead of MP3 file tags for now

* Fix bug in ReleaseFragment metadata parsing

* Fix bug in ReleaseFragment metadata parsing

* Make stream errors silent errors

* Completely replace TorrentStream-Android by JLibtorrent, new priority system for torrent pieces, fix Tribler#35, fix Tribler#34

* Fix build

* Add DataFeeder

* Move musicdao-datafeeder to its own project

* Do not allow just 1 torrent, also use torrent.added files

* Fix old 2hr+ swarm health messages bug in DataFeeder; try to use custom bootstrap DHT node

* Fix Tribler#36, fix Tribler#33

* Update DataFeeder

* Fix isTorrentCompleted bug

* Fix Tribler#40, fix Tribler#38, fix Tribler#37

* Fix Tribler#41

* Fix test

* Fix build

* Fix build

* Fix build

* Prepare release 0.3

* Add Publish/nopublish option to datafeeder

* Add Publish/nopublish option to datafeeder

* Add Publish/nopublish option to datafeeder

* Add MusicGossipingService: gossiping data now happens continuously in the background, also when app is out of focus

* Bug fix for DataFeeder

* Fix a bug with releaseRefreshCount

* Fix torrent trackers and set high priority on last pieces of selected audio file

* Reduce swarm health battery usage

Co-authored-by: Matouš Skála <skala.matous@gmail.com>
Co-authored-by: Tim W <wissel.tim@gmail.com>
Co-authored-by: Tim Wissel <t.i.wissel@student.tudelft.nl>
Cornul11 pushed a commit to kponichtera/trustchain-superapp that referenced this pull request Feb 28, 2022
Add trivial binary transfer using TFTP
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.