Simple Twitter Client just for tweeting, written in Kotlin with reactive MVVM-like approach

Overview

Monotweety

wercker status codebeat badge codecov

header

Simple Twitter Client just for tweeting.

Get it on Google Play

Monotweety is also available at F-Droid compatible repository called IzzyOnDroid F-Droid Repository. Link for the page is here

Overview

Monotweety is Twitter client app which specializes in tweeting right from your device's notification area.

When you tap the notification, editor dialog will be launched, and you can tweet from there.

If your device is Android 7.0 or up, you can literally tweet from your notification area.

Features include:

  • tweet from notification area
  • chain tweets as a thread

Architecture

Monotweety uses following approach/libraries

  • Kotlin
  • Reactive MVVM-like architecture
  • Dagger2 for Dependency Injection
  • Conductor for building View-based application
  • RxJava for async/reactive programming
  • StorIO for SQLite

Screenshots

splash setting notification editor

How to build

  • Fill secrets.properties.template and rename to secrets.properties.
  • Create Firebase project and download google-services.json, which should have two properties; net.yslibrary.monotweety and net.yslibrary.monotweety.debug.

License

Copyright 2016-2017 Shimizu Yasuhiro (yshrsmz)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • upload to F-Droid

    upload to F-Droid

    https://f-droid.org/contribute/ https://f-droid.org/wiki/page/Inclusion_Policy https://f-droid.org/wiki/page/Inclusion_How-To

    need to exclude firebase and some other libraries?

    contribution welcome 
    opened by yshrsmz 11
  • Cannot authorize

    Cannot authorize

    http://crashes.to/s/5c11d26cca9

    • [ ] add more logs
      • [ ] more detailed auth log
      • [ ] actual error response
      • [x] resultCode, intent value of onActivityResult
    • [ ] rewrite auth logic(use login api directly, remove Button component)
    bug 
    opened by yshrsmz 3
  • add

    add "open twitter app" action to notification

    Since I'm not planning to add timeline feature in Monotweety, this might be useful.

    • select Twitter App in Setting screen
    • tap an action on the notification to open the app
    contribution welcome 
    opened by yshrsmz 3
  • support new 280 char limit

    support new 280 char limit

    https://github.com/twitter/twitter-text/pull/198 https://twittercommunity.com/t/updating-the-character-limit-and-the-twitter-text-library/96425

    I'm planning to wait until they release twitter-text 2.0, but it seems to take some time 🤔

    opened by yshrsmz 2
  • Migrate to AGP 3.0

    Migrate to AGP 3.0

    This migrates to Android Gradle Plugin 3.0.0-beta7 (most recent as of now). This required updating Gradle, which in turn required updating build scan plugin as well.

    Issue: https://github.com/yshrsmz/monotweety/issues/100

    I see that the wercker build has failed, might be due to upgraded Gradle - older daemons conflict with the new one sometimes. I can't see build details, but ./gradlew assembleDebug testDebugUnitTest createDebugUnitTestCoverageReport -PdisablePreDex locally works fine after ./gradlew --stop

    opened by lwasyl 2
  • Authorize with twitter4j

    Authorize with twitter4j

    http://twitter4j.org/en/index.html

    https://www.reddit.com/r/androiddev/comments/5t2muq/psa_twitter_sign_in_seems_broken_for_android_50/

    currently official twitter app seems to crash on Android 5.0 to work around the issue, we need another way to authorize the app.

    opened by yshrsmz 2
  • New Icon/Logo Design proposal

    New Icon/Logo Design proposal

    Hi @yshrsmz, Good day! I am a graphic designer and i want to contribute to your project by proposing a new icon/logo design as i have noticed that the existing icon/logo in my opinion need to be updated. My proposed design aims to link it to the main feature of the app which is literally tweeting from the notifications area. If you like and want to use my design I will be very glad to send you the needed files as a gift for free. Just let me know.

    here is the proposed design: presentation

    Hoping for your positive feedback and best regards!

    -tobaloidee

    opened by Tobaloidee 1
  • Mocking framework

    Mocking framework

    Hi,

    hope find you well with this cold call.

    I am an author of mocking framework for Kotlin

    I see you are using mockito-kotlin.

    I just want you to be aware that there is solution that fully supports Kotlin and ask to try it in your new/current projects.

    I can help you if you answer to this issue.

    Thanks and please star it

    opened by oleksiyp 1
  • show appropriate error notification

    show appropriate error notification

    Currently, we can't distinguish why tweet fails. Twitter returns error message/code, so we should use that to provide more user-friendly error notifications

    opened by yshrsmz 0
  • show guide to exclude monotweety from battery savior on huawei device

    show guide to exclude monotweety from battery savior on huawei device

    http://stackoverflow.com/questions/37071071/service-killed-without-any-reason http://huawei-report.blog.jp/archives/Huawei-EMUI-notification-tips.html

    contribution welcome 
    opened by yshrsmz 2
