The Odysee Android app with wallet functionality

Overview

Odysee Android

Release

To create an APK file which can be installed on real devices, you will need to create a digital signature and then edit app/build.gradle file the following way:

android {
    signingConfigs {
        release {
            storeFile file('<<put full path to the .JKS Java keychain file>>')
            storePassword '<<password of the file>>'
            keyAlias '<<the alias you chose for the digital signature>>'
            keyPassword '<<the password for the key>>'
        }
    }
(...)

    buildTypes {
      release {
          (...)
          debuggable false
          signingConfig signingConfigs.release
      }

Then you will be able to build a signed APK file via Build/Generate Signed Bundle/APK... menu item on Android Studio

Contributing

Contributions to this project are welcome, encouraged, and compensated. For more details, see https://lbry.io/faq/contributing

License

This project is MIT licensed. For the full license, see LICENSE.

Security

We take security seriously. Please contact [email protected] regarding any security issues. Our PGP key is here if you need it.

Contact

The primary contact for this project is @akinwale ([email protected])

Comments
  • Alpha bugs list

    Alpha bugs list

    • [x] password not validated or saved on sign up - can't continue sign in
    • [x] color theme on description is LBRY green (hyperlinks / tags)
    • [ ] blue ribbon at top of wallet page goes to rewards page that doesn't work. Blue ribbon is not within color theme.
    • [x] remove USD equivalents ?
    • [x] channel discover page doesn't load - this should load channels from primary category, sorted by trending?
    • [x] should be able to click entire comment to expand all comments, not just the expand button.
    • [x] Improve single comment picking. It is just selecting comment 0, even if it won't be displayed on expanded list
    • [ ] when signed out, drive sign up if you try to react, comment, etc.
    • [ ] When no channel available and required, drive channel creation
    • [x] comments page on channel page shows bad data - check @saltycracker channel, only has 1 comment
    • [x] no search / url bar?
    • [x] when you sign out, wallet balance still shows, notification page blank
    • [x] Bittrex conversion link > https://lbry.com/faq/exchanges. Call it "Exchange your Credits" - or ask Jeremy for the Copy for this.
    • [x] Can't comment: authentication required
    • [x] After reacting, comments collapse. Can't see total reactions after you react. (can't seem to react anymore)
    • [x] Clicking video from pop out player goes to homepage.
    • [x] Can't navigate home after a few videos deep via related.(have to keep clicking back through each page).
    • [x] New content notification click ends up in 'loading decentralized data for a while (no need to mention decentralized mention). Other navigation steps too, even after being available in claim search.
    • [ ] on sign up, email sent to is black, can't see the email
    • [ ] Odysee often disappears from the quick switcher - need to find the app again. Happens when I navigate away to another app? This happens on the sign in page for sure (i..e go to check email for confirmation link, disappears)
    • [x] view more on wallet page expands to a blank item (no additional breakdown shown)
    • [x] remove all references to USD stuff
    • [x] app crash with samsung
    • [x] changes to followings in app seem to only be stored locally (wallet sync is off, added to top missing features)
    • [x] has option to follow channels you are already following
    • [x] Following page feels bloated(top bar + channels you follow + navigation bar takes about half of the screen )
    • [ ] view history (sign out or view + sign in - should clear maybe?), including notifications is persisted between sessions
    • [x] floating player covers navigation bar at the bottom
    • [x] resolve notification data to get channel and claim thumbnails for notifications area
    • [ ] fireabase token persisted between uninstall/reinstall. Getting old notifications from the previous account. Never saw this before - apis issue?
    • [ ] pop out player gets stuck to top of trending somehow (notice it's both at the top and bottom - small thumbnail, I was scrolled up) image
    • [x] pop out player shows on non-video content (minimize while on random page) image
    • [x] Livestreams are no longer listed on the Following fragment
    • [x] Make progress bar Odysee theme
    • [x] Julian got stuck at "retrieving account information" - had to close/reopen
    • [x] Julian getting random crashes, doesn't seem consistent on anything in particular. I got a few while navigating around as well.
    • [x] remove details on sign in about wallet sync (streamline)
    • [x] search both content and channels for top result (i..e thomas.zarebczan would search @thomas.zarebczan) (julian noticed this)
    • [x] you can get the bottom navigation items to show during search, but clicking them doesn't do anything
    • [ ] auto search after typing + waiting x seconds?
    • [ ] allow magic link login on the password prompt.
    • [ ] playlists on channel page - look strange without thumbnail, cannot view content error when clicking one without thumbnail. With thumbnail, it shows the thumbnail on top and loading icon over it, and then the typical file view. playlist items are way at the bottom. Probably want to start without the details page and just show the playlist items, with current item playing on top.
    • [x] livestreams don't play (tried direct link - probably needs urls updated to odysee ones)
    • [x] notifications are marked read only in the session - when I quit app + restart, I see 50+ on bell, and those I recently watched are not marked as read anymore.
    • [x] search shows a spinning bar in top right even if you aren't searching anything
    • [ ] remove search text "you can search..." - match ios - "start typing to discover" with lasso spaceman
    • [x] Make commenting flow colors odysee theme (saw green stuff)
    • [x] Make search flow Odysee colors (green on channel links)
    • [x] reacting to content is super slow - count does not increment.
    • [x] notifications page takes over other pages, no clear way to close besides clicking back. If you click notification, and then search, it shows the search box with notifications in backgroud
    • [x] authentication error when tipping
    • [x] swipe gestures close app (Akin thinks this may be causing what Julian is seeing)
    • [x] remove "loading decentralized data" references
    • [x] Odysee notification icon - make Odysee colors (it's green today)

    missing features:

    • wallet sync
    • reward verification via phone/twitter/cc/paid
    • livestreams (showing on channel page , live stream comments at least)
    • yt sync flow
    • first run flow (claiming email verified reward or maybe the android one we have - both are fine too, channel setup or YT sync, follow channels)
    • comment reactions
    • rewards
    • channel creation
    • checking for disabled comments on channels (see ios implementation)
    • playlists

    Will add more here as I find it, anyone else is free to edit/add also.

    Fixed:

    • [x] Blank trending homepage when navigating back to it. Clicking new (loads) and then trending again works. Categories are lost in this case.
    • [x] sign in goes to a sign up flow. Add option to sign in?
    • [x] Sign in proces shows "join odysee"
    • [x] buy LBRY credits pops up a strange overlay. This can probably be modeled after odysee.com buy screen or remove for now.
    • [x] yerbil > space man
    • [x] user and install new needs to pass odysee.com as the domain - otherwise you get LBRY related emails
    • [x] wildwest > all content, don't pass any channel ids + only allow trending
    • [x] Makes my notification bar black, can't see any icons/text. (Phone in dark mode).
    • [x] seek bar on video is LBRY themed
    • [x] are we optimizing spee.ch thumbnails to a reasonable size? maybe use the ones that odysee.com is using so they are properly cached. Lazy loading feels sluggish
    • [x] Share buttons link to lbry.tv, should by odysee.com
    • [x] Wallet: "View All" shows incorrectly "There are no transactions to display"

    Some new stuff from the recent beta (12/17):

    • reports of crashing on email verification
    • can't see comments after posting
    • need comment edit/delete options
    • wild west still looks filtered (that was checked off above)
    • thumbnails not loading in notifications
    • Fix odysee colors on wallet page (green)
    • Remove "exchange your credits" link
    • when supporting and entering an amount, need to click into field twice to get keyboard to pop up
    • livestreams not brought to top of channel page. Need to account for scheduled streams also.
    bug Epic 
    opened by tzarebczan 19
  • Add FOSS build variant

    Add FOSS build variant

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Feature
    • [x] Refactoring (no functional changes)

    Fixes

    Issue Number: #139

    What is the current behavior?

    App uses non-free firebase and google libraries

    What is the new behavior?

    Moved code calling non-free libraries into the full sourceSet, and added stubs to the foss sourceSet.

    Other information

    VirusTotal output of a release build: https://www.virustotal.com/gui/file/f44a5b53f9fe8e06394f16ea015986f5848ac40ff15b597284f370861ec3039f/details. I don't know where the googleapis strings are coming from.

    opened by ktprograms 15
  • Implement direct livestreaming

    Implement direct livestreaming

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Feature

    Fixes

    Issue Number: #94

    What is the current behavior?

    What is the new behavior?

    Direct livestreaming available

    Note that currently you need to navigate to the go live fragment again after granting the audio permission in order for the camera permission to be requested.

    opened by ktprograms 15
  • Comment 3-Dot Menu With Edit and Remove Support

    Comment 3-Dot Menu With Edit and Remove Support

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change
    • [ ] This PR introduces breaking changes and I have provided a detailed explanation below

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bugfix
    • [x] Feature
    • [ ] Code style update (formatting)
    • [ ] Refactoring (no functional changes)
    • [ ] Documentation changes
    • [ ] Other - Please describe:

    Fixes

    Issue Number: #91 Task: Need comment edit/delete options

    What is the current behavior?

    Only three options available on a given comment: Like, Dislike, and Block

    What is the new behavior?

    Adds support for Edit and Remove through a new 3-dot kebab menu like web. Also stubs out support for the still missing commenting features: Love, Pin, Add as moderator, Mute, and Copy Link.

    Other information

    • This includes some minor refactoring and bug fixes to related commenting features. Deeper refactoring can be done at a later point, to bring all Comment Actions under one consistent umbrella. Right now there are different UI hooks and networking calls for various comment actions.
    • Fixed a bug where comment list would not display after making first comment on channel or video. This was already on master I believe.
    • Fixed a crash if you tried to expand comment area before comment list loaded on a video.
    • General PR feedback. See in comment below: https://github.com/OdyseeTeam/odysee-android/pull/116#issuecomment-1035619144
    opened by dougkoellmer 11
  • Implement quality selection for transcoded videos

    Implement quality selection for transcoded videos

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Feature

    Fixes

    Issue Number: #113

    What is the current behavior?

    No quality selector

    What is the new behavior?

    Quality selector next to the speed selector.

    • An Auto selection to let Exoplayer decide the best quality to use (also for non-transcoded videos)
    • Settings for default qualities on Wi-Fi or Mobile Data

    | Player view | Settings | |--|--| | Player view | Settings |

    Note

    The Exoplayer dependency is bumped to 2.16.0 to allow using the new track selection APIs. To the best of my knowledge this didn't break anything, but I didn't test live streams.

    opened by ktprograms 8
  • Save and switch back to previously shown fragment in channel page

    Save and switch back to previously shown fragment in channel page

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [x] Feature

    Fixes

    Issue Number: #232 (clicking Back from a playlist click takes you to channel page (should take you to playlist page?)

    What is the current behavior?

    After navigating back to channel page, it is always on first tab (Content).

    What is the new behavior?

    Save tab that user was on and restore.

    opened by ktprograms 7
  • Rewrite from Java to Kotlin

    Rewrite from Java to Kotlin

    Since it is the new release of the Odysee Alpha, the best way to decrease space is to rewrite it on Kotlin. Because less code = less space for the user.

    opened by iamflorencejay 7
  • Search improvements

    Search improvements

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [x] Feature

    Fixes

    Issue Number: #108

    Commit messages

    Use dark gray color for featured claims

    Adds contrast to featured claims in dark mode.

    Improve resolving of featured (matching URL) claims

    • Trim leading/trailing whitespace and replace with hyphen between words.
    • Resolve channel claim from query as well.
    • Resolve (and add to list) featured claims only after initial search completed.
    • Hide duration view when showing featured channel claim.
    • Hide other info views when showing "Publish something" item (when query does not resolve).
    • Remove duplicate percent sign and redundant escape in invalid URI regex.

    Show original claim short URL for reposted featured claims

    Lighthouse: Remove resolve=true, run resolve after search

    Filter null results and subtract from expected page size (so pagination works correctly).

    Use Ordering.explicit to put claims in correct order after resolve.

    Search: Add Sort By option, use Lighthouse query params

    Remove filter functionality from ClaimListAdapter, use Lighthouse query params instead.

    opened by ktprograms 6
  • Show publish time as relative always, except on FileViewFragment

    Show publish time as relative always, except on FileViewFragment

    • Add PrettyTime library (also used by NewPipe).
    • Create FormatTime helper class.
    • Use DateTimeFormatter to show absolute localized time in FileViewFragment. There should be at least one place where the absolute publish time is visible.

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [x] Feature

    Fixes

    Issue Number: #232 (check featured dates - some repost dates nothing coming through? see May 21, August 30, 2020, and "days ago" on various claims)

    What is the current behavior?

    Publish times further back than a month or two are shown as absolute date (e.g. 07 May 2020)

    What is the new behavior?

    Relative time shown no matter how far back publish time is. Absolute time shown in FileViewFragment.

    opened by ktprograms 5
  • Primary email address is not set when signing up

    Primary email address is not set when signing up

    The Issue

    Steps to reproduce

    1. Create a new account
    2. On Odysee.com, try to login, but click on the link for the "forgot password" case
    3. After receiving the email from Odysee, try to set the new password

    Expected behaviour

    The new password is set

    Actual behaviour

    Odysee.com tells user that primary_email is needed

    Internal Use

    Acceptance Criteria

    Definition of Done

    • [ ] Tested against acceptance criteria
    • [ ] Tested against the assumptions of the user story
    • [ ] The project builds without errors
    • [ ] Unit tests are written and passing
    • [ ] Tests on devices/browsers listed in the issue have passed
    • [ ] QA performed & issues resolved
    • [ ] Refactoring completed
    • [ ] Any configuration or build changes documented
    • [ ] Documentation updated
    • [ ] Peer Code Review performed
    opened by kekkyojin 4
  • [Feature Request] Show, change or remove your profile picture

    [Feature Request] Show, change or remove your profile picture

    Show the profile icon in top-right corner while on screens Home, Following, Wallet, Library and Channels (when you click on your icon and go to Channels).

    Add option to change or remove your profile picture.

    opened by nphalem 4
  • Use absolute adapter position on notifications and playlists

    Use absolute adapter position on notifications and playlists

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix

    What is the current behavior?

    IDE shows an error when using the position parameter instead of getting the current adapter position

    What is the new behavior?

    IDE is no longer showing the error

    opened by kekkyojin 0
  • Avoid using generic notifyDataSetChanged()

    Avoid using generic notifyDataSetChanged()

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Refactoring (no functional changes)
    opened by kekkyojin 0
  • manifest: set extractNativeLibs to true

    manifest: set extractNativeLibs to true

    Fix installation error due to zipalign not respecting page boundaries of uncompressed .so files.

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix

    Fixes

    Issue Number: N/A

    What is the current behavior?

    App can't install

    opened by ktprograms 0
  • Delete unused scheduled fragment code and layout files

    Delete unused scheduled fragment code and layout files

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Other - Please describe: Unused code removal
    opened by kekkyojin 0
  • Do not offer a paid option to verify account for rewards

    Do not offer a paid option to verify account for rewards

    PR Checklist

    Please check all that apply to this PR using "x":

    • [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
    • [x] I have checked that this PR does not introduce a breaking change

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix

    What is the current behavior?

    Paid option to verify account for rewards is reportedly not working,

    What is the new behavior?

    The method is no shown to user

    Other information

    There are other code corrections that could be made to this file, but I am leaving it as is so this commit could be reverted when padi method is available again

    opened by kekkyojin 0
Owner
Odysee
Odysee
Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation 44 Dec 21, 2022
Sample crypto wallet for Wallet Link SDK.

DemoWallet This repo is sample app for Wallet Link SDK. WalletLink is an open protocol that lets users connect their mobile wallets to your DApp. With

null 0 Dec 17, 2021
EU Digital COVID Certificate Wallet App - Android

This repository contains the source code of the EU Digital COVID Certificate Wallet App for Android.

null 57 Oct 6, 2022
Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

null 727 Dec 26, 2022
Bitcoin Wallet - a standalone Bitcoin payment app for your Android device

Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required Google Colab

DE MINING 0 Feb 25, 2022
Nova Wallet Android - Next get mobile app for Polkadot & Kusama ecosystem

Nova Wallet Android is a next gen application for Polkadot & Kusama ecosystem, transparent & community-oriented, focused on convenient UX/UI, fast performance & security.

Novasama Technologies 17 Dec 27, 2022
Ergo Wallet for Android, built on top of Ergo Appkit.

Ergo Wallet Android Ergo Wallet for Android, built on top of Ergo Appkit. You need at least Android 7 to run Ergo Wallet. Features: generating wallets

Benjamin Schulte 80 Dec 14, 2022
Ergo Wallet for Android

Ergo Wallet Android Official Ergo Wallet for Android (official announcement) Features: generating wallets, restoring wallets in a way compatible to Yo

Ergo 80 Dec 14, 2022
Bitcoin-Wallet-Android Google Colab

Beta channel Run Google Colab https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing In order to receive updates quicke

DE MINING 0 Feb 25, 2022
Lightning Dev Kit Android Demo Wallet

uMlando-wallet Lightning Dev Kit Android Demo Wallet This project uses a .aar package for the Android platforms that provide language bindings for the

Conor Okus 6 Dec 23, 2022
Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains

Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains. This application allows you to sign transactions on the block chain, share your DID and Verifiable Credentials containing your identity with others in a consensual way and log into web2 and web3 applications. If you lose your phone several mechanisms exist to allow you to recover your account without trusting anyone with custody of your private keys.

null 7 Dec 24, 2022
Open Super dApp - Your gateway to the new digital commons. Integrated mobile messenger, Ethereum wallet, and Web 3.0 browser built on open, decentralized, and encrypted protocols.

A fully open source, open standard, decentralized "super app" including a secure, encrypted Matrix compatible messenger based off of the Element Messenger, and an Ethereum crypto wallet and web3 browser based off of Alpha Wallet.

2Gather 6 Jul 25, 2022
SimpleTodo - An android app that allows building a todo list and basic todo items management functionality

Pre-work - SimpleTodo SimpleTodo is an android app that allows building a todo l

null 0 Dec 31, 2021
SimpleToDo is an android app that allows building a todo list and basic todo items management functionality including adding new items, editing and deleting an existing item.

SimpleToDo is an android app that allows building a todo list and basic todo items management functionality including adding new items, editing and deleting an existing item.

null 0 Jan 3, 2022
Todo List Application is an android app that allows building a todo list and basic todo items management functionality including adding new items, editing and deleting an existing item

Todo List Application is an android app that allows building a todo list and basic todo items management functionality including adding new items, editing and deleting an existing item

null 0 Jan 22, 2022
A stock market app , with cached , search functionality , and market overview in the form of graph statics

A stock market app , with cached , search functionality , and market overview in the form of graph statics. The graph really looks cool (jetpack compose, SOLID priciples).

SUMIT KUMAR 1 May 20, 2022
Food Recipe App is an app for collecting most of food recipe in one app

Food Recipe App is an app for collecting most of food recipe in one app

Heba Elsaid 10 Dec 25, 2022
Arjun Naik 1 Apr 16, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022