[APP][1.6+] 666up! 0.4.1 2012-07-06 (Android frontend for the image hoster 666kb.com) - Android Apps and Games

Hi!
So, here it is, my first Android app
What does it do?
Upload images to 666kb.com
What's 666kb.com?
A very simple image hoster like picasa, yfrog and hundreds of others.
Check it out: http://666kb.com/
So why 666kb.com?
Because it's simple and basic. probably as simple, basic and bare as an image hoster ever will be.
- no login
- no html around the hosted images. (hence no spammy ads)
- hard to guess urls, and no ability to browse images, so the link is the only way to get the image
just try it out and you will see what I mean.
I have nothing to do with 666kb.com, I'm just a user, so please don't bother the maintainers of it with issues regarding the app.
And what does the app do?
have a picture, share it, select 666up!...
the image is scaled down (if >666kb) and uploaded to 666kb.com.
once done you can give it a title, copy the link to the image to the clipboard, share it with the usual android sharing facility or just leave it be.
a record of all uploaded images is saved on the phone for later use.
If you launch the app, you'll see a list of previously uploaded images.
What are the use cases?
- sharing images the easy way via gtalk or other IM services.
- sharing images via SMS/txt
where I live one usually gets about 1000 SMS per month for free, but they charge a lot for MMS. So it saves money (given the recipient has internet access on the phone)
Market link?
https://play.google.com/store/apps/details?id=org.qless.up666
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sounds interesting, may I have the source code?
of course you may, it's GPL'd:
https://github.com/qorron/666up
Anything else
Suggestions are of course welcome. I don't make any money with this. I developed it in my free time just because I felt the need for it. Oh, and this thread is the first form of advertisement for the app.

version history
2012-07-06: 0.4.1
- Fixed some Jellybean related issues.
- Reworked the image scaling/uploading code.
2012-07-02: 0.4
- Implemented Android Beam support (Image links can be beamed to other devices from the detail/edit page, 666up is not required on the target device). [4.0+]
- Rotate the image according to its exif data [2.0+]
- Links are now clickable
- Landscape Layout for the detail/edit activity
2012-06-30: 0.3
- ICS actionbar support
- Preferences! Only available option atm: What happens when an upload in the list is clicked
- bugsfix
2012-04-24: 0.2.2
- Allow to pick images from the gallery from within the app
2012-03-07: 0.2.1
- Holo theme on ICS devices
- Adaptive thumbnail size
- bugfixes
2012-03-03: Fixed broken apk
just realized that the apk I had on the market was broken.
Reason why it was broken:
I found a typo in the strings.xml file right after I uploaded a prior version.
I corrected the typo, exported an unsigned apk, signed it and uploaded it without testing (I know! I know!).
So, what happened was:
Eclipse somehow failed to generate those R classes and just packaged the apk without them. This is why the app failed to launch :-(
I didn't notice that because I kept using the version with the typo.
Sorry guys!
This surely qualifies as an epic fail .

New Version: ICS look, nicer thumbnails and fixed some FCs
well, 0.2.1 is out.
Whats new?
Using Holo theme on ICS.
Thumbnails are now generated according to your device's screen resolution.
Which means: nicer thumbnails on hdpi (or better) devices.
Finally got rid of all those FCs that could occur if the uploads failed and the screen is turned.
have fun!

this is great! thanks a bunch!! any possibility of adding other image hosts in the future? i usually use imageshack, and i'm sure other people have their own favourites as well. either way, this really makes it a lot simpler to post images online and you did a great job making this app fast, great looking, and most importantly, functional! looking forward to future updates - it can only get better from here

is the devil the sponsor for this app?

Well, not quite the devil. I adopted the name from the website. Which got the name from the size limit for the images. iirc, it started with 256kb.com and has meanwhile evolved to 666kb.com
But I can guarantee that the only sponsor of this app is my own curiosity about making an android app and the fact, that I felt the need for such an app and there was none. So no unholy stuff going on in the source code.. I leave this to my perl programs ;-)
I also did a small batch upload script in perl which resizes the images if they are too large, uploads them and prints the urls to the console. (I'll share it if someone is interested)
Thanks for the kind words, Bloodflame. I have multiple upload-site in mind, but most of the bigger ones already have apps. so there little need for another app unless of course all existing apps are bad and better one could be done. There is one for imageshack:
https://play.google.com/store/apps/details?id=com.codeminders.imageshackdroid
next in line is probably something to upload multiple images at once.
and I should address the issue, that the detail view is partly hidden when the device is held in a landscape position. maybe a scrollbar or a different layout for landscape.

Just released a new version
I've also transformed my second post into a version history post, please refer to this for details on changes.
I did a rather big change under the hood:
Including Android Beam support and exif based image rotation brakes compatibility with old android versions. So, I made 3 different APKs and uploaded them altogether.
One is specifically for Android 1.6.
Play store statistics say, there is exactly one install for this app on a 1.6 device.
So, if you have this app on a 1.6 device, I did about an hour of modification an testing just for you! ;-)
1.6 doesn't support the ExifInterface and it isn't available with the compatibility package. Therefore, no image rotation for you.
This also applies to Android Beam.
Another version for 2.0 to 3.2.
It is just missing the Android Beam feature.
And the last one for 4.0 and upwards.
I'm not yet sure how easy it is to maintain 3 versions of the app (even with git). So I'm not sure how the support of older devices will look like in the future. But I will try to keep this as backwards compatible as possible.

I have spent the last 3 or 4 days trying to find an generic image uploading app. Would you ever consider making a version that could post to a user configurable URL? And I guess a user configurable regex for the reply?

Perfect it's work fine
Thank you

