Sticker-board for android inspired by uSticker (forked from woosticker)

Overview

GitHub top language Repository size Issues License Commit activity Last commit GitHub all releases

Android.EweSticker

Project Icon

Sticker-board for android inspired by uSticker (forked from woosticker).

Features

  • Wide range of custom stickers supported
    • Formats include image/gif (.gif), image/png (.png), image/webp (.webp), image/jpg (.jpg, .jpeg, .jpe, ...), image/heif (.heif, .heifs, .heic, ...)
  • Send stickers in supported apps (.png is used as a fallback)
  • Vertical and Horizontal scrolling
  • Change number of rows and sticker preview size
  • Ties in with the system theme
  • Long press on a sticker to show a preview

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6

How to use

See the Tutorial for more information.

Lint with

java -jar .\ktlint --experimental --android --disabled_rules='indent,parameter-list-wrapping,experimental:argument-list-wrapping'

Language Information

Kotlin and Android Version

This app has been written in Kotlin 1.5.0 with the Android Studio IDE.

  • The target SDK version is 31 (Android 12)
  • The minimum SDK version is 26 (Android 8 Oreo)

Download Android Studio

Download the Android Studio IDE from https://developer.android.com/studio/. For Windows, double click the downloaded .exe file and follow the instructions provided by the installer - it will download the Android emulator and the Android SDK. Additional information can be found at https://developer.android.com/studio/install

How to Run

Build From Source

  1. Download or clone this GitHub repository
  2. (If downloaded) Extract the zip archive
  3. In Android Studio click File > Open and then navigate to the project file (Android studio defaults to the directory of the last opened file)

Get it on F-Droid

  1. Open the F-Droid app
  2. Search for EweSticker

Or

Get it on F-Droid

Follow the link to the listing on F-Droid by clicking on the badge above, then download/ install

Get it on Google Play

  1. Open the Google Play app
  2. Search for EweSticker

Or

Get it on Google Play

Follow the link to the listing on Google Play by clicking on the badge above, then download/ install

Download the APK

  1. For releases, navigate to the /app/release directory. For debug, navigate to /app/debug
  2. Select the debug or release APK depending on your preference. Note that the filenames are in the form: com.fredhappyface.ewesticker-(version)-(debug|release).apk

Or

Direct apk
download

Follow the link to the /app/release directory by clicking on the badge above.

Download Project

Clone

Using The Command Line

  1. Press the Clone or download button in the top right

  2. Copy the URL (link)

  3. Open the command line and change directory to where you wish to clone to

  4. Type 'git clone' followed by URL in step 2

    git clone https://github.com/FredHappyface/Android.EweSticker

More information can be found at https://help.github.com/en/articles/cloning-a-repository

Using GitHub Desktop

  1. Press the Clone or download button in the top right
  2. Click open in desktop
  3. Choose the path for where you want and click Clone

More information can be found at https://help.github.com/en/desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop

Download Zip File

  1. Download this GitHub repository
  2. Extract the zip archive
  3. Copy/ move to the desired location

Community Files

Licence

MIT License (See the LICENSE for more information.)

Changelog

See the Changelog for more information.

Code of Conduct

Online communities include people from many backgrounds. The Project contributors are committed to providing a friendly, safe and welcoming environment for all. Please see the Code of Conduct for more information.

Contributing

Contributions are welcome, please see the Contributing Guidelines for more information.

Security

Thank you for improving the security of the project, please see the Security Policy for more information.

Support

Thank you for using this project, I hope it is of use to you. Please be aware that those involved with the project often do so for fun along with other commitments (such as work, family, etc). Please see the Support Policy for more information.

Rationale

The rationale acts as a guide to various processes regarding projects such as the versioning scheme and the programming styles used. Please see the Rationale for more information.

