Wildcard and DateTime syntax in Android Automate app - Other Tools & General Discussion

Hi,
I'm new to Android programming and I want to automate a process in an LG phone (Android 5.1.1) with the Automate app. I want it to take a picture at a set time of day and send it by email to a recipient. I have it running ok, just without image file attached because the app expects an absolute file name for the attachment. The problem is that the camera uses the date and time as the filename which of course changes with each image. Is there a way to use a wildcard like 'DCIM/Camera/IMG_*' (btw this doesn't work) to select the just created file which is deleted after the email is sent. So there is only ever the new file that should attach to the next email in this folder when the flow runs, but always with a new filename. I've tried various versions that I found online like GLOB'[IMG_]*' and 'IMG_#' but it always errors with 'NoSuchFile'...
Another way would be if I could give each new image file the same name, that would eliminate deleting the just sent file because it would overwrite the old one and I could set an absolute filename for the attachment in the email template. But i have not found a camera app that allows me to define the filename nor a way to automatically change the name of the saved file.
The other thing I'd like to do is insert the current date and time as the subject line. Here too I have tried various versions that I've found like =DateTime() which either just display the code in the email when I put them in " " (I guess as they should) or error already when I try to save them in the app.
Any help would be much appreciated!
Regards,
Jimmy

Related

Where is MMS saved?

I'm sure someone has figured this out.
Where in the file system are the pictures I receive via mms saved?
I'm sure they have to be somewhere, there has to be a way to get them without the fwd to pc email / attach image to new email / email back to phone trick.
Bonus points, I deleted a thread - can I still find those images somewhere in the file system and restore them?
I believe they're stored in a sqlite3 database, so it's not as easy as just copying a file.
It looks like this is the database:
/data/data/com.android.providers.telephony/databases/mmssms.db
I don't have any mms/sms messages atm (recently wiped phone), so I don't have any data to look at in the database.
If you want, give me an IM or PM and I'll give you my cell number so you can send me an sms with a pic, so I can figure out how to extract it from the database
i dont think its in the database: its the same size no matter how many messages there is
Found it. The text and attachments are saved in /data/data/com.android.providers.telephony/app_parts
They are stored in files named something like "PART_1228000671287", with no extension.
To see what type of files they are, you can run this command on the phone (assuming you have RC30 v1.2).
sqlite3 -header /data/data/com.android.providers.telephony/databases/mmssms.db "SELECT _data, ct FROM part;"
The first column is the full path to the file, and the 2nd column is the mime type of the file
Awesome, good work Android Master JesusFreke.
too bad I have the factory RC30
(why oh why did I hit the update button that night?)*
but that's cool to know that they can be found.
Now we just need someone to apply that knowledge into making a SaveImage option appear in the MMS thread.
* on an unrelated note I need to put in another thread: when RC29 came I noticed the camera worked like 5 times better. I was even able to snap pics of the kids on the swings and they came out clear, when RC30 came it was back to blurriness as usual.
JesusFreke said:
Found it. The text and attachments are saved in /data/data/com.android.providers.telephony/app_parts
They are stored in files named something like "PART_1228000671287", with no extension.
To see what type of files they are, you can run this command on the phone (assuming you have RC30 v1.2).
sqlite3 -header /data/data/com.android.providers.telephony/databases/mmssms.db "SELECT _data, ct FROM part;"
The first column is the full path to the file, and the 2nd column is the mime type of the file
Click to expand...
Click to collapse
Would it be possible to write a program that would automatically extract the imgs/vids from that path and put them on the sd card with the correct file extension?
Sure. It would certainly be possible for rooted phones. I'm not sure for non-rooted phones.
I should have added on rooted phones on my first post.
Guess i should get off my butt and start messing around with some code.
I'm kinda leery about messing with root comands.
I think it would be possible for rooted as well. Can't applications have message privys so they can read messages? if they can read them can't they save the data?
JesusFreke said:
Found it. The text and attachments are saved in /data/data/com.android.providers.telephony/app_parts
They are stored in files named something like "PART_1228000671287", with no extension.
To see what type of files they are, you can run this command on the phone (assuming you have RC30 v1.2).
sqlite3 -header /data/data/com.android.providers.telephony/databases/mmssms.db "SELECT _data, ct FROM part;"
The first column is the full path to the file, and the 2nd column is the mime type of the file
Click to expand...
Click to collapse
Now I can save my pictures people texted me! Thanks dude!