weedy2887 said:
I have spent the last 3 or 4 days trying to find an generic image uploading app. Would you ever consider making a version that could post to a user configurable URL? And I guess a user configurable regex for the reply?
Click to expand...
Click to collapse
This is not as straight forward as it may look like in the first place because uploads are done via a POST request. Normal URLs indicate a GET request.
If you are curious what's going on, have a look at this source file:
https://github.com/qorron/666up/blob/master/up666/src/org/qless/up666/ImageUploader.java#L119
starting with line: 119
But I'm sure that I can do this. The regex is no problem of course.
I'm on vacation until Sept. so please have a little patience. If it's ok for you I'll write you a massage once I have hacked together something.

POST is fine, I have a 30 odd line python script that handles upload already for me. I just need a app that can post and that shows up in androids share drop down list.

bump
How was your vacation?

It was fine, thanks!
The app is not quite ready yet.
The upload mechanism accepts parameter for the url and all the additional post fields.
But there is no GUI yet to type it all in.
I'll contact you once it works.

So.. I've done it.
desclaimer: this poat addresses people with at least some background in webscraping and regular rxpressions.
the apk attaches here is not intended to be used by normal users. it contains bugs and maybe cause the world to end, so be careful.
hello weedy2887,
please excuse the long delay. I had a terrible car accident (which I luckily survived without any harm) and needed some time to recover and manage things and stuff..
I've attached the apk below.
there are some bugs and unfinished stuff in it, so please use it with caution!
bugs:
if you press the buttons in the actionBar in the upload-screen while the upload has not yet finished you will get an empty message or the app will crash.
some
unfinished:
there are no sanity checks or error handling regarding the configurable upload-site feature.
e.g. if you enter an invalid regex or something like that, the app will crash.
there is no "reset to defaults (666kb.com)" button.
limitations:
apk is for android 4+
here is a short description on how this works:
base url:
Code:
http://666kb.com/u.php
this is where the action= attribute of the form points to.
file param
Code:
f
this is the name of the file parameter
additional param:
Code:
MAX_FILE_SIZE 681984
submit Speichern
these are other static parameters that are submitted along the file.
parameter_name<space>data<newline(enter, return,..)>
note: the last line is:
submit<space><space>Speichern<space><newline>
the paraneters are being sent in the order they are written in this string.
duplicates are possible and are not collapsed into one.
regex
Code:
(\Qhttp://666kb.com/i/\E.*?)"
this is to find the url of the uploaded image.
it has to contain exactly one capture group which designates the exact url of the image.
these are all the site dependent parameters.
it works for the 666kb.com site.
I haven't had the chance to test it with an other site because the only other site simmilar to 666kb.com I knew (777kb.com[1]) seems to be down or gone completely. so there may be some things which I have forgotten.
[1] 777kb.com was a copycat of 666kb.com with the difference: 777kb max. image size. images are deleted after there was no access for 30 days.

Related

[APP] Clipboard + Notes 6.1.3 [08/12/15]

[APP] Clipboard + Notes 6.3.1 [04/05/2016]
Clipboard + Notes is a simple clipboard manager which watches your clipboard for any changes and saves its contents for later use. Contents can be starred and labelled, as well as added manually, which makes the app a handy tool for note taking.
The contents from the clipboard history can be copied into the clipboard again, they can be edited, deleted, searched, and shared too. When sharing links they can be optionally shortened if URLy is installed. Any links in the contents will be quickly picked up and extra options will be available to open or share them directly from the device. HTTP and Market links are amongst the supported types.
Clipboard + Notes can be easily turned off from the settings if it is no longer needed, and its operation can be customised to match the user's needs. The clipboard collection is intelligently stopped when the device isn't being used any more, which makes it very battery-friendly.
In addition it integrates with the Android Quick Search Bar so you can directly search your clipboard history. It further integrates with Google's cloud backup and restore, so any time you wipe your device your contents and settings will be restored the next time you install the application (only works on Android 2.3+ and backup/restore must be enabled in the 'Privacy' settings for your device).
A little extra hand is at help too in case you would like to share to clipboard. The app supports this functionality as well, so just pick something to share, and select Clipboard + Notes from the window. The item you just shard will now have been copied into the clipboard.
Google Play
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Reviews:
Android Schweiz (German)
thanx great app man!
Vote +1 for persistent storage.
working flawlessly. thanks!
c0oL said:
Vote +1 for persistent storage.
Click to expand...
Click to collapse
OK, will do it sometime during the week. I already have the two other features done, just testing them on my own device.
Thanks for the support
Version 1.2 is out, changes include:
Clipboard history will be saved across reboots and service shutdowns
Edit clipboard contents
Added date to older contents
Added fallback click option
Numerous bug fixes
Enjoy
P.S. Would it be helpful if the text which is currently in the clipboard was highlighted, for example the font was bold or text bigger? It is always at the top in the list, but not sure if that makes sense/occurs to everyone.
Hy I like your Tool. I look long time ago to find something like this.
There is one problem I recognized, sometimes when I press Copy Link it happen nothing in Clipboard Contents. Then I switch off & on the service and my Link is displaying in the History !
fnetf said:
Hy I like your Tool. I look long time ago to find something like this.
There is one problem I recognized, sometimes when I press Copy Link it happen nothing in Clipboard Contents. Then I switch off & on the service and my Link is displaying in the History !
Click to expand...
Click to collapse
Hi, glad you like it
So let me understand this correctly. You have some items in the list, you long-click on one of them (not the top one), click copy to clipboard and nothing happens in the list? What should happen is that the one you copied should be moved to the top of the list. What happens when you click on 'Refresh'? Same thing as when you turn the service off and on, or is it different?
I've never had this issue happen to me so I'm just trying to understand whether there are some particular steps which make it happen. Anyway, I'll take a look at the code, but any extra information would be helpful. Thanks.
No, not like this. I want to copy an item to the List and nothing happens. Then I switch off and on the service ones a time then the copy works !!!
fnetf said:
No, not like this. I want to copy an item to the List and nothing happens. Then I switch off and on the service ones a time then the copy works !!!
Click to expand...
Click to collapse
OK, I understand now... I think
The problem is that the service refreshes every X seconds, depending on how you have it set in the settings. If you copy something and open the list, the service might not have refreshed yet and therefore the item won't appear in the list. If you know you copied something and it's not there you should just hit the 'Refresh' button and it should appear, that's the reason why I put it there.
OK Thanks,
Version 1.3 is out with the following changes:
Links without 'http://' will be now detected
Added confirmation upon content deletion
Current clipboard content gets highlighted in bold
Text size for the list can be changed (see the settings)
Older items will be automatically removed (see the settings)
Many other fixes
Up on the Market and in the first post.
Why does a Clipboard app need "Full Internet access"?
The installer mentions the latest version requires network access.
Darnell_Chat_TN said:
Why does a Clipboard app need "Full Internet access"?
The installer mentions the latest version requires network access.
Click to expand...
Click to collapse
It has always mentioned that; it's for the ads.
martino2k6 said:
It has always mentioned that; it's for the ads.
Click to expand...
Click to collapse
I thought that may be why, but figured I would ask .
Darnell_Chat_TN said:
I thought that may be why, but figured I would ask .
Click to expand...
Click to collapse
OK. I think it is somewhat annoying that there isn't a separate permission for ad-only internet access, as that would probably make users more trustful of applications which request permissions that may have nothing to do with the app's functionality (such as this one).
martino2k6 said:
OK. I think it is somewhat annoying that there isn't a separate permission for ad-only internet access, as that would probably make users more trustful of applications which request permissions that may have nothing to do with the app's functionality (such as this one).
Click to expand...
Click to collapse
I was thinking exactly the same thing.
Some people may think that this is a dead application, but nope. I still have plans for it, but not enough time at the moment Anyway, here is the version 1.4 update:
Added support for shortening links using URLy when sharing them (only if URLy is installed)
Fixed a couple of small bugs
Tiny tweaks to the user interface
Simplified English localisation
New APK is in the OP and also on the Market. Enjoy.
Version 2.0 is out, with the following changes (many of which have been promised for a longer time):
New user interface
Restore clipboard at boot
Improved communication with the service
Persistent storage improved
Contents can be manipulated when the service is disabled
Integrated with Android's Quick Search Bar
Get it on the Market or in the OP (still free with ads)
Version 2.1.0 is out, in the usual places. Here are the changes;
Fixed list items too small
Fixed double notifications
Fixed clipboard erasure detection
Fixed status bar icon to match UI guidelines
Added cloud backup/restore for Android 2.2 and newer (must be enabled in device Settings -> Privacy)
On a side note, the cloud backup/restore service which Google provides for Android applications is rather cool. It's really simple to implement and use, so here's to hoping that more developers will include this feature in their applications

[Live Wallpaper] Asus MyWater Reworked w/ tutorial (no root required)

As I mentioned in another thread, I was intrigued by Ruvort's modifications to the Asus MyWater live wallpaper over at xoomforums.com and some of the work from similar xda developers threads here and here.
The most common issue with using these modified live wallpapers is that they simply replace the default Asus MyWater live wallpaper, which limits you to having one at a time and causes additional difficulties for Transformer owners since the Asus MyWater live wallpaper is a system application. I have been in contact with Ruvort and plan on working with him to re-release his live wallpapers with the necessary adjustments so that they can all coexist and multiple flavors can be installed at the same time; even on non-rooted tablets.
These reworked MyWater live wallpapers are my initial step into the arena of editing APK files. They can be installed and uninstalled like any other application, however allowing installation of non-Market applications is required. I should note that in order to prove out some edits I made to the smali disassembly files, I adapted Ruvort's excellent work for the beer w/ lime wallpaper and I hijacked his idea for the ducky wallpaper.
Update: On a whim, I decided to check the alignment of the APK files using zipalign. I found that the resources in the wallpapers needed adjustment, so I have corrected the alignment for all the attached wallpapers. If you downloaded and installed any wallpaper from this post prior to June 24th 2011, I recommend replacing with an optimized version.
Update 2: It has been discovered that these live wallpapers have issues when running on ICS. I am aware of the issues and have been working toward a solution (one recent attempt here). While workarounds have been reported, I have not tried any of them myself and prefer to address the problem at its source. Once I am confident that I have things working correctly, I intend on starting a new thread to feature the updated, ICS-friendly designs. Stay tuned...
Beer w/ Lime
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Jolly Roger
Rubber Duckie (original v1.0)
Rubber Duckie (updated to v1.1 14th June 2011 - original still available)
Loch Ness Monster (added 12th June 2011)
Honeycomb (added 14th June 2011)
Tux (added 20th June 2011)
Note: There are additional wallpapers attached to subsequent thread posts.
Creating the Reworked MyWater Wallpapers
The following is an overview of the process I followed in creating the live wallpapers found in the first post. These instructions are intended to serve as a guide to those interested in creating their own modifications.
Prerequisites
Asus MyWater APK (you can grab a copy here)
android-apktool - tool for reengineering Android apk files (here)
roptipng - modification to OptiPNG PNG optimizer (here)
SignApk.jar - (Google search)
zipalign - archive alignment tool (included in Android SDK)
Step 1 - Decoding the APK
Using apktool, decode the APK to retrieve the resources into nearly original form. In this example, the decoded files are placed in a directory called MyWaterDir.
Code:
apktool decode MyWater.apk MyWaterDir
Step 2 - Modifying the package name
The package name is a unique identifier used by Android to manage the installed applications. The easiest package name modification simply involves changing all instances of asus to another unique identifier.
Using your favorite editor (I like gVim), modify the package name found in MyWaterDir/AndroidManifest.xml (com.asus.livewallpaper) and MyWaterDir/res/xml/glwallpaper.xml (com.asus.livewallpaper.gl.MyWaterSettings). There are only 2 instances of the package name in the XML files.
The package name is also embedded in the smali disassembly files (MyWaterDir/smali/com/asus/livewallpaper/gl/*.smali). In all, there are 1791 instances of the package name in the smali files that must be updated. My recommendation is to find an editor that makes it easy to perform a global search and replace.
The package name must also match the folder hierarchy under the smali folder (MyWaterDir/smali/com/asus/livewallpaper/gl/). Change the name of the asus folder to match the new unique identifier selected for the application.
Step 3 - Update the application name and settings text
Using your favorite editor, modify the text found in MyWaterDir/res/values/strings.xml. Rather than worry about translations for my updated text, I chose to remove all but the default by deleting the MyWaterDir/res/values-XX folders (keep values-large).
Step 4 - Update the image resources
The image resources are found in MyWaterDir/res/drawable-mdpi. You can modify these images or use your own. For the purpose of this tutorial there is a requirement that they maintain the original file naming scheme. It is also important to note that if you provide an image with different dimensions, it will be scaled to match the dimensions of the original image. Modifications to the smali disassembly files are required to overcome this limitation.
As an optional step, you can optimize the PNG image resources to reduce their size.
Code:
roptipng -o7 MyWaterDir/res/drawable-mdpi/*.png
Step 5 - Build the APK
Now that the desired modifications have been made, build the APK using apktool.
Code:
apktool build MyWaterDir MyWaterModified_unsigned.apk
Step 6 - Sign the APK
The Android system requires that all installed applications be digitally signed with a certificate whose private key is held by the application's developer. I followed the instructions found here or here for generating my keys and using them to sign the APK. It should also be possible to sign the APK using the approach recommended at developer.android.com.
Code:
java -jar signapk.jar certificate.pem key.pk8 MyWaterModified_unsigned.apk MyWaterModified_signed.apk
Step 7 - Zipalign the APK
Zipalign the APK to optimize the way it is packaged in order to enable the Android operating system to interact with the application more efficiently. The benefit of this step is a reduction in the amount of RAM consumed when running the application.
Code:
zipalign -f -v 4 MyWaterModified_signed.apk MyWaterModified.apk
________________________
The truly adventurous can take a stab at modifying the smali disassembly prior to building the APK. The syntax is a bit difficult to follow at first, but with proper modifications you can adjust the image dimensions, rendering locations, and much more. I found it useful to pull the classes.dex file from the APK, convert it from .dex to .class format using dex2jar, and then browse the reconstructed source using JD-GUI. It is important to remember that the reconstructed source is not a 100% match to the original source code. However, it is useful for comparing against and understanding the corresponding smali source.
________________________
I hope some of you find this information useful. If so, be sure to say thanks via the button below.
Amazing, Will try it now !
edit : works perfectly, I will news it on my french website about the transformer
awesome job...
Ni$E
Remarkable
Thanks for your share, it's amazing.
I love the yellow duckie .... (and my wife too ;-) )
The duck is the best one!
Thanks for documenting the process
These are great, thanks so much for your effort here.
Fantastic work man.
I appreciate the praise I've received for this work. I took a couple hours this evening to throw together another version containing one of my favorite lake monsters. Nessie is definitely one of the biggest "ice cubes" I've used for these wallpapers.
It might be worth pointing out that in order to render "ice cube" images larger than the original 324 x 226 ice cube, the GLIceItem constructor should be edited to specify the desired dimensions.
I spent a little while playing around with this this evening, and came up with a rough version of one of my own. It needs some refining, and I'll work on it some more when I get a little time. You need to turn off the rotate with screen setting for it to work properly with the background. I'd like to figure out a way to make the background rotate and move with the water, but that will take some time.
I've attached a screen shot. I don't think I can attach a file from tapatalk, so I'll try to attach the apk later.
Edit: Apk is attached.
Let me know what you guys think. If anyone has any suggestions, especially regarding having the background rotate, please let me know. Thanks.
Sent from my Transformer TF101 using Tapatalk
EDIT: The lighthouse/landscape is now part of the floating element, so it floats and rotates with the buoy. It has a noticeably different effect, almost as if you are moving with the water instead of the other way around. Anyway, take a look at it and let me know what you think.
Here's my second attempt. This one rotates just fine.
Thanks to you, it's nice.
If you know how to make a babe on a air mattress ....
Like that for ex :
There are a lot of possibilities for these wallpapers.
While I prefer to distance myself from using copyrighted images, the Jaws and Winnie the Pooh movie posters could provide some inspiration.
jschmier said:
There are a lot of possibilities for these wallpapers.
While I prefer to distance myself from using copyrighted images, the Jaws and Winnie the Pooh movie posters could provide some inspiration.
Click to expand...
Click to collapse
Yeah, I had an idea for a cool deadliest catch version.
poussinou69 said:
Thanks to you, it's nice.
If you know how to make a babe on a air mattress ....
Like that for ex :
Click to expand...
Click to collapse
Find me a good image to use of a babe on a float and I'll do it.
I met a young fellow who had to show off his Ipad2 but when he saw these creations his jaw fell open in envy! You guys ROCK!!!
Good job guys, this is awesome. Look forward to see what else people come up with. It will be much better to have them co-exisiting but its hardly the end of the world to install small packages when you want to change
keep it coming guys. I love those wallpapers and I hope we see some more in the future. I would like to see the duck with a different background.....Thanks for sharing.
dhamma110 said:
I would like to see the duck with a different background...
Click to expand...
Click to collapse
You have something in mind?
Update: new background added in v1.1

[Poll][App] Bible - Honeycomb Optimized Bible/Notes App - v0.2

I've been working on a tablet optimized bible and note taking application, and the first beta is now available. Due to licensing issues, the KJV is currently the only supported translation. The app is, however, fully compatible with all of the MySword resources that are graciously hosted by the MySword.info team here:
http://www.mysword.info/download-mysword/bibles
[edit - to be clear, using other bibles isn't difficult, but for now probably requires root. Just download any of the bibles from the source above, unzip it, rename it to bible.db, and replace the existing file at /data/data/com.bedoig.bible/databases/. I'll make OTA downloads possible in the future, but you XDAers like things complicated.]
They have mentioned that they are currently having hosting issues, so please avoid downloading any files that you don't absolutely need until I can arrange alternate hosting.
This is a first release and I have a lot of other features planned. Please report any issues or feature requests you have in this thread. Thanks, and I hope you find it useful.
Market Link
Changelog:
v0.2
- Changed to Holo Light theme
- Split notes section between reading and editing activities
- Automatic detection of scripture references in notes. The references must follow the convention of 'Book Chapter:Verse' - for example, 'Genesis 2:4' or '1 Peter 1:1'. The book name must match the book name as presented in the far left pane, followed by a space, the chapter number, a colon, and the verse number.
v0.1
- Initial release
To-Do:
- Font size settings
- Allow clicking in scriptures pane - add reference to notes.
- Bookmarking
- Proper scripture formatting, including red-letter, italics, paragraph breaks, etc.
- Highlighting
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Oops, might want one more near the top.
Looks decent so far. Would be great if there was a way to tap into the YouVersion bibles. Also, any way to bookmark? Or is that a future plan
dictionary said:
Looks decent so far. Would be great if there was a way to tap into the YouVersion bibles. Also, any way to bookmark? Or is that a future plan
Click to expand...
Click to collapse
Using the YouVersion bibles was my first thougt as well, but they seem to be encrypted - which is understandable since many of the translations they distribute are copyrighted.
What exactly do you mean by bookmark? Have the application open in the same place you left off? Or more like a stored favorites kind of thing that links to particular verses?
sweet! I was actually just contemplating trying to make one of these myself the other day because I wanted a good bible app on my tablet
Thanks for this!
Also, will you be making a way to highlight scriptures?
Bookmarking is important to me as well. Being able to bookmark will allow a person to save a current passage he's doing a study/research on.
I'll add bookmarking to the to-do list.
Highlighting might come somewhere down the road.
At the moment, I'm working on automatically parsing standard scripture notations in your notes (Gen 1:1, Exodus 2:1, etc) and turning those into actionable links to bring up that particular scripture. Along those same lines, I'd like to make the scriptures pane accept clicks and import a reference to that scripture into your notes.
Edit - Ha! It just hit me that once I get the clickable references going, you could easily just make a note titled 'Bookmarks' with a list of all the scriptures you want quick access to. I might do something a little fancier eventually, but would that work for the time being?
this is great. one thing that frustrates me with youvision is having to be online to make notes. Question... how do i access my downloaded version that i placed in the databases folder i created? Thanks
branshaw09 said:
this is great. one thing that frustrates me with youvision is having to be online to make notes. Question... how do i access my downloaded version that i placed in the databases folder i created? Thanks
Click to expand...
Click to collapse
If you have downloaded the app and run it at least once, there should already by a file named bible.db at /data/data/com.bedoig.bible/databases. Just replace that file with the bible you downloaded from MySword. They store their files in a compressed format (gz) so you'll need to uncompress it then rename it bible.db. Then just overwrite the existing file in the directory above.
Awesome way to spread the Lords word around. Get it up!
Very cool, would like to see copy+past ability for the notes portions. Search, and text size options.
Sweeet i was looing for this good job
So I've got the automatic linking working, but the EditText (the box where you actually display and edit your notes) doesn't really play nice with the links. When clicked, the link gets selected/highlighted and returning to a normal edit mode isn't totally intuitive.
I think the better approach would be something like this: initial pane is your list of notes --> clicking a note converts the pane to a reading (but not editing) view of that note (the links would be active here) --> clicking on the body of that note would open up the editable view (the links would not be active here).
Does that make sense? It buries the editing function one step deeper, but it's probably the correct way of handling this situation.
Anybody want to try it out as-is and let me know what you think? To me, the interaction between the links and the EditText just doesn't work.
Edit - attached preliminary v0.2 for testing
Edit2 - Oh, and for now only full references like Genesis 1:1, Revelation 2:1, 1 Peter 1:1 are recognized. The book has to spelled out as presented in the book list pane, and there has to be a chapter and verse with a colon in between.
Edit3 - and finally, you have to save and re-enter the note for the links to become active.
--- apk removed. v0.2 should be up within the next few days ---
Great app. Thanks for including TSK. Is there any way to turn off strongs numbers while reading KJV? Thanks.
sureloch said:
Great app. Thanks for including TSK. Is there any way to turn off strongs numbers while reading KJV? Thanks.
Click to expand...
Click to collapse
Did you download your own bible? I don't think I included strongs numbers in the version I released on the market.
I downloaded the new file, but I don't see any differences.
JCopernicus said:
I downloaded the new file, but I don't see any differences.
Click to expand...
Click to collapse
The one from a couple posts up? The notes section should now automatically turn scripture references into clickable links. The format is very particular though. It must follow the convention of TEXT followed by a space followed by NUMBER:NUMBER (ie, Genesis 2:3). You must also save and then re-enter the note for the links to be created.
Yeah, I just reread the post.
It works...but it's not very intuitive. =/
If I could make a couple of comments in general usage:
-There should be some kind of "selected" indicator when you jump to a passage through the link
-Selecting a note takes you straight into edit mode, would prefer it to take you to a view mode first, then optionally and edit move. As is right now the keyboard pops up when you select a note. Doesn't seem like the desire state when you're only reading notes.
-If you select a link, it goes into what appears to be a permanent edit state with no selection indicators.
-Black theme seems....unruly for a bible app. =P I think default white theme would be much nicer.
I can put forth even minor grievances if you'd like, lol
Will check this out. Thanks!!
I wish that youversion would make HC optimized app; I have been hoping for this ever since I got my TF, but yours just might be the ticket.
JCopernicus said:
Yeah, I just reread the post.
It works...but it's not very intuitive. =/
If I could make a couple of comments in general usage:
-There should be some kind of "selected" indicator when you jump to a passage through the link
-Selecting a note takes you straight into edit mode, would prefer it to take you to a view mode first, then optionally and edit move. As is right now the keyboard pops up when you select a note. Doesn't seem like the desire state when you're only reading notes.
-If you select a link, it goes into what appears to be a permanent edit state with no selection indicators.
-Black theme seems....unruly for a bible app. =P I think default white theme would be much nicer.
I can put forth even minor grievances if you'd like, lol
Click to expand...
Click to collapse
Thanks for the feedback. Comments are below. Specific questions I have are in bold.
-I don't remember where I was at when I compiled and posted that, but I do have the selection indicators working. When you click a link the book and chapter are highlighted in their respective columns, just like if you manually navigated to the verse.
-I agree here. That's the way I'm planning on handling it. In the "reading" mode, the links will be active. In the "edit" mode, they will not. Should you navigate to the "edit" mode by clicking anywhere on the text, or should I have a dedicated "Edit" button? Having a separate reading mode will also make for nicer scrolling than what's currently available in the edit mode.
-The weird interaction of the EditText and the links will be fixed by only having the links active when in the "reading" mode as discussed in the last comment.
-Definitely want to do a nicer theme at some point. Would your preference be to make it look good first, or work good first? I want to get the basic functionality down, but I'm also anxious to pretty it up.
Oh, and hold off on the minor grievances for now Got to tackle the big stuff first.

[APP][2.1+] Trust - Event Logger

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hi XDA,
i want to introduce my newest app called "Trust".
An image says more than 1000 words, so have some screenshots first:
View attachment 2653772View attachment 2653773​
It currently logs the following events:
Foreground apps
Installed/deleted/replaced/restartet/cleared apps
Power connect/disconnect
Shutdowns/Boots
Screen on/off events
Lockscreen events
Loss of wifi/cell connectivity
Removed media
Calls
I'm open for suggestions if you have ideas for features.
There is a free and a pro version.
The free version shows the last 24 hours while the pro shows unlimited events.
Market Link
Click to expand...
Click to collapse
Code:
Changelog:
v2.0.1
- Fixed dialog colors on gingerbread devices
v2.0
- Revisited and improved a lot of code
- Improved the UI
- Added app foreground activity tracking
- Added wifi SSID to wifi events
v1.2.8
- Added portuguese (brazil) as language
v1.2.7
- App related events now show a link to the apps web/gplay site in their details
- Small code changes
v1.2.6
- Fixed leading 00 on numbers not being saved
- Fixed two crashes
v1.2.5
- Added excel date/time to export columns
- Added option to change displayed time style
- Tweaked formatting a little bit
v1.2.4
- added Italian as language
v1.2.3
- Fixed possibly FC on DetailsDialog when resuming app
- Changed export format once more (date;time;timestamp;ID;type;extra;description)
v1.2.2
- Fixed notification not being removed
- Added a formated date column to the exported database file
v1.2.1
- Fixed crash when setting password
- Tweaked ics menu button
- Settings now ask for pattern on resume too
v1.2.0:
- Events are stored forever unless specified otherwise in settings
- Added option to export database to CSV
- Some work on the UI dialogs
- Translation preparations
v1.1.2:
- Wifi only devices should now see the app on the market too
v1.1.1:
- Small change to the manifest to increase device compatibility
v1.1:
- First public release of Trust
Thats a great idea! Too bad I don't got any use for this but best of luck with sales!
This is brilliant! -- I've been wanting an app that would track my app installs/uninstalls/updates for quite a while. I bought the Pro version because, well, aside from the fact that I like having this kind of data, I've been a supporter of yours for a while, dark3n
One thing I'd like to see is the ability to export the data into a CSV and maybe also the ability to schedule an export.
I also notice that I can't install it on my XOOM. Do you have plans to support tablets?
short/y said:
This is brilliant! -- I've been wanting an app that would track my app installs/uninstalls/updates for quite a while. I bought the Pro version because, well, aside from the fact that I like having this kind of data, I've been a supporter of yours for a while, dark3n
One thing I'd like to see is the ability to export the data into a CSV and maybe also the ability to schedule an export.
I also notice that I can't install it on my XOOM. Do you have plans to support tablets?
Click to expand...
Click to collapse
CSV export is definitely possibly, i have not worked with it yet, so i will read up on that.
Regarding your XOOM, i have not knowingly put restrictions on it aside from android 2.1+. Is it possible that your XOOM runs a custom density? The market doesn't like custom densities ;-), send me an email and i will send you the files until we find a solution if it is not the density.
Thanks for supporting my work.
Dark3n said:
CSV export is definitely possibly, i have not worked with it yet, so i will read up on that.
Regarding your XOOM, i have not knowingly put restrictions on it aside from android 2.1+. Is it possible that your XOOM runs a custom density? The market doesn't like custom densities ;-), send me an email and i will send you the files until we find a solution if it is not the density.
Thanks for supporting my work.
Click to expand...
Click to collapse
I run a Team EOS ICS ROM so I doubt it. I certainly don't change the resolution. I'll send you an email shortly.
Edit: I copied the APK over to my XOOM and it works just fine.
Sent from my Galaxy Nexus using Tapatalk 2
The problem was the telephony requirement, which is now optional.
CSV export is 90% done.
Just pushed v1.2.0 to the market
How long events are kept is now variable from 1 day to forever (see settings).
The menu offers an export function, which writes all database entries into a .csv file, with the following syntax:
Code:
time;ID;type;extra;description
1339799055212;180;24;"";"Restored wifi connection"
The CSV update works great, thank you! And adding unlimited storage is a nice benefit. I like to track things that happen on my phone and this gives me the opportunity to track pretty much everything in one place.
I think maybe the epoch on the date stamp doesn't match what Excel and the other spreadsheet programs use (including Google' spreadsheet format). I"m not sure what your time base is but would it be possible to export it as something that the spreadsheets recognize?
short/y said:
I think maybe the epoch on the date stamp doesn't match what Excel and the other spreadsheet programs use (including Google' spreadsheet format). I"m not sure what your time base is but would it be possible to export it as something that the spreadsheets recognize?
Click to expand...
Click to collapse
I'm using http://developer.android.com/reference/java/lang/System.html#currentTimeMillis()
Just uploaded an update to the market, fixing a crash when setting a lockpattern.
Dark3n said:
I'm using http://developer.android.com/reference/java/lang/System.html#currentTimeMillis()
Click to expand...
Click to collapse
Excel date/time is (currentTimeMillis() / 86400000) + 25569. I can always apply that correction myself but for an export to CSV, IMHO, it makes sense for you to convert to that format before writing the data.
EDIT: Excel uses a format called a "serial date" -- ddd.ttt where ddd is the number of days since January 0, 1900 (yes, January ZERO -- ddd = 1 is January 1, 1900) and ttt is the percentage of a day that has passed. Since the Android base is UTC, one must adjust for your local timezone In California we're on DST right now so we're -7 hours from UTC which means we subtract 7/24 from that value or approximately -0.29166667.
An update is going up in a few minutes.
I fixed the notification not being removed when the service is stopped and added another column to the exported file containing the fully formatted date.
Looks something like this:
Code:
time;ID;type;extra;description;formateddate
1340110467055;1;1;"1.2.1(6)";"Log recording started.";"19.Jun.2012 14:54:27"
Dark3n said:
An update is going up in a few minutes.
I fixed the notification not being removed when the service is stopped and added another column to the exported file containing the fully formatted date.
Looks something like this:
Code:
time;ID;type;extra;description;formateddate
1340110467055;1;1;"1.2.1(6)";"Log recording started.";"19.Jun.2012 14:54:27"
Click to expand...
Click to collapse
Uhhh ... ahhh .... ahem, I appreciate the update but is there any chance you could replace the formatted date with the serial date? I REALLY don't wanna be a pain about this but, see, I'd like to be able to sort in various ways and if the date is already formatted, it's not so easy to use as a sort column in Excel and various other spreadsheets. I suppose I should've been more direct and succinct in what I was asking for and I apologize for that. The Excel serial date format is really what I'd prefer. With the two date fields as they are I have to manipulate one or the other of them to make it usable for me. I can understand if you don't want to replace the current formatted date field and I certainly don't want you to add another date field.
If, by chance, you decide to make a change, since most spreadsheets will display the full text of the last column without requiring any interaction from the user, I'd suggest putting the two date fields together at the beginning of the exported data and leave the description as the last field.
Haha, well maybe in the next update .
Can you post me a link of your desired conversion?
I have googled a bit, but could not find something i liked.
Edit:
I published 1.2.3 just now, as there was a bug i wanted fixed.
Changelog:
Code:
v1.2.3
- Fixed possibly FC on DetailsDialog when resuming app
- Changed export format once more (date;time;timestamp;ID;type;extra;description)
Dark3n said:
Can you post me a link of your desired conversion?
I have googled a bit, but could not find something i liked.
Edit:
I published 1.2.3 just now, as there was a bug i wanted fixed.
Changelog:
Code:
v1.2.3
- Fixed possibly FC on DetailsDialog when resuming app
- Changed export format once more (date;time;timestamp;ID;type;extra;description)
Click to expand...
Click to collapse
Thanks for the update! Sorry I missed your earlier message. The formula is listed in my post but I'll see if I can find the web page I got it from. Really, all that needs to be done is to take the value returned from currentTimeMillis(), divide it by 86,400,000 and add 25,569 to get UTC. In other words
Code:
(currentTimeMillis() / 86400000) + 25569
Ah, found it! Here's the URL. Note that I applied the formula to your column labelled "timestamp" and it converts it to a date/time value that Excel recognizes. I guess you don't do much with spreadsheets, huh?
Edit: forgot to include the URL http://www.cpearson.com/excel/datetime.htm
Thanks to a very helpful user, i just uploaded 1.2.4 containing an italian translation.
any chance for an option to toggle between showing 'hours ago' and a time stamp right in the app?
thanks!
Sent from my SGH-T999 using Tapatalk 2
bradwdx said:
any chance for an option to toggle between showing 'hours ago' and a time stamp right in the app?
thanks!
Sent from my SGH-T999 using Tapatalk 2
Click to expand...
Click to collapse
Sure .
What should the time stamp look like?

[APP][2.2+] Message Beam

THIS PROJECT IS IN DEVELOPMENT AND THERE IS NO GUARANTEE IT WILL WORK - CURRENT VERSION 0.3ß - RELEASED FEBRUARY 6th, 2014 - SEE BELOW FOR CHANGELOG AND DIRECT APK LINK
I would like to share an app I actually wanted to make make myself, but it seems that it actually might be something worth releasing. The app is called Message Beam and with it you can send text from your desktop to your phone *and vice versa*. At the moment it is only available as a Chrome Extension (apart from the Andoid app), but when completely finished it will have at least have a Chrome Extension, a web site and a stand alone executable (probably .NET).
Key features
* Send selected text, URL's or custom messages from Chrome to your Android device
* Messages will be copied to the device its clipboard, URL's will be opened when you click on the notification
* Send messages from your Android device to Chrome
* You can link multiple devices (so you can link your tablet too )
* Encrypt messages to improve your privacy (keys only stored at device and/or endpoint, meaning they will never be sent over the internet).
Why it was made
Up until now I used the Chrome to Phone extension, but it lacks the possibility to send custom text or a text selection. Also, it often takes a lot of time before the message is actually delivered and sending a message from the device to Chrome is impossible, as well as linking more than one device. Message Beam tries solves all these shortcomings.
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How does it work?
The underlying technique used is an XMPP server. Messages sent from and to devices will only be stored until they are delivered and are (*OF COURSE*) not read, used for analysis or used for any other form of privacy violation. Linking devices is as easy as creating a special code of at least 4 characters and entering it in the Chrome Extension, setup can be done within a minute.
Why release it as some sort of development build?
I made this project for myself and have done no research whatsoever in what others might want from this app, so releasing it on this forum means I can hopefully get some feedback that will help add features and make the app perfect!
What will the future bring?
The functionality provided is the bare minimum of what I had in mind. The future will probably bring at least the following things:
* Encryption (with keys only available on your device and endpoint (e.g. Chrome Extension), meaning it's impossible for the Message Beam server to decrypt messages Done in version 0.2ß
* Files (Images, Office documents, etc., etc.). Preparations for this have already been made.
* More endpoint types (Executable, Website, Firefox extension -> see below, Java client, etc.)
Is it free and will it stay free?
Yes and Probably. When there are not too many users, I can host it on my own small VPS and won't have any extra costs. However, if there are too much users, I will need to add one or more VPS'es and then some features might only be available in a paid version, but the intention is to keep it free.
Closing words
As said, this project is still heavily in development and released just because I want to check if it's something worth releasing in public eventually I hope you like it and thanks for reading!
Change log
0.4ß (february 15, 2014)
CHROME EXTENSION
- Added possibility to receive messgages that were sent while the connection was unavailable. This feature will be enabled (server side on feb. 22, 2014).
FIREFOX EXTENSION
- Added possibility to receive messgages that were sent while the connection was unavailable. This feature will be enabled (server side on feb. 22, 2014).
ANDROID APP
- Pre Honeycomb (< 3.0): Added a setting to enable a permanent notification. If enabled you can send the current content of the clipboard by clicking it.
- Honeycomb and higher (3.0+): Added a setting to enable a notification when the clipboard content changes. When clicked, it will send the current clipboard content to the endpoints.
0.3ß (january 25, 2014)
IF YOUR CHROME EXTENSION IS UPDATED TO VERSION 0.3ß YOU NEED TO UPDATE THE ANDROID APK TOO!
CHROME EXTENSION
- Changed chat setup, a room will be created now (in stead of separate chat instances), this will greatly increase the message delivery time
- Fixed decryption bug (when encrypted data had more lines)
- You can send a message with CTRL+ENTER now
- When pasting text in the message text-area, the send button will be enabled now
- When connected, you can now see the availability of the Android device
- Small visual improvements
ANDROID APP
- Added connection status (when not connected and authenticated, you see what the app is doing to restore connection)
- Added first 'share' target (for plain text, meaning plain text can now be shared, which will be sent directly to the end points)
- Messages which cannot be sent (due to connection issues), will be sent whenever an internet connection becomes available.
- App will now automatically reconnect directly when an internet connection will become available (in stead of waiting for a certain amount of time)
- App now works on 2.2+ (previously it crashed)
0.2ß (january 19, 2014)
- Added encryption. You need to update both the Chrome Extension and the APK to make it work
0.1ß (january 16, 2014)
- Initial release
Link
Chrome Extension: https://chrome.google.com/webstore/detail/message-beam-for-android/mlndbhjjfllliigpnpinfhmiaocogeba
Firefox Extension: https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/0.0.4/MessageBeam_0_0_4.xpi
Just install the Chrome Extension / Firefox Addon and the it will guide you, including the installation of the APK. The Android app is not yet available in the Play Store.
You can update the APK with this QR:
Direct links
Chrome extension (zip, source): https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/0.0.4/MessageBeam_0_0_4.zip
Firefox extension (xpi): https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/0.0.4/MessageBeam_0_0_4.xpi
APK: https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/0.0.4/MessageBeam_0_0_4.apk
Older versions
0.3ß
Chrome extension (zip): http://goo.gl/BD1pge
Firefox extension (xpi): http://goo.gl/2AnEA3
APK: https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/MessageBeam.apk
0.2ß - https://dl.dropboxusercontent.com/u/11837707/messagebeam/release/MessageBeam_0_2.apk
Finally...
Finally! A quick and easy way to have bi-directional clipboard functionality between my desktop/laptop and my mobile devices. Also very easy to install and everything works right out of the box. This is the way to go!
Can't wait until more features like sending images, audio and/or videos files. Keep up the good work!
The extension and app have now been updated and encryption was added. The keys used will be saved in the extension and the app using an AES encryption algorithm. The messages will also be sent with AES (different salt and IV's though). The passphrase is only stored on the device and endpoint, it will only be used to encrypt and decrypt the messages and will NEVER be sent over the internet.. This feature was added to improve privacy.
this is just awesome... just what i was looking for :laugh:
This is really amazing... works like charm in both ways! Put it to Google Play asap! (easy updates)
How it's different from PushBullet?
geekon said:
How it's different from PushBullet?
Click to expand...
Click to collapse
Its name is different
Just kidding, thanks for a pushbullet alternative :good:
A big thank you! Working perfectly on my X8! :good:
works like a charm.
VAST compliments for the ease of setting and using! you should sell this app to google to be merged with android code. or maybe google should hire you, seriously
Great
But, i can do that with Pocket, Evernote, Keep!!
Or amiwrong
This is really great. There's one thing though I'd like to have since years. Do you know the app aosp wifi keyboard? Basically it's an IME that gets its input from another client (Web page). As you have implemented encryption i wonder if it's possible to do the same thing via Internet connection. This means that the chrome extension needs to send every character on text change and a special ime needs to receive the character.
Maybe there are other solutions that I'm not aware of? If not, do you consider to add this to the wish list?
Cool I will try!!
Woking
It's working great on my HTC One thanks.
Working great on my desire X
Thanx for your work
ladalgigi
work perfect on HTC One with MIUI
:good:
thx bro
Very nice, and it's working very well. You should consider adding posibillity to integrate message beam to androids share feature.
perfect perfect perfect
Very Very good ! keep on the good work...thank you
Working perfectly on my LG G2, thanks!
It would be awesome if you could make a firefox add-on!

Categories

Resources