LiveView reverse-engineering effort

Search This thread

exception13

Senior Member
Mar 11, 2008
76
142
38
Kazan
mind if i would add a simple framebuffer?

like.. writing into a buffer and displaying the buffer to the oled with an added method.

sadly the buffer would take more than half of the avilable ram :/ 128 x 128 x 2 byte


what are you working on now?

Sent from my HTC Vision using xda app-developers app

i'm make framebuffer and add screen update on timer event
 

guv.

Senior Member
Aug 6, 2010
110
20
Looks like Cyanogenmod 10.1 reintroduces the problem, that had been described for stock 4.2 before.
Tried it on both my original galaxy s and galaxy note, both can pair the liveview but when trying to connect with openliveview, it looks like its working for a second and then the icon disappears again and the connection is lost.
The original SE app works, though.
 

smwinn7

Member
Dec 17, 2010
29
1
Chicagoland
@guv. I experienced the same problem, I tried the latest version available here on the forum and uninstalled and re-installed the app from the market same problem all around with the Liveview pairing but not connecting.
 

exception13

Senior Member
Mar 11, 2008
76
142
38
Kazan
add framebuffer (reduce avaliable memory to 32Kb) and update thread
update: dynamic garphics console demo
 

Attachments

  • olvfwp_test_2012121818.tar.bz2
    11.2 KB · Views: 61
Last edited:

xhozt

Senior Member
May 20, 2007
543
23
dallaS
Looks great only one big issue its got the same issue as i get on the SE version it keeps asking for a pairing key over and over and over ... ideas ?
 

kingstonxl

Senior Member
Jul 3, 2012
662
252
Poznań
Looks great only one big issue its got the same issue as i get on the SE version it keeps asking for a pairing key over and over and over ... ideas ?

Never happened to me. Did u pair with LiveView name in device list? If not than try pair only if there's name not MAC adres.

Pairing issue is not faulty apps. Its rather faulty ROM or hw problem.

Sent from my Nexus 7 using xda app-developers app
 
Last edited:

Alahdal

Senior Member
Jan 16, 2008
510
68
Saudi Arabia, Jeddah
Looks great only one big issue its got the same issue as i get on the SE version it keeps asking for a pairing key over and over and over ... ideas ?

What device and ROM you have. It happened to me with Galaxy Note and stock 4.1.2 .. But with the same device using CM10.1, I have no problem. I am using stock liveview.

Posted via mobile.
Galaxy Note N7000 burn with CM10.1
 

xhozt

Senior Member
May 20, 2007
543
23
dallaS
What device and ROM you have. It happened to me with Galaxy Note and stock 4.1.2 .. But with the same device using CM10.1, I have no problem. I am using stock liveview.

Posted via mobile.
Galaxy Note N7000 burn with CM10.1

on a AT&Tgalaxys3 stock jellybean here . I get the same issue on either stock or the open source .
 

jkorp

Member
Sep 24, 2012
37
30
Göteborg
I just tried to add the simple filter in the main branch. Since this is my first commit in a shared project, I made a very limited change to check out how it works.
The filter can be edited in the advanced settings (it was there but hidden in latest version). Hope this works out well for all of you, I have just made some limited testing with Galaxy S with Android 2.3.3.
 

jkorp

Member
Sep 24, 2012
37
30
Göteborg
did you change the encoding aswell? äüö are now wrong encoded on my liveview.

Sent from my HTC Vision using xda app-developers app

I also noticed that the encoding has changed. ÅÄÖ worked well before, but each character is now a two-byte character combination. Can't figure out where the change was done in the source code, thought... Any ideas?
 

renzenicolai

Senior Member
Aug 13, 2012
125
181
www.rnplus.nl
I also noticed that the encoding has changed. ÅÄÖ worked well before, but each character is now a two-byte character combination. Can't figure out where the change was done in the source code, thought... Any ideas?

Yep, just look in the src/ nl/ rnplus/ olv/ messages/ calls/ folder for the following files and and replace UTF-8 with iso-8859-1

- DisplayPanel.java
- GetAlertResponse.java

Could you please move the filter to the ShowNotificationReceiver in the LiveViewService?
I tried to add the filter but my implementation doesn't work / I could not verify it worked so I hid it away.

