[Updated] Special Tailored Android PDF Viewer - Nook Touch Themes and Apps

Hewllo everyone, here is a modification of the Android PDF Viewer. I've added some features to it:
1. Gamma adjustment, in settings -> select gamma value
2. Memorize adjustment over page position, which can be used to mimic crop pages.
3. Memorize adjustment over page position on Even/Odd pages -> in More->Even/odd page positioning
= Updated =
4. Left, Right Tap action definition -> in settings->Action for left/right tap
5. Enlarged page number display
6. Partial/Full Refresh toggle, set number of pages for full refresh
7. Selectable A2 Mode during movement
8. Built-in A2Mode support
9. Watermark Removal -> settings -> filter threshold
= Update =
10. Table of contents(Multi-Level) bug corrected(bug originated from APV Pro).
You can download it here:
code.google.com/p/apv-eink/downloads/list
You can obtain the source code here, as the original APV, it's GPLv3'd:
github.com/kkspeed/apv-eink/
Please leave me some comments here!

great, thanks a lot.. Are those features implemented in both available versions or just in the -dev one?

cceerrtt said:
great, thanks a lot.. Are those features implemented in both available versions or just in the -dev one?
Click to expand...
Click to collapse
Well, I'm sorry for the version naming. I only come up with the version naming method today. I decide to keep the main version number consistent with the original APV(here is 0.3.3dev01), then my own version number is appended at last (that is rev01).
There is actually only one development branch. Just download the one that is uploaded most recent one.

Does it do multi-touch?

Renate NST said:
Does it do multi-touch?
Click to expand...
Click to collapse
Yes, APV has built-in support for Multi-touch. But you've got to get your NST multi-touch ready.
But multi-touch in APV in not recommended as the zoom ratio changes too rapidly in APV with multi-touch, trust me, it's really hard to control..

I can't download from google play
Is there any possibility to put apv-eink here too ?

hshsh said:
I can't download from google play
Is there any possibility to put apv-eink here too ?
Click to expand...
Click to collapse
You have the download link in the 1st post... what are you talking about?

It's not a big deal, but as long as you're writing an app only for Nook Touch,
why don't you use EpdController directly instead of through reflection?
I put a jar for linking here: http://forum.xda-developers.com/showthread.php?p=25296711#post25296711

cceerrtt said:
You have the download link in the 1st post... what are you talking about?
Click to expand...
Click to collapse
oh !
I read "code.google" mistakenly "play.google" .
It was a stupid mistake

Renate NST said:
It's not a big deal, but as long as you're writing an app only for Nook Touch,
why don't you use EpdController directly instead of through reflection?
I put a jar for linking here: http://forum.xda-developers.com/showthread.php?p=25296711#post25296711
Click to expand...
Click to collapse
Thanks, but the N2EpdController.java was NOT written by me and I continued to use it.
Then I'd like this app to work on all Android based E-ink devices but I only have a NST to perform tests upon.

Related

PictureViewer - call for developers, designers, and beta-users

