a diaspora* client for Android

Overview

GitHub releases GitHub downloads Translate on Crowdin Donate - say thanks Chat on Matrix GitHub CI Codacy code quality

dandelion*

This is an unofficial webview based client for the community-run, distributed social network diaspora*.

Description

This is an unofficial webview based client for the community-run, distributed social network diaspora*. It's currently under development and should be used with that in mind. Please submit any bugs you might find.

WebApp

The app is developed as a WebApp because currently diaspora* doesn't have an functional API that can be used to create a native interface to retrieve the user's data, publications, direct messages and so on. That's why there are currently only WebApps for diaspora* out there. Stay tuned on diaspora* issues about API.

Why is a WebApp better than using the mobile site on a browser? Basically it provides better integration with the system (events coming into and going out of the app), notifications, customized interface and functions and a nice little icon that takes you directly to your favorite social network :)

Device Requirements

The minimum Android version supported is Jelly Bean, Android v4.2.0 / API 17

Privacy & Permissions

dandelion* requires access to the Internet and to external storage to be able to upload photos when creating a new post and for taking screenshots.

Contributions

The project is always open for contributions and accepts pull requests. The project uses AOSP Java Code Style, with one exception: private members are _camelCase instead of mBigCamel. You may use Android Studios auto reformat feature before sending a PR. See gsantner's android contribution guide for more information.

Translations can be contributed on GitHub or via E-Mail. You can use Stringlate (Translate - with Stringlate) to translate the project directly on your Android phone. It allows you to export as E-Mail attachement and to post on GitHub.

Join our Matrix channel and say hello! Don't be afraid to start talking. Chat - Matrix
Note that the main project members are working on this project for free during leisure time, are mostly busy with their job/university/school, and may not react or start coding immediately.

Resources

Licensing

dandelion* is released under GNU GENERAL PUBLIC LICENSE (see LICENCE). The app is licensed GPL v3. Localization files and resources (strings*.xml) are licensed CC0 1.0. For more licensing informations, see 3rd party licenses.

Screenshots

Notice

Maintainers

Comments
  • App shortcut for Android N

    App shortcut for Android N

    Here I'm back again (if you still know me)...

    Only one app shortcut for Android N to quick access to create a new post. Perhaps, if you merge it, you should also update Android standard libs.

    opened by scoute-dich 30
  • can't choose a picture to upload in new post

    can't choose a picture to upload in new post

    General information

    • Device: Fairphone 1
    • Android Version: Android 4.2
    • Pod: joindiaspora.com
    • Diaspora pod version: 0.6.0.0
    • App source: F-Droid
    • App version: 0.1.5

    Steps to reproduce

    1. Create a new post

    Expected result

    What is the expected output?

    The camera image should be there, and be clickable to add a picture (as it is when doing the same thing from a browser like Firefox for Android).

    What do you see instead?

    The camera is a question mark, and clicking it does nothing.

    bug 
    opened by stragu 30
  • change text in

    change text in "shared-by-notice"

    General information

    Currently, posts get "via #dandelion" at the bottom if this option is selected. I'd prefer if the tag would be replaced with a link to the dandelion account or project page. Following the tag #dandelion is currently useless as the postings naturally deal with all kinds of topics.

    • Android Device: Any
    • Android API Version: Any
    • App version: 0.2.4
    • App source: F-Droid
    opened by ghost 21
  • WebView crashes on Copperhead OS Nougat

    WebView crashes on Copperhead OS Nougat

    General information

    • Device: Nexus 6p
    • Android Version: 7.0.0 CopperheadOS
    • Pod: pod.geraspora.de
    • Diaspora pod version: eg 0.5.99.0-p9bd2337c (can be found on the bottom)
    • App source: F-Droid, self build (latest HEAD)
    • App version: HEAD

    Steps to reproduce

    1. Open app and let stream load

    Expected result

    What is the expected output? No crash

    What do you see instead? App crashes sometimes after ~4-5 secs. If the crash once happened, it will happen most starts afterwards. This can be fixed by deleting all app data.

    Debug output

    Edit: Whoops, wrong log...

    10-25 22:35:46.216 16967-16967/? D/AndroidRuntime: Shutting down VM
    10-25 22:35:46.217 16967-16967/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                       Process: com.github.dfa.diaspora_android, PID: 16967
                                                       java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
                                                           at com.android.webview.chromium.WebViewContentsClientAdapter.getDefaultVideoPoster(WebViewContentsClientAdapter.java:1181)
                                                           at org.chromium.android_webview.DefaultVideoPosterRequestHandler$1.run(DefaultVideoPosterRequestHandler.java:39)
                                                           at android.os.Handler.handleCallback(Handler.java:751)
                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                           at android.os.Looper.loop(Looper.java:154)
                                                           at android.app.ActivityThread.main(ActivityThread.java:6080)
                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
                                                           at com.android.internal.os.ExecInit.main(ExecInit.java:56)
                                                           at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
                                                           at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)
    10-25 22:35:46.219 16967-16967/? E/AndroidRuntime: Error reporting crash
                                                       java.lang.RuntimeException: Bad file descriptor
                                                           at android.os.BinderProxy.transactNative(Native Method)
                                                           at android.os.BinderProxy.transact(Binder.java:615)
                                                           at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:5103)
                                                           at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:97)
                                                           at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
                                                           at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
    10-25 22:35:46.219 16967-16967/? I/Process: Sending signal. PID: 16967 SIG: 9
    10-25 22:35:46.279 4424-4767/? I/WindowManager: WIN DEATH: Window{2b8301b u0 com.github.dfa.diaspora_android/com.github.dfa.diaspora_android.activity.MainActivity}
    
    bug 
    opened by vanitasvitae 16
  • Cannot switch to stream after displaying tags

    Cannot switch to stream after displaying tags

    General information

    • App version: 1.1.3 (32)
    • System: Android 6.0.1 FP2
    • Pod: https://diaspora.kapper.net
    • Language: German

    Description

    After opening (starting the app) the stream is displayed. Using the "hamburger" menue, opening e.g. tags displays tags. Again using the "hamburger" cannot switch to stream, profile, activities.

    Log

    opened by oe1rsa 13
  • dandelion* 1.0.8 breaks Replicant 6.0

    dandelion* 1.0.8 breaks Replicant 6.0

    General information

    dandelion* 1.0.8 Andrid 6.0.1, Replicant 6.0, Galaxy S2 I9100

    Description

    When dandelion* 1.0.8 is installed on replicant 6.0, many apps start crashing, including trebuchet, f-droid and com.android.settings.Settings. It is impossible to access the app list and the only way I found to recover is to uninstall it with the following adb command:

    adb uninstall com.github.dfa.diaspora_android

    Some times the phone restarts all together.

    adb logcat -s com.github.dfa.diaspora_android doesn't seem to be giving away any info on the matter. I'm sending some info I got from CatLog app, hoping it will help to find out what seems to be the problem, and I'll be also opening a new issue on the replicant website.

    Thank you. 2018-02-05-16-00-32.txt tombstones.zip

    opened by arielenter 11
  • touch/click on link crash the app

    touch/click on link crash the app

    General information

    • Android Device: LG G3
    • Android API Version: 25
    • App version: 1.0.2
    • App source: f-droid
    • Pod version: 0.6.99.0-pb9be82e3

    Steps to reproduce

    1. open Dandelion app
    2. Click/Touch on an external link

    Expected result

    What is the expected output? Launc default browser . What do you see instead? Dandelion FC/Crash

    Debug output

    logcat attached logcat.txt

    I rollback to 1.0.1 and there is no problem
    
    
    bug 
    opened by Pafzedog 11
  • Open links in Android Webview

    Open links in Android Webview

    General information

    • Device: all devices
    • Android Version: all versions
    • Pod: all pods
    • Diaspora pod version: all versions
    • App source: F-Droid, self build (latest HEAD)
    • App version: eg 0.1.5, or commit

    Steps to reproduce

    1. search for a post with a link in your stream
    2. click on the link

    Expected result

    What is the expected output? A new WebView activity should be launched, which loads the resource the link is pointing to.

    What do you see instead? The link is opened with a browser.

    enhancement q/discussion/feedback 
    opened by lu-x 11
  • Create

    Create "Lock Screen Rotation" option in settings

    General information

    • Device: eg Nexus 5
    • Android Version: eg Android 6.0.1
    • Pod: eg pod.geraspora.de
    • Diaspora pod version: eg 0.5.99.0-p9bd2337c (can be found on the bottom)
    • App source: F-Droid, self build (latest HEAD)
    • App version: eg 0.1.5, or commit

    This is a requested Feature, see #87. The user should be able to disable orientation changes in DiasporaForAndroid

    feature 
    opened by vanitasvitae 10
  • draft messages are lost if orientation changes

    draft messages are lost if orientation changes

    When posting a new mesage in portrait, if orientation changes, message being typed is lost and stream is shown. Its very irritating to type again.

    Even regular stream gets reloaded when orientation changes.

    General information

    • Device: Yu Yuphoroa
    • Android Version: Cyanogen Mod 12.1
    • Pod: poddery.com
    • Diaspora pod version: 0.6.0.0
    • App source: F-Droid
    • App version: 0.1.5

    Steps to reproduce

    1. …create a new post
    2. …type something
    3. …change orientation

    Expected result

    What is the expected output?

    You should not lose the message you typed.

    Stream is loaded instead.

    bug 
    opened by pravi 10
  • UI for Pod & App informations

    UI for Pod & App informations

    General information

    • Device: doesn't matter
    • Android Version: doesn't matter
    • Pod: doesn't matter
    • Diaspora pod version: doesn't matter
    • App source: F-Droid, self build (latest HEAD)
    • App version: eg 0.1.5, or commit

    Add a section eg. in settings that shows useful information about the account in use. That includes things like app and pod version.

    • [x] Implement AboutAcitvity
    • [x] Add app version
    • [x] Add package name
    • [x] Add Android/ROM version
    • [x] Add pod domain
    • [x] Add recent logs
    • [x] Add option to copy/share debug information (maybe even formated in a way that fits the issue template)
    • ~~Add pod version~~
    • ~~Also show crash logs of app runs in the past~~
    feature 
    opened by vanitasvitae 10
  • feature request: Disable pull-to-refresh in compose view

    feature request: Disable pull-to-refresh in compose view

    General information

    • App version: 1.3.5
    • System: LineageOS
    • Pod: self-hosted pod (irrelevant to request)

    Description

    When composing a new post in dandelion, a scrolling pull can result in an unintended pull-to-refresh leading to loss of all composed text and uploaded media. Would it be possible to disable the pull-to-refresh gesture in this view, as it is of no use anyways?

    opened by ford--prefect 0
  • Mobile view - actions on articles do not work with accessibility Features enabled

    Mobile view - actions on articles do not work with accessibility Features enabled

    actions on articles does not work with accessibility Features enabled in mobile view. In Desktop Mode, if I click on reply or comment, The screenreader says reply or comment - Button. On the mobile view, there is just spelled out the number zero. I can therefore not be sure what to do in mobile view mode as a blind person.

    General information

    • App version:
    • System:
    • Pod:

    Description

    Log

    opened by joshjama 1
  • aspect-creation does not work with accessibility Features enabled

    aspect-creation does not work with accessibility Features enabled

    Aspect creating is not possible with accessibility-features enabled. As a blind Person i'm using screenreader software to read the text out loud to me. If I click on create new aspect nothing happens on mobile sites. On the Desktop-Version the site crashes after then.

    General information

    • App version:
    • System:
    • Pod:

    Description

    Log

    opened by joshjama 5
  • Shared/downloaded puctures don't get any file extension

    Shared/downloaded puctures don't get any file extension

    General information

    • App version: 1.3.2
    • System: Android 7.1.2 LOS 14.1 galaxy s4
    • Pod: nerdpol.ch

    Description

    When i try to share or download a picture from stream. It doesnt get any file extension.

    This leads to a not working sharing at all. Cause apps cant handle that.

    (I read they currently should all get a ".png however this doesn't seem to happen to me (also it has always been like this for me)

    opened by paskalito 0
  • Unable to sign in with 2FA

    Unable to sign in with 2FA

    General information

    • v1.3.1 F-Droid
    • Android 8.1.0
    • https://librenet.gr/

    Description

    Entering the 2FA code, after successfully entering the correct username and password, results in a return to the login screen, with the message, "Incorrect username or password."

    opened by ghost 10
  • Use the new diaspora* API

    Use the new diaspora* API

    I'm opening this issue because the diaspora* API made huge progress thanks to @hankg. https://github.com/diaspora/diaspora/pull/7462 is now tagged to be included in the next major release of diaspora*. Thanks to @jhass the CI is now green, I guess the code will make its way to the develop branch in the coming weeks.

    Dandelion is the first project I thought about when I was wondering who will want to use it so I wanted to tell you those progress. I'm running the bleeding edge diaspora* code on https://diaspora-fr.org so I will immediately pull the API code once merged. Feel free to open an account there for testing purpose.

    As a reminder, the API documentation is available at https://diaspora.github.io/api-documentation/index.html

    I guess this is going to open a whole new world for dandelion :smile:

    feature q/discussion/feedback 
    opened by Flaburgan 3
Releases(v1.0.0)
  • v1.0.0(Jun 18, 2017)

    Changelog

    …what changed since our last update post (v0.2.5) on diaspora*

    Added AMOLED mode
    Improved NavDrawer
    Improved Shared by notice
    Use opoc/Helpers,AdBlock
    Added chinese traditional language
    Added NavSlider option: Statistics
    Fix bottom bar hint text background color
    Color improvements
    

    The apk below is a copy of the F-Droid release. It is signed by F-Droid's keychain.

    Source code(tar.gz)
    Source code(zip)
    com.github.dfa.diaspora_android_20.zip(1.54 MB)
  • v0.2.3(Mar 2, 2017)

    • See CHANGELOG.md for changelog.
    • You can download the latest (nightly built) version - seconlion* here

    This time there is an special version attached:

    • #dandelion* - built for Android API level 15
    • Mainly built for #Jolla users
    • Note that you won't receive any updates with this version
    • Note that you won't receive any support with this version
    • For Security reasons: We encourage you to update to a newer android version/new device. Android Apps using WebView, and below API level 17 are exploitable by e.g. some malicious JavaScript.
    • To sum it up: If the special version breaks something, it's your problem. If the special version doesn't work or crash we don't give you support.
    Source code(tar.gz)
    Source code(zip)
    dandelion_0.2.3__NO_SUPPORT__API15.apk(1.95 MB)
  • v0.2.2(Dec 20, 2016)

  • v0.2.1(Nov 22, 2016)

  • v0.2.0a(Nov 7, 2016)

  • v0.2.0(Nov 6, 2016)

    Release Post on diaspora*

    • Customizable Theme Colors
    • Improved account setup with easy tor hidden service configuration
    • Eye candy for the settings activity
    • Contacts shortcut in the navigation slider
    • Removed Splashscreen, one activity with fragments now
    • Increased the overall performance by using Fragments

    Some small hotfixes were made, you can find them in 0.2.0a. The apk of 0.2.0a is attached above.

    Source code(tar.gz)
    Source code(zip)
  • v0.1.6(Sep 20, 2016)

    • Added: New languages
    • Changed: New delicious visual style + launcher icon
    • Changed: Notifications-/Messages-indicator does now display number of events!
    • Changed: Redesigned Navigation Drawer
    • Fixed: Immediately apply preference changes
    • Added: About screen that shows useful information
    • Changed: Updated NetCipher library to 2.0.0-alpha1
    • Fixed: Do not reload stream on orientation changes
    • Fixed: Image upload for older devices
    • Added: Option to open external links in Chrome CustomTab

    The attached android APK below is signed by the diaspora-android authors.

    Note: As the app doesn't support multiple Accounts the "diasporaAndroid__0.1.6__account2_.apk" is the same app, but with a different id. This way you can manage 2 diaspora* accounts completly indipendent. Note that the second account app may not be updateable, and won't ever be deployed on F-Droid.

    Source code(tar.gz)
    Source code(zip)
    diasporaAndroid__0.1.6__.apk(1.86 MB)
    diasporaAndroid__0.1.6__account2_.apk(1.86 MB)
  • v0.1.5(Aug 14, 2016)

    • Update title depending on what the user is doing
    • New greenish color scheme
    • Replaced SwipeToRefresh functionality with refresh button
    • Fixed some layout bugs (toolbars)
    • New translations! (Japanese, Portuguese-Brazilian, Russian, Espanol) Thanks translators!
    • Increased Min-API to 17 (Jelly Bean) to mitigate CVE-2012-6636
    • Updated icons to vector graphics
    • Improvements to new-message/new-notification counters
    • Click on profile picture now opens users profile
    • Disabled backup functionality to prevent attackers to steal login cookies
    • Rework settings
    • Allow slider customization
    • Show aspect name after selection
    Source code(tar.gz)
    Source code(zip)
    diasporaAndroid__0.1.5__.apk(4.65 MB)
  • v0.1.4(Jul 31, 2016)

    by @vanitasvitae, @gsantner, @di72nn

    • Allow turning off toolbar intellihide
    • Handle links from browseable intent filter #38
    • Intent filter for pods
    • Update license infos of source files
    • Update license infos of source files
    • Localization lint; Translation; Readme
    • Add an option to clear WebView cache
    • Don't use startActivityForResult on SettingsActivity
    • Disable swipe refresh in some parts of the app
    • Add "Followed tags" listing
    • Share screenshot fix; Minor Aspects rework
    • Update to SDK 24 (Android N)
    Source code(tar.gz)
    Source code(zip)
    diasporaAndroid__v0.1.4__.apk(4.64 MB)
  • v0.1.3(Jul 4, 2016)

    • Added titles on top toolbar (by @scoute-dich)
    • Made bottom toolbar automatically disappear
    • Added option to share images to external app
    • Added option to enable proxy (by @vanitasvitae)
    • Added french translation (thanks to SansPseudoFix)
    • Added new settings section (by @vanitasvitae)
    • Fixed buggy snackbars
    • Removed swipe-to-refresh functionality in some places

    Big thanks and good luck to @scoute-dich and @martinchodev for accompanying this project :)

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Jun 5, 2016)

    • Extract and show aspects (by @gsantner)
    • Cache last podlist
    • Better sharing from app
    • Collapsing top menu
    • ProgressBar material, Improve search dialog
    • fix keyboard. #4
    • Reworked sharing from activity #12
    • toolbar/actions/menu changes, replaced fab
    • Refactor layout & menu files, dialogs
    • Lots of refactoring; Reworked Splash,PodSelectionActivity; Switch Pod; Clear settings;
    • Activity transitions, usability MainActivity, green accent color
    Source code(tar.gz)
    Source code(zip)
    diasporaAndroid__v0.1.2__.apk(4.55 MB)
  • v0.1.1(May 5, 2016)

    • Sharing updated (by @scoute-dich)
    • Screenshotting updated
    • Gitter integration (by @de-live-gdev)
    • Code refactoring
    • Start working on #6
    • Waffle.io integration
    • Travis CI integration
    • Bump Gradle, Build-Tools, Libs to Android Studio 2.1 defaults

    Signing Key: You can decide if you wan't to download the apk's and keep updated from this release page or from F-Droid, but you can't mix. This is the first version/apk, which uses the DiasporaForAndroid signing key. Note that you can't update your version downloaded from F-Droid with this apk because they use also their own key, which we don't have access to.

    Source code(tar.gz)
    Source code(zip)
    diasporaAndroid__v0.1.1__.apk(4.56 MB)