Please change the accessibility services back to their original state.

The ShowNotificationReceiver: (maybe you see the bug in an instant. If you don't please move your filter to this part of the app, since both accessibility services deliver the notifications to this receiver)

Code:
    public class ShowNotificationReceiver extends BroadcastReceiver {  
        @Override  
        public void onReceive(Context context, Intent intent) {  
                if (intent.getAction().equals(ACTION_RECEIVE_SMS)) {
                NotificationNeedsUpdate = true;
                ContentNotification notification = SMSNotificationManager.getNotificationContent(context, intent);
                LiveViewDbHelper.addNotification(myself, notification.getTitle(), notification.getContent(), LiveViewDbConstants.NTF_SMS, notification.getTimestamp());
                }
                else {
                        String notificationContentFilter = (new Prefs(myself)).getNotificationFilter();  // Added by jkorp
                if (!notificationContentFilter.contains(intent.getExtras().getString("contents"))) {
                        NotificationNeedsUpdate = true;
                        LiveViewDbHelper.addNotification(myself, intent.getExtras().getString("title"), intent.getExtras().getString("contents"), intent.getExtras().getInt("type"),  intent.getExtras().getLong("timestamp"));
                        Log.w("ShowNotificationReceiver", "Added new notification.");
                }
                else {
                        Log.w("ShowNotificationReceiver", "Notification not added because of filter.");
                }
            }
        }  
    }

Thank you for your help!
 

jkorp

Member
Sep 24, 2012
37
30
Göteborg
Yep, just look in the src/ nl/ rnplus/ olv/ messages/ calls/ folder for the following files and and replace UTF-8 with iso-8859-1

- DisplayPanel.java
- GetAlertResponse.java

Could you please move the filter to the ShowNotificationReceiver in the LiveViewService?
I tried to add the filter but my implementation doesn't work / I could not verify it worked so I hid it away.

Please change the accessibility services back to their original state.

The ShowNotificationReceiver: (maybe you see the bug in an instant. If you don't please move your filter to this part of the app, since both accessibility services deliver the notifications to this receiver)

Code:
    public class ShowNotificationReceiver extends BroadcastReceiver {  
        @Override  
        public void onReceive(Context context, Intent intent) {  
                if (intent.getAction().equals(ACTION_RECEIVE_SMS)) {
                NotificationNeedsUpdate = true;
                ContentNotification notification = SMSNotificationManager.getNotificationContent(context, intent);
                LiveViewDbHelper.addNotification(myself, notification.getTitle(), notification.getContent(), LiveViewDbConstants.NTF_SMS, notification.getTimestamp());
                }
                else {
                        String notificationContentFilter = (new Prefs(myself)).getNotificationFilter();  // Added by jkorp
                if (!notificationContentFilter.contains(intent.getExtras().getString("contents"))) {
                        NotificationNeedsUpdate = true;
                        LiveViewDbHelper.addNotification(myself, intent.getExtras().getString("title"), intent.getExtras().getString("contents"), intent.getExtras().getInt("type"),  intent.getExtras().getLong("timestamp"));
                        Log.w("ShowNotificationReceiver", "Added new notification.");
                }
                else {
                        Log.w("ShowNotificationReceiver", "Notification not added because of filter.");
                }
            }
        }  
    }

Thank you for your help!
I have reverted my changes, and will try to implement it in ShowNotificationReceiver instead (when I get time...;)).

When changing back the UTF-8 to iso-8859-1 it works again. Anyone seeing a reason to keep UTF-8? Does it work better with other languages?
 

kingstonxl

Senior Member
Jul 3, 2012
662
252
Poznań
UTF-8 is not working so lets change it back :)

In polish it showed ? marks on special chars so it would be nice to use utf8 or dono maybe some switch? Sony apps didn't have any problem with polish so they had some resolution how to make it work in multiple charsets. Does anyone have some ideas?

Sent from my Nexus 7 using xda app-developers app
 

jkorp