Hi all,
The idea is to create an amazing picture viewer for Android, free, open-source, and community powered. This thread is a call for Android developers, designers, and users so that we can kickstart this project.
IMO, we should start by:
1) users saying what they would like to see in a picture viewer app (in terms of UI, features, ...)
2) gathering a team of developers - everyone is welcome independent of their skill level (if you just want ot learn as we go thats great too)
3) gathering a team of designers - same as above
4) creating a few app concepts (devs and designers involved)
5) kick-off development
6) iterate the app with users feedback
So anyone (dev, designer, user) that is interested please post here the skills you are willing to contribute with, and your preferred way of communication, and project management software (IM, forum, etc)
So... what are you waiting for, get involved!
Cheers,
about me: I am the developer of RockOn (http://abrantix.org/rockon.php)
I'm in! I will be the token learner! My prefered form of contact/conversation is IM and email. I have accounts for all of the major messengers.
As for concept ideas, the ability to swipe to change picture is very high on my list. Also, as mentioned in the rock on app thread, a layout similar to the rock on layout would be nice for thumbnail viewing.
yeah, i'm happy to help out =]
I might be able to help out. Either development or testing. I prefer email, but also have Google Talk. As for project management, whatever works for everyone else works for me.
Sounds good to me. I am a C/Linux guy who dabbles in Java when he has to. I have almost no GUI skills that lead to anything besides functionality, I am an engineer. I prefer IM or group chat for lengthy design discussions.
As far as functionality I would personally like, I think the RockOn look/feel is pretty close:
Basic:
- scrolling list of thumbnails (maybe like a film roll?) while showing a larger version of the active item in the scrolling film roll
- tap any image to see full screen (best fit maximize, best fit crop, possibly scale to fit (yuck))
- auto rotate of course
- slideshow in order or random with variable delay time in seconds (1,2,5,10,15, tap only)
- optionally override screen timeout when on charger and on battery
Advanced:
- ability to rotate/delete/edit pictures
- show any picture info (mainly titles/when taken/where taken)
- transitions, possibly opengl?
- select background music playlist (which is part of why I thought RockOn was such a good fit)
- defined slideshows (like playlists for music) (maybe as easy as selecting what directories should be in this slideshow and what playlists to use for music)
- widget control to select and start/resume a slideshow (or maybe just a shortcut per slideshow?)
- show subdirectories like the built in picture viewer does? (by creating custom thumbnails)
Really out there stuff:
- integrated media station for pictures/music/movies since they can all benefit from a nice coherent GUI frontend
knoxbrder said:
Sounds good to me. I am a C/Linux guy who dabbles in Java when he has to. I have almost no GUI skills that lead to anything besides functionality, I am an engineer. I prefer IM or group chat for lengthy design discussions.
As far as functionality I would personally like, I think the RockOn look/feel is pretty close:
Basic:
- scrolling list of thumbnails (maybe like a film roll?) while showing a larger version of the active item in the scrolling film roll
- tap any image to see full screen (best fit maximize, best fit crop, possibly scale to fit (yuck))
- auto rotate of course
- slideshow in order or random with variable delay time in seconds (1,2,5,10,15, tap only)
- optionally override screen timeout when on charger and on battery
Advanced:
- ability to rotate/delete/edit pictures
- show any picture info (mainly titles/when taken/where taken)
- transitions, possibly opengl?
- select background music playlist (which is part of why I thought RockOn was such a good fit)
- defined slideshows (like playlists for music) (maybe as easy as selecting what directories should be in this slideshow and what playlists to use for music)
- widget control to select and start/resume a slideshow (or maybe just a shortcut per slideshow?)
- show subdirectories like the built in picture viewer does? (by creating custom thumbnails)
Really out there stuff:
- integrated media station for pictures/music/movies since they can all benefit from a nice coherent GUI frontend
Click to expand...
Click to collapse
All very good points, I agree 100%. I'd like to add "browse pictures by swipe" to that list though, and double-tap to zoom in and double-tap-hold(xxx ms) to reset zoom.
I don't know the first thing about java/coding, but I have experience in graphical design (Android themes/icons/etc).
Unfortunately, I have so little experience with linux that I might as well know nothing and I'm going deeper C++ so no Java yet =( and no knowledge of GUI programming either) but I do have a suggestion, you could try a format similar to the ScatterView that is on Microsoft Surface, there is already source code that somewhat does this made my Luke Hutchinson for multitouch In the middle of this page If there is anything I can help with I would be more than happy to.
BTW: I prefer E-Mail/IM for communication ([email protected])
Take a look at the LOL Cats application. The picture browsing is great, left right swipt to navigate, up swipe to go to "film strip" and tap to zoom. It doesn't have all the features we'd be looking for but it would be a start. Perhaps they'd be willing to share some code.
I will be happy when any developer add multitouch (like in browser from JF )
and gesture
Alright so we have a few people interested in joining already, and nice ideas to start with. Let's schedule a date for an IRC/MSN/Skype conference to kick this off and start creating some app concepts and distributing tasks.
As for myself, I am really into animation-related stuff like rotations, translations, and 3d-like whenever possible. Id also like to add features for automatic categorization of pictures (for instance making dynamic albums by data- last week/month/6 months/whatever -, location, or even image similarity).
I will have a few hours Wed April 29, 2009 say 9pm-11pm EST.
Busy Thursday / Friday.
I will be free Sat May 2, 2009 after 6pm EST or pretty much any time Sun May 3, 2009 8am - 10pm EST.
@bjehsus, nEx.software, mannyb - Check your PMs
@knoxbrder - check you email (sent via the forums).
Ok well to help out with the project I'm trying to find out how to code the inertial movement for teh scatterview. If anyone has any ideas please E-Mail me ([email protected])
Edit: Please note that I have very little knowledge of Java so it will be in C++ syntax but should be easily translated from what I've been told
I am not a dev and can't really contribute to your work. However, please allow me to make one suggestion....
You already noted that you may wish to integrate the following:
widget control to select and start/resume a slideshow (or maybe just a shortcut per slideshow?)
I would suggest that you integrate a widget into your app. The widget could act like an table top lcd picture frame in which the photos change periodically.
Long press on the widget could open up the full app. Closing the app returns to the home screen with the widget on the screen.
Also, please make it so that the user can designate a folder for the widget, and one (+ the widget folder) for the full app. That way a user could have family photos alternating in the picture frame widget folder, but when the full app opens the user could look at all of the photos (widget file + regular file).
You would also have an icon in the app grid for those who didn't want to use the widget.
Just my $.02. I'm excited to see your progress and will be willing to be a beta tester if you want. I like to have photos of my wife as my "desktop" but, love photos in general. I've been waiting for an app like this!!
Thanks for considering these ideas.
***Note: If you consider working on the widget first you could enter the widget into the contest and then build the app after the widget. Just something to consider.***
maybe you can PM haykuro / JF to help you get the kernel for multi-touch and incorporate that into your photo viewer :]]
i would so pay for this!
shaneaus said:
I am not a dev and can't really contribute to your work. However, please allow me to make one suggestion....
You already noted that you may wish to integrate the following:
widget control to select and start/resume a slideshow (or maybe just a shortcut per slideshow?)
I would suggest that you integrate a widget into your app. The widget could act like an table top lcd picture frame in which the photos change periodically.
Long press on the widget could open up the full app. Closing the app returns to the home screen with the widget on the screen.
Also, please make it so that the user can designate a folder for the widget, and one (+ the widget folder) for the full app. That way a user could have family photos alternating in the picture frame widget folder, but when the full app opens the user could look at all of the photos (widget file + regular file).
You would also have an icon in the app grid for those who didn't want to use the widget.
Just my $.02. I'm excited to see your progress and will be willing to be a beta tester if you want. I like to have photos of my wife as my "desktop" but, love photos in general. I've been waiting for an app like this!!
Thanks for considering these ideas.
***Note: If you consider working on the widget first you could enter the widget into the contest and then build the app after the widget. Just something to consider.***
Click to expand...
Click to collapse
We have a list of ideas we (and other users) would like to see, I will add this to our list, and we will see what happens
maybe you can PM haykuro / JF to help you get the kernel for multi-touch and incorporate that into your photo viewer :]]
Click to expand...
Click to collapse
This is definitely in our list of wants! It may not happen right away, but we will have to see how the project plays out.

