i wrote two applications that provide screen rotations in different scenarios.
the first one (rotexec) rotates the screen in a particularly orientation and executes an application, then restores the orientation on exit.
the second one (devomon) polls the accelerometer and updates the screen orientation.
i know there are already applications out there that handle these tasks, but the ones i found all ran on the .net vm.
my goal here was to minimize the memory footprint, something not possible with managed languages.
for devomon.. with 4 filtered applications, it consumes about 52 KB of heap space.
the new version of devomon (with a gui):
http://www.megaupload.com/?d=LCOWUDF4
rotexec and devomon w/o a gui (don't use it):
http://www.megaupload.com/?d=DL58WVU4
project is hosted at SourceForge.. i haven't committed the newer changes though.
----
rotexec is intended for use with shortcuts, although if you use it more than once you might have a hard time distinguishing when all have the same damn icon.
the command-line format is...:
Code:
rotexec <direction>|<full_path_to_exe>[|<args]
<direction> indicates the side the top of the window touches and can be either N, S, E, or W
you can quote the individual items (i.e., "N" vs. N), but not the entire string.
* the orientation is set for the duration of the program, regardless of whether or not it owns the foreground window.
example shortcut:
Code:
88#"\Storage Card\rotexec.exe" W|\Storage Card\Program Files\Navigator\TomTom Navigator.exe
----
devomon reads the output of the accelerometer using htcsensorsdk.dll.
* the screen orientation is changed for all applications except those in the filter list.
* if the keyboard is out, no orientation changes are made.
* filters cannot be persisted at this time.
devomon now has a gui.
I'd just like to say a TON of thanks to this program. It works GREAT. I use it for Remote Desktop. I always want it rotated portrait, without the keyboard open, and now it does!
In addition, I would like to add a recommendation for modifying the shortcut icons. This app that I have attached is called Shortcut Creator, and it allows you to pull up any shortcut, and specify an icon from any .EXE on the device!
Hi all,
Today I released an updated version of my ShootNow! application with lots of improvements and some added functionality. I would like to ask you to try it out (the unlicensed version is free) and give your feedback in this thread. Thank you in advance.
Application description
ShootNow! is a profile-based camera automation application. A profile defines settings like picture size & location, camera settings, display settings and share/view taken pictures using other applications.
The application allows you to create multiple shortcuts, each using their own predefined profile. For example, you could have the following set-up:
Main application launcher, using the default profile, simply takes pictures at the maximum resolution, using automatic flash and focus modes, saving them to your regular camera picture location.
TwitPic shortcut, using Twitter profile, takes pictures in a lower resolution and automatically invokes your Twitter application to share the picture.
PicShare shortcut, using Sharing profile, takes pictures in a medium resolution and, after taking the picture, asks you which application to launch to share the picture.
Notepad shortcut, using SpyCam profile, hides the camera preview and status messages, automatically takes a picture on launch, and saves it to a hidden folder.
The main ShootNow! application can also be launched from a custom lock screen like WidgetLocker without first having to unlock the device. This allows you to quickly start taking pictures from your lock screen.
Free & licensed version
The ShootNow! application can be downloaded for free from the Android Market. This free version is fully functional but downscales all images to 320x240. In order to take pictures with higher resolutions, please buy the ShootNow! License, also available on the Android Market.
Link to ShootNow
[qrcode]market://search?q=pname:com.rsqsoft.shootnow[/qrcode]
Link to ShootNow! License.
[qrcode]market://search?q=pname:com.rsqsoft.shootnow.license[/qrcode]
Sorry, but I don't make the connection between the camera and the shortcuts :$
Do I need to take any picture to launch an app, instead of click a shorcut?
Dash Home on the Play Store
Hi,
This is the app I am using with my car's android based radio to give it a custom touch and save my sanity trying to do anything while driving. The hardware and OS are rather limited in the device, so my app goes into retro land to get some performance, using the fixed function pipeline with GLES 1.0 and renderscript. The OS is 4.03 but lacks sensors, etc, etc. This is what I have made to work, it is no where near as smooth as on my Nexus 5, (renderscript is cpu/gpu based instead of just cpu) but it isn't too bad in the car, listening to tunes and getting a visualization effect. On the plus side, visualizations are not impacted by audio tunnelling, but with no GLES2, most visualization apps on the market don't work with the car radio (s100).
Looking for feedback and suggestions for where to go with themes. Or anything else really.
Cheers!
EDIT: updated version info, just updated the play store.
Update Available
Update 1.8.1.419:
Many Changes:
App is half the size, same with the expansion file, (added the ability to patch the base bitmap, but you can still use full bitmaps, see the obb flle in android / obb, it's a zip, the version and size are checked against mods , however you can add a patch file to add your own changes, no size check, same name. Post questions here or email me with theme requests.)
Reworked renderscript code, much faster.
Added a KIA Soul theme, just the Jeep one with Kia images.
Added toggle for compressed textures, most themes seem fine to me, but the Jeep one looks off with compressed textures.
IAn app drawer, swipe right instead of left to access. Launch apps with single click, long press to add/remove to an auto start list, viewable in prefs. (Auto start apps are triggered when the external sdcard is mounted on the S100/S150) I only use the default home these days for uninstalling apps, your usage may vary.
mesh options, you can increase the mesh density for better visuals (higher res), lower for more speed.
Audio visualization strength option added.
Torque integration, press the gas and the 3D GUI tilts forward, if no Torque it still uses the GPS. Suggestions welcome on OBDII sensors to try and what to do with them. I tried GPS heading to get a left right change without much luck, harder to figure that out without going for a drive.
GPS Data logging, automatically saves to the sdcard when stopped or when you turn off the radio, use prefs to disable or specify sdcard location.
Autosaves logcat to sdcard when radio/phone shuts down. (most will be rooted and see all the logs, otherwise just for the app).
ToDo: Upload a proper video to the playstore.
Google Groups: https://groups.google.com/forum/#!forum/dash-home
Update 1.8.1.693
Update 1.8.1.693:
-rotating lights brought back into view (bug fix)
-holiday setting turns on and off (bug fix)
-more tweaks to preferences look
Update 30.11.2022
End of life and open source.
Due to lots of changes both in Android and in my life, I do not have the possibility to maintain / update the code any further, therefore I've decided to open source.
Code is accessible: https://github.com/borconi/obd2aa
I will like to thank all of those who supported this project.
App Requirement
Torque Pro
OBD2 Reader
Android Auto compatible headunit or at least a copy of the Headunit Reloaded App (see signature).
This app will have limited functionality if you are using Android Auto on a your phone, the only functions you will be able to use is to see are notification about the speed cameras and street card!
Gauges and torque data will NOT work!
Previous XDA purchases can be reclaimed here: https://www.b3itlabs.com/download.php
How to purchase:
Visit: https://www.b3itlabs.com/prod.php?id=2
Instructions on how to get it running:
Option 1 - Will work on any phone & car/headunit combination, however the following features won't: - AutoPlay Music, 6 Tap limit remover, DPI change
After installing the app from XDA Labs, sign up for beta testing here: https://play.google.com/apps/testing/uk.co.boconi.emil.obd2aa and update the app
Once app is updated, make sure you disable auto-update in PlayStore then please uninstall it and reinstall it from XDA Labs.
With your screen unlocked, plug in the phone to the car, when prompted which app to use make sure you select "Android Auto"
Option 2 - Might NOT work on some device combination (for sure it won't work on Xiaomi phones), but if this method works all functions of the app are available
Install
Make sure you do not have any other 3rd party app Android Auto app installed.
Open the app and hopefully it will be quite self explanatory on how to set it up (choose colours, set gauge number, etc)
Open Android Auto (on the phone), go to About, tap the "About Android Auto" header 10 times, once you are a developer from the 3 dotted right corner menu select "Start Headunit Server" (ROOT users can skip this step!)
Close Android Auto
MAKE SURE YOUR SCREEN IS UNLOCKED and connect to the car, when prompted which app to use select "OBD2AA" and always (this needs to be done one time only) - If you are a HUR user select Android Auto and always! (If you do not see the prompt to chose, please go to settings -> apps -> all apps -> Google Play Services -> Clear Defaults and then try again)
Select the last tab on the right, by pressing it again you should see an app selector and choose OBD2AA
Give it a bit of time to start pulling the data from Torque.
Change log
Version 3.2 and 3.3 released 04/11/2018
Fix "drunk" map effect on Sync 3 units
Fixed rooted devices not being able to start headunit server.
Added option to change DPI for your screen!
Added option to auto play music on start
Added option to select default start screen.
Version 3.1 releases 26/08/2018
Compatibility fix for Pie devices.
Tap limit remover now working on all device
Tap limit remover allows Maps to be searchable even when driving.
Can be used for those who have problem with the parking brake wire.
Freeze issues fixes.
Important notes
Version 3.0 releases 05/07/2018
Compatibility fix for AA 3.0 and above.
Added option for overriding 6 tap limits
Added option for Bluetooth Audio output.
Important notes
Thanks to @slash_m_a_x for the support offered on this.
- Some users have reported choppy audio when using the app, this will mainly be due to the speed of the phone, the buffer on the car/headunit and other factors which are out of my control, if that is the case and you cannot use the app please feel free to contact me for a refund.
- Bluetooth Audio output might not work on all devices, it does depend how the car/headunit handles the Bluetooth. There will be devices which completely disable A2DP/Bluetooth capabilities of the car when Android Auto is running. In this case all the sound will be heard from the phone speaker rather then the car speakers.
- Tap limit will be disabled only for cars/headunits which are equipped with a GPS.
- In rare cases it can happen that after unplugging the phone from the headunit you will see a message which says that you are still connected to Android Auto, simply Force Stop the Google Play Services.
- You always need to make sure that Headunit Server is running on the phone (unless you have root), if the icon bothers you simply hide it.
Change log
Version 2.0 releases 17/01/2018
Added new layout option
Added styled gauged
Option for custom background on each gauge.
Option for custom needle on each gauge
Removed integration for CamSam/Blitzer.de (fully integrated now)
Possibility to change needle color
Possibility to adjust arch (indent, position, length) when using custom bg
Separated speed camera settings
Option to only download speed cam db over Wifi
Fixes for min/max value
Speed camera warnings over car speaker (Thanks @martoreto for the how-to)
Street info card
Added French translation (Credit to @fbike for doing the translation)
Added Danish (Credit to @Gunde for doing the translation)
Added Finnish (Credit to @Pyrres for doing the translation)
Added Spanish (Credit to @madabase for doing the translation)
Added Italian (Credit to @ilgaspa for doing the translation)
Version 1.6a - releases 03/10/2017
Fixed negative input for min/max values
Code cleanup
Added Greek language (credit to @sosimple for translating)
Version 1.6 - releases 29/09/2017
Fixes for custom PIDS
Fixes on Graphics rendering.
Fixed overlapping text
Fixed PSI/BAR conversion
Enhanced the gauge style.
Different approach for torque data pulling.
Moved to service should start work automatically when connected to the car
Added Supports PID alarms from Torque.
Added Toggle/Collapse layout for Pid settings.
Added Preview button with random data
Added Option to toggle units display
Added notification cleanup on exit
Added translation for DE,HU,RO (Credit to @FormelLMS for DE)
Added import/export setting option
Added option for colored text
Added TPMS option/screen
Added option to override car's headlights based on day/night
Added warning screen if nothing is configured to prevent black screen with no information.
Added more settings and move them to separate Settings options.
Added customizable background
Added search for PIDs
Added Support for Heads-Up notification
Added Speed camera warnings (powered by CamSam Plus)
Supported settings/Features:
3 x Colors for each gauge
Text color
Toggle needle, arch,units,scale,decimal and text for each gauge.
Variable number or gauges ( 1 - 15 )
Set warning limit for each gauge (percentage). This will be calculated relative to the given PID max value which is retrieved from Torque at runtime.
Possibility to set gauge in reverse mode. (example fuel tank)
Units will be converted automatically based on your Preferences in Torque
TPMS Screen (if you have PID's for TPMS data)
Possibility to use custom background/needle for each gauge
Low Fuel warning
Warm Engine warning
Speed Camera Heads Up Warning
Option to Overwrite Headlights state based on calculated sunset/sunrise
How to use it?
Open app and select each PID you want to display on your screen, adjust the number or gauges you want to see adjust the preference for each PID. If you want to use custom background/needle and interested on how to, please read HERE
Locking Pid values
On some PID's Torque reports wrong min/max values, by default if while using the application a reported value is higher/lower than the initially reported range, the app will adjust the range to the new values. However in some cases this is not desired and you will like to specify manually what is the min and max value for the give PID. In this case, simple edit the minimum/maximum for the pid and they will become locked, meaning the app won't make any adjustments.
By editing, it means you have to change the min or max value, the lock is triggered by the first keypress on this input fields.
The lock will be automatically removed when you select a different PID for the same gauge.
Preferences menu
Alternative pulling - Only enable this option if you have difficulties getting gauges updated, it uses an old deprecated method of obtaining data so should not really be used.
Enable debugging - Only enable it if you have problems with the app and I requested you to collect a bug report, otherwise it will spam the logs for no reason.
Automatically start Torque on Android Auto - Nothing to explain here
Launch FartKontrol on start - launches a Danish Speed Camera app (useless outside Denmark)
Custom Background (any background you will like to use instead of the black color)
Demo - When enabled random data is generated for the PID's just to see how things will look (in case you do not have an OBD2 adapter), so don't enable it.
Pid Alarms section. You can set up a low level fuel warning (displayed as a heads up notification) and a notification when the engine is warmed up. There a several PID options for both of this, pretty self explanatory.
TPMS Settings
- You set up the 4 PID's for TPMS, this will be used to display the tyre pressure values on the TPMS screen inside Android Auto
Speed Camera
Show current street card - Displays information about current street (name and speed limit if know). This information is updated once in 5 seconds and at a minimum distance of 200 meters so it's not 100% accurate it's more for general information.
Enable speed camera warnings - This will enable the app to display speed camera warning when driving, like any app which does this it relies on a database, which means it does NOT guarantee that it will warn you of all the cameras, and it might also produce false warnings. All options are pretty self explanatory.
Export & Import
- Allows you to export your current app configuration file which can later be imported (grate way of saving time of re-doing everything) after a clean install or so. The format use for Export & Import is JSON so if you want you can manually edit/adjust the values. Please see following post for more details about the sturcture/value/meanings
Permissions
Read notification permission - Only required so the app can read the notifications from CamSam and display them on AA scren
Locations - Only required if you want the app to overwrite the day/night theme based on sunset/sunrise
Storage - Only needed if you want to use your personal image as a background and/or planning to import/export settings
Can I create my own layout for the gauges?
- Yes, see instructions below:
Here is an example of the XML structure required, once you created the XML please send it over by email to [email protected] and I will include it in the next build.
Code:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="wrapper_layout">
<!-- Left column -->
<View
android:layout_width="226dp"
android:layout_height="226dp"
android:layout_gravity="center_vertical|start"
android:tag="gauge_2"
/>
<!-- Middle column -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:tag="gauge_1" />
<!-- right column -->
<View
android:layout_width="226dp"
android:layout_height="226dp"
android:layout_gravity="center_vertical|end"
android:tag="gauge_3" />
</FrameLayout>
Important
Each view must contain a tag, which is formated like in the example, where the number corresponds to the Gauge number from the setting screen.
The layout which wraps everything together must have a tag called: wrapper_layout
You are free to use any Layout you want, except ScrollView.
How to produce bug report?
Step 1 you need to enabled debugging in OBD2AA app, then follow this instruction set:
2. Enabling Developer Mode
Open Settings > About phone.
Scroll down to the Build number.
Tap the Build number 7 times in quick succession until "You're now a developer" appears.
Return to the Settings menu and select Developer options.
At the top of the screen, make sure 'Developer options' is set to On (green).
Scroll down to Debugging and enable both USB debugging and Bug Report Shortcut on (green).
Tab on Logger buffer sizes: Default setting is 256K. Select 16M to help capture more information for debugging. Of note, it can affect the apps performance especially with lower spec phone, so change it back after you have finished submitting bug reports.
3. Capturing a Bug Report
It's very important to do this right after you experience the issue again, so your device can log at least one occurrence of the issue.
Hold the Power button down until the menu appears.
Select Take bug report. and wait for the device to capture the bug report.
Tap the 'Bug report captured' notification when it appears.
Share the bug report. (I recommend to email it to yourself.)
Download the bug report to your computer.
Send the bug report by email to [email protected]
I have decided to open up my software, meaning I have made the source code available on GitHub, but it's only available for personal use, and you are not allowed (under any form) to redistribute your own version of the app. You can download and compile it yourself if you wish to do so, and you can implement your own changes for your own personal use, but you cannot create clones of the software which you redistribute under your own name. Source can be found here: https://github.com/borconi/obd2aa.
Due to the fact that there are some irresponsible developers out there, who created video apps for moving cars, which was one of the main reasons Google blocked 3rd party apps, I won't be updating the code on github any more, to try to prevent those developers to use my technique to overcome the limits. If you are developing a 3rd party app and you will like to know more about how I have done this, you are always welcome to contact me. If your project is something useful, I will be more then happy to share things with you.
This does not mean it is now a free app and apk can be freely shared!
Amazing work Emil, this along with your (and ofcourse @mikereidis) Headunit Reloaded app is perfect for Android Auto on the cheap ,
Gotta subscribe to this thread! The possibility of custom PIDs would be of huge interest to me.
Seems like its stuck without any option to change on Kmph rather than mph for speed etc, its set to mph in torque
fma965 said:
Seems like its stuck without any option to change on Kmph rather than mph for speed etc, its set to mph in torque
Click to expand...
Click to collapse
Yeap a few things to iron out....
Just to tired to work on it tonight.... it was a long one yesterday to get the alpha done for today but planning to work on it this weekend....
Emil Borconi said:
Yeap a few things to iron out....
Just to tired to work on it tonight.... it was a long one yesterday to get the alpha done for today but planning to work on it this weekend....
Click to expand...
Click to collapse
No worries, i wrote that quickly... other than that seems good, still figuring out what my car supports though. thinking about selling my tablet setup and buying the same car thing as me
fma965 said:
No worries, i wrote that quickly... other than that seems good, still figuring out what my car supports though. thinking about selling my tablet setup and buying the same car thing as me
Click to expand...
Click to collapse
Well I love my setup but I HATE my handsfree, have to come up with some solution for that because it's cr...
Emil Borconi said:
Well I love my setup but I HATE my handsfree, have to come up with some solution for that because it's cr...
Click to expand...
Click to collapse
does it not support external microphones?
fma965 said:
does it not support external microphones?
Click to expand...
Click to collapse
No. I have to try with a USB soundcard (which I use with my Odroid) but haven't got the chance yet, or I might just hook my himbox to the AUX in and use it that way. The built in mic is almost unusable especially over 30 MPH.
And first version of the app is live!
Bought, installed and looking good.
I've got the Prius PIDs plugin installed in Torque so I can see the data on my Prius C.
Only about half those PIDs are available to be selected, it looks like it's hitting the maximum number of allowed items in the "Select PID" list.
Great, could you please tell me, where I can find it?
FormelLMS said:
Great, could you please tell me, where I can find it?
Click to expand...
Click to collapse
The XDALabs app was a pain, I had to:
Install the XDA app from the Play Store
Log in
Install the XDALabs app it prompted me to install
Log in again
Then open Emil's link from the first post in the XDALabs app.
Ok, thank you. Any chance to have this in play store?
Hi.
Sorry for the pain caused by XDA labs, unfortunately Google play rejected the app submission so I cannot make it available trough that channel.
As for custom PIDs yes intending to support them in the future. Currently torque doesn't provide a method to expose them to 3rd parties so I need to speak with Torque developer if that is possible, alternatively I will need to fallback to manual PID configuration.
I will see if I can build a quick webpage to host/sell the app could potentially make it easier to get the app, but it will make it more difficult to keep it updated.
Emil Borconi said:
Sorry for the pain caused by XDA labs, unfortunately Google play rejected the app submission so I cannot make it available trough that channel.
Click to expand...
Click to collapse
Understood, I had a feeling Google wasn't going to allow it.
One of the issues with XDA is that you can get there via the web but it's not obvious at all how to buy it from there.
Then you have to jump through hoops to get the right app.
Emil Borconi said:
As for custom PIDs yes intending to support them in the future. Currently torque doesn't provide a method to expose them to 3rd parties so I need to speak with Torque developer if that is possible, alternatively I will need to fallback to manual PID configuration.
Click to expand...
Click to collapse
It's already showing around half of the Prius custom PIDs, it's like the list just runs out of space for more items.
edit:
Screenshot link
leonkernan said:
Understood, I had a feeling Google wasn't going to allow it.
One of the issues with XDA is that you can get there via the web but it's not obvious at all how to buy it from there.
Then you have to jump through hoops to get the right app.
It's already showing around half of the Prius custom PIDs, it's like the list just runs out of space for more items.
Click to expand...
Click to collapse
I'll send you a logging version at some point this weekend just to see if how much data Torque actually send over. For example it doesn't show any of my custom PIDs for KIA.
Thanks for this, it is awesome..
A magnificent add to the current great app.
Here is photo of my test
too low ISO 320.
My Observation:
1: I added in Gauge 2 : Volts(CM), then put "13.5" in W.Level 1, and 12 in W.Level 2, when I switch to ODB2AA it wont open and switch back to the current tab.
then I changed W.Level 1 to "13" and it works, so looks like it wont accept a decimal value!, don't know if its a bug or error from my side.
2: Each time I switch to the OBD2AA tab it takes 13s for the data to be pulled.
3: Just once "no data pulling", I had to unplug/plug usb to work.
suggestion:
* It would be good if there is a timeout option for the data pulling to stop, so no 13s delay when switch back and forth in that time, I don't know if it is applicable in AA.
Great job Emil.
MAJED.y said:
A magnificent add to the current great app.
Here is photo of my test
My Observation:
1: I added in Gauge 2 : Volts(CM), then put "13.5" in W.Level 1, and 12 in W.Level 2, when I switch to ODB2AA it wont open and switch back to the current tab.
then I changed W.Level 1 to "13" and it works, so looks like it wont accept a decimal value!, don't know if its a bug or error from my side.
2: Each time I switch to the OBD2AA tab it takes 13s for the data to be pulled.
3: Just once "no data pulling", I had to unplug/plug usb to work.
suggestion:
* It would be good if there is a timeout option for the data pulling to stop, so no 13s delay when switch back and forth in that time.
Great job Emil.
Click to expand...
Click to collapse
Check your email The version you are mentioning is the Beta, the release version has all those sorted
Sorry I'm moving too fast
I got annoyed that the eye-comfort mode could only be scheduled on fixed times and I had to constantly change them during spring and autumn.
So I made this simple flow for the Automate app - it is probably something like Tasker but it is free for a task with a few blocks - ideal for cheapskates like me.
I used this flow by Sándor Illés to calculate sunset and sunrise times.
The flow
It gets current location, calculates the times and then sets them up as schedule times (eye_comfort_starttime and eye_comfort_endtime system variables).
Then it waits for 1:00 (am) and starts over again.
I just tested it for 3 days and it runs ok on my View 10 with EMUI 9.1. No idea whether it works on older and newer versions or not. //edit: Works okay after EMUI 10 update too.
How to?
Basically, you install Automate, go to the settings and enable resuming flows after system startup.
Extract and install this flow, start it and it should daily update the schedule times.
You obviously also have to have eye-comfort schedule enabled.
On a related note: Stronger eye-comfort filter
I always felt that the blue light filter using eye-comfort is quite weak. During my search for correct variables to modify, I discovered that the highest value for filter you can select using the slider in the eye-comfort settings is 20, but you can dial the filter up to 50 and it gets slightly stronger then!
It is user_set_warm system variable.
Funnily enough, there are also eye_comfort_lesswarm and eye_comfort_morewarm variables which change the range of the slider in the settings.
You can set the eye_comfort_morewarm to 50 and then the slider in the settings will let you set the filter stronger. Higher values than 50 turn the filter off though.
The system variables can be modified using the "system settings set" block in the Automate or simply using SetEdit app. They can probably be changed using ADB too, but I didn't try that. Sadly these settings reset after reboot.
No root required for any of that.
Great stuff! Looking for the same feature on my Huawei phone but unfortunately, the file that you have attached has been removed. Could you upload it again? Thanks
Samuel Grande said:
Great stuff! Looking for the same feature on my Huawei phone but unfortunately, the file that you have attached has been removed. Could you upload it again? Thanks
Click to expand...
Click to collapse
What, they just deleted all the user uploaded stuff when changing the boards? Now that's a shame.
Anyway, I reuploaded the file.