Twire is an alternative and open source Twitch client for Android

Overview

Twire

Latest GitHub release Translation status

This is a fork of the Pocket Plays for Twitch Android application. More information in this issue.

Twire is an open source, ad-free Twitch browser and stream player for Android. Supports VODs with chat replay, custom emotes (BTTV and FFZ) and Picture in Picture mode.

Get it on F-Droid

Contributing

Developers are welcome to contribute to the project. Feel free to open an issue and to submit a pull request.

Translators can help translate Twire over on Weblate.

Licensing

Twire is licensed under the GNU v3 Public License.

As this is a fork under GNUv3 there were other developers involved. Copyright notice for: SebastianRask, alexzorin

Comments
  • Stream not playing -

    Stream not playing - "stream is no longer live"

    Any stream I tried to play from Twire is failing to play, displaying "Stream is no longer live" message, while this isn't true and can be played alsewhere.

    Here are some adb logs if it can help, cleaned out for some parts:

    04-04 23:28:11.522 30177 30177 I Timeline: Timeline: Activity_launch_request id:com.perflyst.twire time:731112887
    04-04 23:28:11.523   927  3300 I ActivityManager: START u0 {cmp=com.perflyst.twire/.activities.stream.LiveStreamActivity (has extras)} from uid 10441 on display 0
    04-04 23:28:11.592 30177 30177 D Settings: Saving Current Progress: 0
    04-04 23:28:11.858 30177 30217 D ChatManager: Trying to start chat #channel for user porkepix
    04-04 23:28:11.860 30177 30177 D LiveStreamActivity: Current orientation: 1
    04-04 23:28:11.860 30177 30177 D StreamFragment: Showing navigation
    04-04 23:28:11.916 30177 30177 D StreamFragment: WindowFocusChanged to true - isLandscape false
    04-04 23:28:11.916 30177 30177 D StreamFragment: Showing navigation
    04-04 23:28:11.919   927   987 I ActivityManager: Displayed com.perflyst.twire/.activities.stream.LiveStreamActivity: +376ms
    04-04 23:28:11.919   927   987 I Timeline: Timeline: Activity_windows_visible id: ActivityRecord{8d80429 u0 com.perflyst.twire/.activities.stream.LiveStreamActivity t551} time:731113284
    04-04 23:28:11.933 30177 30284 D ACCESS_TOKEN_STRING: {"adblock":false,"authorization":{"forbidden":false,"reason":""},"blackout_enabled":false,"channel":"channel","channel_id":71852533,"chansub":{"restricted_bitrates":["archives"],"view_until":1924905600},"ci_gb":false,"geoblock_reason":"","device_id":null,"expires":1554414390,"game":"League of Legends","hide_ads":false,"https_required":false,"mature":false,"partner":false,"platform":null,"player_type":null,"private":{"allowed_to_view":true},"privileged":false,"server_ads":true,"show_ads":true,"subscriber":false,"turbo":false,"user_id":null,"user_ip":"","version":2}
    04-04 23:28:11.933 30177 30284 D GetLiveStreamURL: HSL Playlist URL: http://usher.twitch.tv/api/channel/hls/channel.m3u8?player=twitchweb&&token={"adblock":false,"authorization":{"forbidden":false,"reason":""},"blackout_enabled":false,"channel":"channel","channel_id":71852533,"chansub":{"restricted_bitrates":["archives"],"view_until":1924905600},"ci_gb":false,"geoblock_reason":"","device_id":null,"expires":1554414390,"","hide_ads":false,"https_required":false,"mature":false,"partner":false,"platform":null,"player_type":null,"private":{"allowed_to_view":true},"privileged":false,"server_ads":true,"show_ads":true,"subscriber":false,"turbo":false,"user_id":null,"user_ip":"","version":2}&sig=&allow_audio_only=true&allow_source=true&type=any&p=1
    04-04 23:28:11.945 30177 30283 V URL TO JSON STRING: https://api.twitch.tv/api/channels/channel/panels did not successfully get read
    04-04 23:28:11.945 30177 30283 V URL TO JSON STRING: Result of reading - []
    04-04 23:28:11.962 30177 30177 I Timeline: Timeline: Activity_idle id: android.os.BinderProxy@71ee271 time:731113328
    04-04 23:28:12.086 30177 30177 D StreamFragment: Fetching viewers
    04-04 23:28:12.244 30177 30177 D ViewRootImpl: changeCanvasOpacity: opaque=true
    04-04 23:28:12.443   927  3826 I MediaFocusControl:  AudioFocus  requestAudioFocus() from android.media.AudioManager@7b54914 req=1flags=0x0
    04-04 23:28:12.445 30177 30177 E ExtMediaPlayer-JNI: env->IsInstanceOf fails
    04-04 23:28:12.445 30177 30177 E MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
    04-04 23:28:12.445 30177 30177 E ExtMediaPlayer-JNI: env->IsInstanceOf fails
    04-04 23:28:12.445 30177 30177 E MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
    04-04 23:28:12.446 30177 30177 W MediaPlayer: Couldn't open file on client side, trying server side
    04-04 23:28:12.448 11901 30772 D NuPlayer: onSetVideoSurface(0x9e165f00, no video decoder)
    04-04 23:28:12.448 11901 12298 D NuPlayerDriver: reset(0xab219840)
    04-04 23:28:12.448 11901 12298 D NuPlayerDriver: notifyListener_l(0xab219840), (1, 0, 0)
    04-04 23:28:12.449 11901 12298 D NuPlayerDriver: notifyListener_l(0xab219840), (8, 0, 0)
    04-04 23:28:12.449 11901 30772 W AMessage: failed to post message as target looper for handler 0 is gone.
    04-04 23:28:12.449 11901 30773 I LiveSession: onConnect http://<suppressed>
    04-04 23:28:12.451 11901 30772 D NuPlayerDriver: notifyResetComplete(0xab219840)
    04-04 23:28:12.451 11901 11901 D NuPlayerDriver: reset(0xab219840)
    04-04 23:28:12.452   927  3809 I MediaFocusControl:  AudioFocus  abandonAudioFocus() from android.media.AudioManager@7b54914
    04-04 23:28:12.452   927  3320 I MediaFocusControl:  AudioFocus  requestAudioFocus() from android.media.AudioManager@7b54914 req=1flags=0x0
    04-04 23:28:12.453 30177 30177 E ExtMediaPlayer-JNI: env->IsInstanceOf fails
    04-04 23:28:12.453 30177 30177 E MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
    04-04 23:28:12.453 30177 30177 E ExtMediaPlayer-JNI: env->IsInstanceOf fails
    04-04 23:28:12.453 30177 30177 E MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
    04-04 23:28:12.454 30177 30177 W MediaPlayer: Couldn't open file on client side, trying server side
    04-04 23:28:12.455 11901 30775 D NuPlayer: onSetVideoSurface(0xa68dd000, no video decoder)
    04-04 23:28:12.456 11901 30776 I LiveSession: onConnect http://<suppressed>
    04-04 23:28:12.457 30177 30177 D StreamFragment: Starting Stream With a quality on auto for channel
    04-04 23:28:12.458 30177 30177 D StreamFragment: URLS: [auto, medium, audio_only, low, chunked, high]
    04-04 23:28:12.460 30177 30188 D MediaHTTPConnection: filterOutInternalHeaders: key=User-Agent, val= SonyD5803 Build/23.5.A.1.291 stagefright/1.2 (Linux;Android 6.0.1)
    04-04 23:28:12.460 30177 30188 D MediaHTTPConnection: filterOutInternalHeaders: key=x-wap-profile, val= http://uaprof.sonymobile.com/D5803R2331.xml
    04-04 23:28:12.461 30177 30189 D MediaHTTPConnection: proxy null port 0
    04-04 23:28:12.464 30177 30177 D ChatFragment: Bttv Emotes loaded: 102
    04-04 23:28:12.751 30177 30678 D MediaHTTPConnection: proxy null port 0
    04-04 23:28:13.032 30177 30217 D ChatManager: <:tmi.twitch.tv 001 porkepix :Welcome, GLHF!
    04-04 23:28:13.032 30177 30217 D ChatManager: <:tmi.twitch.tv 002 porkepix :Your host is tmi.twitch.tv
    04-04 23:28:13.032 30177 30217 D ChatManager: <:tmi.twitch.tv 003 porkepix :This server is rather new
    04-04 23:28:13.032 30177 30217 D ChatManager: <:tmi.twitch.tv 004 porkepix :-
    04-04 23:28:13.033 30177 30217 D ChatManager: Connected >> porkepix ~ irc.twitch.tv
    04-04 23:28:13.035 30177 30177 D ChatFragment: Chat connected
    04-04 23:28:13.041 30177 30217 D ChatManager: <:tmi.twitch.tv 375 porkepix :-
    04-04 23:28:13.041 30177 30217 D ChatManager: <:tmi.twitch.tv 372 porkepix :You are in a maze of twisty passages, all alike.
    04-04 23:28:13.041 30177 30217 D ChatManager: <:tmi.twitch.tv 376 porkepix :>
    04-04 23:28:13.078 11901 30776 E LiveSession: unable to fetch master playlist http://<suppressed>.
    04-04 23:28:13.078 11901 30775 D NuPlayerDriver: notifyListener_l(0xac877780), (100, 1, -1004)
    04-04 23:28:13.079 30177 30188 E MediaPlayer: error (1, -1004)
    04-04 23:28:13.087 30177 30177 E MediaPlayer: Error (1,-1004)
    04-04 23:28:13.087 30177 30177 D VideoView: Error: 1,-1004
    04-04 23:28:13.087 30177 30177 E StreamFragment: Something went wrong playing the stream for channel - What: 1 - Extra: -1004
    04-04 23:28:13.216 30177 30217 D ChatManager: <:tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands
    04-04 23:28:13.410 30177 30217 D ChatManager: <:[email protected] JOIN #channel
    04-04 23:28:13.414 30177 30217 D ChatManager: <:porkepix.tmi.twitch.tv 353 porkepix = #channel :porkepix
    04-04 23:28:13.414 30177 30217 D ChatManager: <:porkepix.tmi.twitch.tv 366 porkepix #channel :End of /NAMES list
    04-04 23:28:13.415 30177 30217 D ChatManager: Failed to find roomstate pattern in: 
    04-04 23:28:13.415 30177 30217 D ChatManager: @emote-only=0;followers-only=1;r9k=0;rituals=1;room-id=;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #channel
    04-04 23:28:13.869 30177 30177 D ViewRootImpl: changeCanvasOpacity: opaque=false
    
    bug 
    opened by Porkepix 19
  • General questions concerning Twire and the fork

    General questions concerning Twire and the fork

    This issue can be used to ask general questions on Twire and everythint related to the fork.

    ~~Hello,

    since I wasn't able to find your contact info I ask here. I just found your porject in F-Droid and saw that it is a fork of Pocket Player. I hope this doesn't sound unfriendly but I wonder what are your motivations for forking? It would help me deciding which project to use.

    Many thanks in advance!

    edit: just found your email. Hope it's fine if I leave this issue open anyway.~~

    question 
    opened by DPTJKKVH 18
  • Twire crash as soon you click on one of the stream after an update

    Twire crash as soon you click on one of the stream after an update

    Twire crashing so much after I update it. I try to clear data, uninstall and reinstalled again but the crashing is still there

    https://user-images.githubusercontent.com/75108124/145697049-c92a9c2f-4efc-4ee4-8a64-03fab9591d72.mp4

    bug testing 
    opened by PLAYERUNKNOWNHatsune01 16
  • Add Proxy to bypass Advertisements and Pink waiting Screen [WIP]

    Add Proxy to bypass Advertisements and Pink waiting Screen [WIP]

    About the Proxy ttv.lol (https://ttv.lol/)

    They have extensions for Firefox and Chrome here: https://github.com/TTV-LOL/extensions

    Self Hosting will be possible: TTV-LOL/extensions#1 (comment)

    The Privacy Policy can be found here: https://addons.mozilla.org/en-US/firefox/addon/ttv-lol/privacy/

    How does the ttv.lol work:

    See here: https://github.com/saucettv/WorkingTwitchAdBlockers#m3u8-proxies

    This Pull request is fixing:

    https://github.com/twireapp/Twire/issues/183 https://github.com/twireapp/Twire/issues/216

    The main focus of this Pull Request:

    since there are no ads on Twire (at least for me) I want to fix the Pink Screen (see below) telling me to wait 30 Seconds

    Preview Apk:

    • There Should be an APK built automatically below this Pull-Request

    Testing:

    • is done with the Preview Apk over the Span of one week. (15.05.2021 to 22.05.2021)
    • Testing is done on the Samsung Galaxy Tab SM-T510 with Android 10
    • How do I notice when the API is getting used: there should be no ADs

    Test Result:

    • There are small problems with ads getting through from time to time.
      • 1 Ad in about 4 Hours
      • The API developers are still working to improve AD blocking.
      • On some days I got no ADs
    • The Problem with the Pink screen is gone. I never had one in the testing period.
    • Vods have no ADs blocked

    Possible Problems:

    • The received .m3u8 file is not using the best servers for your location (e.g. if you are in Germany you are not going to use german servers)
    • Example I am from Germany and I get French servers (See CLUSTER="fra06" below):
    #EXTM3U
    #EXT-X-TWITCH-INFO:NODE="video-edge-18e68c.fra06",MANIFEST-NODE-TYPE="weaver_cluster",MANIFEST-NODE="video-weaver.arn03",SUPPRESS="true",SERVER-TIME="1621155573.89",TRANSCODESTACK="2017TranscodeX264_V2",USER-IP="127.0.0.1",SERVING-ID="*********************", CLUSTER="fra06",ABS="false",VIDEO-SESSION-ID="2508823718899679179",BROADCAST-ID="42066506348",STREAM-TIME="148197.894582",B="false",USER-COUNTRY="RU",MANIFEST-CLUSTER="arn03",ORIGIN="lhr05"
    

    How it works:

    • first, there is a ping test send to https://customapi.adress/on
    • if the ping is not successful then the default twitch API will be used with the default code
    • if the ping is successful then the custom API will be used for getting the initial .m3u8 file
    • the code is based on this:
      • https://github.com/TTV-LOL/extensions/blob/main/firefox/js/background.js
      • https://github.com/arthurbolsoni/Purple-adblock/blob/main/firefox/js/background.js

    Opt-in

    • The Video Proxy is disabled by default
    • The Default Video Url is set to "https://api.ttv.lol"
      • This is the Default URL of Purple-adblock
    • You can set a custom Url but the API should be based on ttv.lol

    Revert to ttv.lol on 15.09.2021

    I reverted back to ttv.lol, because of this: Discord_mnfuOr3dSk

    to-do

    • [ ] Wait until the Server code is public
    • [x] Add Button to disable Proxy
    • [x] Add Option for custom Proxy Url
    opened by Nickwasused 14
  • App Freezes When Playing VODs

    App Freezes When Playing VODs

    Describe the bug When playing a VOD, the app freezes, forcing me to "wait" or "close app"

    To Reproduce Steps to reproduce the behavior:

    1. Open a VOD and it'll freeze.

    Android 11 A52 5G

    Earlier today it worked, seems to have started the last few hours.

    bug 
    opened by ScalableCodex 11
  • Missing Twitch Standard Emotes

    Missing Twitch Standard Emotes

    OS: Graphene OS / Android 11 Model: Pixel 4a Twire v2.9.3

    Standard Twitch Emotes missing (eg LUL). Also typing emote shortcodes in chat (eg LUL) does not translate to emote, just prints text. List of emotes is empty for standard Twitch emotes.

    Recently Used, Sub-Emotes and BTTV are working.

    Anything I can change in the app to make this work?

    bug needs more info testing 
    opened by ein-bandit 11
  • Optimize some code, use newer material icons

    Optimize some code, use newer material icons

    1st commit

    • Update Android Studio 4.0.1 -> 4.0.2
    • Update gradle wrapper to 6.6.1 using git bash

    2nd commit

    • Fix a few deprecations

    3rd commit (check the changelogs)

    • material-dialogs 0.8.6.0 -> 0.8.6.2
    • ExoPlayer 2.11.4 -> 2.12.0 (unfortunately bloats APK by around 300KB)
    • Conscrypt 2.5.0 -> 2.5.1
    • Okhttp 3.12.11 -> 3.12.12

    4th commit

    • Use ContextCompat.getSystemService, which uses the newer way automatically on API 23 and up

    5th commit

    • Miscellaneous cleanup

    6th commit

    • Remove a bunch of unused resources

    7th commit

    • Use the latest material icons
    • Convert PNGs to drawable (reduces APK size by around 100KB)

    8th commit

    • Optimize remaining PNGs with https://ezgif.com/optipng/

    I've built an APK and tested (on a Note 9 running Android 10), and everything works as it is supposed to. Here are APKs to test if you want them. Twire.zip

    opened by TacoTheDank 10
  • Add local follows | Convert some Kraken functions to Helix

    Add local follows | Convert some Kraken functions to Helix

    How this works

    With Account:

    • Your Follows get imported from Twitch
    • You can´t unfollow someone that you followed on Twitch
    • Wiping follows dosen´t remove Twitch follows from the Database
    • You can follow new Channels from within the App
    • You can unfollow the Channels that you followed in the App
    • Follows from within the App are not synced (because #230)

    Without Account:

    • You can do nothing, because of Helix. ~- You can follow new Channels from within the App~ ~- You can unfollow the Channels that you followed in the App~ ~- Your Channels get shown in the My Streams Tab when they are live~

    Problems with Helix

    • The Viewer Count of "Top Games" cannot be fetched (https://twitch.uservoice.com/forums/310213-developers/suggestions/37393114-add-viewer-and-channel-count-in-helix-games-top).
    • The Vod Chat cannot be fetched (https://twitch.uservoice.com/forums/310213-developers/suggestions/44063160-vod-chat-for-helix)

    Showcase

    With Account

    youtube

    • Ubisoft and Bobross are Channels that got imported from Twitch

    Without Account

    youtube

    • Bob Ross is used as Showcase Channel

    Problems

    As mentioned in #236 when V5 is shutting down then everything is going to require an Auth Token. So you can´t make the required API requests without a Twitch Account logged in. But local follows should still be working with the new API.

    Fixing

    This should be closing: #239 #230 (Maybee #81 and #124)

    To-Do

    • [x] ~wait for helix rewrite/support (#236)~ Done in 3a1684851a9ccf94757efdb861886fb0d354fe9e
    • [x] Fix "GetTwitchUserFollows"
    • [x] Fix importing Channels from Twitch
    opened by Nickwasused 9
  • Fake app on Google Play

    Fake app on Google Play

    I saw this app on the Play Store, and as apparently the official Twire is only available on F-Droid I decided to report it here. If you are the one who posted the app on the Play Store just disregard this issue and close it.

    https://play.google.com/store/apps/details?id=com.perflyst.twire

    opened by RickyM7 9
  • VODs fail to play (because of mature audience flag?)

    VODs fail to play (because of mature audience flag?)

    Currently, clicking on VODs flagged as for mature audiences causea the stream to fail instantly with a "stream couldnt be played" error message.

    not reproducible 
    opened by aladar42 9
  • Can´t watch any content at all

    Can´t watch any content at all

    Must be since last update 2.9.1. Before I was using the app regularly with nearly no issue ("My Games" doesn´t work since a while).

    Now neither VoDs nor streams will play. Getting message "VoD/Stream not could not be played. Try a different quality" (translated from German).

    Chat seems to work fine, though.

    Using LineageOS 14.1 (Android 7.1.2) on a Sony Xperia Z5 Compact. If I can give you more technical information please tell me how to.

    bug 
    opened by MarcoWilli 9
  • Ability to watch VOD broken since 2.10.3, applies to 2.10.4

    Ability to watch VOD broken since 2.10.3, applies to 2.10.4

    Describe the bug Trying to view vod results in phone becoming unresponsive on both my s22+ (android 13, one ui 5.0) and s10+ (android 13, one ui 5.0) complete with "Twire isn't responding: close app or wait ". Waiting does nothing as the app never becomes responsive. I recently updated from 2.10.2 to 2.10.4 only to find that I could no longer watch vods. I've tried several things to fix the problem including: clearing cache, clearing data, uninstalling and reinstalling app, redownloading app, turning off vod chat(vod chat doesn't work btw), installing 2.10.3 (which also has this exact same problem), restarting phone, power off resetting phone. Both phones are completely up to date. Problem doesn't exist with live streams. Seems there is something special about vods.

    To Reproduce Steps to reproduce the behavior:

    1. From Followed Streamers select Aurateur (the best streamer).
    2. Click on Broadcasts.
    3. Click first video to appear.
    4. Watch as phone instantly becomes unresponsive.
    5. Give around 30 seconds for Twire isn't responding error message to show.
    6. Cry.

    Expected behavior Being able to watch vods would be nice. Not causing my phone to pop twire isn't responding would also be nice.

    Smartphone (please complete the following information):

    • Device: Samsung Galaxy s22+ and Samsung Galaxy s10+ (same problem on both)
    • Android Version: Android 13, One UI 5.0
    • Twire Version: 2.10.3 & 2.10.4

    Additional context / screenshots Both phones have this problem so there is consistency here. I will be rolling back to 2.10.2 until this is fixed as this is completely unacceptable to me.

    bug needs exploration 
    opened by SchizoidFIngers 2
  • Add Android TV support

    Add Android TV support

    I installed the application on Android TV, but keyboard control from the remote is not supported. Is it possible to add remote control support? Only the OK key works

    enhancement 
    opened by Eugene-grb 1
  • Integration into Android Backup API

    Integration into Android Backup API

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    With the recent twitch change I reinstalled the app in an attempt to fix it, but forgot to export my follows before that. I use Seedvault for a non-google backup which informed me that Twire does not declare any data for A backup to the Android system.

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Submit follows and other data to the Backup-API.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    If Privacy is a concern, maybe a toggle-option could be added to opt-in to the backup-API. Other FOSS-Apps like Aegis have gone with that option.

    Additional context Add any other context or screenshots about the feature request here.

    enhancement 
    opened by ChaosNicro 0
  • luminous-ttv support.

    luminous-ttv support.

    Is your feature request related to a problem? Please describe. Ads play disrupting the live stream. Proxying the m3u8 request to a country that doesn't serve ads stops them from playing. luminous-ttv does this.

    Describe the solution you'd like Support for luminous-ttv. A setting in the options to add the server URL that is running on your local network or possibly even a vps.

    Describe alternatives you've considered As far as I know, there are none. I've tried using the official twitch app on my Amazon based tablet and it just crashes.

    Additional context luminous-ttv server luminous-ttv extension

    Thanks.

    enhancement 
    opened by Sokoloft 2
  • Does this count for Twitch Drops that require to watch 4h of content?

    Does this count for Twitch Drops that require to watch 4h of content?

    https://www.mmo-champion.com/content/10979-Dragonflight-Twitch-Drops-Earn-Rewards-Watching-and-Supporting-Creators says watch at least 4h of content.

    I am not sure how this tracking is done, so do you know if watching things in Twire counts towards the 4h goal or do i have to use a clean, adblocker free browser to get this done in the foreground?

    opened by yoshimo 2
Releases(v2.10.4)
  • v2.10.4(Jul 27, 2022)

    Release Notes

    This one goes out to our pre-Android Oreo users for a crash that happened when playing streams. Sorry about that!

    Picture-in-picture mode will no longer activate when playback is paused. Similarly, the screen will not stay on when paused. There are many other crash fixes, regular fixes and cleanup under the hood to keep Twire in tip-top shape.

    What's Changed

    • Fix crash on devices not running Android Oreo by samfundev in 6b45d89l
    • Don't go into PIP mode when paused by samfundev in 0149baal
    • Don't keep screen on when there is nothing to play by samfundev in 82a3be4l
    • Remove login requirement for startup pages by samfundev in 05e2523l
    • Fix chat only mode crashing by samfundev in b93df5dl
    • Fix crash when a followed streamer couldn't be found by samfundev in 0070af3l
    • Fix chat width being displayed incorrectly in settings by samfundev in 0e008e4l
    • Fix exception when fetching follows by samfundev in dbc39b9l
    • Update translations by the translators

    Full Changelog: https://github.com/twireapp/Twire/compare/v2.10.3...v2.10.4

    Source code(tar.gz)
    Source code(zip)
    Twire-2.10.4.apk(8.74 MB)
  • v2.10.3(Jul 15, 2022)

    Release notes

    We've got low latency, big performance improvements, and more fixes then you can count on one hand.

    Low latency support means that delay should be just as short as the Twitch app. Performance has improved a lot (especially for VOD watchers) meaning that Twire shouldn't use as much battery life. Many fixes and quality of life changes (like making chat visible by default) should smooth out some of those rough edges.

    What's Changed

    • Add low latency support by @samfundev in 4c1765f4683e90d1b31a9aab2803fc48327a56fa
    • Make landscape chat visible by default by @samfundev in d3bf59feb879d13aa59634657548e12cc3d7fb86
    • Improve app performance by @samfundev in https://github.com/twireapp/Twire/pull/322
    • Add animated 7TV Emotes by @t0pu in https://github.com/twireapp/Twire/pull/351
    • Fix VOD chat not loading by @samfundev in 8dd41a493f8131268a3f0388a25de245d5511356
    • Make broadcasts and highlights load much faster by @samfundev in 0fbb1ba6acd084ac786aea369808aa53f93f8da6
    • Improve picture in picture transition by @samfundev in e0e7c18f396aed7ab4348d7e6ccb4d3355f4d13f
    • Fix game search not working by @Nickwasused in https://github.com/twireapp/Twire/pull/320
    • Fix 7TV settings not being saved by @Nickwasused in https://github.com/twireapp/Twire/pull/315
    • Share the current quality to the external player by @samfundev in 964f9eca142294b719aaaf5357fb346566ccaf73
    • Fix refreshing animation playing when nothing is refreshing by @samfundev in eaae93cfa8dffa168c382827e2e201528057beff
    • Fix followed streamer's profiles getting out of date by @samfundev in 2b13bd24a9534137dafb01ba1377fcab8de3ed29
    • Fix being able to partially move landscape chat by @samfundev in 3afc1fc3af769546f2ea95d1c1c2408c2383d5ce
    • Update translations by the translators

    New Contributors

    • @fossdd made their first contribution in https://github.com/twireapp/Twire/pull/335
    • @nikicat made their first contribution in https://github.com/twireapp/Twire/pull/343

    Full Changelog: https://github.com/twireapp/Twire/compare/v2.10.2...v2.10.3

    Source code(tar.gz)
    Source code(zip)
    Twire-2.10.3.apk(8.74 MB)
  • v2.10.2(Feb 22, 2022)

    Release notes

    This release is mainly about migrating to Twitch's new Helix API. But also includes local follows, so you don't require a Twitch account to follow streamers. Some smaller fixes also snuck along into this update.

    What's Changed

    • Migrate to the new Twitch API and add local follows by @Nickwasused in https://github.com/twireapp/Twire/pull/240
    • Helix improvements by @samfundev in https://github.com/twireapp/Twire/pull/310
    • Fix gap in VOD progress bar by @samfundev in f8547f4724a558905fb67a55ff0d257b512e43a9
    • Fix main activities requesting data twice by @samfundev in 38e5f29ba848a02c4ca6628ee542271a3bce6a01
    • Fix FFZ badges being put on the wrong users by @samfundev in da39e0fa7361b34f400b28b716159c02215c05b4
    • Update translations by the translators

    Full Changelog: https://github.com/twireapp/Twire/compare/v2.10.1...v2.10.2

    Source code(tar.gz)
    Source code(zip)
    Twire-2.10.2.apk(7.76 MB)
  • v2.10.1(Jan 19, 2022)

    Release notes

    This release mainly fixes a crash issue that was happening in the last release. But it also features many new features and bug fixes.

    What's Changed

    • Add 7TV Emotes (https://7tv.app/) by @Nickwasused in https://github.com/twireapp/Twire/pull/232
    • Add skip silence feature by @samfundev in 8b02d1cdff6c4c619533fff01a9ff4afe0ab1a6d
    • Fix recent emotes crash and support emote themes by @samfundev in https://github.com/twireapp/Twire/pull/291
    • Offer source quality for VODs by @t0pu in https://github.com/twireapp/Twire/pull/272
    • Fix crash when chat roomstate changes by @t0pu in https://github.com/twireapp/Twire/pull/280
    • Fix preview image scaling by @samfundev in 39b4d188a6b0b39003e06990f6288054202b8d4b
    • Update translations by the translators

    Full Changelog: https://github.com/twireapp/Twire/compare/v2.10.0...v2.10.1

    Source code(tar.gz)
    Source code(zip)
    Twire-2.10.1.apk(7.71 MB)
  • v2.10.0(Dec 1, 2021)

    This release has been re-tagged
    The first 2.10.0 release was tagged on https://github.com/twireapp/Twire/commit/68c22b2408f1c0c73adc07c6062c095a443aa6b1 without bumping the version in the code. Afterwards a new commit which fixed the version was force-pushed but the tag was not updated. See https://github.com/twireapp/Twire/issues/268

    Release notes

    Apologizes for the long delay between releases! Hopefully, we'll be able to keep up with more consistent releases with the help of new maintainers. This one is a big one and contains many new features and stability improvements, be sure to check out the changelog below.

    ~~This APK is signed with a different key from the previous ones as I don't have my previous key at the moment. For users who use the builds we put out here, I will update this release with one signed from the previous key in the next 24 hours. Check back here for updates.~~ The APK has been updated with one signed with the previous key and should be able to be installed without any problems.

    Changelog

    Add playback speed control. Add SSL connection to chat. Add runtime label to stream cards and stream view. Add a sharing menu. Add an option to join chat anonymously. Add an option for image proxies. Improve the emote menu performance. Fix emotes not loading in the emote menu. Fix new emotes not being parsed correctly. Fix audio-only mode. Fix the character limit for sending messages. Fix the dates displayed for VODs. Fix the keyboard not closing when clicking on the background. Fix followed streamers not being cached. Remove streamer panels since the API has been removed. Fix the app crashing if a stream can't be loaded. Add an option for the player-type. Fix the emote keyboard not closing correctly. Fix crashes on older versions of Android. Add Korean translation. Update French, Finnish, Arabic, Portuguese (Brazil), Swedish, Turkish, Esperanto, Italian, Ukrainian, Polish, German, Russian, Spanish, Persian, Japanese, Chinese (Simplified), Norwegian Bokmål translations.

    Source code(tar.gz)
    Source code(zip)
    Twire-2.10.0.apk(7.69 MB)
  • v2.9.3(Jan 23, 2021)

  • v2.9.2(Dec 20, 2020)

  • v2.9.1(Dec 8, 2020)

    Use the new embed ad blocking technique. Fix the changelog dialog popping up multiple times. Add Afrikaans, Arabic, Chinese (Traditional), Czech, Norwegian Bokmål, Portuguese (Brazil) and Russian translations. Update French, German, Italian and Spanish translations. Fix the changelog button not changing according to the theme. Fix the theme preview color for True night.

    Source code(tar.gz)
    Source code(zip)
    Twire-2.9.1.apk(7.20 MB)
  • v2.9.0(Oct 4, 2020)

    Changelog

    • New setting to enable/disable filtering of top streams by language.
    • Handle stream and VOD URLs.
    • Messages that mention you will now be highlighted.
    • Changelog for will be displayed on each new version.
    • Attempt to remove ads from streams.
    • Fix login token not being validated correctly. Twire will properly warn you if you need to login again.
    • Fix the stream rewinding when opening the app from Picture in Picture mode.
    • Fix the chat being the wrong size when opening the app from Picture in Picture mode.
    • Fix emotes not being parsed correctly on your own messages.
    • Fix thumbnails not displaying correctly on Android versions < 21.
    • Fix some controls being hidden on Night and True Night themes.
    • Using semantic versioning again.

    Versioning

    I decided to change back to (roughly) semantic versioning so that users can get a better idea about what to expect from an update.

    Versions will now be formatted like this: Major.Minor.Patch Patch will be for small fixes, improvements and features. Minor will be for bigger features. Major will be for massive or breaking changes likes a UI redesign or increasing the minimum Android version.

    Source code(tar.gz)
    Source code(zip)
  • v2.519(Jul 25, 2020)

    Here's a summary of the notable changes in this version:

    • The video now gets tinted to improve the visibility of controls.
    • BTTV emotes should be working again.
    • Top streams and games now only show streams in your system language.
    • Chat messages won't glitch out at the end of a VOD.
    • The app icon should be working for older version of Android.
    • Improved Spanish translations.
    • Caching improvements.
    Source code(tar.gz)
    Source code(zip)
  • v2.518(Jul 16, 2020)

    f4b45d5ed2e24a2892fa79c72fb74876886d51e8 2.518 b87775358106df0c0611962a2a6467d51453dac4 Fix crash when leaving chat only mode 98eaa52dd6fa22fce6e8d318367a7ffcc4bc7b31 Clean up some translation things eb657af034e970be1bbdccb2e0ee40ccec1f877a Handle custom emotes not loading 7d365c708d89b9350b43fc66ef0a97a021449c96 Always use the automatic quality for sharing to an external player 1ca30b1d53c47e81a6b6215906a1158258386c68 Clean up code warnings c396696edccd2dee0de8a2958d2709bd0c20d25a Fix blurry app icon issues

    Source code(tar.gz)
    Source code(zip)
  • v2.517(Jul 8, 2020)

    7722681115a9a1717b62a5fcd97a1bad1a7f3459 2.517 d4adb31c012d84d65d23769cfd9c71d2987f3bd8 Merge pull request #107 from tossj/get-twire-working-on-android-4.x 1ce8ba2415cdfe58824645812a0af921072f0e44 Enable minification without obfuscation bb9f07921561fb1c4b5e353b8f6d2903fdc5a382 Add Conscrypt security provider for TLS1.2,1.3 9ea11d782371cb82e060fcd4f161e3690b54aa32 Fix MediaSessionCompat not working for < API 21 ee58730fcf03be2e77e9980ef6131c21da8b93a9 Try to enable TLS 1.2 for Android 4.4 and below

    Source code(tar.gz)
    Source code(zip)
  • v2.516(Jun 5, 2020)

    2bc388750d341c0b360c527ed5078ab6f7e34dd2 2.516 d01255a4baa2e2519da0ec431678c53e3d79bdab Spanish translation dc7a7d0c6cee84dfe9d3444e3aa1d13cd01c58ad Fix followed streamers not refreshing 98fa658e2ec289ad9f15f6d7314bb85c799e342c Update gradle fc80766cd9a86ed34e84dc5fa53812e759c0784d Close #92 ea864e98be29471cdea610119176b7f9039f6e78 Validate the user's token to make sure it's still valid b7297ffcfca8dacdbb20584202dec4dcc19dc8e0 Fix exceptions being logged when our client ID didn't work but Twitch's did 155e80ac2de74ad9c86967236b177a7ea0e15bff Fix panels that had no image causing an error

    Source code(tar.gz)
    Source code(zip)
  • v2.515(May 24, 2020)

    56c3612cabe635140fdfeaea263b5aa41598ac07 2.515 012bf63acfb64e4fbc7297895b81814c367045da Add media controls and fix some bugs with PIP 98d0c4488bcaace15c34eecb436f7d98e6140c45 Slight code cleanup 2bf9917d2628a6a3fb3666c4ad114ba8100e1a4e Delete unused test activities 8331ca83908c69acaa17cb584d49020ff77749a5 Update some dependencies b7bbae66c0db7aaacfd3d6a1bef274177a7fa819 Update gradle wrapper

    Source code(tar.gz)
    Source code(zip)
  • v2.514(May 18, 2020)

    ca518ffcb07133523f0a2d7c7f995e10433a5d9c 2.514 284440cea797c4e57c71703089fc1dd13e079955 Add support for Picture In Picture mode 050620447d77856d6f13b873054dfeb25b987728 Automatically reconnect to the chat if an exception is thrown 072949204a315ab877a7221df666bba72999814c Make the preview transition use the cache busted image 863436bb851eb75661a1bfdfa13192cfdb947835 Properly release the video player 26de80ba8af35c9023f53348238985dea59493dc Fix VOD chat not working after closing and reopening the app 09d8ccbadd0fb6d44fbd1c13b045783fb3e155b4 Fix #87 8b22b548314012435fbca3ebdec664b71948735b Fix messages with bits not being displayed at all

    Source code(tar.gz)
    Source code(zip)
  • v2.513(May 2, 2020)

    19c6425a97054229a239310301c4aa549012c8c1 2.513
    d45bf2bc64aec82f504025c7d4639bcaef436434 Reduce the amount of overdraw
    0e0558ea3526a1e641529af60c554c4095a94dc3 Clean up some code and update gradle
    04d8ab32d3d596c989669736761621d5cc19ca01 Fix streams crashing due to emotes not being serializable

    Source code(tar.gz)
    Source code(zip)
  • v2.512(Apr 15, 2020)

    1942ad0179f6a2a260a8c49d02fac3964e1ad666 2.512 release 6d8e569b4ddf8ae1737ea5ff8073b1eaccec01c6 Make preview images refresh every 5 minutes 54cebf3432cd5235fb81b1ca364c82a081f54f77 Fix the stream count not loading 28a7785c496518c79a21354ccd7074271d414d1e Fix only the first part of the URL being turned into a link 3a4c958c32607e9e5ceeb70d870c7050d8231c73 Ignore emotes that are longer than the message

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Mar 28, 2020)

    974727fe3948fca8cfd7594f7d91132b950e5485 2.0.1 d7c726d7bdc6e80af45ef35d9c4643a9c5392faa Replace Picasso with Glide b0e7586ea8a66da3ae36936ce34233f6596488d5 Fix the stream not showing up in portrait view in Android 6.0 327cb2396b82240d8dfbb3bae41dbeece11c6ccf Fix issue related to having auto-rotation disabled while opening a stream fafe298b7577970df341c67d5e68a1a2c16d6cf2 Fix logging in going to the twitch landing page

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Feb 29, 2020)

    b21ea9d5eaa7875664a0c74d5b731b05af0f167c 2.0.0 7d6d639291bd1f98965bce5a608747f74d57f096 Fixed issue where followed streams failed to load. a7547e248902782f4ea650edcb482043a376e8e4 Update Twitch Emotes API a3ff57f8359e2dd6a56f6bf8b3959b459ffb17ef Revert fix for BTTV global emotes

    Source code(tar.gz)
    Source code(zip)
  • v1.9.9(Jan 7, 2020)

    There will probably be nothing special on the v2.0.0 release.

    195e8d0162db3a590cd2b32dbfc1f14e66d40643 1.9.9 d6a7d1279dfced9eece9ede117264620f1c8e37c Fix the video player sizing in portrait with ExoPlayer aa83adc43f4d5601d9426be1d9fc43ff40745462 Fix emote pattern to support emote modifications 9c73c61ae222bdbcda1a356842dc018882a88da5 Support devices that have notches 7b69b987697ccbe8a47c2def49529ab23bba2db5 Fix global BTTV emotes not working after API change a697d3710aa6d6f6b81d6a18fb876878b7abe430 Use ExoPlayer to play videos which fixes auto quality c69da51069d5cbb5128a024c2204996ed3ccd6bc Show all available qualities and not just preset ones 1b56eee5127f41d4c1b6ab56030a64a77b4261b1 Use a better string for when a stream fails to play 8c1737bf32d7988a398a0ab9111e50db8065422d Refactor emotes and badges to add FFZ emotes and badges b9495c0ff5ecf28f9e00e98e5c7aa1b931bf01ea Use a better URL pattern for matching links 7940e5f83008bfb1c34e93f84912c686c887622b Merge pull request #68 from t0pu/master 63bae58adac2a06a8a6c49e9fc8d610db0cb4e57 Connect to chat when not logged in ccf5fd7c2f2abf5a6e18aa402533c33e7f7174d6 Merge pull request #67 from t0pu/master bfbacc65aaada004e2fe4a47bc6f8656349aa0a3 Disable tips as soon as navigation drawer is opened the first time

    Source code(tar.gz)
    Source code(zip)
  • v1.9.8(Dec 1, 2019)

    d97895ac9917534ee5b9b1a5a2d29f80c45cb489 1.9.8 b0468b9344fe583ddefbe3a33f001d100cfca9c6 Merge pull request #65 from samfun123/encoding a08abdbf52d762e6bb2b97be38ffdc6b569002a0 Don't encode stream tokens twice and encode VOD tokens 27274efc449749189348b6f71ced21de87a4ac9a Merge pull request #61 from dfriveros11/master 6c7c6654e2874661c9f206e0209227592bce82a4 tip_theme erased in strings.xml for all languages 7f757449bf4d4f84a3febda11ddd69713063d414 Issue #8. Removed the help f3f47b051536d3e62984cc64df63c5d9629e6f65 Merge pull request #62 from gabomarza/master dbea739de07c43bec1febb4e7ea4fc030b5d2b92 Error at LoginActivity which crashed the application when trying to open LoginActivity whitout internet conection, this happened because the method initSnackbar didn't initialized the snackbar which caused a NullPointerException. Now, it is initializated properly. 6f861d1b287309f52357f70a5d51cc02bfcd6c42 Issue #8 Fix. It sends to login page when you are not loggen in and when you are loggen in it send to account management. ea7b8412549aeb1b3d93e339154f20894b916718 Issue #8 Almost Fix. It sends to login page when you are not loggen in and when you are loggen in it send the dialog to logout or to log in with a different account.

    Source code(tar.gz)
    Source code(zip)
  • v1.9.7(Nov 18, 2019)

    88e8724 1.9.7 16c5456 Port URLEncoded Token 213f6d5 Merge pull request #60 from samfun123/api-fallback 8c83d31 Port API fallback from Pocket Plays 68b53d0 Merge pull request #58 from samfun123/fixes 4160ead Fix #56 231308d Fix #50 49ddd37 Fix #47 69c8510 Merge pull request #57 from samfun123/badges f7d8b57 Add support for badges 3391c12 Merge pull request #52 from ClementEstievenart/patch-1 97b06d4 Improve french translation a79d51c Merge pull request #45 from TacoTheDank/master 9a3edf0 Fixed some things from meaty commits f84811c Update several dependencies and remove unused ones fad01bb Res folder and XML code cleanup 1ef5d74 Java 1.8 changes, lots of java code cleanup 5cbcf59 Lint automatic code cleanup 0426ea5 Adjust codestyle to .editorconfig dd88c7d Add .editorconfig a64e2d2 Reconfigure build.gradle setup 7f180d2 Update gradle wrapper 8369152 Delete generated/obsolete files

    Source code(tar.gz)
    Source code(zip)
  • v1.9.6(Oct 6, 2019)

    71e5968 1.9.6 7cf3cf1 Bump gradle version 60d1062 Ignore lint errors 1cc1980 Merge pull request #43 from samfun123/animated cc515ff Keep the chat open if it was open when you rotate your device 976d9a6 Use Glide to load emotes which adds support for animated emotes

    Source code(tar.gz)
    Source code(zip)
  • v1.9.5(Oct 2, 2019)

    8e69c47 1.9.5 0d7e5c6 1.9.4 2aa4773 Merge pull request #41 from samfun123/seek 5c4a238 Make it so you can swipe to open VOD chat like regular chat febe16b Add seek dialog and quick seek buttons 6ad8928 Merge pull request #39 from samfun123/vod-chat 8d15853 Add VOD chat

    Source code(tar.gz)
    Source code(zip)
  • v1.9.3(Sep 15, 2019)

    1479bdf 1.9.3 c2d788d Merge pull request #38 from samfun123/misc-catchup 70fe756 Fix the VOD seeking to the nearest second when resuming playback 812a572 Fix VODs showing the buffering animation when resuming playback 99bef42 Allow the user to retry playing the stream if playback fails for some reason dab8ab1 Fix streams not playing when they had characters like ampersands in the game name 931de9c Prevent an exception for panel objects that have no data 34bb0c9 Always show minutes in timestamps and other clean up in Service.java e23f0af Update gradle 8ef6c09 Fix VODs continuing to play even when buffering 6131d7c Merge pull request #35 from samfun123/fix-escaping 3178b4f Fix the escaping of apostrophes in the italian translation e5f1793 Merge pull request #34 from ClementEstievenart/add-french-translation 3811955 add \ before a ' 77fe0c8 add french translation d1bd31c Add italian translation 92dafd8 Add support for translation d74f03c Merge pull request #15 from Poussinou/patch-1 4f891f1 Update README.md cdff225 Add reason for forking

    Source code(tar.gz)
    Source code(zip)
  • v1.9.2(Mar 31, 2019)

  • v1.9.1(Mar 25, 2019)

  • v1.9.0(Mar 25, 2019)

    f95bf75 Fix superimposed text in settings 2909dd9 Remove unused tracking and drop billing lib 430d60d Remove unused strings and drop useless permissions 5e3da80 Use own twitch API key and ID f4ef5e4 Cleanup gradle and add own options 8430ee5 Bump gradle and androidX version 7d645ab Remove transitive from material-dialogs lib 28f863e Revert change of twitch display and key name ded9363 Rename app to "Twire" 37eab96 Update README.md a92d913 Remove index.html 5f3954c Remove .idea b202639 de-googlified 43790d4 Fixed issue where streams would fail to play for some devices. f009c99 Notification fix 739178b Fixed issue with notifications playing sound when sound was disabled 0f8e730 Fixed Chromecast related crashes. Fixed missing permissions. Fixed issue with missing emotes and stream thumbnails 03a9191 Update README.md

    Source code(tar.gz)
    Source code(zip)
Owner
Twire
Twire
Sending komq's latest YouTube & Twitch notifications via Twitter.

Komwitter Twitch & YouTube Notification Twitter Bot for komq. Used Libraries: Twitter4J Twitch4J Kotlinx.serialization and some other dependency libra

BaeHyeonWoo 4 Feb 10, 2022
🎄 Advent of Code puzzles solved live on Twitch! 🎄

Kotlin-AOC-2021 Welcome to the Advent of Code1 Kotlin project created by Stuie using the Advent of Code Kotlin Template delivered by JetBrains. In thi

Stuart Gilbert 0 Feb 21, 2022
Whitelist Player on Minecraft Server via Twitch Channel Points ✅

TwitchWhitelist This is a customisable 1.8-1.19 Spigot Plugin to Whitelist Players via Twitch Channel Points Rewards. Setup Setup a PaperMC (recommend

Jakob 3 Oct 17, 2022
Simple configurable Twitch Chat Bot for Emote Repetition 😎

DopaminChatter Dopamin is the happiness hormone. What's better than a Twitch Chat with great Emote Usage and Emote Chains (same Emotes after another).

Jakob 2 Dec 9, 2022
A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

Smack About Smack is an open-source, highly modular, easy to use, XMPP client library written in Java for Java SE compatible JVMs and Android. Being a

Ignite Realtime 2.3k Dec 28, 2022
A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

Smack About Smack is an open-source, highly modular, easy to use, XMPP client library written in Java for Java SE compatible JVMs and Android. Being a

Ignite Realtime 2.3k Dec 21, 2021
Free and Open Source, full-featured torrent client for Android

Free and Open Source, full-featured torrent client for Android

Yaroslav Pronin 1.3k Jan 8, 2023
An open source Hacker News client for Android.

Hacker News Come chat with us on Gitter.im! An open source Hacker News client for Android phones & tablets. Available on the Google Play Store How to

Matthew Bishop 227 Dec 11, 2022
Poc-sealed-secrets - An alternative to store sensitive data in the template Secrets Kubernetes an encrypted way

POC Sealed Secrets Overview Proof of concept with the objective of showing an al

Cainã Ferreira da Silva 2 Jan 28, 2022
An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly.

An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly. The main aim of this repository is to help students who are learning Android Development or preparing for an Android Developer role-based job.

Mimo Patra 15 Dec 29, 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
Tachiyomi 20.4k Jan 9, 2023
NimTome is a Free and open-source spell tracker application for Dungeons and Dragons

Nimtome: An open source application to manage all your spells in D&D About This project came to life as a homework assignment, but it became a lot bit

null 2 Jan 11, 2022
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Free and open source manga reader for Android.

Build Stable Weekly Preview Contribute Support Server Tachiyomi Tachiyomi is a free and open source manga reader for Android 5.0 and above. Features F

Tachiyomi 20.4k Jan 9, 2023
AdAway is a free and open source ad blocker for Android.

AdAway AdAway is an open source ad blocker for Android using the hosts file and local vpn. For more information visit https://adaway.org Installing Th

null 4.9k Jan 7, 2023
DAVx⁵ is an open-source CalDAV/CardDAV suite and sync app for Android.

DAVx⁵ Please see the DAVx⁵ Web site for comprehensive information about DAVx⁵. DAVx⁵ is licensed under the GPLv3 License. News and updates: @davx5app

bitfire web engineering 478 Dec 28, 2022
An Open-Source Android app for creating training plans and tracking progress

GymRoutines noahjutz.codeberg.page/gymroutines An Open-Source Android app for creating training plans and tracking progress. Screenshots Contributing

Noah 4 Dec 16, 2022