[Android 2.1+] Total Network Monitor (updated 06 Feb 2012)

Total Network Monitor is an application that display in real-time your internet connection speed !
You will be able to see what's your download and upload speed in a small on top window in any program you operate !
Main features:
- display upload and download speed over your 3G or WiFi connection real-time in a configurable window that sits on top of your current application
- customize the look of the window (size, color, position, border)
- set 3G/WiFi speed threshold for window display (the real-time network speed window will not be shown until the threshold will be reached)
- starts at boot
https://market.android.com/details?id=alex.munteanu.totalnetwork&feature=search_result
06.02.2012
- Added option to choose measurament unit (Kilobytes or Kilobits)
- Added option to display only the download speed
seems like not bad ya.. thanks for the sharing
can you guarantee the readings are 100% accurate?
ryan14 said:
can you guarantee the readings are 100% accurate?
Click to expand...
Click to collapse
If the data provided by the Android API are correct then yes, the maths are correct as the readings
Version 1.1 is out:
Added option to change text size
Small fixes
ou nice. hemde cok cok ıyı
Really cool, just downloaded it from the market.
Very nice, i will try it
Sent from my HTC Sensation Z710e using XDA Premium App
great app! Just bought it in Market! I missed an app that makes the transparent window on the screen...
Once I had it on symbian years ago, but couldn't find one on Android...until now!
THX!!!!!!!!!!!!!!
Was just wondering if the app can show the bandwidth used per services or application?
Nice I use it!
is it possible to rather show this in the notification pull down instead of such a window?
i mean there is an app for this already but it is quite bloated with other stuff. having such a minimal app with the option to show either such a small window or in the notification pull down would be better.
Good Program. Good Work.
a user said:
is it possible to rather show this in the notification pull down instead of such a window?
i mean there is an app for this already but it is quite bloated with other stuff. having such a minimal app with the option to show either such a small window or in the notification pull down would be better.
Click to expand...
Click to collapse
But having this will defeat the purpose of the application, that to show this info wherever you are (in a full screen game, other app) not to access the notification area for the info
having this as a second optional way to show this does not defeat nothing. in your scenario you still have the way to display the infos as it is now.
it is an optional addition, not a substitution.
a fost doar o idea
Version 1.4 is on Market:
- Added option to choose measurament unit (Kilobytes or Kilobits)
- Added option to display only the download speed
Redsignal
Great application. seems really useful

