--
Jayesh

On Wed, Oct 21, 2009 at 7:39 PM, Streets Of Boston
<flyingdutc...@gmail.com>wrote:

>
> I still would try to inflate your view inside your main gui-thread and
> not in a seperate background thread.
>
> The fact that it works on other phones does not guarantee it works on
> all phones, if inflating views on non-gui threads is 'officially' not
> supported.
>

Could you elaborate on how it is 'officially' not supported?

I know that a particular exception is thrown if the framework finds that a
different thread is trying to manipulate widgets in view hierarchy.(I hit it
yesterday elsewhere in the code, and it is not the same as this error). I
haven't found any documentation in this matter, that mentions what is
supported/forbidden practice in this matter. Did I miss something?


>
> Who knows, it may fix it (if you already haven't tried it). :-)
> But i may be wrong...
>
> On Oct 20, 11:57 pm, Jayesh Salvi <jayeshsa...@gmail.com> wrote:
> > Thanks Shane and Amir for confirming the doubts.
> > It's frustrating that all I can say to users is to wait until Sprint/HTC
> > issues firmware update, then hopefully the problem will be fixed. The
> users
> > are willing to test if I have any fix, but I can't find root cause even
> > after looking inside the android code, let alone a fix/workaround.
> >
> > Does anyone know if Sprint or HTC have any channels to report complaints?
> > Are there any means to know when they will issue next firmware update?
> >
> > IIUC Sprint HTC Hero is "with Google" branded phone. I would have assumed
> it
> > would be the one with most conformance to Android platform; one that has
> > passed all test suites required to qualify for the "with Google" logo.
> Yet
> > we see these anomalies. :(
> >
> > --
> > Jayesh
> >
> >
> >
> > On Mon, Oct 19, 2009 at 1:15 PM, Amir Alagic <amirs...@gmail.com> wrote:
> >
> > > I saw somwhere else that one developer also has problems only with HTC
> > > Hero (Sprint) ...
> >
> > > On Oct 18, 9:48 am, Shane <shanemenchi...@gmail.com> wrote:
> > > > We are having problems only with HTC Hero phones as well.  Our issue
> > > > is different that yours but it is very disappointing to see not all
> > > > phones handle the SDK the same.
> >
> > > >
> http://groups.google.com/group/android-developers/browse_thread/threa...
> >
> > > > I suspect this is just going to get worse as more branded android
> > > > experiences get released by manufacturers.  GRRRRRRRR
> >
> > > > On Oct 12, 9:46 pm, Jayesh Salvi <jayeshsa...@gmail.com> wrote:
> >
> > > > > I tried to look into the android framework code
> > > > > (link<
> > >http://www.google.com/codesearch/p?hl=en&sa=N&cd=1&ct=rc#uX1GffpyOZk/.
> ..
> > > > > android.view.InflateException Error inflating class
> > > > > java.lang.reflect.Constructor&l=458>). The topmost frame refers to
> a
> > > 'throw'
> > > > > statement(line 512) that is inside a catch of a lower level
> exception.
> > > I
> > > > > can't tell what part of the createView() function throws that lower
> > > level
> > > > > exception.
> > > > > I also tried to search around for the error string "Error inflating
> > > class
> > > > > java.lang.reflect.Constructor", but couldn't found one with a
> similar
> > > stack
> > > > > trace. (There are known crashes with this error message caused
> inside
> > > > > android.preference.* package, but mine is a simple widget layout
> and
> > > not
> > > > > preferences, as you might have seen in the XML file I attached
> > > earlier.)
> >
> > > > > I now have 9 reports of this crash and all of them are confirmed to
> be
> > > using
> > > > > Sprint HTC Hero devices. This problem hasn't been reported on any
> other
> > > > > phone. Is it fair to assume that it's a problem in that particular
> ROM?
> > > If
> > > > > that's so, then what options do I have to resolve this issue -
> should I
> > > wait
> > > > > helplessly for HTC/Sprint's next update?
> >
> > > > > Any suggestions are appreciated.
> >
> > > > > Thanks.
> > > > > --
> > > > > Jayesh
> >
> > > > > On Mon, Oct 12, 2009 at 8:34 PM, Jayesh Salvi <
> jayeshsa...@gmail.com>
> > > wrote:
> >
> > > > > > --
> > > > > > Jayesh
> >
> > > > > > On Mon, Oct 12, 2009 at 7:49 PM, Streets Of Boston <
> > > > > > flyingdutc...@gmail.com> wrote:
> >
> > > > > >> I might be mistaken,
> > > > > >> But this part of the stack-trace worries me a bit:
> >
> > > > > >>    android.view.LayoutInflater.inflate(LayoutInflater.java:276)
> > > > > >>
>  com.altcanvas.readerscope.ItemDetails.<init>(ItemDetails.java:
> > > > > >> 145)
> >
> > >  com.altcanvas.readerscope.ItemDetails.getInstance(ItemDetails.java:
> > > > > >> 566)
> > > > > >>    com.altcanvas.readerscope.ReaderTask.doInBackground
> > > > > >> (ReaderTask.java:1027)
> >
> > > > > >> Are you inflating a view in a background-thread and not in the
> main
> > > > > >> gui-thread?
> > > > > >> But then again, your code works on other Android phones....
> >
> > > > > > Yes that's true. The layout is inflated in background thread, but
> is
> > > made
> > > > > > part of the root hierarchy (setContentView) only in the GUI
> thread.
> >
> > > > > > This doesn't give any problem on emulator or any other phones.
> >
> > > > > >> On Oct 12, 12:02 am, Jayesh Salvi <jayeshsa...@gmail.com>
> wrote:
> > > > > >> > --
> > > > > >> > Jayesh
> >
> > > > > >> > On Mon, Oct 12, 2009 at 1:11 AM, Romain Guy <
> romain...@google.com
> >
> > > > > >> wrote:
> >
> > > > > >> > > Hi,
> >
> > > > > >> > > The stack trace you showed is not useful. This is the top of
> the
> > > > > >> > > exception chain, which means this exception was caused by
> > > something
> > > > > >> > > else. Please show the "application specific stack frames"
> you
> > > removed.
> >
> > > > > >> > The complete stack trace is:
> >
> > > > > >> > --------- Cause ---------
> >
> > > > > >> > android.view.InflateException: Binary XML file line #27: Error
> > > inflating
> > > > > >> > class java.lang.reflect.Constructor
> >
> > > android.view.LayoutInflater.createView(LayoutInflater.java:512)
> >
> > >
> com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayo­­­utInflater.java:56)
> >
> > > android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562)
> > > > > >> >
> android.view.LayoutInflater.rInflate(LayoutInflater.java:617)
> > > > > >> >
> android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
> > > > > >> >
> android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
> > > > > >> >
> android.view.LayoutInflater.inflate(LayoutInflater.java:407)
> > > > > >> >
> android.view.LayoutInflater.inflate(LayoutInflater.java:320)
> > > > > >> >
> android.view.LayoutInflater.inflate(LayoutInflater.java:276)
> >
> > > com.altcanvas.readerscope.ItemDetails.<init>(ItemDetails.java:145)
> >
> > > com.altcanvas.readerscope.ItemDetails.getInstance(ItemDetails.java:566)
> >
> > >
> com.altcanvas.readerscope.ReaderTask.doInBackground(ReaderTask.java:1027)
> >
> > > com.altcanvas.readerscope.ReaderTask.doInBackground(ReaderTask.java:21)
> > > > > >> >
> com.altcanvas.readerscope.UserTask$2.call(UserTask.java:187)
> >
> > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256)
> > > > > >> >     java.util.concurrent.FutureTask.run(FutureTask.java:122)
> >
> > >
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j­­­ava:648)
> >
> > >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:­­­673)
> > > > > >> >     java.lang.Thread.run(Thread.java:1058)
> > > > > >> > -------------------------------
> >
> > > > > >> > The code around line 145 in ItemDetails.java is:
> >
> > > > > >> > 144.        widerContainer = new LinearLayout(app);
> >
> > > > > >> > 145.        widerContainer.addView((LinearLayout) inflater
> >
> > > > > >> > 146.                    .inflate(R.layout.delcs,null),
> layoutFW);
> >
> > > > > >> > 147.        widerContainer.addView((LinearLayout) inflater
> >
> > > > > >> > 148.                    .inflate(R.layout.digg,null),
> layoutFW);
> >
> > > > > >> > > On Sun, Oct 11, 2009 at 12:34 PM, Jayesh Salvi <
> > > jayeshsa...@gmail.com
> >
> > > > > >> > > wrote:
> > > > > >> > > > Hi,
> > > > > >> > > > In past couple of days, users of my app have sent crash
> > > reports
> > > > > >> > > indicating
> > > > > >> > > > errors in layout inflation.
> > > > > >> > > > "android.view.InflateException: Binary XML file line #27:
> > > Error
> > > > > >> inflating
> > > > > >> > > > class java.lang.reflect.Constructor"
> > > > > >> > > > After some investigation I found out that all four of them
> > > were
> > > > > >> using the
> > > > > >> > > > new Sprint HTC Hero devices. This error hasn't been
> reported
> > > on any
> > > > > >> other
> > > > > >> > > > device/ROM nor could I repro it in the emulator.
> > > > > >> > > > From searching around, I figured this is the kind of error
> > > that one
> > > > > >> gets
> > > > > >> > > if
> > > > > >> > > > layout is too big or too wide. Although my layout is very
> well
> > > > > >> within the
> > > > > >> > > > limits that Android framework puts, I split it further and
> > > asked the
> > > > > >> > > users
> > > > > >> > > > to test. However, even with this fix the users are seeing
> > > similar
> > > > > >> crash
> > > > > >> > > > while inflating the layout.
> > > > > >> > > > Has anyone else had same experience with the new Hero
> devices?
> > > > > >> > > > Any suggestions on how I can proceed to fix/workaround the
> > > issue -
> > > > > >> given
> > > > > >> > > > that I don't have access to any such device?
> > > > > >> > > > Following is the detailed stack trace of the crash:
> >
> > > > > >> > > > android.view.InflateException: Binary XML file line #27:
> Error
> > > > > >> inflating
> > > > > >> > > > class java.lang.reflect.Constructor
> >
> > > android.view.LayoutInflater.createView(LayoutInflater.java:512)
> >
> > >
> com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayo­­­utInflater.java:56)
> >
> > > android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562)
> >
> > > android.view.LayoutInflater.rInflate(LayoutInflater.java:617)
> >
> > > android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
> >
> > > android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
> >
> > > android.view.LayoutInflater.inflate(LayoutInflater.java:407)
> >
> > > android.view.LayoutInflater.inflate(LayoutInflater.java:320)
> >
> > > android.view.LayoutInflater.inflate(LayoutInflater.java:276)
> >
> > > > > >> > > > ....
> >
> > > > > >> > > > <-- application specific stack frames -->
> >
> > > > > >> > > > Thanks,
> > > > > >> > > > --
> > > > > >> > > > Jayesh
> >
> > > > > >> > > --
> > > > > >> > > Romain Guy
> > > > > >> > > Android framework engineer
> > > > > >> > > romain...@android.com
> >
> > > > > >> > > Note: please don't send private questions to me, as I don't
> have
> > > time
> > > > > >> > > to provide private support.  All such questions should be
> posted
> > > on
> > > > > >> > > public forums, where I and others can see and answer them-
> Hide
> > > quoted
> > > > > >> text -
> >
> > > > > >> > - Show quoted text -- Hide quoted text -
> >
> > > > - Show quoted text -- Hide quoted text -
> >
> > - Show quoted text -
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to