View Single Post
Old 12-20-2011, 05:52 PM   #22
ixtab
(offline)
ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.
 
ixtab's Avatar
 
Posts: 2,907
Karma: 6736092
Join Date: Dec 2011
Device: K3, K4, K5, KPW, KPW2
Quote:
Originally Posted by yifanlu View Post
That's a lot of questions, I'll try to answer them.
Yeah sorry, I realized that after posting.
Quote:
Originally Posted by yifanlu View Post
The Kindle "OS" or whatever you call it starts out when the Kernel calls upstart (not init.d anymore). Upstart loads the low level linux components. Lipc is this thing amazon wrote to allow all components to talk to one another. Everything in the Kindle is moduler. In theory, I can write a python implementation of the media player and set a lipc event handler and property reader and music will play through python. Pillows are the HTML5/JS component of the system. It's weird how they decided to make some parts of the OS HTML. My guess is that either 1) they wanted the whole thing to be HTML and halfway through realized it wouldn't work and fell back to Java, but didn't have time to rewrite everything or 2) they wanted the whole thing is Java but didn't have time to rewrite everything and then quickly whipped up some HTML stuff they were doing for the browser anyways. Either way, pillows are registered into the appdb (a sqlite3 database) which also contains a listing of book handlers (java reader plugins) and download handlers (unused). Overall, it's VERY messy.
Cool, thanks for the explanation! It gets slightly clearer now. I'll look around some more...

Quote:
Originally Posted by yifanlu View Post
I use upstart to restart the framework "restart framework" from shell would do it. Using upstart is the best way because it allows you to mock a reboot of the system without actually rebooting. You can debug native apps with the gdb that is built in. You can debug Java using JDB remote by enabling debugging and using usbnetwork.
Again, thanks. I'll try to stay away from the native part as long as I can (too unfamiliar with both gdb and arm assembly), but JDB sounds like a plan to me.

Quote:
Originally Posted by yifanlu View Post
I agree that we need a wiki or something, but I'm afraid that it'll be just me writing everything and I don't have the time for that.
I totally see your point, and of course that's not the intention of it. I think that for exchange and brand new stuff, the forum is the best place. But ideally, the relevant infos should be aggregated somewhere in a more or less structured manner. Anyway, I just realized that I possibly didn't have to look any further than https://wiki.mobileread.com/. I'll try to get something on there, and we'll see how it goes.

So, finally back on topic with the launcher. A few remarks, as tested with my device after installation and a reboot:

- the installer as such works fine.
- the loop-mount of the configuration file (which is an excellent idea BTW!) does not always seem to work reliably here. I cannot reproduce the case, but in some cases the mount just vanished. As a side note, when issuing "restart framework" as you mentioned above, it may also be mounted multiple times. Furthermore, it will also never appear on the 'settings' and 'experimental' page, but only within ebooks. My personal suggestion is for this particular case to simply not enable the plugin at all, but to just leave the home screen booklet patched. IMO, this avoids confusion ("Launcher" only available on Home screen. Ican remember and live with that) as well as other complications. Just a thought though.

- usbnetwork toggling works. a small glitch: after being connected via usbNetwork and manually issuing 'reboot', the label says "Stop Usbnetwork" (instead of "Start") when invoked the first time (i.e. when actually still disabled). Selecting this once enables usbNetwork connectivity, and afterwards, the labels are correct. This is reproducible, so I guess it just writes a state file somewhere which is re-read with the wrong state after reboot(?)

- orientation changes don't work here at all. When using any landscape orientation, showlog -f says:
111220:221736 winmgr[1073]: W ligl:fbioctl::Waiting for marker

whereas for portrait inverted, I always get:
111220:221739 winmgr[1073]: E lua:invlock::Invalid global lock: D
111220:221740 winmgr[1073]: W ligl:fbioctl::Waiting for marker

On my device, this also happens when manually invoking "ipc-set-prop com.lab126.winmgr orientationLock [UDLR]". Nothing happens, ever.

OK, I hope that's of some use. Thanks again :-)
ixtab is offline   Reply With Quote