Owner
Gregor Santner
Austrian software developer & sysadmin
Gregor Santner
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

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 2, 2023
An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.

Bourbon ![Sidebar] (https://img.shields.io/badge/Sidebar-06%2F05%2F2016-orange.svg) Bourbon is a simple Dribbble client built for Android Mobile, Wear

Joe Birch 1.1k Dec 12, 2022
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
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 589 Dec 31, 2022
Android client for Seafile

Seafile Android Client The application has been published onto the market for easy access: Contributors See Contributors Graph Build the APK Make sure

null 462 Dec 29, 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
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 591 Jan 8, 2023
An android client application for the awesome kanji learning website wanikani.com

End of Life This project has reached EOL status. It will no longer be updated, patched, or supported. If you are interested in continuing the work, fe

İhsan Işık 507 Nov 12, 2022
A simple android Twitter client written in Kotlin

Blum Blum is an unofficial, simple, fast Twitter client written in Kotlin. This project is a complete rewrite of the Java version. Screenshot Build To

Andrea Pivetta 77 Nov 29, 2022
A project which demonstrate how to develop a custom client on android for dribbble.com

##What is this? This is a project with custom client app on android for https://dribbble.com, which you can browse the popular icon and animation, lik

ZhangLei 599 Nov 14, 2022
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
DNS over HTTPS / DNS over Tor / DNSCrypt client, firewall, and connection tracker for Android.

RethinkDNS + Firewall for Android An OpenSnitch-inspired firewall and network monitor + a pi-hole-inspired DNS over HTTPS client with blocklists. In o

null 1.1k Jan 5, 2023
Twire is an alternative and open source Twitch client for Android

Twire 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 brows

Twire 749 Jan 2, 2023
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 30, 2022
This is a Reddit client on Android written in Java

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

null 2.6k Jan 9, 2023
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
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
Redditek - A reddit client for Android developped in Kotlin

Redditech The Redditech project is a reddit client created using Kotlin and Redd

Arthur Robine 1 Jan 6, 2022