Comments
  • Feature: switching back to previous keyboard

    Feature: switching back to previous keyboard

    I love this app that is why i keep on suggesting features and thanx to developer for keep on allowing me to do so..

    Feature

    • [ ✓] I have read the comment above and have completed each step
    • [ ✓] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    It is an enhancement compared to the existing feature.

    Describe the solution you'd like

    on soft click of back button it should bring back to previous used keyboard and on long press it should ask for keyboard in popup.

    Describe alternatives you've considered

    implementation of this feature will be really useful and time saving. Right now on clicking back it directly ask for keyboard which should be there on long press of back button and on soft click it should automatically change back to previously used keyboard.

    Additional context

    and please change back button icon to something nice like some good keyboard icon or something. And thank you for this app. Screenshot_20211107-161745685

    enhancement 
    opened by suraj3486 9
  • Bug: trouble importing stickers

    Bug: trouble importing stickers

    Bug

    System info

    • OS: Android 10
    • Samsung A11

    Describe the bug

    Version 2022.01.28. I give the app the path to stickers and doesn't import all image. In some cases I even give the same path more than once and load it a different number or doesn't find anything. I've already tried with previous version 2022.01.03 in the same phone and load all the media. Of course, all compatible formats. All permission are given.

    bug 
    opened by gilbertolazaro92 6
  • Feature: Enable

    Feature: Enable "show back button in navbar" by default

    Feature

    • [X] I have read the comment above and have completed each step
    • [X] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    it is often confusing how to go back to your previous keyboard and going to the settings to change keyboard is a burden, so it make sense to have the button to switch back to keyboard enabled by default

    Describe the solution you'd like

    Users can switch back to their keyboard without any additional tweaks

    enhancement 
    opened by adbenitez 6
  • Feature: Request the user to enable EweSticker input method

    Feature: Request the user to enable EweSticker input method

    Feature

    • [X] I have read the comment above and have completed each step
    • [X] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    It is not obvious to the user that they have to enable the EweSticker input method in the phone settings, the first time I tried I was confused about how do I use EweSticker, usually keyboards when you install them and open them for the first time, ask to enable the input method and open the correct settings directly.

    Describe the solution you'd like

    the app ask me to enable EweSticker input method and make it easy to do so opening the corresponding system settings

    Additional context

    maybe you can check the code of AnySoftKeyboard or OpenBoard to see how they do it.

    enhancement 
    opened by adbenitez 6
  • Feature: bigger sticker preview

    Feature: bigger sticker preview

    Please add one feature in which it should show a larger preview of selected sticker before sending. With a button in bottom send. It will help stickers with text in it.

    enhancement 
    opened by suraj3486 5
  • Feature: support older Android versions

    Feature: support older Android versions

    Feature

    • [X] I have read the comment above and have completed each step
    • [X] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    I'm recommending EweSticker to users and several users have Android<8

    Describe the solution you'd like

    The app can be used at least in Android 5

    Describe alternatives you've considered

    Some user did a modification to the app with this apks that allow to quickly patch other apps in your phone, and some report to be able to use this mod in older Androids

    Additional context

    I am recommending this app to Delta Chat users, Delta Chat is a FLOSS messenger app and it has sticker support but still don't have a built-in sticker selector so EweSticker + DeltaChat is a nice symbiosis, issue is that Delta Chat supports up to Android 4.1, and EweSticker only up to Android 8, so a good part of the user base can't use EweSticker.

    More info about Delta Chat: https://github.com/deltachat/deltachat-android and https://delta.chat/

    enhancement wontfix 
    opened by adbenitez 4
  • Feature: sticker search in keyboard

    Feature: sticker search in keyboard

    Is it possible to add search option like 'Gboard sticker search' which will search stickers locally? Finding stickers according to name would be awesome feature.

    enhancement invalid 
    opened by suraj3486 4
  • Feature: switch between folders by swiping

    Feature: switch between folders by swiping

    Thank you for this app, i really like this application. I like to request one feature which will improve its functionality.

    Feature

    • [ ✓ ] I have read the comment above and have completed each step
    • [ ✓ ] I have filled in each heading below

    Describe the solution you'd like

    I usually use vertical scroll. Please add swipe in folder which will change folder to next or previous like shown in pic.

    Additional context

    It will make keyboard litte easy to use. Screenshot_20211119-113607469

    enhancement wontfix 
    opened by suraj3486 3
  • Bug: No image appears on the keyboard

    Bug: No image appears on the keyboard

    Bug

    • [x] I have read the comment above and have completed each step
    • [x] I have filled out the system info
    • [x] I have described the bug, filled in the expected outcome and the actual outcome including screenshots where appropriate

    System info

    • OS: Lineage OS 18.1, Android 11
    • Version: 2021.10.21

    Describe the bug

    I added some png and jpg files to a folder and selected that folder in the app. When I open the keyboard, nothing appears.

    Expected outcome

    The images on the folder appears

    Actual outcome

    Nothing appears

    Photos:

    Screenshot_20211103-114123_Archivos Screenshot_20211103-114134_Archivos Screenshot_20211103-114145_EweSticker Screenshot_20211103-114227_Trebuchet

    bug 
    opened by juacq97 3
  • Bug: java.lang.IllegalStateException caused by `ImageKeyboard:switchImageContainer:imageContainer.addView(imageContainerLayout)`

    Bug: java.lang.IllegalStateException caused by `ImageKeyboard:switchImageContainer:imageContainer.addView(imageContainerLayout)`

    Bug: java.lang.IllegalStateException caused by ImageKeyboard:switchImageContainer:imageContainer.addView(imageContainerLayout)

    System info

    • OS: Android 11 (sdk 30)
    • Version: 20210909

    Describe the bug

    Several users are suffering from a crash caused by java.lang.IllegalStateException on the line containing imageContainer.addView(imageContainerLayout)

    Research on the matter suggests this is caused by imageContainerLayout having an existing parent. However, this is created with no parent per View.inflate(applicationContext, R.layout.image_container, null) this should not attach to root

    I'm going to attempt to fix this by ensuring attachToRoot = false. See https://stackoverflow.com/questions/12567578/what-does-the-layoutinflater-attachtoroot-parameter-mean for more info

    Expected outcome

    Things don't break

    Actual outcome

    IllegalStateException: java.lang.IllegalStateException

    java.lang.IllegalStateException: 
      at android.view.ViewGroup.addViewInner ([redacted])
      at android.view.ViewGroup.addView ([redacted])
      at android.view.ViewGroup.addView ([redacted])
      at android.view.ViewGroup.addView ([redacted])
      at com.fredhappyface.ewesticker.ImageKeyboard.switchImageContainer (ImageKeyboard.kt:288)
      at com.fredhappyface.ewesticker.ImageKeyboard.recreatePackContainer (ImageKeyboard.kt:355)
      at com.fredhappyface.ewesticker.ImageKeyboard.onCreateInputView (ImageKeyboard.kt:240)
      at android.inputmethodservice.InputMethodService.updateInputViewShown ([redacted])
      at android.inputmethodservice.InputMethodService.prepareWindow ([redacted])
      at android.inputmethodservice.InputMethodService.showWindow ([redacted])
      at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput ([redacted])
      at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInputWithToken ([redacted])
      at android.inputmethodservice.IInputMethodWrapper.executeMessage ([redacted])
      at com.android.internal.os.HandlerCaller$MyHandler.handleMessage ([redacted])
      at android.os.Handler.dispatchMessage ([redacted])
      at android.os.Looper.loop ([redacted])
      at android.app.ActivityThread.main ([redacted])
      at java.lang.reflect.Method.invoke ([redacted])
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run ([redacted])
      at com.android.internal.os.ZygoteInit.main ([redacted])
    
    bug 
    opened by FredHappyface 3
  • Feature: support for mp4

    Feature: support for mp4

    Thanks for this app i m loving this app

    Feature

    • [ ✓ ] I have read the comment above and have completed each step
    • [ ✓ ] I have filled in each heading below

    Describe the solution you'd like

    Please add support for mp4 format but in small sizes. Now a days most messanger apps (whatsapp, telegram.......) Use mp4 format instead of gif. Even if i paste gif in these apps it automatically converts in mp4 in local file.

    If someone send me a gif and i liked that gif to be in my EweSticker keyboard than i have to convert it to gif first than use it.

    Additional context

    Please add this format but put a each file size limit so that it can be used properly. Again Thanks you for this app

    enhancement 
    opened by suraj3486 2
  • Feature: Support import from tar file

    Feature: Support import from tar file

    Feature

    • [x] I have read the comment above and have completed each step
    • [x] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    Want a way to share sticker packs and make them easy for others to install.

    Describe the solution you'd like

    Associate the app with application/x-tar and when triggered unpack the archive and install all stickers/packs inside into the current sticker directory.

    Describe alternatives you've considered

    • A custom URI scheme that could be linked from a webpage to trigger the download
    enhancement 
    opened by singpolyma 0
  • Bug: Have to change the sticker directory for it to find new stickers

    Bug: Have to change the sticker directory for it to find new stickers

    Bug

    • [x] I have read the comment above and have completed each step
    • [x] I have filled out the system info
    • [x] I have described the bug, filled in the expected outcome and the actual outcome including screenshots where appropriate

    System info

    • OS: Emulator, android 11
    • Version: 2022.03.11

    Describe the bug

    When I add new pictures to the stickers folder they do not show up right away

    Expected outcome

    I should see them in the keyboard when I open it, the app should list the right count of stickers

    Actual outcome

    The new images don't show up until I change the sticker folder (I can set it to what it is already set to, but I still have to do it)

    bug 
    opened by singpolyma 0
  • Feature: implement max sticker size

    Feature: implement max sticker size

    Feature

    • [x] I have read the comment above and have completed each step
    • [x] I have filled in each heading below

    Is your feature request related to a problem? Please describe

    Improving application stability (+ sticker copy speed)

    Describe the solution you'd like

    It's probably a good idea to exclude massive images as these would not constitute a sticker. This issue is to consider the max image size in bytes for a future version

    For instance the largest photo taken on my camera is approximately 7MB - and certainly would make a terrible sticker

    For existing applications the limits are as follows

    |app|id|max size (KB)|source| |---|---|---|---| |WhatsApp|com.whatsapp|100|https://faq.whatsapp.com/general/how-to-create-stickers-for-whatsapp/?lang=en| |Telegram|org.telegram.messenger|512|https://core.telegram.org/import-stickers| |Signal|org.thoughtcrime.securesms|300|https://support.signal.org/hc/en-us/articles/360031836512-Stickers|

    Maximum sized gif in some tstickers (https://github.com/FHPythonUtils/TStickers) output was <2MB and the largest webp was approximately 1.6MB so going to propose 2MB (Already far larger than existing applications use by about 4x)

    Also, if the user had 4096 stickers at this size (the current limit), then they could have 8GB in stickers

    Describe alternatives you've considered

    Could do nothing but this could cause ewesticker to consume too many resources and affect the application stability (e.g. when loading 128 massive image files into the keyboard)

    Other options involve trying to get the sticker dimensions but I suspect this is going to be difficult with DocumentFile

    Or sum the sticker sizes and abort at some max size e.g. 2GB (so a user can still use a handful of massive files if desired) perhaps even combining these ideas

    Additional context

    This is an issue rather than a discussion as I plan on working on this in the next development cycle (1-2 months) . Comments are welcome

    enhancement 
    opened by FredHappyface 0
  • Feature: add animated fallback for use in apps not supporting webp

    Feature: add animated fallback for use in apps not supporting webp

    02200004.zip I m using latest app from github.

    Bug

    • [ ✓ ] I have read the comment above and have completed each step
    • [ ✓ ] I have filled out the system info
    • [ ✓ ] I have described the bug, filled in the expected outcome and the actual outcome including screenshots where appropriate

    System info

    • OS: Android 11
    • Browser: chrome, 1dm+
    • Version: latest from playstore

    Describe the bug

    When i try to use stickers which is webp format than it got uploaded like jpg without animation.

    Expected outcome

    It should animate as like opening it in any gallery viewer

    Actual outcome

    It didn't animate it just pasted as jpg or png sticker.

    enhancement help wanted 
    opened by suraj3486 2
  • Fill in the template when creating a new issue

    Fill in the template when creating a new issue

    Issue

    • [x] I have read the comment above and have completed each step

    There have been a few cases of people thinking it's reasonable to completely disregard issue templates over the past few days.

    For context, I've spent around 40-80 hours on what is a free project whilst providing free software support. So please fill in the template properly for issues - given the time I spend on this, spending a few minutes jumping through hoops to help me help you is really the least you can do.

    Going forwards, a blatant failure to follow this is going to result in an issue being closed.

    Some parts of the template may be hard to fill out, in that case it is perfectly reasonable to leave some parts blank.

    There's a bit more info below: https://github.com/FredHappyface/.github/blob/master/SUPPORT.md

    Thanks 😄

    opened by FredHappyface 0
Releases(20220311)
Owner
Kieran W
Kieran W
Android library which makes it easy to handle the different obstacles while calling an API (Web Service) in Android App.

API Calling Flow API Calling Flow is a Android library which can help you to simplify handling different conditions while calling an API (Web Service)

Rohit Surwase 19 Nov 9, 2021
Gesture detector framework for multitouch handling on Android, based on Android's ScaleGestureDetector

Android Gesture Detectors Framework Introduction Since I was amazed Android has a ScaleGestureDetector since API level 8 but (still) no such thing as

null 1.1k Nov 30, 2022
Use Android as Rubber Ducky against another Android device

Use Android as Rubber Ducky against another Android device

null 1.4k Jan 9, 2023
Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Shahid Iqbal 4 Nov 29, 2022
A util for setting status bar style on Android App.

StatusBarUtil A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4). 中文版点我 Sample Download StatusBarUtil-Demo Chang