Releases(v1.9.0)
  • v1.9.0(Sep 16, 2019)

    • Android 10 support
    • Drop support for Android 4.4
    Total methods in monotweety-release-v1.9.0.apk: 41018 (62.59% used)
    Total fields in monotweety-release-v1.9.0.apk:  18885 (28.82% used)
    Total classes in monotweety-release-v1.9.0.apk:  5435 (8.29% used)
    Methods remaining in monotweety-release-v1.9.0.apk: 24517
    Fields remaining in monotweety-release-v1.9.0.apk:  46650
    Classes remaining in monotweety-release-v1.9.0.apk:  60100
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.9.0.apk(3.35 MB)
  • v1.8.3(Jan 14, 2019)

    Total methods in monotweety-release-v1.8.3.apk: 42863 (65.40% used)
    Total fields in monotweety-release-v1.8.3.apk:  19962 (30.46% used)
    Total classes in monotweety-release-v1.8.3.apk:  5415 (8.26% used)
    Methods remaining in monotweety-release-v1.8.3.apk: 22672
    Fields remaining in monotweety-release-v1.8.3.apk:  45573
    Classes remaining in monotweety-release-v1.8.3.apk:  60120
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.8.3.apk(3.53 MB)
  • v1.8.2(Oct 27, 2018)

    Total methods in monotweety-release-v1.8.2.apk: 42726 (65.20% used)
    Total fields in monotweety-release-v1.8.2.apk:  19902 (30.37% used)
    Total classes in monotweety-release-v1.8.2.apk:  5401 (8.24% used)
    Methods remaining in monotweety-release-v1.8.2.apk: 22809
    Fields remaining in monotweety-release-v1.8.2.apk:  45633
    Classes remaining in monotweety-release-v1.8.2.apk:  60134
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.8.2.apk(3.48 MB)
  • v1.8.1(Oct 11, 2018)

    • Stability improvement
    • Fix an issue on some devices that the keyboard does not show up when Editor Dialog is displayed
    Total methods in monotweety-release-v1.8.1.apk: 42986 (65.59% used)
    Total fields in monotweety-release-v1.8.1.apk:  20009 (30.53% used)
    Total classes in monotweety-release-v1.8.1.apk:  5436 (8.29% used)
    Methods remaining in monotweety-release-v1.8.1.apk: 22549
    Fields remaining in monotweety-release-v1.8.1.apk:  45526
    Classes remaining in monotweety-release-v1.8.1.apk:  60099
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.8.1.apk(3.52 MB)
  • v1.8.0(Sep 20, 2018)

    Tweet from Monotweety is restricted by Twitter as of 2018/09/20 17:30(JST)

    This release is an attempt to comply with Twitter's guideline

    • Remove tweet as a thread
    Total methods in monotweety-release-v1.8.0.apk: 43086 (65.75% used)
    Total fields in monotweety-release-v1.8.0.apk:  20011 (30.53% used)
    Total classes in monotweety-release-v1.8.0.apk:  5493 (8.38% used)
    Methods remaining in monotweety-release-v1.8.0.apk: 22449
    Fields remaining in monotweety-release-v1.8.0.apk:  45524
    Classes remaining in monotweety-release-v1.8.0.apk:  60042
    
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Aug 8, 2018)

    Total methods in monotweety-release-v1.7.0.apk: 41951 (64.01% used)
    Total fields in monotweety-release-v1.7.0.apk:  19763 (30.16% used)
    Total classes in monotweety-release-v1.7.0.apk:  5549 (8.47% used)
    Methods remaining in monotweety-release-v1.7.0.apk: 23584
    Fields remaining in monotweety-release-v1.7.0.apk:  45772
    Classes remaining in monotweety-release-v1.7.0.apk:  59986
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.7.0.apk(3.43 MB)
  • v1.6.1(Feb 25, 2018)

    Total methods in monotweety-release-v1.6.1.apk: 39263 (59.91% used)
    Total fields in monotweety-release-v1.6.1.apk:  17910 (27.33% used)
    Total classes in monotweety-release-v1.6.1.apk:  5291 (8.07% used)
    Methods remaining in monotweety-release-v1.6.1.apk: 26272
    Fields remaining in monotweety-release-v1.6.1.apk:  47625
    Classes remaining in monotweety-release-v1.6.1.apk:  60244
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.6.1.apk(2.94 MB)
  • v1.6.0(Dec 19, 2017)

  • v1.5.3(Sep 14, 2017)

    • Android Oreo
    Total methods in monotweety-release-v1.5.3.apk: 29620 (45.20% used)
    Total fields in monotweety-release-v1.5.3.apk:  14635 (22.33% used)
    Total classes in monotweety-release-v1.5.3.apk:  4317 (6.59% used)
    Methods remaining in monotweety-release-v1.5.3.apk: 35915
    Fields remaining in monotweety-release-v1.5.3.apk:  50900
    Classes remaining in monotweety-release-v1.5.3.apk:  61218
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.5.3.apk(2.40 MB)
  • v1.5.2(Jul 6, 2017)

    • Kotlin 1.1.3-2
    • Twitter Kit v3.0
    • and update other dependencies
    Total methods in monotweety-release-v1.5.2.apk: 29489 (45.00% used)
    Total fields in monotweety-release-v1.5.2.apk:  14170 (21.62% used)
    Total classes in monotweety-release-v1.5.2.apk:  4379 (6.68% used)
    Methods remaining in monotweety-release-v1.5.2.apk: 36046
    Fields remaining in monotweety-release-v1.5.2.apk:  51365
    Classes remaining in monotweety-release-v1.5.2.apk:  61156
    
    Source code(tar.gz)
    Source code(zip)
    monotweety-release-v1.5.2.apk(2.37 MB)
