Yet another booru viewer for Android

Overview

boorusphere's banner image
Yet another booru imageboards viewer for Android

Download

IzzyOnDroid release page github release page

Preview

Click Here

application screenshots

Building

You can build this app just like any other flutter app, for example:

$ flutter build apk --target-platform=android-arm64

This projects uses several code generator such as freezed and json_serializable, so if you're editing some areas that needs a code generator (such as models), make sure run the build_runner before debugging:

$ flutter pub run build_runner build --delete-conflicting-outputs

License

This work is licensed under BSD 3-Clause License.

Comments
  • Favorites and Additional Setting for Safe Mode

    Favorites and Additional Setting for Safe Mode

    Awesome app btw. Loved it! This is objectively the best open-source booru app that i've found on github (after hours of searching, installing, and uninstalling app). I'd like to ask if the following feature could possibly be implemented within the app.

    1. Favorite/Bookmark - Allow us to bookmark images on the booru so that we have the option to get back to these images later without downloading it. I have no clue how fetching on android app works and if the API of these websites allow for fetching multiple images at once (assuming this works by saving the url in the device), tho i assume this could be done by adding the option to link booru accounts (and use their favorite feature)

    and...

    1. Strict/Loose Options for Safe Mode - Strict option would not fetch the image (the current safe mode of the app). Loose option would fetch but blur the image preview (kinda like how reddit blurs the nsfw) and opening it would prompt a warning. Not essential but i think it would be awesome to implement it in the app.
    enhancement postponed 
    opened by maisans-maid 8
  • [Feature Request] Encryption of the cache

    [Feature Request] Encryption of the cache

    Given the nature of this app, some results of certain servers and of certain types of picture are not exactly legal in some countries, so keeping them in the cache is not exactly safe for the user, even if we don't download them. Also my device main storage position is my sd card (on my android devjce i can choose internal or external storage, idk others) so it would be easy to get these images from my sd, even if deleted by the app. It is common knowledge that files, when deleted, are just tagged as "rewritable" so the data stays there until it gets overwritten. So, can you add a way to do so please?

    opened by Palloxin 5
  • [Feature request] Add a way to come back after starting a search through a tag

    [Feature request] Add a way to come back after starting a search through a tag

    https://user-images.githubusercontent.com/75091899/207057501-947607e2-d6ba-4ef1-b4d0-4366b67ad06c.mp4

    after starting a search through the results of the first search (a tag of a single post of the first search), i would like to come back to the post where the second search started. If i was not clear enough just ask me questions.

    opened by Palloxin 5
  • List of Additional Settings Suggestion

    List of Additional Settings Suggestion

    General

    • Select default start screen (which server to display)

    Notification

    • Access notification settings within the app
    • Set notification ringtone

    Cache

    • Clear image cache
    • Set maximum cache size

    Downloads

    • Toggle button to display/hide download count badge (for unchecked/not yet viewed downloaded images on downloads section) IMG_20220731_224615.jpg
    • Toggle button to display download date (and an option to choose between actual or relative date) IMG_20220731_224918.jpg
    • Move download location to boorusphere dedicated folder by default (preferrably storage/emulated/0/Boorusphere) and add an option to select a custom location.
    • Toggle button to warn users when attempting to download files larger than 10MB (or whatever you consider as "large files")

    Security

    • Open links (location, source, etc.) in incognito mode (always by default). Can be changed via settings.
    • Hide app content when switching between apps (Always, Never, Only when not in Safe Mode)

    Safe Mode

    • Toggle mute explicit rated media on initial play (defaults to true, automatically mute explicit media when played for the first time)

    App Info

    • Add View Changelog to view changelog for the current version
    • Add Something isn't working right or Report Bugs that leads to the Submit Issue page of this repository.

    Going to add more to this list in the future...

    opened by maisans-maid 4
  • please remember increasing versionCode when releasing

    please remember increasing versionCode when releasing

    Just a note: the latest release (1.0.3) still has the same versionCode as the one before (1001). As that's what Android uses to tell versions apart, it won't show up as update for users. So please make sure to always increase that as well :wink: Thanks!

    important 
    opened by IzzySoft 4
  • [Bug]

    [Bug] "Hide downloaded media" doesn't work

    https://user-images.githubusercontent.com/75091899/207065210-c7f95edf-ea95-4b1f-acb0-ee5a38541cfd.mp4

    i granted storage permission to the app despite it didn't ask for it but the feature still doesn't work Android 8, miui 8 Huawei p8 lite 2017

    bug 
    opened by Palloxin 3
  • Ingotnito keyboard support

    Ingotnito keyboard support

    I use Gboard which supports an incognito mode in apps that request it, it will not learn new words so they are not added to the learned word list and autocomple. Reason being you don't want booru searches being stored and suggested outside the app in the keyboard.

    enhancement 
    opened by ae5960e8-a6fc-491f-b252-898ecf59af95 3
  • Downloads Section Improvents and Fixes (after v1.1.1)

    Downloads Section Improvents and Fixes (after v1.1.1)

    The download section was a whole lot better after the recent update, tho there are some things that i'd love to see be improved (sorry, but i really love using this app so i thought i had to suggest inputs):

    1. When grouped by servers, the servers should be collapsable (useful for cases where there's too many images that have been downloaded). Clicking the server name on download would toggle the collapse state of that particular section. Also, i think it's be better to have them at hidden state on default when the number of downloaded files exceeds a set number, with a badge indicating how many images were downloaded for that server when on hiddena state.

    2. Downloaded images could use a filter option to filter downloaded images by available tags (user can select which tag/s to include), also with multiple tags selected, an option whether to use "or" and "and" for them.

    3. Downloaded images should not be ~~viewable by~~ present in any gallery app (or at least have the option to make it viewable or hidden on other image/video viewer app, tho it is preferred to be hidden).

    4. Use a check mark icon instead of the downloaded string as an indicator that the image has been downloaded. Similarly, the "downloading" string indicating the file is currently being downloaded could use an animated icon as well. Could also just make the string a less saturated color than the one used for the file name (i.e. gray)

    However, there are also some things i think are bugs on that section, such as:

    1. Deleting the downloaded image from the file manager does not update the downloads list section of the app. Clicking on the image instead gives an unknown error, or "File might be corrupted" error when opened via gallery app.

    Screenshot_2022-07-27-15-10-19-684_com.miui.videoplayer.jpg

    Suggested fixes:

    1. Deleted images will be indicated on the downloads section with a red "x" or "i" icon. An option to "redownload removed files" and "remove deleted files from list" could be added.

    2. App will not show deleted files on the download page.

    P.S. Thanks for the recent update, loved them!

    opened by maisans-maid 3
  • Add flickr / own services

    Add flickr / own services

    As far as i know Flickr is *booru based aswell, not fitting into anime, but since booru is open source, there are so much of them, maybe one should be able to add their own services. (A lot of work, I know, but im just getting into dart, sorry)

    enhancement 
    opened by CodeSpoof 3
  • [Feature Request] Add a preload feature of the results

    [Feature Request] Add a preload feature of the results

    I noticed that new "batches" (based on the preload number setted by the user) of results are loaded once i arrive at the end of the first "batch" or near it. I would like the app to really preload 100 results ahead of my current scrolling. I tested it. set 3 columns on safebooru. scroll 40 results, then stop and take in mind the 40th picture (results), wait 20 seconds or more, then do a very fast scrolling until the load icon appears, then start counting the entries from bottom to above until u see the said 40th picture. i counted 60 picture until the 40th ( i set the preload to 100). So i am sure it doesn't really pre load in the way i intend so if you can implement it...

    opened by Palloxin 2
  • [Feature Request] Make the links of a post take less space

    [Feature Request] Make the links of a post take less space

    IMG_20221212_145055 The space dedicated to links is too much. I would like the links to be compact (nearer) OR something to contain them like this:

    https://user-images.githubusercontent.com/75091899/207063710-4cced0bc-8ec9-4b26-a6f5-93b2155ec565.mp4

    Personally the only link that might be useful is the source link since sometime i want to track the artist from the source. the other links that come from the actual server (safebooru etc..) can be contained in there. If you have questions, ask

    opened by Palloxin 2
  • Bug: Data race when entering a new query

    Bug: Data race when entering a new query

    Type

    Other

    Bug description

    Sometimes the timeline would get replaced by pending search that has been replaced by a new search.

    Steps to reproduce

    1. Search for something
    2. while loading, search again for something else
    3. If the network is not fast enough (e.g. caused by smaller result on second search), the first search will be displayed on the timeline instead of the second search result.

    Android version

    13

    App version

    1.2.7

    Screenshots or videos

    No response

    Solution

    Easiest but temporary solution:

    • having a timestamp for checking mechanism before updating timeline state.

    Long-term solution:

    • rearchitect timeline state to be more local than using state container like riverpod

    Additional context

    No response

    Acknowledgements

    • [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
    • [X] I have written a short but informative title.
    • [X] I filled out all of the requested information in this issue properly.
    bug 
    opened by nullxception 0
  • Feature: Add individual restore option

    Feature: Add individual restore option

    Type

    Functionality

    Issue

    when backup data, there's an option to select which data will be exported, but when restoring, there's no such option.

    Feature

    Add a dialog or screen that allow us to select which data will be restored.

    Motivation

    Having a consistency between backup and restore screen.

    Additional context

    No response

    Acknowledgements

    • [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
    • [X] I have written a short but informative title.
    • [X] I filled out all of the requested information in this issue properly.
    enhancement 
    opened by nullxception 0
  • Feature: The tags saver

    Feature: The tags saver

    Type

    Functionality

    Issue

    When I want to combine the tags, I need to manual typing and it was terrible.

    Feature

    The tag saver, Saving tags for later and combine the tags together.

    1. Type the tag
    2. Press + button
    3. and boom! it's saved for later.
    4. Press arrow button for paste to search bar and start combine.

    It should be in search section.

    Motivation

    So (lazy) people no need to type the tags over and over again. And can combine the tags so they no need to type their 255 characters tags again.

    Additional context

    Will add Later.

    Acknowledgements

    • [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
    • [X] I have written a short but informative title.
    • [X] I filled out all of the requested information in this issue properly.
    enhancement 
    opened by rinme 3
  • Add support for 90+ hz

    Add support for 90+ hz

    Type

    UI improvement

    Issue

    Adding support for a high refresh rate screens and dedicated option in settings to disable the 60hz lock would be much appreciated

    Feature

    As more and more models (even not flagship ones) are starting to have high refresh rates this issue definitely should be taken into consideration...

    Motivation

    Because I have a phone with high refresh rate

    Additional context

    No response

    Acknowledgements

    • [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
    • [X] I have written a short but informative title.
    • [X] I filled out all of the requested information in this issue properly.
    enhancement 
    opened by infinitieunique 3
  • [Features Request] Improve already exist features and suggestions for new features

    [Features Request] Improve already exist features and suggestions for new features

    Improve

    • sort Artists, Characters, Copyright, Metadata and etc. out of normal tags (or change color text different Ex. Character tags - green text) edited: I see it's only including in some sites only. (not sort in gelbooru)
    • add 'All' in Favorites page to show all fav media in one page

    Suggestions

    • add option to backup settings (including server saved)
    • add 'Saved Tags' to show fav tags (for fast search when you want to search your fav tags)
    • add 'meta tags' in searching such as score, id, rating
    • add 'Saved Pages' for following pages (when you want to roll back to previous search with one-click Ex. search tag1 tag2 tag3 sort:score with one-click)
    • show 'score' in details media page
    opened by Nonanne 4
  • [Feature Request] Option to choose preload number range when we are viewing single pictures

    [Feature Request] Option to choose preload number range when we are viewing single pictures

    "viewing single pictures" is basically this: https://user-images.githubusercontent.com/75091899/207098378-6f0335de-c1e0-447a-8ddc-009ce17fd3fd.mp4

    "preload range" is pictures on left and right. So i would like an option in the settings to let users decide the preload range when we are in this 'mode'. this is different since it preloads highter quality pictures.

    enhancement 
    opened by Palloxin 0
Releases(1.2.7)
Owner
Nauval Rizky
Mashu is love, Mashu is life | *nix enjoyer
Nauval Rizky
Kotlin Multiplatform Mobile version of Tisdagsgolfen... yet another version.

TheCube in Kotlin Multiplatform Experimenting with KMM, and Kotlin, Jetpack, SwiftUI, and all the other new stuff... https://kotlinlang.org/docs/kmm-g

Kim Fransman 0 Dec 25, 2022
Yet Another Native Loader for the JVM.

yanl - yet another native loader Yet another Native library extractor/loader for the JVM, written in Kotlin. why other libraries simply don't fit my n

Stardust Enterprises 5 Dec 23, 2022
Yet another advanced Craftfting Table mod. My entry for ModFest: Singularity

Crafting Bench A utility mod that adds a custom crafting table with semi-automatic crafting. Features For a complete list of features please check the

Luca Argolo 2 Aug 23, 2022
Location-history-viewer - Small compose-desktop app to view data from google's location history

Google Location History Takeout Viewer This application provides a minimalistic

Chris Stelzmüller 3 Jun 23, 2022
Simple(vanilla) yet 'Do it all' place picker for your place picking needs in Android

Vanilla Place Picker Vanilla Place Picker provides a UI that displays an interactive map to get the place details and Autocomplete functionality, whic

MindInventory 115 Dec 21, 2022
Main goal of this project is to find the best route from one country to another

Route-service Main goal of this project is to find the best route from one country to another. Data is presented as json format. I've implemented A* p

Teyyihan Aksu 4 Aug 2, 2022
A pair of applications provide a direct means of integrating with one another via application programming interfaces (APIs)

What is a native integration? It's when a pair of applications provide a direct means of integrating with one another via application programming interfaces (APIs). Once integrated, data can flow between the apps and become more readily available to your employees.

Behruz Hurramov 2 Jan 17, 2022
Android MVVM framework write in kotlin, develop Android has never been so fun.

KBinding 中文版 Android MVVM framework write in kotlin, base on anko, simple but powerful. It depends on my another project AutoAdapter(A library for sim

Benny 413 Dec 5, 2022
Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android.

Klimatic Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android. Built using Android Architectu

Shivam Satija 34 Oct 11, 2022
Oratio Library for Android Studio helps you simplify your Android TTS codes

Oratio Oratio is a library for Android Studio. This library is useful to a number of developers who are currently making apps using android TTS(Text-T

Jacob Lim 1 Oct 28, 2021
This is a demo android app representing implementation of SE principles in android app development

Articles Demo This repository contains a sample Android App that shows most popular articles data from NY Times API. This is a sample app that shows h

Waesem Abbas 2 Jan 20, 2022
Android-Boilerplate - Base project for android development with new technology

Android-Boilerplate Base project for android development with new technology, in

Muhammad Rizky Arifin 1 Aug 15, 2022
Gits-android-extensions - A collection of Kotlin extensions to simplify Android development

gits-android-extensions A collection of Kotlin extensions to simplify Android de

GITS Indonesia 3 Feb 3, 2022
Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development using Kotlin and latest tech-stack.

Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development using Kotlin and latest tech-stack.

Mr.Sanchez 176 Jan 4, 2023
Android Ptrace Inject for all ABIs and all APIs. Help you inject Shared Library on Android.

Android Ptrace Inject 中文可以参考我的注释内容进行理解 我写的注释相对来说比较全面了 How to build Make sure you have CMake and Ninja in your PATH Edit CMakeLists.txt. Set ANDROID_ND

SsageParuders 65 Dec 19, 2022
Pleasant Android application development

⚠️ Anko is deprecated. Please see this page for more information. Anko is a Kotlin library which makes Android application development faster and easi

Kotlin 15.9k Jan 5, 2023
YouTube Player library for Android and Chromecast, stable and customizable.

android-youtube-player android-youtube-player is a stable and customizable open source YouTube player for Android. It provides a simple View that can

Pierfrancesco Soffritti 2.9k Jan 2, 2023
A highly customizable calendar library for Android, powered by RecyclerView.

CalendarView A highly customizable calendar library for Android, powered by RecyclerView. With this library, your calendar will look however you want

Kizito Nwose 3.4k Jan 3, 2023
View "injection" library for Android.

Kotter Knife Deprecated: This was a terrible idea because it allocates an object for every view reference. Do not use, and do not use anything like it

Jake Wharton 2.2k Dec 28, 2022