[App] Tile World Clock, Now Supports Wide Tile, more customizations available

Since the keyboard disappearing issue has been resolved with the new ROM, it may be a good time to share the Tile World Clock Tool.
Features:
1. Pin the clock for any timezone you choose to your desktop
2. Clock will be updated every minute.
3. 8 different clock types to choose from.
4. Dynamic updated tile according to your theme.
Disclaimer: The clock on the tile may not be correct for various reasons. Please use the system clock for important times.
1. When background updating is working, the clock may delay for 1 minute.
2. When backgrond updating is not working for various reasions, for example, battery saving mode. The clock on the tile will stop.
2012.01.11: Update to 2.2. Minor update. The clock will be slightly more accurate (Delay within 5 seconds in my test)
2012.01.31: Update to 2.3. Supporting Wide Tile as requested. Require InterOp Unlock. This version may not be very stable at this moment. Is this the first Home Brew that supports dynamic wide tile?
Help Needed: Is there any good code who can save PNG file with low footprint and high quality?
2012.02.29: Found a really memory efficient PNG encoder. Now it is time to continue my development.
2012.03.14: Update to 2.5. More customization options available. You can even choose a picture from your library as background.
2012.03.22: Added a slightly updated new 2.5 XAP. Changed a few background images. Fixed a bug so that two line style Time/Date is correctly displayed at center.
For me it took around 5-6 (sometimes around 10) minutes to update the tile, with background tasks running. Nothing can be done i guess.
But an awesome app, nonetheless.
Thanks
Very Nice App. I had no issues in time update with background update turned on. We also did a video review on wpxbox http://www.youtube.com/watch?v=YBoreopVpuk
I will suggest you to give user option to how often they want to which can be anything between one minute to 30 minutes.
A bit more but you can think of combining reminders with each tile so it triggers them in that time zone.
Thanks.....Good application works properly on my Omnia 7
wpxbox said:
Very Nice App. I had no issues in time update with background update turned on. We also did a video review on wpxbox http://www.youtube.com/watch?v=YBoreopVpuk
I will suggest you to give user option to how often they want to which can be anything between one minute to 30 minutes.
A bit more but you can think of combining reminders with each tile so it triggers them in that time zone.
Click to expand...
Click to collapse
Thanks for the review.
Is there anyone interested in a clock that can delay upto 30 minutes?
As for the reminder, I think counting down and time ellapsed/stop watch could be good ideas.
could you make this app luks more offficial? Obiviously you used the wired font fron the default OS tile font, it need tweaks
xyhchina said:
could you make this app luks more offficial? Obiviously you used the wired font fron the default OS tile font, it need tweaks
Click to expand...
Click to collapse
That's good suggestions that I should take. Unfortunately, I am not so good at UI designing. If you have more specific suggestions, pleaes let me know.
Delay till 30 minutes can be only suitable for one set of time, When I get to sleep. Saves Battery. Please do correct me if I am wrong.
If you could make the tile look the the HTC sense flip clock this would get a gazillion downloads especially if it does update properly every minute
Sent from my PI39100 using XDA Windows Phone 7 App
wpxbox said:
Delay till 30 minutes can be only suitable for one set of time, When I get to sleep. Saves Battery. Please do correct me if I am wrong.
Click to expand...
Click to collapse
In my app, this won't happen. I mentioned this in response to your suggestion to allow user to select how frequent they could update the clock.
Aaron McCarthy said:
If you could make the tile look the the HTC sense flip clock this would get a gazillion downloads especially if it does update properly every minute
Sent from my PI39100 using XDA Windows Phone 7 App
Click to expand...
Click to collapse
The clock images can change but no animation is possible. But my intention is to match the tile format since art is not my specialty. If anybody interested in making it more beautiful, please let me know.
Clock Name bug
I discovered a bug when entering a Clock Name that uses a space such as "New York". After using a space I am unable to enter any more characters - the keys no longer worked. But, I could get around this by exiting the app and starting it again and continuing the "York" part of the clock name.
Other people that only include cities without a space in the name would not encounter this bug.
So far, a good & practical app otherwise as I have only used it for 20 mins.
Well done!
Another cool app after the office/pdf uploader. I really like it !
Could you allow to add a custom background (.jpg) image for the live tile ?
Greetz
contable
devassist said:
I discovered a bug when entering a Clock Name that uses a space such as "New York". After using a space I am unable to enter any more characters - the keys no longer worked. But, I could get around this by exiting the app and starting it again and continuing the "York" part of the clock name.
Other people that only include cities without a space in the name would not encounter this bug.
So far, a good & practical app otherwise as I have only used it for 20 mins.
Well done!
Click to expand...
Click to collapse
Can't find any code in this page that will lead to this behavior. And the same issue did not appear in my test. However, your symptom looks very similiar to the keyboard disappearing bug of Mango. You may want to upgrade to 8107 or disable background task to verify.
contable said:
Another cool app after the office/pdf uploader. I really like it !
Could you allow to add a custom background (.jpg) image for the live tile ?
Greetz
contable
Click to expand...
Click to collapse
Any specifics for this request? Select a picture from the phone library? If so, that will involve quite a bit of image resizing work.
Thunder_ said:
Can't find any code in this page that will lead to this behavior. And the same issue did not appear in my test. However, your symptom looks very similiar to the keyboard disappearing bug of Mango. You may want to upgrade to 8107 or disable background task to verify.
Click to expand...
Click to collapse
Yes, you are right. It was a problem at my end. Thanks!
Thunder_ said:
Disclaimer: The clock on the tile may not be correct for various reasons. Please use the system clock for important times.
Click to expand...
Click to collapse
Actually this problem happen on my mozart with mango 8107 rom. The time just stop at battery save on and close screen. Sometimes need repin clock tile then work again. Hope next version fix that issue.
anyway , this is awesome project. Thank you!
eric1204 said:
Actually this problem happen on my mozart with mango 8107 rom. The time just stop at battery save on and close screen. Sometimes need repin clock tile then work again. Hope next version fix that issue.
anyway , this is awesome project. Thank you!
Click to expand...
Click to collapse
This is a limitation of WP7. I have no idea how to fix it at this moment.
Thunder_ said:
Any specifics for this request? Select a picture from the phone library? If so, that will involve quite a bit of image resizing work.
Click to expand...
Click to collapse
Selecting a picture from the picture hub only allows to use .jpg files.
I would prefer to choose a picture from the isolated storage of your app so it´s possible to use .jpg or .png files. The files can be copied easyly to the isolated storage with Windows Phone Power Tools. Just a suggestion...
Anyway it´s great. I have tested it over the night and the tile didn´t stop to work.
The difference to the system time is max. 1 minute....
contable said:
Selecting a picture from the picture hub only allows to use .jpg files.
I would prefer to choose a picture from the isolated storage of your app so it´s possible to use .jpg or .png files. The files can be copied easyly to the isolated storage with Windows Phone Power Tools. Just a suggestion...
Anyway it´s great. I have tested it over the night and the tile didn´t stop to work.
The difference to the system time is max. 1 minute....
Click to expand...
Click to collapse
Understand your point. Don't think this a common request but I will try when I got time.
As for the time difference, my application currently runs every 60 seconds. That's where the difference comes from. But I recently found a way to reduce the difference to, let's say, five seconds. I upload the new verion when I complete it.

