Android as Smart Panel - Android Q&A, Help & Troubleshooting

Hey guys,
I'm not really sure if this is the right place to post this question but as I don't really know where else in the web I could find help on this I'll give it a try
TL;DR:​Do you know any (and I really mean any - including writing an app or other hands on approaches) method to have a permanent (tabbed) navigation at the bottom of the screen to switch between apps or websites/PWAs?
The background of this question:​
I'm coming down a long road trying to hack together a DIY - privacy focused - smart speaker - mainly to switch lights and play some music. I started off back in 2018/19 and found snips.ai one of the most promising FOSS smart speaker projects for my plans and so I got me a Raspberry Pi 3b+ and a Matrix Voice board as foundation. Then half a year I later, when I found the time to put those together, I had to find out, that Sonos just bought snips.ai and their services were to be shut down...
Since then I had a long pause on this but always followed the development of FOSS voice projects including Mycroft (to expensive HW, to bloated, to tied to their web services IMHO), Sepia (to complicated to setup) as well as attempts on hacking OTS speakers like Alexa, Google Home, Sonos et al or combinations with web controllable wifi speakers like Teufel 3sixty (which is really a gold speaker but as tons of other radios has a frontier chip set with its awkward web interface) or even the awesome Squeezelite-ESP32 project. Lately I stumbled upon Rhasspy and got myself together to give my project a new try and was even kind of successful (got a self hosted voice assistant doing what I want - even if I had to learn and write some python here and there). But I figured out that 1) a smart speaker without a display is not really what I want and 2) I'm not really that kind of maker guy to 3d-print cases, plan and build circuitry and what not - or it's just missing me the time to do and especially experimenting on this
So I ended up with the idea of the software that I need (Rhasspy server side + a satellite app, Home Assistant, Logitech Media Server, Spotify/Tidal and maybe some others) and was then looking for some hackable device to serve as interface to that (display, speakers, microphone, wifi + maybe bluetooth). The Sonoff NSPanel Pro was a candidate but I didn't trust the quality of its speakers and read some reviews that were claiming a weak performance. Then I found the Lenovo ThinkSmart View that has all this and this XDA thread and immediately got me a new one for 60 bucks. Now I have a quality device better then I could ever make it with a blank(though not rooted) android, a Rhasspy Voice Assistant running on a local server ready to receive and send audio streams, a promising app to act as a Rhasspy satellite and some quality speakers to play music on. The last opponent I'm facing now is a nice UI on android that can bring all the bits together.
What I'm looking for now is a free (and ideally OSS) panel/kiosk solution with that I can seamlessly switch between Home Assistant (web UI), Spotify (web UI or their app) and some others like a self hosted Web music player. In my imagination I could switch between them with a permanent tab bar at the screen bottom but am open to other ideas. I'm not an Android developer but I consider myself a stable Java dev open to write an own app for this - I'd just need a starting point (read of Webviews, Custom Tabs, Trusted Web Activities but found them not really a solution to what I need - maybe is there some browser which's contents I can just include in an app?). Also I can write (progressive) web apps and do stuff with them but then AFAIK the only method to embed remote sites would be iframes which likely won't work with at least spotify).
I really do not want to bloat this forum with all that stuff - I'm just writing this in the hope that 1) someone is interested in this and maybe is on the same journey and 2) to give some context on my actual question above
Thank you very much in advance!

Just came across your post. I’ve been looking for something very similar and have also been considering the NsPanel pro. I don’t have as much concern for audio quality as I’m less likely to use it for playing music, just responses or notifications from Rhasspy. I have just ordered a Lenovo device as I’m sure I’ll have fun with it.
To answer your question above, I just found this in the HA companion app that might work for you: https://companion.home-assistant.io/docs/integrations/android-webview/#links It’s not perfect but could be used with a button or voice command to launch the app on the device. I’ve also seen other posts about using a key mapping app for using the volume buttons to do other tasks.
I’d be very keen to see what you’ve done for dashboards and how you’re using the Rhasspy app on your device. Has it been as responsive and accurate as you hoped?

Related

[Q] Eris as a media player

