[background=rgb(245, 245, 245)]sfreemanoh,[/background]
the real fun thing is the math behind it,
build.prop dpi changes the outcome of an internal formula which happen to read that value, DisplayMetrics.DENSITY_DEVICE. (320 for nexus) DisplayMetrics.DENSITY_DEFAULT is 160 always according to the sdk.
Code:
int shortSizeDp = shortSize * DisplayMetrics.DENSITY_DEFAULT / DisplayMetrics.DENSITY_DEVICE;<br />
mStatusBarCanHide = shortSizeDp < 600;
now the nexus has a shortest side of 720, so 720 * 160 / 320 = 360dp. thats why in phone mode apps will target their layoutcontainers up to 360dp.
if you change the dpi to 192, the formula will be: 720 * 160 / 192 = 600dp,
thats why the old play market went to tab UI at 192 dpi, because its higher res container lay at 600dp.
the new one needs 800dp (!!), so you will need 720 * 160 / 800 = 144 dpi in build.prop - it wont have 2 panes at 160 dpi.
600dp USED to be tabUI for systemUI in ICS, but google changed it. sysUI's tabUI is now at 720px, thats why you need 160dpi in jellybean.
you see how stupid it is? in lame ass build.prop tablet mode to make sure to get just about every UI there is you'd need to go as low as 90dpi for 1280dp, and apps can change it any day, just like google changed it for sysUI and jellybean. good luck with that.
whats worse though are the side effects:
- all apps shrink, most of them to unreadable mush, facebook and many others are almost unusable
- all apps are subjected to 720dp at 160 dpi, if they can swallow it or not. some apps break to pieces. you are fortunate that the market works, in ics at 192 dpi it did not.
- you cant get sane tabUI for most two-pane apps in jellybean because those get their definitions from framework-res and google introduced heavy margins that waste almost 40% of the screen. thats why your android settings look so dodgy
- overlapping, awful launchers, phone smashed, email app crashes
its sad, coz in reality,
what you call "tablet mode" is a single app, systemUI. that one displays bars (nav/status or combined systembar). because of that lousy little app you smash your entire phone. tablet mode for apps is something entirely different, they bring their own layout containers anyway. in android an app says, ok, i will switch to another UI if i detect a screen as big as 1280dp. its just coincidence that this build.prop tweaking happens to affect the packagemanager in such a way that it reads high res containers. in truth dpi does nothing but scaling, tablet UI has not so much to do with it. in truth tablet mode is not "small" and does not shrink apps, it wont smash apps, it wont project ALL apps into tabUI even if they work better in phoneUI like chrome, it does not overlap, etc., build.prop tweaking does that --- so yeah, im calling it a really shitty "solution." and now ask yourself why cyanogenmod has refused to include it into their rom.