NoRefresh enabler

Hi,
I am trying to put a code together to control the refresh behavior of the e-ink screen. The final goal is to have a drop-in library for app developers to help making their app more e-ink friendly.
The code works already for the PRS-T1, but needs a different driver for the Nook Touch (N2EpdController included).
My one and only beta tester gets the famous "There is a problem parsing the package" error. Pls find enclosed the sources.
I would be grateful if someone could fix possible Eclipse setting or other errors.
Hi,
I have some interest in adapting apps to the eink screen, so I will try to help with this. Unfortunately, I cannot post in the dev forums yet.
When you get error installing apps via android UI, it is useful to do via "adb install" to be able to know the error cause. The message was "INSTALL_FAILED_OLDER_SDK", which I solved by lowering the android:minSdkVersion parameter in Manifest. Then, the app installed and ran fine, but didn't do the desired effect yet. I will check the code now...
---------- Post added at 02:41 AM ---------- Previous post was at 01:53 AM ----------
I see that you're trying to use enterA2Mode() for the nook (btw, there is a typo at NoRefreshEnablerActivity.java:29, it should read EINK_NOOK). I've been playing around with this some time ago when I started developing a fast e-ink drawing app for the NST, you can see it here: https://github.com/marspeople/E-Paper (WIP).
With few testing I've done, I guess the 1-bit mode (A2) setting is not applied globally: it should take effect only in the View from which it is called. I haven't investigated further to try to use it globally.
Hi marspeople,
Thanks for pointing out the type, it should read
} else if (DeviceInfo.EINK_NOOK)
Regarding the global value of mode setting. From what I understand, A2 is a permanent mode, so whatever function or app is setting the updatemode, it is kept. With the PRS-T1, it is reset by calling any stock (Sony) app. For the Nook I don't know..
Good luck in compiling, hopefully we come to a version which works on both devices. Then I can proceed to dynamically change the updatemode within an app.
Yes, the A2 mode is kept until any process resets the EPD. Using logcat, I noticed several epd_reset_region messages appearing automatically when I close your app to go back to the launcher. It seems the system overrides the EPD setting, making impossible to use A2 system-wide (at least by this method).
However, if you want A2 just for an app, calling enterA2mode() will probably work, as I used in my own app above.
Can you send me your apk?
salsichad2 said:
Can you send me your apk?
Click to expand...
Click to collapse
You mean the apk for "NoRefresh" or my drawing app?
Hi marspeople,
I would be most interested to know why the initial source code does compile ok, works on the PRS-T1 and does not install on the Nook Touch + the fixes.
With this knowledge I can write either an app to set refresh modes or within apps.
Did you succeed to compile and install on Nook?
Hi again,
in your N2EpdController.java
Code:
83: mtSetRegion.invoke(null, "aarddict", enumsRegion[region], regionParams, enumsMode[mode]);
I would like to replace the hardcoded "aarddict" by something dynamic.
What would be the correct function to infer the wanted name?
Code:
activity.class.getName()
this.getClass().toString()
.. ?
bardo8430 said:
Hi marspeople,
I would be most interested to know why the initial source code does compile ok, works on the PRS-T1 and does not install on the Nook Touch + the fixes.
With this knowledge I can write either an app to set refresh modes or within apps.
Did you succeed to compile and install on Nook?
Click to expand...
Click to collapse
Yes, sorry about the confusion, but I managed to do it, despite the A2 mode didn't work. What I did was just edit the AndroidManifest.xml, changing the android:minSdkVersion parameter to 7 (since the NST runs Android 2.1).
Good luck finding out how to set A2 mode permanently. I guess you don't have a Nook, so feel free to ask me for testing purposes.
Since the Nook A2 mode seems to be overridden when switching foreground activity, I've tried another approach with a background service which toggles A2 mode when requested by user. This way, the foreground activity isn't switched and "fast refreshing" mode works (until you change activity).
This fast refresh mode (called A2) is only possible because it uses only 1-bit depth, i.e, just black on white, meaning you can't see grayscale pictures but it's good enough for black text on white background and scrolling. I have not "created it", it is built-in from the device (you can test using the stock reader, it is activated when holding a page button). What I implemented is a way to activate and deactivate it at user will from inside any app.
Thanks to dairyknight for his N2EpdController class, which made this possible.
Thanks to bardo8430 for bringing the idea.
Thanks to AndroSS source code for screenshots used in automatic contrast.
Changelog:
01/Mar: Now when you launch the app and it is already running, it will activate NoRefresh mode. So you can also use an activation shortcut to the app using NookTouchTools (i.e. B&N's book icon at top left corner).
02/Mar: Improve activation shortcut to perform toggle between modes. Tap gestures aren't needed anymore (use "-noGestures" apk version if you don't want them).
04/Mar: Got rid of initial ghosting by redrawing the screen after activating A2.
04/Mar (2): Minor improvement of removing ghosting at screen edges.
12/Mar (Beta): Now you can adjust contrast in A2 mode. Images shouldn't be dark or black anymore if you raise the contrast a bit.
22/May: Completely redesigned version 2.0:
- Several options can be customized via settings screen.
- NoRefresh can be toggled by manual app shortcut, tap gestures or automatically according to screen animation (new).
- New App Whitelist to avoid unwanted activation in specific apps (except for manual mode).
- Background service can be launched at boot.
- Small improvements and tweaks.
- Custom app icon (finally )
06/Jun: Fix crash on empty whitelist
08/Jul: (Version 2.1)
- Automatic contrast when activating NoRefresh, according to total "brightness" of the screen (simple algorithm). This should ask you for root permission.
- Also supports manual setting in specific situations (customizable).
- Fix possible crash at startup.
26/Jul: (Version 2.2)
- Fix contrast setting behaviour
06/Dec:
- Alternative version with fixed compatibility for FW 1.2.0 available at https://github.com/marspeople/NoRefreshToggle/downloads
First Video: http://youtu.be/6pBPsyno5PY
Other Video: http://youtu.be/kBbl6egyPsQ
Another demo: http://youtu.be/5b7JjllImjM
Repository: https://github.com/marspeople/NoRefreshToggle
Great to see that it works on the Nook! Good job.
When I try to compile on Eclipse, I have to remove the below Override:
//@Override
public boolean onTouch(View v, MotionEvent event) {
otherwise I get an error: The method onTouch(View, MotionEvent) of type A2Service must override a superclass method
When I compile with this mod and run the app, nothing happens after using your gestures. Except that I tap on other icons which then try to launch other apps.
Should NoRefreshToggle keep the focus?
I have a suspicion: The PRS-T1 needs to call a function of the Sony library with extended parameters to pass the updatemode. ANY function carrying the mUpdateMode parameter would do - but it must be called. Which might be the problem here. In the used EinkListView.java, a lot of "injection" functions like below are defined.
Code:
@Override
public void scrollTo(int x, int y) {
try {
Method invalidateMethod = super.getClass().getMethod("scrollTo",
int.class, int.class, int.class);
invalidateMethod.invoke(this, x, y , mUpdateMode);
} catch(Exception e) {
e.printStackTrace();
}
But your code has neither a Listview, nor would any injection function trigger. I am afraid you would have to make the app use a ListView (or WebView).
Can you?
bardo8430 said:
Great to see that it works on the Nook! Good job.
When I try to compile on Eclipse, I have to remove the below Override:
//@Override
public boolean onTouch(View v, MotionEvent event) {
otherwise I get an error: The method onTouch(View, MotionEvent) of type A2Service must override a superclass method
When I compile with this mod and run the app, nothing happens after using your gestures. Except that I tap on other icons which then try to launch other apps.
Should NoRefreshToggle keep the focus?
Click to expand...
Click to collapse
Well, I noticed that problem of accidentally tapping unwanted widgets, I would recommend tapping on a free area of the screen. I could use an overlay button, but it would occasionally get in the way too. What do you mean by "keep the focus"?
---------- Post added at 09:13 PM ---------- Previous post was at 09:05 PM ----------
bardo8430 said:
I have a suspicion: The PRS-T1 needs to call a function of the Sony library with extended parameters to pass the updatemode. ANY function carrying the mUpdateMode parameter would do - but it must be called. Which might be the problem here. In the used EinkListView.java, a lot of "injection" functions like below are defined.
Code:
@Override
public void scrollTo(int x, int y) {
try {
Method invalidateMethod = super.getClass().getMethod("scrollTo",
int.class, int.class, int.class);
invalidateMethod.invoke(this, x, y , mUpdateMode);
} catch(Exception e) {
e.printStackTrace();
}
But your code has neither a Listview, nor would any injection function trigger. I am afraid you would have to make the app use a ListView (or WebView).
Can you?
Click to expand...
Click to collapse
Well, to capture touch events I've used a dummy View which is added to an overlay (see A2Service.java:43). Despite being an android Service instead of Activity, maybe you can instantiate your ListView there and hopefully it will work.
Thanks for the hint on the dummy view, will try.
"keep the focus"?: window manager speak, I mean that a tap stays within your app and does not act on the icons below.
bardo8430 said:
Thanks for the hint on the dummy view, will try.
"keep the focus"?: window manager speak, I mean that a tap stays within your app and does not act on the icons below.
Click to expand...
Click to collapse
Since I'm using a transparent overlay, I have to let touch events pass through, otherwise only my app would see them.
PS: I've added a demo video at a previous post.
I've been trying to improve the functionality of the app by changing from this manual toggle approach to something like: fast mode is triggered (a bit after) when user starts dragging his finger on the screen and restored when released.
However, I've been searching how to do this with no success so far. The invisible overlay that detects touch events currently is only able to capture MotionEvent.ACTION_OUTSIDE event type, which is useful to detect a tap, but can't deal with a drag. I also need that the drag is passed normally to the app below (to perform scrolling or whatever).
I've found this page (http://stackoverflow.com/questions/8073803/android-multi-touch-and-type-system-overlay) in which is proposed a solution that can detect a drag but can't pass it to the app below.
The code is now here: https://github.com/marspeople/NoRefreshToggle . I would appreciate any help from developers.
Maybe it can be run every 1 second when screen is on. I mean nook is not locked. I don't think that changing one parameter would eat battery. Is it worth a try?
Hi marspeople,
thanks again for taking this. My initial intention was to help app developers with no e-ink experience to easily adapt their code. Doing these things inside an app is much easier but needs access to the source.
See the related question on stackoverflow:
http://stackoverflow.com/questions/9391710/adapt-scrolling-swiping-to-e-ink-screens
The external app was used as a mere demonstrator to have it work on the NST and PRS-T1. Good to have a repository for it now.
marspeople said:
Ok, I think I've got it.
Since the Nook A2 mode seems to be overridden when switching foreground activity, I've tried another approach with a background service which toggles A2 mode when requested by user via a touch gesture. This way, the foreground activity isn't switched and "fast refreshing" mode works (until you change activity).
The activation gestures I'm currently using (unfortunately, it seems you can't use hardware keys using this approach) are:
- 4 "downward-right" taps (each tap must be done to the right and below the previous one) to activate (A2 mode)
- 4 "upward-left" taps to deactivate (Normal mode)
Video: http://youtu.be/6pBPsyno5PY
Here is the source code and a apk. bardo8430, I believe it would be easy to port this to the PRS-T1.
Click to expand...
Click to collapse
Noob question.
So I just install the apk and run it and I have Norefresh.
dark_hawk said:
Noob question.
So I just install the apk and run it and I have Norefresh.
Click to expand...
Click to collapse
yes, just open the norefresh app, and like the youtube video tap the screen from top left to bottom right 4 point
but i think the trade off is the screen go black&white with no grayscale (at lease for me)

[APP][5.0+]OBD2 Plugin for Android Auto - Use Torque with AndroidAuto

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

Categories

Resources