So, I am moving on up from my eris and wanted to set it up as a remotely controlled wifi stereo with my speakers. I was wondering if there was any way to use my new phone to remotely control it? (aside from having google voice set up on it with tasker so I can start an app) Any help would be appreciated.
I'm in the same situation as you. Recently upgraded, but still love my Eris and would love to re-purpose it. As far as your question goes I found this article that you might be interested in. XDA isn't letting me post a link but if you google "VNC android" look for "Remotely Control Android Phone [VNC Server]". The website is taranfx.com.
Now in the near future posts like this are going to become more and more prevalent as more people move away from the old Eris to bigger and better phones. I would be really excited if I could download a ROM for the Eris geared toward media player/iPod Touch like functionality. Maybe strip out phone and messaging stuff and pre-load some headphone controls, equalizers, video players or VNC functionality like the OPs question? I'm just throwing ideas around but I figured this would be a good place to put my suggestion.
zakalwe79 said:
I'm in the same situation as you. Recently upgraded, but still love my Eris and would love to re-purpose it. As far as your question goes I found this article that you might be interested in. XDA isn't letting me post a link but if you google "VNC android" look for "Remotely Control Android Phone [VNC Server]". The website is taranfx.com.
Now in the near future posts like this are going to become more and more prevalent as more people move away from the old Eris to bigger and better phones. I would be really excited if I could download a ROM for the Eris geared toward media player/iPod Touch like functionality. Maybe strip out phone and messaging stuff and pre-load some headphone controls, equalizers, video players or VNC functionality like the OPs question? I'm just throwing ideas around but I figured this would be a good place to put my suggestion.
Click to expand...
Click to collapse
*IF* you use your computer as your media hub/server/DVR like me then you can remotely control VLC/VideoLAN and Media Player Classic for Home Cinema with Android apps for the purpose, over WIFI. I don't actually do it because my phone IS my internet right now, but it looks solid.
i was in the same situation a while ago too. someone told me about webkey. its in the market, and you can control the phone from anywhere (doesnt need wifi or bluetooth).
from what ive read, you can not directly connect to the phone if you live in america. i do, and whenever i try, the browser times out. using the webkey website and logging in however, works just fine. actions you do from the computer happen on the phone within 1 second, but sometimes it may take 3-4 seconds to refresh the picture on the website.
i will look into this vnc thing..
First step would be a way to toggle the CDMA radio off, while leveaing wifi and bluetooth on. I know you can use *#*#4636#*#*, but when you reboot the radio is back on.
Bump.
I too would like to re-purpose my Eris as a music or media player of some sort.

[Q] Bluetooth Android to Android remote