Jaeger 8.8k Jan 6, 2023
A logger with a small, extensible API which provides utility on top of Android's normal Log class.

This is a logger with a small, extensible API which provides utility on top of Android's normal Log class. I copy this class into all the little apps

Jake Wharton 9.8k Dec 30, 2022
Java implementation of a Disk-based LRU cache which specifically targets Android compatibility.

Disk LRU Cache A cache that uses a bounded amount of space on a filesystem. Each cache entry has a string key and a fixed number of values. Each key m

Jake Wharton 5.7k Dec 31, 2022
a simple cache for android and java

ASimpleCache ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。 1、它可以缓存什么东西? 普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 b

Michael Yang 3.7k Dec 14, 2022
gRPC and protocol buffers for Android, Kotlin, and Java.

Wire “A man got to have a code!” - Omar Little See the project website for documentation and APIs. As our teams and programs grow, the variety and vol

Square 3.9k Dec 31, 2022
✔️ Secure, simple key-value storage for Android

Hawk 2.0 Secure, simple key-value storage for android Important Note This version has no backward compatibility with Hawk 1+ versions. If you still wa

Orhan Obut 3.9k Dec 20, 2022
A robust native library loader for Android.

ReLinker A robust native library loader for Android. More information can be found in our blog post Min SDK: 9 JavaDoc Overview The Android PackageMan