How can I export my Shazam tagged songs list?

Before formatting my TD2 I made a full backup.
Now I want to transfer my Shazam tagged songs list back.
Simple copy paste from the backup is not working.
Where Shazam is keeping the list of tagged songs?
How do I export that list?
__________
Update: found it!
Can someone please open this attached shazam.db (from shazam for wm 6.5 ) and return the song list , date and time in some other format? xls, cvs etc.
Thanks!
Update:
Shazam.db file in aplication data\shazam\folder is where all tags are stored.
Did you have any luck with this? I was hoping to do the same thing, but I hit a wall when I realized that I don't know how to access files on my Droid's internal storage. Would you mind pointing me in the right direction?
Found nothing so far.
Anyone?
Incorrect....
Either the htc hero has a different file structure or this information is inaccurate....
There is no such file path.
I whipped a quick app (attached below) that can back up the shazam database file to your SDCard (in folder "shazambackup") and restores it need be.
Also you can export the Tagged songs to xml (saved as "exports.xml" in the "shazambackup" folder).
Next i'll probably parse the xml to a more readable format. Maybe CSV? or just Plain Text? Any ideas are welcome!
Let me know if you have any issues. So far i've only tested it on my G1. Must also have a rooted phone for any of this to work.
Can you please open this shazam.db (from wp6.5) and return the song list , date and time in some other format? xls, cvs etc.
Thanks!
bump.
Anyone can help?
See first post.
You're dealing with mostly Android here, you may want to ask in a WM or phone specific forum.
(from... Evo/MIUI/Tapatalk)
kokenjr said:
I whipped a quick app (attached below) that can back up the shazam database file to your SDCard (in folder "shazambackup") and restores it need be.
Also you can export the Tagged songs to xml (saved as "exports.xml" in the "shazambackup" folder).
Next i'll probably parse the xml to a more readable format. Maybe CSV? or just Plain Text? Any ideas are welcome!
Let me know if you have any issues. So far i've only tested it on my G1. Must also have a rooted phone for any of this to work.
Click to expand...
Click to collapse
Does not work properly on Desire. Opens the app after installation but "backup" button does not create the backup file and "Export to XML" makes the app force close without exporting anything.
About the export feature - the CSV version would probably be the best.
Thanks!
p666nn said:
About the export feature - the CSV version would probably be the best.
Thanks!
Click to expand...
Click to collapse
Can you or someone please export attached shazam.db (zip) in any other usable format?
Thanks!
Bumb!
BUMP!!!!!!
CSV would be great
The app's export to xml feature also fails on HTC Evo 4G (GingerBread).
Solution with SQLite
Hi everybody,
I found a solution to export the list via SQLite. I had to find it for myself as I found nothing on the web, but I put it here, so perhaps somebody else is looking for such a solution as well.
This explanation is about how to get Shazam's data base file from your Android phone, access it on your computer and export a list of your tagged songs.
1. COPY FILE FROM PHONE
The data is stored in the file on your Android:
/data/data/com.shazam.android/databases/library.db
You have to copy this file to your Computer to work with it. Probably everybody does this in a different way. Mine was probably a bit more difficult than necessary, there should be simpler ways (e.g. with ssh / scp), but mine was: Opening the Android app "Terminal" and typing in the command:
Code:
cp /data/data/com.shazam.android/databases/library.db /sdcard
Then the file was copyed on the sdcard, which I could access to with my computer via USB cable.
Then you need a program which can open SQLite-Files. There is the command line tool (at least in Linux) "sqlite3", but also graphical tools for Linux/Windows/Mac like the "sqlitebrowser" (Link: sourceforge.net/projects/sqlitebrowser).
2. OUTPUT FROM DATA BASE:
In every of these tools, you can execute SQL-commands. For my output I chose:
Code:
SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon
FROM artist a, artist_track at, track t, tag tg
WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;
This command displays a list of the songs, ordered by their timestamp.
So with the command line tool "sqlite3" you just type in:
sqlite3 -line /tmp/library.db "SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon FROM artist a, artist_track at, track t, tag tg WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;"
Click to expand...
Click to collapse
The output is in lines, you could also let put this in a text file by e.g. adding to this command:
"[see above] > shazam-tracks.txt"
Click to expand...
Click to collapse
There is also a way to export the data into an html table (just the table, no complete html file), by changing "-line" for "-html". For further details on how to export everything to a different file format (CVS etc) have a look on the Manpage of sqlite3 (command "man sqlite3").
With the graphical tool "sqlitebrowser" it is imho only possible to show this list, not to export it to a textfile. After having opened the .db-file with the program, you chose the tab "Execute SQL" and put there the above SQL command ("SELECT [...]"). Voilà!
3. DETAILS:
What I do like this is combining the necessary data of the database. They are spread over several tables. There is a table "artist" with the list of the artists and their unique ids. Then there is the same for the tracks, "track". In the "artist_track" table there is listed, which artist's id belongs tho which track's id. Finally in the table "tag" there are additional data like the time stamp of the song and even it's geo data tag.
With the SQLite program you can easily watch all the data and add / remove data from the SQL command, as you wish.
So far, I hope, I could help somebody?
Greetings, spectas
spectas said:
Hi everybody,
I found a solution to export the list via SQLite. I had to find it for myself as I found nothing on the web, but I put it here, so perhaps somebody else is looking for such a solution as well.
This explanation is about how to get Shazam's data base file from your Android phone, access it on your computer and export a list of your tagged songs.
1. COPY FILE FROM PHONE
The data is stored in the file on your Android:
/data/data/com.shazam.android/databases/library.db
You have to copy this file to your Computer to work with it. Probably everybody does this in a different way. Mine was probably a bit more difficult than necessary, there should be simpler ways (e.g. with ssh / scp), but mine was: Opening the Android app "Terminal" and typing in the command:
Code:
cp /data/data/com.shazam.android/databases/library.db /sdcard
Then the file was copyed on the sdcard, which I could access to with my computer via USB cable.
Then you need a program which can open SQLite-Files. There is the command line tool (at least in Linux) "sqlite3", but also graphical tools for Linux/Windows/Mac like the "sqlitebrowser" (Link: sourceforge.net/projects/sqlitebrowser).
2. OUTPUT FROM DATA BASE:
In every of these tools, you can execute SQL-commands. For my output I chose:
Code:
SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon
FROM artist a, artist_track at, track t, tag tg
WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;
This command displays a list of the songs, ordered by their timestamp.
So with the command line tool "sqlite3" you just type in:
The output is in lines, you could also let put this in a text file by e.g. adding to this command:
There is also a way to export the data into an html table (just the table, no complete html file), by changing "-line" for "-html". For further details on how to export everything to a different file format (CVS etc) have a look on the Manpage of sqlite3 (command "man sqlite3").
With the graphical tool "sqlitebrowser" it is imho only possible to show this list, not to export it to a textfile. After having opened the .db-file with the program, you chose the tab "Execute SQL" and put there the above SQL command ("SELECT [...]"). Voilà!
3. DETAILS:
What I do like this is combining the necessary data of the database. They are spread over several tables. There is a table "artist" with the list of the artists and their unique ids. Then there is the same for the tracks, "track". In the "artist_track" table there is listed, which artist's id belongs tho which track's id. Finally in the table "tag" there are additional data like the time stamp of the song and even it's geo data tag.
With the SQLite program you can easily watch all the data and add / remove data from the SQL command, as you wish.
So far, I hope, I could help somebody?
Greetings, spectas
Click to expand...
Click to collapse
Thanks!!! It helped me since Shazam no longer gets past the setup screen!
I found that with SQliteExport you can use your same command above and export to a file of your choice, for example, xls or csv. Here's the link to the little program:
http://www.speqmath.com/tutorials/sqlite_export/index.html
Flyview said:
Thanks!!! It helped me since Shazam no longer gets past the setup screen!
I found that with SQliteExport you can use your same command above and export to a file of your choice, for example, xls or csv. Here's the link to the little program:
http://www.speqmath.com/tutorials/sqlite_export/index.html
Click to expand...
Click to collapse
Tried but cant do it. I need step by step instruction. Or better, can someone just export the db that I attached? (See OP - first post - shazam.db ?)
Thanks
K
Best solution for exporting from shazam database
Delete this one please
Hello I am new on the forum. I've learned a lot of things in this website, it's time to payback
I’ve got another solution to this issue….
1.-Download this plugin for Firefox.
addons.mozilla.org/es/firefox/addon/sqlite-manager
2.- In Firefox – Tools, select SQLite Manager
3.- In the new window select database – connect database – then open your db from shazam
4.- Then you’ll see two panels. on left panel select track and on right panel, select browse and search then you’ll be able to see all your tag info
5.- On the left panel select track – right click – export table, select csv on right panel then ok.
6.- Open your new saved database with any office (word, excel)
7.- That’s all
Shazam Tags
snakesight said:
Hello I am new on the forum. I've learned a lot of things in this website, it's time to payback
I’ve got another solution to this issue….
1.-Download this plugin for Firefox.
addons.mozilla.org/es/firefox/addon/sqlite-manager
2.- In Firefox – Tools, select SQLite Manager
3.- In the new window select database – connect database – then open your db from shazam
4.- Then you’ll see two panels. on left panel select track and on right panel, select browse and search then you’ll be able to see all your tag info
5.- On the left panel select track – right click – export table, select csv on right panel then ok.
6.- Open your new saved database with any office (word, excel)
7.- That’s all
Click to expand...
Click to collapse
This above works well nice one.
I was trying to do my own program before I saw this.I'm not a programmer but I stuck together a few bits of code I found and hopefully works you you. Use android app Root Browser Lite to copy file from data/data/com.shazam.android/databases/library.db to your sd card. Or use the app posted earlier which does this for you.
Put library.db file from you Shazam backup in the same folder as this program and run program and hit 'GetTags' and should get CSV and htm versions of your tags. No error checking or anything fancy in this program. Requires .NET 3.5. May only work on 32-bit machines. I'd like to enhance this and will if people find it useful.
How results should look.