Now, before I get flamed, I know that there are plenty of bluetooth remote control apps for controlling your PC from your Android device or controlling your Android device from your PC etc. What I was wondering was, is there an app that allows your to control one Android device from another Android device? Would that be useful, especially with all the tablet devices that are coming out now? How cool would it be to connect your phone to your tablet via bluetooth for the purposes of sending and receiving texts, or making and receiving phone calls etc? Is there any development on such an app?
Comments? Thoughts?
Nothing? Nada?
I don't have an answer for you but I've had the same thought as you that this would be a great app.
I've released two data transfer apps that are used to send data between Android devices, (BlueMuze and Listables if you're interested).
The reason I mention this though, is because I think that for specific tasks like sending music or a photo, or as you suggest, making a phone call, the tech is there. But full-on remote control of another device is a bit more difficult. I'd imagine it would require root and possibly some very clever hacking of the Surface Fliger and Event stream.
That's not to say it's impossible, but it would be a really decent technical challenge. There certainly is a permission related to injecting events into the event stream, that could be a good place to start (if anyone wants to try this).
http://developer.android.com/reference/android/Manifest.permission.html#INJECT_EVENTS
hope that helps
Another quick thought, it's also entirely possible someone will port a VNC server to android someday. There are already VNC clients available...
alostpacket said:
Another quick thought, it's also entirely possible someone will port a VNC server to android someday. There are already VNC clients available...
Click to expand...
Click to collapse
That would certainly be cool! However, the functionality you mentioned in your previous post is something I think would be more functionally useful. Like, say your phone rings, but you answer can answer the call on your tablet as if the phone saw the tablet as a hands-free device, or just answer on the phone (whichever you prefer). Or you dial on your tablet, and then it engages the phone to place the call. Or SMS strings automatically synchronize, and you could answer/respond on either device and they mirror each other in their own respective SMS clients.
That sort of thing I think would be beastly! Y'know, something that gives your tablet and your phone more of a synergistic relationship to each other. Like, rather than two separate devices that fill specific functions, it'd be more like two devices complementing each other and working together to cover all your bases seamlessly.
I just wish I had the knowledge and development-fu to do it myself...
I have also been looking for this kind of thing - primarily so I could run videos from my tablet to my TV, and then use my Android HD2 to control the playback from the comfort of my sofa.
What would be ideal for me would be someone knocking up a bluetooth (or Wifi) solution which sends control commands to something like VPlayer, QQPlayer, MoboPlayer, RockPlayer whatever
smeddy said:
I have also been looking for this kind of thing - primarily so I could run videos from my tablet to my TV, and then use my Android HD2 to control the playback from the comfort of my sofa.
What would be ideal for me would be someone knocking up a bluetooth (or Wifi) solution which sends control commands to something like VPlayer, QQPlayer, MoboPlayer, RockPlayer whatever
Click to expand...
Click to collapse
I pretty much already to that with my SGS2 by using a bluetooth mouse. I know it's not the same as pushing a specific button and having a specific action happening on the other device, but the effect is similar enough.
Bump! Trying get some visibility on potential devs for this idea.
any news for android-android remote access?
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums & Read the Forum Rules
Moving to Q&A
Ive also been looking for a app to control my xoom tablet from my HTC phone,there are a couple of simple apps on the market such as "tablet remote" but im looking for one that has more media (music/film) capabilities,i guess the app would involve installing it one both devices then syncing via bluetooth
then you could control the playlist of music,stop pause fw rw any film,the ability to actually stream the music from your phone to table would be awesome !
in my personal situation my tablet is docked with speakers attached,i like to be able to access its music playlist then control that play list with my phone,and maybe even add extra tracks from my phone to the tablets playlist
is there already an app out there that will allow me to do this via bluetooth or wifi ?
has been years since this thread exist, any news?

Drive Link working on US SGS3

