Hello,

Do you know the issue ID that this fix has assigned?

Thanks,

Lucas

On Aug 24, 4:12 am, Romain Guy <[email protected]> wrote:
> This issue is fixed in Donut but the source code available in the open
> is not the latest version.
>
> 2009/8/24 Justin <[email protected]>:
>
>
>
>
>
> > This issue still happened in Donut.
>
> > I want to describe my structure first. There are two main view in my
> > Activity, one is Gallery another is a FrameLayout, I named it
> > FullSizeViewer which can show fit-to-screen photo. When tapping a
> > photo in Gallery, the screen changes to FullSizeViewer. FullSizeViewer
> > adds and removes from PhoneWindow dynamically.
> > The Gallery and FullSizeViewer load photo from SD card dynamically
> > (Loading and decoding in the other thread, and posted bitmap back to
> > main thread).
>
> > I found there is a member variable called 'mRealFocusedView' in
> > ViewRoot which sets to a wrong view (the view doesn't detach to any
> > parent) when this exception occurs and ViewRoot uses this wrong view
> > to calculating scroll distance and drawing rectangle.
>
> > In my case, when tapping a photo in Gallery and enter in
> > FullSizeViewer, the mRealFocusedView of ViewRoot is correct basically.
> > Sometimes the mRealFocusedView of ViewRoot is the Gallery's child
> > view. At this moment, this issue occurs.
>
> > I tried to set visibility of Gallery's child view to GONE and it is
> > not help because the 'mRealFocusedView' of ViewRoot still not correct
> > view.
> > I also tried to not dynamically add or remove FullSizeViewer, but this
> > issue still happened.
>
> > The only way to solve this issue is use two Activities, one Activity
> > contains Gallery, and another contains FullSizeViewer.
> > But it is too slow when activity change and the screen will become
> > black for a while.
> > It is not acceptable for me. Besides, I need to do some transition
> > animation when changing from Gallery to FullSizeViewer.
> > If I use two Activities, the animation can not be implemented.
>
> > I have tried to clear 'mRealFocusedView' to null by calling the
> > 'clearChildFocus' of decoreView before the moment of exception
> > happened.
> > It only can reduce the probability of this issue but it can't really
> > fix this issue.
>
> > There are three situations easily to reproduce this issue.
> > 1. Device is busy.
> > 2. When tapping photo in Gallery, keep using track ball to scroll the
> > Gallery.
> > 3. When you scroll or re-layout the Gallery, press Google search key
> > and then press back immediately.
>
> > Is there any solution or work-around to prevent this issue happen?
>
> > Here are my logs:
>
> > 08-21 09:43:31.583 W/dalvikvm(  863): threadid=3: thread exiting with
> > uncaught exception (group=0x4001db88)
> > 08-21 09:43:31.583 E/AndroidRuntime(  863): Uncaught handler: thread
> > main exiting due to uncaught exception
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):
> > java.lang.IllegalArgumentException: parameter must be a descendant of
> > this view
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:
> > 2519)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:
> > 2456)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewRoot.scrollToRectOrFocus(ViewRoot.java:1554)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewRoot.draw(ViewRoot.java:1291)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewRoot.performTraversals(ViewRoot.java:1174)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.view.ViewRoot.handleMessage(ViewRoot.java:1769)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.os.Handler.dispatchMessage(Handler.java:99)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.os.Looper.loop(Looper.java:123)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > android.app.ActivityThread.main(ActivityThread.java:4203)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > java.lang.reflect.Method.invokeNative(Native Method)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > java.lang.reflect.Method.invoke(Method.java:521)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> > (ZygoteInit.java:791)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
> > 08-21 09:43:31.693 E/AndroidRuntime(  863):     at
> > dalvik.system.NativeStart.main(Native Method)
>
> > On 8月20日, 上午1時15分, "Yusuf Saib (T-Mobile USA)" <yusuf.s...@t-
> > Mobile.com> wrote:
> >> Or you could git donut.
>
> >>                           ___
> >>                        .-"   "-.
> >>                      .'   . ;   `.
> >>                     /    : . ' :  \
> >>                    |   `  .-. . '  |
> >>                    |  :  (   ) ; ` |
> >>                    |   :  `-'   :  |
> >>                     \   .` ;  :   /
> >>                      `.   . '   .'
> >>                        `-.___.-'
>
> >> Yusuf Saib
> >> Android
> >> ·T· · ·Mobile· stick together
> >> The views, opinions and statements in this email are those of the
> >> author solely in their individual capacity, and do not necessarily
> >> represent those of T-Mobile USA, Inc.
>
> >> On Aug 19, 6:06 am, Moxor <[email protected]> wrote:
>
> >> > Thanks. I'll have to wait then :(
>
> >> > On 4 ago, 17:52, Romain Guy <[email protected]> wrote:
>
> >> > > Known bug it's been fixed in Donut
>
> >> > > On Tue, Aug 4, 2009 at 1:48 PM, Moxor<[email protected]> wrote:
>
> >> > > > Hi,
> >> > > > Did you manage to solve it? I have a similar problem.
> >> > > > Every time I change the focus to a button, and then touch another
> >> > > > button (I call setContentView()), the application crash with this
> >> > > > Logcat:
>
> >> > > > 08-04 17:12:00.251: ERROR/AndroidRuntime(880): Uncaught handler:
> >> > > > thread main exiting due to uncaught exception
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):
> >> > > > java.lang.IllegalArgumentException: parameter must be a descendant of
> >> > > > this view
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:
> >> > > > 2454)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:
> >> > > > 2391)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewRoot.scrollToRectOrFocus(ViewRoot.java:1301)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewRoot.draw(ViewRoot.java:1107)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewRoot.performTraversals(ViewRoot.java:1030)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.view.ViewRoot.handleMessage(ViewRoot.java:1482)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.os.Handler.dispatchMessage(Handler.java:99)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.os.Looper.loop(Looper.java:123)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > android.app.ActivityThread.main(ActivityThread.java:3948)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > java.lang.reflect.Method.invokeNative(Native Method)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > java.lang.reflect.Method.invoke(Method.java:521)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> >> > > > (ZygoteInit.java:782)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
> >> > > > 08-04 17:12:00.292: ERROR/AndroidRuntime(880):     at
> >> > > > dalvik.system.NativeStart.main(Native Method)
>
> >> > > > This happens outside my code, once the onClick event is finished.
>
> >> > > > Thanks in advance.
> >> > > > Max
>
> >> > > --
> >> > > Romain Guy
> >> > > Android framework engineer
> >> > > [email protected]
>
> >> > > 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- 隱藏被引用文字 -
>
> >> - 顯示被引用文字 -
>
> --
> Romain Guy
> Android framework engineer
> [email protected]
>
> 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
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to