Disable smileys/emoticons on HTC One X?

Okay, well today, I picked up a new HTC One X. First impressions were pretty good, and I have to say that as of yet, it's looking like it's a pretty good handset.
However; there's one thing about it that really bugs me. SMS messages apparently force you to use these utterly horrific smileys. I was never a fan of the old android icons that occasionally popped up, but these icons are just plain god-awful. Is there any way of disabling them?
(To be honest, I'd much prefer just to have your standard ASCII faces... Not to mention, if you happen to need to send a message that just happens to have the characters in that order, I'd rather not have badly made face icons appearing in the middle of it..)
bump. I can't believe htc require you to install a 3rd-party sms app in order to be able to get rid of emoticons. I'm a 40-yr old man, I don't want to see a crappy cartoon face in my text messages...
thanks for this nice q
3lliot said:
bump. I can't believe htc require you to install a 3rd-party sms app in order to be able to get rid of emoticons. I'm a 40-yr old man, I don't want to see a crappy cartoon face in my text messages...
Click to expand...
Click to collapse
My thoughts exactly... Not to mention, they're so badly designed that I spend more time working out what emotion they're actually supposed to convey, rather than reading the actual message...
Seems slightly out of place, too. The rest of the UI is nice and clean, fairly sleek looking - then you have these ridiculous cartoon faces slapped accross all of your texts..
I'm going to go ahead and bring this thread back from the dead.
Last time I tired to fix this by modifying my framework files and ended up soft-bricking my phone.
There's got to be a better way.
bump?
Untested Solution
EDIT: I looked more into it, and it gets pretty complicated. According to a StackExchange post I found (link in the attached .txt file), you can go through a process to retrieve the source code from the original .apk file BUT it requires the classes.dex file to be intact. That means you have to de-odex the Message+Nonprime.odex file, "re-dex" it into classes.dex, and add it to the Message+Nonprime.apk archive (can simply change the extension to .zip and add the file before continuing the linked steps).
After following all of those steps, I ended up with the source code and readable XML files. Unfortunately, trying to open them in Eclipse does not work, as I'm apparently missing key HTC resources (or I just don't know where the resources files should be pointing). I was hoping for the ability to just change the name across any necessary files, then repackage, but it doesn't seem to work like this.
I've also tried taking the original APK, adding the .dex file (created from the .odex -> files/folders -> dex process) inside, and signing the package (after deleting the META-INF folder containing HTC's signed information). I was hoping that signing the package after renaming it to Message2.0.apk would allow me to install it as a user application (I don't have root or the ability to change the bootloader to overwrite system applications, due to the 4.2.2 update) but the install always fails since "the application is already installed." If I knew how to modify the files within classes.dex properly, I'm sure I could rename the entire package and create a "New" application, but for now I've hit a brick wall. Hopefully if anyone reads this they can build on my failed attempts.
======================================================
======================================================
I stumbled on this (admittedly old) thread, and I don't know if anyone cares, but I've figured out what seems to be key in disabling smiley images from appearing. Below is the information of the phone I'm working with:
Phone Model Number: HTC One X
Android Version: 4.2.2
HTC Sense Version: 5.0
Software number: 5.18.502.1
HTC SDK API level: 5.41
Android uses "SmileyParser" to watch for certain key combinations and replace them with preset images. The theory is that by changing the strings SmilelyParser checks, it won't ever find a match, and they won't be replaced.
I found the Message application under /system/app/Message+Nonprime.apk. HTC's Message application utilizes Android's android.com.mms but has custom functionality/themes (I'm assuming)
Using ADB (Android SDK tool to browse filestructure), I used "adb pull [source] [local]" to copy the .apk and .odex files
I used "smali-#-#-#.jar" and "baksmali-#-#-#.jar" to convert the .odex file
The output of the tool gives a file structure with editable files. I navigated to com/android/mms/util/
In this folder, there are two key files: SmileyParser.smali, and SmileyParserOne.smali. I believe the "One" version may be modified to work with HTC One phones, but I'm not 100% sure (content looks similar)
I opened each file with Notepad++ and found "const string" references with the text version of an emoticon. The code seems to match those with "aput objects" but I don't know 100%
I modified each string (within the quotes) by just adding an 'x' to hopefully thwart the string match. Basically, the phone should wait until x or x is fully matched before replacing the smiley
I'll note again, I did the EXACT same process in both .smali files I mentioned, and I touched ABSOLUTELY NOTHING ELSE. There's no telling what you'll break if those don't compile correctly (which is why I also avoided adding a longer string, in case memory allocation issues cropped up)
I then repackaged the entire output I created into a new .odex file
Now, here's where things get tricky. I don't have a rooted phone, so I can't actually replace the .odex inside of the /system/app folder. I may work on testing on my phone (but I don't get a lot of time and really would not like to brick it), but I'm worried since I'm running a very recently updated Sense version (and there may not be reliable root processes, I have no idea).
If anyone has a rooted HTC One X (check above for the exact software version I have) that would like to try out the modified .odex file (apk is mostly UI/theme, .odex contains the actual programming logic) I am providing the .zip containing the apk and odex files. I've also tried installing the apk+odex with "adb install X/X.apk" but the application has a name buried in the structure (probably everywhere) and I have no idea how to rename it everywhere that's required.
If someone knows how to take a package and re-compile it with a new name, I could potentially re-install "Message 2.0" as a user app without any root privileges required. That's another option I'm looking into (since I'd really rather not root and potentially lose my stored data).
The same problem is still occurring in 2018. I would try your solution, but it's outdated. I'll have to dive in and edit the files myself if a solution isn't found. Although, in that case, I would probably match something further from the x, preferably with 2 bytes because as you said, memory issues might pop up and I'm not sure just how far they went with this.

Trying to find camera app that displays image file name

Just wondering if anybody out there might know of a camera app (or some other way to achieve this) that will display the image file name automatically for a period of time after taking a photo. I am using my android phone camera to record literally thousands of images of maintenance items and I have to write down the image file name on the inspection form each time. This is so that a link to the file can be built back up in excel and the correct image can be imported into the correct record back in the office. I can see the image name easily enough by selecting the image view soft button after taking a picture and then tapping the picture and the file name is displayed for a couple seconds at the top. The display usually disappears before I get the whole thing written down so have to hit it a couple times. This is just a pain and a time limiting factor when I have to do thousands. I'm trying to find a camera app (or other means) that will remove a step or two from the process. Any ideas?
The other thing that would help is being able to change the file naming protocol of captured images to sequential instead of the (often preferred) date/timestamp. I know this seems like a step backwards and most people try to change the protocol the other way but for my purpose, knowing I just have to add 1 to the previous file name is sooooooooo much quicker.

Photo names and duplications

Hi all
Whenever I transfer my photos to my pc from the device, it asks if i want to overwrite some i already have. This seems down to the phone creating file names in the same order at all times, rather than say - naming a photo by it's date.
How can I change the way file names are saved/created in the camera app, at present I'm having to give each photo a name so as not to loose any in the process of saving them to my desktop.
Renz
I would say some more input about what you do exactly would be helpful so I'm just guessing that by transfer you mean moving the photo files off the phone and new pictures start again with DSC_0001.JPG. To prevent this keep the last photo (with the highest number in the filename) on your phone to avoid that the next photo starts with 1 again.
I use "DSC Auto Rename" from the play store. Install it, activate it and you can set it to automatically name files by date and time. It runs in the background and works perfectly
Sent from my E6853 using XDA-Developers mobile app

Categories

Resources