I have a US SGS3, not-rooted - AT&T released an OS update yesterday, and now MirrorLink / DriveLink is functional.
Using the Sony XAV-601BT, firmware updated from UK Sony website, Samsung Drivelink APK installed via USB, from the other MirrorLink thread.
When I plug the unit into USB before I would get a message "USB device not recognized", and would then stream Pandora via Bluetooth. Now it auto-launches DriveLink, Navi works, phone works, music works, but only supports Mp3, etc. files at the moment.
Frankly, I was hoping for more app support (eg ability to launch Pandora, Waze, etc.) - right now it only works with built in Google Maps Navi, Phone book, and local files for Music. Something which is annoying, is that I cannot use Bluetooth audio streaming for Pandora at the same time as DriveLink, so the solution is imperfect - I can now use DriveLink navigation, but not Pandora, Or I can exit fully out of drivelink, and listen to Pandora; music or nav, not both - so while it now launches and works, I still cannot use it regularly.
As a bit of an aside, when I first bought my SGS3 I installed an AppRadio2, which was horrible and got exchanged for the XAV-601BT. Now, however, within the last week, there's been progress on fully unlocking control of android using the AppRadio2:
Youtube link "PFiAWrItAdE" (can't post URL)
Seems like the ultimate solution, away from the nanny limitations of DriveLink, although one would imagine, since these limitations are with Samsung's software, a 3rd party app could provide a similar experience with the MirrorLink standard. So perhaps be patient for 6 months, or switch back to AppRadio2, and hope the laggy connection issues have been fixed.
scorp, welcome to XDA!
Many of us feel the same about Samsungs app - pretty poor effort so far Please check out the last few pages of this thread - http://forum.xda-developers.com/showthread.php?t=1837847&page=15 (from about page 12 onwards)
A growing number of members here are trying to build a donation 'bounty' in the hope that we can get a developer interested in playing with the Samsung Mirrorlink app and removing the current restrictions to allow full mirroring of the whole phone (meaning all apps on the headunit).
The more support we get the more chance of making this a reality, if you'd be willing to donate something to see this happen please make a post in that thread (also stating your phone model and ROM/firmware) and I'll add you to the list.
Thanks,
Olywa
If any members have any interest at all in mirrolink/drivelink (mirroring phone display and control on supported car headunits) please do take a look at the thread: http://forum.xda-developers.com/showthread.php?t=1837847&page=15

[Q] [DEV Q] Google Ears Offline

I am interested in developing an app that would enable offline tagging of music clips which would be cached and then identified by Google Ears, once the device joined a WiFi network. This is ideal for users like me who prefer purchasing unlocked phones and do not have a data plan because they prefer using WiFi that they have frequent access to.
I like Shazam, but I don't like redundancies. Having both Shazam and Google Ears on a device would be redundant. Plus, getting Google Ears to have the same functionality as Shazam poses a fun challenge
I am studying Computer Science (Sophomore) and have quite a bit of experience with Java. I just need a leg-up. Where do I begin? Recording the clip and recognizing WiFi connections would not be difficult at all, however I am uncertain as to how I would integrate it into Google Ears. Is this even feasible? Google Ears seems to use real-time processing from what I could discern from using it for a few minutes. This is contrasted to Shazam, where a fixed-length clip is always recorded and then uploaded and analyzed.
I realize I would be able to answer my own questions through research, and even learn new and valuable things in the process. However, I am in the middle of a very hectic semester what with class projects and a demanding new job, so I would appreciate any advice/help that you guys might be able to share with me, that would spare me some time.
Once I write the app, if I upload it to the marketplace I will NOT charge any money for it. This is just a learning experience for me. FYI, I will be using a Google Nexus S and a Samsung Galaxy Player 4.0 for development.
Big fat bump
BoggyB said:
I am interested in developing an app that would enable offline tagging of music clips which would be cached and then identified by Google Ears, once the device joined a WiFi network. This is ideal for users like me who prefer purchasing unlocked phones and do not have a data plan because they prefer using WiFi that they have frequent access to.
Click to expand...
Click to collapse
Seriously, NOBODY has any feedback?
Sound hound ?
I have some idea. I thing It will good for you.
In thai about 12 year ago.
NECTEC create project name. iSpeech.
It can input .mp3 file and output to txt file
in txt file have alphabet english character .
I see Vaja TTS. Port this script to Java(android) . Vaja TTS use to hear something from user and process infomation from txt file.
Here is official site of iSpeech
http://www.hlt.nectec.or.th/speech/...ontent&view=article&id=101&Itemid=127&lang=th
Here is official site of vaja tts.
http://vaja.nectec.or.th/
Here is vaja tts on playstore
https://play.google.com/store/apps/details?id=com.spt.tts.vaja
Sorry for my bad english. and I think my Idea can help you .
Note. iSpeech original script write by C# not java.

[Q] Android as a desktop operating system

I was thinking of the coolness factor of just having one device, a phone, to which you could connect an external display and have an extended desktop. I am not finding any reference to this on Android (only the MS Surface). From what I have been reading, and remember/understand (may be confused), Jelly Bean brought the ability for windowing apps. However, the apps have to be coded for the capability, unless you root your phone and installed an app that provided windowing for all apps. Also, I have not heard of the possibility of having an extended desktop in Android.
I would like to ask WHY? Why not have windowing and the ability for an extended desktop, on an external display? A bluetooth keyboard and mouse just follows. Does google have to play nice with the manufacturers that stand to loose from people only needing one device? Is there a reason I'm not thinking of? Most phones are fast enough for this these days.
At the turn of the century, I was running GPS software Deluo Routis on a Sony Vaio 505 Pentium 200Mhz laptop running Win98. The 2-D graphics were smooth even while playing mp3's through the car speakers. The mapping software showed the map clearly, and effectively gave me navigation. People have lost sight of how much you can do if you give up the bloat and bling.
Also, I am pretty confused with the merging of Android and Chrome. I never liked Java to begin with; my experience with it is in MS Windows, and it runs slow as molasses. I believe my phone would run much faster if they had not chosen Java. I understand this to be because you have an operating system running on top of another operating system. It just makes more sense to me to have less layers and run apps natively, for better performance. I thought maybe they chose Java for its level of security. Is the screening process for Google Play not foolproof enough?
I like the philosophy of Google better than Microsoft**, so if one of them is going to win, I hope it's Google. I'm hoping Google won't end up with a convoluted Android/Chrome operating system because Lawyers forced them to (the idea I get based on the latest news). I don't understand: do they want to keep their OS architecture simple, but are being forced to make the OS complex for different reasons?
**Apple doesn't even want to compete. They have never wanted to dominate, just make huge profits. Unless they break up the marriage of hardware and software, they won't win. Then again, if Samsung keeps dominating, there may not be much hardware diversity?
Oh, and my main question was: "Why not have windowing and the ability for an extended desktop?". Wouldn't that be a big deciding factor for anyone that wanted to simplify and just have one device?
Anybody? Tell me I'm crazy at least. There has to be a strategic reason, that Google does not introduce full windowing and extended desktop support.
Its coming eventually. though you could do it right now. Motorola tried something like this with their atrix lapdocks.
Sent from my Samsung i437p using Tapatalk and CM 10.2
E_Phather said:
Its coming eventually. though you could do it right now. Motorola tried something like this with their atrix lapdocks.
Click to expand...
Click to collapse
Can you do it right now with any android device having a video port?
Well lets look at how we could achieve this with todays technology.
Input:
Bluetooth Mouse & keyboard.
Output:
Wireless display with support for older displays using something like Chromecast.
Graphical User Interface:
A secondary Launcher/Application (Which could potentially see companies like MS & Canonical developing their own UI's and Charging for them if required).
Home & Office use with one device:
Home would be the default UI, but when your device has used NFC to log into the office it would automatically enable your Office profile/UI for a certain length of time (requiring you to log back in after a set time or manual log out via another NFC tap).
This would be very useful as it would enable you to take your "desktop" environment anywhere with you and connect to any HDTV with Wireless display/Chromecast support.
Applications:
So if like me you are finding your phone to become ever more a better solution to your digital needs and you only require your desktop for apps which work better with larger displays (Videos & certain games) you will find this very useful.
Games:
Now games could become ever more better as they could be controlled using standardised control inputs (game controllers could use standardised input methods allowing you to select any compatible controller to best suit your needs) or even a driving game could allow you to see the game on a HDTV yet be controlled with the accelerometer for steering and the right of the devices touch display would be the accelerator and the left of the display would be the brakes for example.
More Business Solutions:
If you could wirelessly connect to the office display then show a powerpoint style presentation that would be great because the very device which stores the file would also be your controller to move to the next/pevious slides.
Media:
Music could possibly be stored in the cloud so when your on the move you can listen to your music as many of us do now, but when connected to a large display it could utilise the large display and speakers to show a music video too!.
Photos could be viewed on the large screen and the next one to be displayed could be select on the device (allowing the use to avoid showing anyone pictures which they don't want other to see - ie: pitcures of you and your friends whilst your parents/grandparents are in the room...).
The TV Guide:
The TV Guide would become a very interactive thing which allows you to see what is available on other TV channels without other people in the room being limited to viewing the content they are trying to watch in a small box in the corner of the display...
These are just some ideas of what is possible, but I know that you could do so much more with this and with 64-bit technology coming to many mobile devices soon that will make it so much easier for devices to process all of this data at once without any serious lag!.
I would love to see a group of developers on XDA team up on an open desktop (secondary) launcher to run alongside the users primary (phone) launcher. if there was a project like this with an open framework to develop apps for I'd be happy to start developing apps for that or separate UI's to run alongside my current (Phone/Android) apps UI's.
Edit:
Also remember that this could be utilised in other ways too eg:: connecting your device to your car and your device could deliver your navigation & music to your vehicles display whilst getting important traffic/weather news using your devices network connection!.
Isn't this exactly what the Ubuntu phone intends to do or have I got the wrong idea?
-----------------------------------------------------
Sign up for COPY with this link, and we'll both get 5 GB of free cloud storage in addition to the usual 15 GB: https://copy.com?r=m3arsR
Free GiffGaff SIM with £5 credit: http://redir.info.giffgaff.com/r/?id=h4d8d850,c0e1337,c0e139c&p1=d3xp2pc
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Yes, but with Android already having a large ecosystem it would make a lot of sense to build upon that.
Chromecast is not "open" to third party apps. http://www.minyanville.com/sectors/...eeds-to-Tread-Lightly-With/8/28/2013/id/51502
Do they have a displayport version of Chromecast? *cough*
quote from: http://www.tested.com/tech/set-top-boxes/457036-testing-google-chromecast/
"Chromecast is also not a particularly good desktop mirroring option, either. It actually can't do full desktop mirroring, and instead works solely with the Chrome browser. In beta right now is Chrome tab streaming, which sends to Chromecast everything that can be rendered in a single Chrome tab, including web pages, flash embeds, and even full-screen MKV video files if you have VLC installed. I like that Chrome tab streaming works independently of what's showing on your laptop or desktop's screen--like with YouTube and Netflix, you can multi-task and switch to other tabs or windows while one tab is being streamed. The only thing that matters is the window size and screen resolution. Chromecast will automatically scale the aspect ratio of your window to fill up your TV screen, adding black bars on the sides to avoid stretching. A full-screen resolution of 1440x900 looked good on a large 1080p TV, but streaming from a 2560x1600 monitor at full-screen made the text unreadable on my 70" TV."
Wow... I thought only displayport was capable of 2560x1600 (edit: hdmi v1.3 brought this). Even if I hook it up to my 2560x1600 monitor, it won't really display anything but entertainment. Chromecast doesn't seem to be a way to have a monitor, to use your Android phone as a PC replacement.
AllCast !!!
http://www.geek.com/android/chromecast-reject-becomes-allcast-public-beta-now-available-1578674/
However, I still need to add some kind of wifi enabled device to my 30" lcd monitor (like with chromecast). Really, I don't mind a cable connection from my phone to my monitor, if that was an option. If Google continues to be closed like this, then I would go for Ubuntu phone.
Displayport:
http://en.wikipedia.org/wiki/MyDP#SlimPort
Any phones have this besides the Google Nexus 4? Actually, I'm not getting a new phone until I know what the hell will happen with Android / Chrome OS
Quote from: http://www.tested.com/tech/android/457205-mhl-vs-slimport/
"SlimPort's support for the DisplayPort standard--specifically Mobility DisplayPort--means it can output video at the same 4K resolution as MHL, though not via HDMI (yet, anyway). And here SlimPort hasn't really made good on its potential, yet; though it's based on the flexible DisplayPort standard, the only SlimPort adapters currently available are for VGA and HDMI connectors. The upshot is that you won't be plugging a Nexus 7 into a 1440p DisplayPort computer monitor anytime soon." http://www.slimportconnect.com/
Chromecast May Get Screen Mirroring With Android 4.4.1
Evidence in Android 4.4.1 indicates that screen mirroring is coming to Chromecast.
Click to expand...
Click to collapse
http://www.tomshardware.com/news/chromecast-google-screen-mirroring-kitkat-android,25345.html
It could start with mirroring a primary display, but gradually result in mirroring something that a GPU has rendered for a secondary display.
A dock from Samsung Galaxy phones. Has USB ports, HDMI, and audio.
http://www.samsung.com/us/mobile/cell-phones-accessories/EDD-S20JWEGSTA
mraeryceos said:
A dock from Samsung Galaxy phones. Has USB ports, HDMI, and audio.
http://www.samsung.com/us/mobile/cell-phones-accessories/EDD-S20JWEGSTA
Click to expand...
Click to collapse
I tried that myself with my previous Galaxy S4 (i9500), It was a great dock and when I connected my wireless KB & Mouse USB dongle & connected the HDMI to my PC monitor it was a good experience when doing things like playing GTA3 on the bigger screen (it was better than the windows version in some ways).
But the device just needed a separate home screen UI to be output to the PC screen to look perfect and to work better with the KB & Mouse input type.
It shouldn't be too difficult to make a UI that simply changes the size of some buttons to a smaller size, enabling more widgets to fit on the home screen and if they could simply force the apps to run in either windowed or full screen that would enable better multi-tasking, then the browsers would just need a small update to detect if the device is running in Desktop Mode if so, then simply zoom out of the page a little to emulate the desktop browser experience.
Just a few ideas... If Google's Android team are reading this, I would recommend that you get that dock to experiment with for future Android builds.
Especially now that OS' like Ubuntu Phone are looking at going down this road of the one device fits all computational needs.
Rather than creating a new thread I thought that it would appropriate to bring this topic back up after the recent announcements that several OEM's have made, that they will be releasing desktops with Android as their Primary/Secondary OS.
I hope that this pushes Google into creating a dedicated desktop UI in the future.

Categories

Resources