Owner
Yasuhiro SHIMIZU
Android/Web developer
Yasuhiro SHIMIZU
Yet another Twitter unofficial client for Lollipop.

Tweetin Yet another Twitter unofficial client. Just design for Lollipop now!!! Screenshot: How to use the source code? Just import the Tweetin folder

Matthew Lee 177 Aug 24, 2022
KTweet is a Kotlin Library that allows you to consume the Twitter API v2.

KTweet - A Kotlin Twitter Library KTweet is a library that allows you to use the Twitter API v2. Interested in Kotlin or KTweet? Join the Discord Setu

Thomas Carney 26 Dec 22, 2022
Library for easy work with Facebook, Twitter, LinkedIn and Google on Android

THIS PROJECT IS NO LONGER MAINTAINED, FEEL FREE TO FORK AND FIX IT FOR YOUR NEEDS There is also an Android Library that is being maintained, CloudRail

Anton Krasov 1k Dec 18, 2022
Easy social network authorization for Android. Supports Facebook, Twitter, Instagram, Google+, Vkontakte. Made by Stfalcon

SocialAuthHelper A library that helps to implement social network authorization (Facebook, Twitter, Instagram, GooglePlus, Vkontakte). Who we are Need

Stfalcon LLC 97 Nov 24, 2022
Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 1, 2023
Share twitter url to this app, and you will be redirected.

twitter2nitter - redirect twitter to nitter Share twitter url to this app, and you will be redirected. Redirect works for: Open twitter url with twitt

null 14 Dec 20, 2022
Android Stories library - Instagram-like android stories library that supports images from disk or from internet (url)

Android Stories Library Instagram like stories library for Android. Add it in your root build.gradle at the end of repositories: allprojects { reposi

Panagiotis Makris 3 Dec 20, 2022
A Reddit client for Android

This is a Reddit client on Android written in Java. It does not have any ads and it features clean UI and smooth browsing experience.

null 2.6k Jan 9, 2023
An unofficial open source Reddit client for Android.

RedReader An unofficial, open source Android client for Reddit. Features Free and open-source Software - no ads/tracking Lightweight and fast Swipe po

null 1.4k Jan 7, 2023
Open-source alternative Instagram client on Android.

Instagram client; previously known as InstaGrabber.

Austin Huang 1.1k Jul 23, 2021
A light Sina Weibo client for Android

BlackLight 新浪微博客户端 请注意,当前BlackLight的开发已经被冻结,直到2016年高考后重启。 The development progress has been FROZEN till June 2016. 详细介绍以及Changelog请见Play商店。 https://pl

Paper Airplane Dev Team/纸飞机开发团队 884 Nov 22, 2022
Cnblogs Client for Android - Material Design

Cotable - Yet Another Cnblogs Client for Android Description Cotable = Code + Stable (The Paradise of Coder) The Android client of Cnblogs that named

Steve Lemuel 38 Feb 12, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
A app client for Github

Git.NB A android app client for Github. 效果图 关于项目 Git.NB现以升级到2.0,功能大有升级,UI大改版本。各种有趣的操作,欢迎下载代码试完。 如果发现有任何问题和建议,随时欢迎Email或者开Issues, 如果有版权问题,立即删除。 使用的开源技术

null 319 Sep 9, 2022
A handy Dribbble client for Android.

Notice Gunnner has been deprecated since Dribbble API v1 has been retired on March 26, 2018. Gunnner Gunnner1 is a handy Dribbble client for Android.

Egor Neliuba 60 Feb 12, 2022
An Android client for Pump.io

Impeller - An Android client for Pump.io What is it A client for Pump.io, intended to provide a rich, platform-integrated experience. Runs on Android

Erin 46 Nov 1, 2022
Github client for Android

OctoDroid This application provides access to GitHub and lets you stay connected with your network Download Main features Repository List repositories

Azwan Adli 1.5k Dec 28, 2022
A shadowsocks client for Android

Shadowsocks for Android for Android & Chrome OS (beta) for Android TV (beta) PREREQUISITES JDK 1.8 Android SDK Android NDK Rust with Android targets i

shadowsocks 33.2k Jan 2, 2023
Skooter App - Android client source code

Skooter App STAY CONNECTED. LOCALLY Skooter is a FREE mobile application that acts like a Hyper Local Bulletin Board for your area by showing the most

Prathmesh Ranaut 61 Feb 23, 2022