Re: [android-developers] HD Displays and JavaBinder: !!! FAILED BINDER TRANSACTION !!!

2011-11-22 Thread Mark Murphy
2011/11/21 Tomáš  Hubálek tom.huba...@gmail.com:
 BTW: Splitting bitmap into multiple chunks does now work as
 undocumented limit is for whole RemoteView update.

Then use multiple RemoteView updates, one per chunk. Or use a ContentProvider.

 1) What Google recommends to do?

 - Use content provider?

Most likely.

 Why I don't get any Exception when something fails? Why there is only
 LogCat message that can't be handled correctly?

If I had to guess, the failure is in another process, either the OS
process or the home screen's process. You will only get exceptions for
failures in your own process.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

_The Busy Coder's Guide to *Advanced* Android Development_ Version 2.1
Available!

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] HD Displays and JavaBinder: !!! FAILED BINDER TRANSACTION !!!

2011-11-22 Thread Kostya Vasilyev
Using multiple remote views per update is a sure way to get a messed up
widget after a configuration change, and sometimes sooner.

2011/11/22 Mark Murphy mmur...@commonsware.com

 2011/11/21 Tomáš  Hubálek tom.huba...@gmail.com:
  BTW: Splitting bitmap into multiple chunks does now work as
  undocumented limit is for whole RemoteView update.

 Then use multiple RemoteView updates, one per chunk. Or use a
 ContentProvider.

  1) What Google recommends to do?
 
  - Use content provider?

 Most likely.

  Why I don't get any Exception when something fails? Why there is only
  LogCat message that can't be handled correctly?

 If I had to guess, the failure is in another process, either the OS
 process or the home screen's process. You will only get exceptions for
 failures in your own process.

 --
 Mark Murphy (a Commons Guy)
 http://commonsware.com | http://github.com/commonsguy
 http://commonsware.com/blog | http://twitter.com/commonsguy

 _The Busy Coder's Guide to *Advanced* Android Development_ Version 2.1
 Available!

 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] HD Displays and JavaBinder: !!! FAILED BINDER TRANSACTION !!!

2011-11-22 Thread Mark Murphy
OK, so, use a content provider.

Admittedly, it'd be nice if there were a way to serve up files from
RAM via a content provider -- the only way I know to serve files via
openFile() is for them to actually exist as files somewhere, meaning
disk I/O for no particularly good reason.

On Tue, Nov 22, 2011 at 7:27 AM, Kostya Vasilyev kmans...@gmail.com wrote:
 Using multiple remote views per update is a sure way to get a messed up
 widget after a configuration change, and sometimes sooner.

 2011/11/22 Mark Murphy mmur...@commonsware.com

 2011/11/21 Tomáš  Hubálek tom.huba...@gmail.com:
  BTW: Splitting bitmap into multiple chunks does now work as
  undocumented limit is for whole RemoteView update.

 Then use multiple RemoteView updates, one per chunk. Or use a
 ContentProvider.

  1) What Google recommends to do?
 
  - Use content provider?

 Most likely.

  Why I don't get any Exception when something fails? Why there is only
  LogCat message that can't be handled correctly?

 If I had to guess, the failure is in another process, either the OS
 process or the home screen's process. You will only get exceptions for
 failures in your own process.

 --
 Mark Murphy (a Commons Guy)
 http://commonsware.com | http://github.com/commonsguy
 http://commonsware.com/blog | http://twitter.com/commonsguy

 _The Busy Coder's Guide to *Advanced* Android Development_ Version 2.1
 Available!

 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en

 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en



-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

_The Busy Coder's Guide to *Advanced* Android Development_ Version 2.1
Available!

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] HD Displays and JavaBinder: !!! FAILED BINDER TRANSACTION !!!

2011-11-21 Thread Tomáš Hubálek
Hello,

my app Make Your Clock Widget (https://market.android.com/details?
id=net.hubalek.android.makeyourclock.pro) is generating widget content
as custom drawn bitmap.

As you probably know there is (not specified in documentation but
existing) limit on size of bitmap sent via RemoteViews.

It was possible to live with it (I just didn't allow bigger widgets)
but with HD displays this stops working as even 4x2 widget contains
too big bitmap as 294 wide * 146 high * 1.6^2 (density of SGS display)
was bellow limit but 294 * 146 * 1.97^2 (density of Galaxy Nexus) is
above limit.

There exist following workarounds but I'm not happy with them:

1) Create bitmap with Config.ARGB_?This causes banding for
gradients and also antialiasing does not look superior. And also
Config.ARGB_ is deprecated.

2) Generate bitmap in lower resolution and let layout upscale bitmap
to appropriate size? This counteracts to idea of HD displays that
should provide superior graphics quality

3) Created content provider that provides bitmap for RemoveViews
bitmap and use method setImageViewUri()?

BTW: Splitting bitmap into multiple chunks does now work as
undocumented limit is for whole RemoteView update.

So my questions/conclusions:

1) What Google recommends to do?

- Don't allow smaller widgets than 4x2 for HD displays?
- Render them in poor quality?
- Use content provider?

2) I'm really unhappy with widgets API and behavior

Why widget behavior didn't change since Android 1.5 when there was
single core/MDPI only devices. It reminds me Bill Gate's 640 kB or RAM
is enough :-/

Why I don't get any Exception when something fails? Why there is only
LogCat message that can't be handled correctly?

Why there is not meaningful documentation about setImageBitmap()
method limitations in JavaDoc?

Thanks
Tom

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en