Keepsafe 2.9k Dec 27, 2022
A lightning fast, transactional, file-based FIFO for Android and Java.

Tape by Square, Inc. Tape is a collection of queue-related classes for Android and Java. QueueFile is a lightning-fast, transactional, file-based FIFO

Square 2.4k Dec 30, 2022
Joda-Time library with Android specialization

joda-time-android This library is a version of Joda-Time built with Android in mind. Why Joda-Time? Android has built-in date and time handling - why

Daniel Lew 2.6k Dec 9, 2022
a SharedPreferences replacement for Android with multiprocess support

DEPRECATED - no longer actively maintained Tray - a SharedPreferences replacement for Android If you have read the documentation of the SharedPreferen

HCI @ gcx 2.3k Nov 17, 2022
OpenKeychain is an OpenPGP implementation for Android.

OpenKeychain (for Android) OpenKeychain is an OpenPGP implementation for Android. For a more detailed description and installation instructions go to

OpenKeychain 1.8k Jan 3, 2023
UPnP/DLNA library for Java and Android

Cling EOL: This project is no longer actively maintained, code may be outdated. If you are interested in maintaining and developing this project, comm

4th Line 1.6k Jan 4, 2023
WebSocket & WAMP in Java for Android and Java 8

Autobahn|Java Client library providing WAMP on Java 8 (Netty) and Android, plus (secure) WebSocket for Android. Autobahn|Java is a subproject of the A

Crossbar.io 1.5k Dec 9, 2022
:iphone: [Android Library] Get device information in a super easy way.

EasyDeviceInfo Android library to get device information in a super easy way. The library is built for simplicity and approachability. It not only eli

Nishant Srivastava 1.7k Dec 22, 2022
Collection of source codes, utilities, templates and snippets for Android development.

Android Templates and Utilities [DEPRECATED] Android Templates and Utilities are deprecated. I started with this project in 2012. Android ecosystem ha

Petr Nohejl 1.1k Nov 30, 2022