While creating ME4Android I came across some problems
with Android that I would like to report back to Google.
** 1 **
Provide a way to read any file from resource folder using
its original filename. This would basically provide a
similar facility as is available on JavaME. Maybe implement
Class.getResourceAsStream in such a way to read files from
/res/files with Strings and not integer ids.
** 2 **
Android.view.View should also have a rect specific way
to postInvalidate. Right now you can only postInvalidate
the whole screen. Better yet, get rid of postInvalidate
completely and provide a proper implementation of invalidate
that would work regardless of which thread it is called
from. Just like JavaME.
** 3 **
Provide a way *not* to combine View.invalidates together
because union of a small top rectangle with a small bottom
rectangle forces a large rectangle into the screen and
that is slow. Games (and other) apps update small rects in
different areas so it is best not to combine (do a union)
of these rects.
** 4 **
Provide a way for the app to request all pending invalidates
to be processed immediately. Like what is available on JavaME
with serviceRepaints. Basically the code following serviceRepaints
can be guaranteed that the canvas bitmap would be up to date
so getPixels/setPixels would be synchronized properly. Without
this it is a nightmare to figure out on a multi-threaded app
when things are ready for visual processing or not.
** 5 **
Remove the few (6) Javax.microedition (JavaME) classes from
android.jar. Basically provide a complete implementation of
JavaME, or don't provide anything at all.
** 6 **
Android.graphics.Bitmap.getPixels should return colors in
argb, it returns them in abgr.
> While creating ME4Android I came across some problems > with Android that I would like to report back to Google.
> ** 1 ** > Provide a way to read any file from resource folder using > its original filename. This would basically provide a > similar facility as is available on JavaME. Maybe implement > Class.getResourceAsStream in such a way to read files from > /res/files with Strings and not integer ids.
> ** 2 ** > Android.view.View should also have a rect specific way > to postInvalidate. Right now you can only postInvalidate > the whole screen. Better yet, get rid of postInvalidate > completely and provide a proper implementation of invalidate > that would work regardless of which thread it is called > from. Just like JavaME.
> ** 3 ** > Provide a way *not* to combine View.invalidates together > because union of a small top rectangle with a small bottom > rectangle forces a large rectangle into the screen and > that is slow. Games (and other) apps update small rects in > different areas so it is best not to combine (do a union) > of these rects.
> ** 4 ** > Provide a way for the app to request all pending invalidates > to be processed immediately. Like what is available on JavaME > with serviceRepaints. Basically the code following serviceRepaints > can be guaranteed that the canvas bitmap would be up to date > so getPixels/setPixels would be synchronized properly. Without > this it is a nightmare to figure out on a multi-threaded app > when things are ready for visual processing or not.
> ** 5 ** > Remove the few (6) Javax.microedition (JavaME) classes from > android.jar. Basically provide a complete implementation of > JavaME, or don't provide anything at all.
> ** 6 ** > Android.graphics.Bitmap.getPixels should return colors in > argb, it returns them in abgr.
** 7 **
There is something wrong when creating "png" Bitmaps
with android.graphics.BitmapFactory.decodeByteArray(byte[] imageData,
int offset, int length)
The image looses detail and looks terrible. I have a pile of these to
pass on that look great on PC, Blackberries and Cellphones but
terrible on Android (Best Buy logo for example).
> ** 7 **
> There is something wrong when creating "png" Bitmaps
> with android.graphics.BitmapFactory.decodeByteArray(byte[] imageData,
> int offset, int length)
> The image looses detail and looks terrible. I have a pile of these to
> pass on that look great on PC, Blackberries and Cellphones but
> terrible on Android (Best Buy logo for example).
** 9 **
Android is limited to "-qemu -net nic -net user" networking on eth0.
This limits the default android network device. E.g.
- ICMP is not possible (most noteworth: ICMP/Echo, better known as
"ping")
- Opening priviledged ports (<1024)
As well as most "advanced" networking options.
It is possible to open a second device, but it's impossible to change
eth0 due to some hardcoded assumptions in adb initialization.
> ** 9 ** > Android is limited to "-qemu -net nic -net user" networking on eth0. > This limits the default android network device. E.g. > - ICMP is not possible (most noteworth: ICMP/Echo, better known as > "ping") > - Opening priviledged ports (<1024) > As well as most "advanced" networking options. > It is possible to open a second device, but it's impossible to change > eth0 due to some hardcoded assumptions in adb initialization.
Dan, you can't be serious. How do you track bugs and all the
information that gets attached to it, using a groupware interface?
You need to setup a public bugzilla, and you need to dedicate one or
more headcounts in handling it (not only from an IT POV, that's pretty
trivial, but from a bug screening POV - remove junk entries, mark
duplicates, route bugs to proper developer groups, etc...).
On Nov 26, 10:38 am, "Dan Morrill" <morri...@google.com> wrote:
> Everyone -- thanks, this is awesome. Keep these reports coming, please!
> We will get these logged.
> - Dan
> On Nov 26, 2007 8:50 AM, rtreffer <rtref...@googlemail.com> wrote:
> > ** 9 **
> > Android is limited to "-qemu -net nic -net user" networking on eth0.
> > This limits the default android network device. E.g.
> > - ICMP is not possible (most noteworth: ICMP/Echo, better known as
> > "ping")
> > - Opening priviledged ports (<1024)
> > As well as most "advanced" networking options.
> > It is possible to open a second device, but it's impossible to change
> > eth0 due to some hardcoded assumptions in adb initialization.
Unfortunately there is currently no externally-accessible issue-tracking system.
We are considering how we might implement such a system, but we don't have an answer yet. The biggest snag is simply keeping our internal issue tracker in sync with an external one. So, it's a process problem, rather than a technical problem.
- Dan
On Nov 26, 2007 11:13 AM, Hong <lordh...@gmail.com> wrote:
To copy here from two separate threads - for reference purposes.
** 12 **
SQLite3 cursors don't have the update support:
Cursor c = database.query("SELECT * FROM Developers", null);
c.supportsUpdates() returns false.
** 13 **
Annotation API exist but annotations are not implemented.
When trying to do a
Object o = new Object();
o.getClass().getAnnotations();
It raises an exception:
"native method not implemented"
Backtrace:
java.lang.Class.getDeclaredAnnotations(Native Method)
java.lang.Class.getAnnotations(Class.java:202)
you can just setup a bugzilla somewhere on your network, just need a standalone web server ($400 desktop will do), can even run off over DSL line if for security reason u dont want it to be part of google network/datacenter, and that's it. we can keep submitting bugs and you review it once in awhile... seems there's more corporate red-tapes to me than anything technically-challenge :)
How can ppl check the bug database to see eventual resolutions? Or
feed more information to the bug? Or how can the developer ask the bug
reporter for more details and yet this remain logged?
The internal and external problem would have been magically solved
from day one, if this were to be an open source project from the
beginning.
On Nov 26, 9:31 pm, "Dan Morrill" <morri...@google.com> wrote:
> Unfortunately there is currently no externally-accessible issue-tracking
> system.
> We are considering how we might implement such a system, but we don't have
> an answer yet. The biggest snag is simply keeping our internal issue
> tracker in sync with an external one. So, it's a process problem, rather
> than a technical problem.
> - Dan
> On Nov 26, 2007 11:13 AM, Hong <lordh...@gmail.com> wrote:
> > is there a dedicated email/forum for bug reporting?
> > sending bug reports in group discussion seems odd... and often than
> > not overlooked/ignored.
I've created small Wiki section for known bugs (don't like bugzilla,
but may be will set up something else later). So, if anybody else
help, "known bugs" section will be always up to date. Anyway I'll be
updating it on base of this maillist and android-internals for my
personal purposes.
Of course it's clumsy solution (and only useful a little bit for
developers, not googlers), but till we have no official bug tracker -
may be useful.
> I've created small Wiki section for known bugs (don't like bugzilla, > but may be will set up something else later). So, if anybody else > help, "known bugs" section will be always up to date. Anyway I'll be > updating it on base of this maillist and android-internals for my > personal purposes.
> Of course it's clumsy solution (and only useful a little bit for > developers, not googlers), but till we have no official bug tracker - > may be useful.
> PS: > Bugs are divided in three subsections by me, may be not correctly, so > edit it yourself, or kick me.
> --- > Best regards, > Alexey
> On Nov 28, 3:59 am, gaz <billy00the00...@yahoo.com> wrote: > > How can ppl check the bug database to see eventual resolutions? Or > > feed more information to the bug?
> Dude, the bug #6 is killing me since day one!!!!
> Wow..
> On Nov 23, 2007 2:37 PM, cbazza <cba...@poliplus.com> wrote:
> > While creating ME4Android I came across some problems > > with Android that I would like to report back to Google.
> > ** 1 ** > > Provide a way to read any file from resource folder using > > its original filename. This would basically provide a > > similar facility as is available on JavaME. Maybe implement > > Class.getResourceAsStream in such a way to read files from > > /res/files with Strings and not integer ids.
> > ** 2 ** > > Android.view.View should also have a rect specific way > > to postInvalidate. Right now you can only postInvalidate > > the whole screen. Better yet, get rid of postInvalidate > > completely and provide a proper implementation of invalidate > > that would work regardless of which thread it is called > > from. Just like JavaME.
> > ** 3 ** > > Provide a way *not* to combine View.invalidates together > > because union of a small top rectangle with a small bottom > > rectangle forces a large rectangle into the screen and > > that is slow. Games (and other) apps update small rects in > > different areas so it is best not to combine (do a union) > > of these rects.
> > ** 4 ** > > Provide a way for the app to request all pending invalidates > > to be processed immediately. Like what is available on JavaME > > with serviceRepaints. Basically the code following serviceRepaints > > can be guaranteed that the canvas bitmap would be up to date > > so getPixels/setPixels would be synchronized properly. Without > > this it is a nightmare to figure out on a multi-threaded app > > when things are ready for visual processing or not.
> > ** 5 ** > > Remove the few (6) Javax.microedition (JavaME) classes from > > android.jar. Basically provide a complete implementation of > > JavaME, or don't provide anything at all.
> > ** 6 ** > > Android.graphics.Bitmap.getPixels should return colors in > > argb, it returns them in abgr.
** 15 **
No-exception-reported program-terminated when the set(object, value)
method of java.lang.reflect.Field is invoked with null as a value. The
Field in question is a String.
From other posts:
ttp://groups.google.com/group/android-developers/browse_thread/thread/c29b2 598c36aae0e/1e5bc719efe6388b?lnk=gst&q=media#1e5bc719efe6388b
** 17 **
I tried the code below and noticed something strange. If you call this
code for a particular event, it plays the mp3 exactly for 9 calls. On
the 10th call the emulator crashes.
** 18 **
Media Player does not play anything from network, neither with http
nor rtsp links. It loads some data in buffer but there is no sound (or
error messages) at all.
On Dec 5, 3:59 pm, baldmountain <baldmount...@gmail.com> wrote:
At least MapView HTTP requests do not recognize HTTP proxy setup
implanted using
adb shell sqlite3 /data/data/com.google.android.providers.settings/
databases/settings.db "\"INSERT INTO system
VALUES(100,'http_proxy','x.x.x.x:xxxx');\"
As far this behavior is shown with all HttpClientXXX, has to be found
out.
> From other posts:
> ttp://groups.google.com/group/android-developers/browse_thread/thread/c29b2 -598c36aae0e/1e5bc719efe6388b?lnk=gst&q=media#1e5bc719efe6388b
> ** 17 **
> I tried the code below and noticed something strange. If you call this
> code for a particular event, it plays the mp3 exactly for 9 calls. On
> the 10th call the emulator crashes.
> ** 18 **
> Media Player does not play anything from network, neither with http
> nor rtsp links. It loads some data in buffer but there is no sound (or
> error messages) at all.
> On Dec 5, 3:59 pm, baldmountain <baldmount...@gmail.com> wrote:
> > ** 16 **
> > java.util.zip generates some CRC errors on valid zip files. The
> > truezip Java library decodes the same files on android without error.- Zitierten Text ausblenden -
> On 6 Dez., 14:20, sergkr <serg...@gmail.com> wrote:
> > From other posts:
> > ttp://groups.google.com/group/android-developers/browse_thread/thread/c29b2 -598c36aae0e/1e5bc719efe6388b?lnk=gst&q=media#1e5bc719efe6388b
> > ** 17 **
> > I tried the code below and noticed something strange. If you call this
> > code for a particular event, it plays the mp3 exactly for 9 calls. On
> > the 10th call the emulator crashes.
> > ** 18 **
> > Media Player does not play anything from network, neither with http
> > nor rtsp links. It loads some data in buffer but there is no sound (or
> > error messages) at all.
> > On Dec 5, 3:59 pm, baldmountain <baldmount...@gmail.com> wrote:
> > > ** 16 **
> > > java.util.zip generates some CRC errors on valid zip files. The
> > > truezip Java library decodes the same files on android without error.- Zitierten Text ausblenden -