Member
Sep 24, 2012
37
30
Göteborg
I took a quick look, and the code in LiveViewService-->ShowNotificationReceiver is never used because the Intent is never sent from GetNotificationService (it is commented out). If I enable the code in GetNotificationService (and remove the call to the database there), it works well to filter out the notifications in ShowNotificationReceiver... Now my time is out for today...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    Hi all,

    A few weeks ago I started taking apart the LiveView software and manager. I'm really unhappy with the current plugin system, the menu structure and more. So, I started to reverse-engineer the Bluetooth protocol. I'm at the very beginning but it's looking promising.

    Here's the repo: https://github.com/BurntBrunch/LivelierView

    The protocol is not very difficult - just request-acknowledge-response serial communication over RFCOMM. Also, the kind people from SE didn't run the manager through Proguard (wink, wink, nudge, nudge ;) ).

    I also have what I *think* is a dump of the firmware but it seems either compressed or encrypted. Binwalk didn't find anything in it. If someone would be kind enough to take apart the software updater, we might figure out what's running on the actual device as well.

    Overall, I'm just starting but so far it's looking good (got time syncing working! it's at least a watch, if nothing else! :p ).

    Any help would be greatly appreciated (pull requests are more than welcome! :))
    10
    Well just a brief status update. The project I've started on github has been progressing, greatly in part from the contributions of boombuler.

    You can go there ( https://github.com/pedronveloso/OpenLiveView ) and check the README, and I've compiled and attached an APK so you guys can test for yourselves without having to clone the repo and compile ;). Right now that APK only asks for connecting with the device (has to be paired first of course) and then sends a Vibrate command to the LiveView. There's more commands done in the source then just that but the functionality has not yet received a dedicated UI since the whole thing is on a very early stage.

    Bare in mind that theres no point in reporting any bugs at this stage since I myself keep finding them with ease :p

    NOTE : You might have to uninstall LiveView first in order to test the app, at least I had to uninstall it because of Broadcasts that where getting in the way sometimes when the LiveView app was installed.
    9

    its not done yet. will need to enable getpixel in chibios gfx in order to have clean alpha overlapping. (well you cant see it anyways on a video)
    9
    Update!

    Here you go, the next update! :)

    Visible changes:
    I added mediacontrols (play/pause, previous track and next track) to the menu.

    Invisible changes (protocol):
    - Implemented brightness controll for the liveview display (off, dim and on)
    - Implemented ClearDisplay command
    - Implemented DisplayBitmap command

    Invisible changes (gui):
    - Added mediacontrolls like in the sony app when you long press the select key.

    Now the problem I am currently experiencing:
    The LiveView does not send back the navigate commands for left, right and select (short press) when in menu mode AND when out of menu mode (zero menuitems).

    My question to the original developer of the "net.sourcewalker.olv" app is if he can tell me how to make the liveview send those keypresses to the service.



    Something that I found out:
    the device sends DEVICESTATUS_ON back in stead of DEVICESTATUS_MENU when there are zero menu items, in that mode you have full controll over the screen (blanking and sending bitmaps).


    EDIT:
    Small bugfix (next button didn't work)
    9
    I'm sorry for being a noob again but what is OLV?
    Can there be a rom for the LiveView in the coming years?
    Is the LiveView open source?
    + can anyone provide me a detailed spec sheet of the LiveView... Like the processor and alll..

    Sent from my ST25i using Tapatalk 2

    1. OLV means: OpenLiveView wich is our project name (we have a custom android app that fully replaces sony's app)
    2. a rom is currently in developement as you can see within this post.
    3. the liveview itself is not opensource. our stuff however is.
    4. i cannot provide you a detailed spec sheet right now but will do it when i have some time digging out that info.

    so.. now to what i want to post:



    current snapshot of my firmware folder in attachments.

    current binary of the firmware is also in the attachments. (for thoose who just want to try it without compiling and know what they do)


    how to use the firmware folder:
    http://forum.xda-developers.com/showpost.php?p=38341041&postcount=731

    (yes, i suck at english. digg through it or wait till i explain it on http://openliveview.com)



    stuff that is on my todo:

    • display timeout (aprox 5 minutes to implement it)
    • bluetooth (need help)
    • write access to the internal storage (need help)
    • access to the current battery charge info (need help)
    • basic menu system (i'm on it)
    • stopwatch (i'm on it after the menu)
    • digital clock (will do it after i did the stopwatch)
    • other stuff
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone