You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@flex.apache.org by Maurice Amsellem <ma...@systar.com> on 2013/11/25 01:25:27 UTC

RE: Mobile TextInput Implementation status

Hi,

I fixed two sub-issues/limitations related to the new ScrollableStageText

https://issues.apache.org/jira/browse/FLEX-33929 : Android : NPE in disposeProxy() bitmapData is null
https://issues.apache.org/jira/browse/FLEX-33931 : Cannot initiate view scrolling from a TextInput/TextArea with default new stage skin

Manually tested on:
- iOS6 (ipad 2)
- iOS7 (iPad 3)
- ADL on Windows

Mustella test pass:
mobile/components/TextInput
mobile/components/TextArea
mobile/SoftKeyboard
mobile/components/ActionBar

However, I could *not test on ANDROID* as usual.

Please someone could take the next nigthly build and check the issues above are fixed on ANDROID as well.

To make sure you have the right code, check for class "IProxiedStageTextWrapper" in spark.swc

Thanks in advance,

Maurice 

-----Message d'origine-----
De : Maurice Amsellem [mailto:maurice.amsellem@systar.com] 
Envoyé : vendredi 22 novembre 2013 11:37
À : dev@flex.apache.org
Objet : RE: Mobile TextInput Implementation status

Hi,
I fixed the two issues that were reported in the JIRA ticket by Colins Childs.

fixed two issues reported above:
- two focused text inputs
- stage text floating above content.


Committed and pushed to develop branch
https://git-wip-us.apache.org/repos/asf?p=flex-sdk.git;a=commit;h=9e4bf21f

Mobile Mustella test pass:
- mobile/components/TextInput
- mobile/compoents/TextArea
- mobile/Softkeyboard


-----Message d'origine-----
De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
Envoyé : mardi 19 novembre 2013 18:18
À : dev@flex.apache.org
Objet : RE: Mobile TextInput Implementation status

Sure. You need mobilecomponents and mobiletheme

-----Message d'origine-----
De : omuppi1@gmail.com [mailto:omuppi1@gmail.com] De la part de OmPrakash Muppirala Envoyé : mardi 19 novembre 2013 18:14 À : dev@flex.apache.org Objet : RE: Mobile TextInput Implementation status

On Nov 19, 2013 9:05 AM, "Maurice Amsellem" <ma...@systar.com>
wrote:
>
> Since jenkins is down, do you need the updated swc ?

Which project is it?  I can just compile it and drop it in the sdk directory.

Thanks,
Om

>
> -----Message d'origine-----
> De : omuppi1@gmail.com [mailto:omuppi1@gmail.com] De la part de 
> OmPrakash
Muppirala
> Envoyé : mardi 19 novembre 2013 17:55
> À : dev@flex.apache.org
> Objet : RE: Mobile TextInput Implementation status
>
> On Nov 19, 2013 4:53 AM, "Maurice Amsellem" 
> <ma...@systar.com>
> wrote:
> >
> > Fixed a few other issues
> > (see https://issues.apache.org/jira/browse/FLEX-33166)
> > > FIXED : Soft keyboard partially closes/opens  when moving the 
> > > focus
> from one TI to another.
> > > to fix the issue above, had to trigger TI edition on mousedown 
> > > instead
> of mouse click (like in StyleableStageText)
> > > fixed bug caused by the above.
> >
> > All related mustella test pass. ( mobile/TextInput, mobile/TextArea,
> mobile/SoftKeyboard)
> >
> > Om, can you please make a last test run on Android, so I can close 
> > the
> ticket.
> >
>
> Will do, later in the night for me.
>
> Thanks,
> Om
>
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : mardi 19 novembre 2013 00:36 À : dev@flex.apache.org Objet
> > : RE: Mobile TextInput Implementation status
> >
> > Just received results of Om testing on Android (Tested on Samsung 
> > Galaxy
> SIII (Android 4.1.2) and Samsung Galaxy Tab 2 (Android 4.2.2)).
> > It's working fine.
> > Thanks you Om for the quick testing, that's really good news.
> >
> > Maurice
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : lundi 18 novembre 2013 16:49 À : dev@flex.apache.org Objet
> > : Mobile TextInput Implementation status
> >
> > Memory profiling of the new skins:
> >
> > It's as expected:  alloc memory =  pixel width x pixel height x 
> > 4bytes
> per pixel.
> >
> > First figure is for iPad , second is for iPad retina.
> >
> > - 25KB / 100 KB of bitmap memory allocated for a single line TI with
> default size
> > - ~500KB / ~ 2 MB for a pages stuffed with text inputs / text Areas
> > - 3 MB / 12 MB for a full-page TA => in this case, it's better to 
> > use the
> old skins.
> >
> > The bitmap is allocated while the TI is added to the stage, and 
> > disposed
> when it's  removed from the stage
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : lundi 18 novembre 2013 02:10 À : dev@flex.apache.org Objet
> > : RE: Mobile TextInput Implementation status
> >
> >
> > 1) to help debug if something goes wrong on Android, you can set the
> following mx_internal flag:
> > ScrollableStageText.debugProxyImage = true;
> >
> > It will display the proxy bitmaps in magenta background.
> >
> > 2) proxy methods in ScrollableStageText has been abstracted on 
> > purpose to
> DisplayObject instead of Bitmap.
> > This is so  that one could override the class to use another proxy (eg.
> StyleableTextField) which is less memory consuming than bitmaps.
> > In wich case, you will have to override:
> > createProxy
> > updateProxy
> > disposeProxy
> >
> > 3) StageTextSkinBase inner textDisplay creation method is 
> > externalized so
> that it can be customized.
> >
> > Example for ScrollableStageTextInputSkin:
> >    override protected function
createTextDisplay():IStyleableEditableText
> >     {
> >         return new ScrollableStageText(multiline);
> >     }
> >
> > That way, you can derive from existing skins, instead of monkey 
> > patching
> the default skin, if you only need to change the internal editable 
> text
class.
> >
> > Note also that displayText is now of type IStyleableEditableText, 
> > instead
> of StyleableStageText, for the same purpose.
> >
> > Regards,
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : lundi 18 novembre 2013 01:49 À : dev@flex.apache.org Objet
> > : RE: Mobile TextInput Implementation status
> >
> > Run mustella tests:
> > Mobile/Components/TextInput
> > Mobile/components/TextArea
> > Mobile/StageText
> >
> > All pass.
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : lundi 18 novembre 2013 01:11 À : dev@flex.apache.org Objet
> > : RE: Mobile TextInput Implementation status
> >
> > Hi, I have committed and pushed tentative fix for
> https://issues.apache.org/jira/browse/FLEX-33166
> >
> > Tested on iPad 2 / 3.
> > Not tested on Android.
> > I couldn't run mustella mobile tests.  For some reason, they are 
> > broken
> on my machine ( says:  Passes: 0 / Fails: 0).
> >
> > The new skins are now the defaults for TextInput and TextArea on mobile:
> >
> > TextInput skinClass =
> > spark.skins.mobile.ScrollingStageTextInputSkin
> > TextArea skinClass = spark.skins.mobile.ScrollingStageTextAreaSkin
> >
> > The old skins are still there, under the same name.
> >
> > Please review and tests, and this is a sensitive change...
> >
> > Your comments and feedback are welcome.
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : lundi 18 novembre 2013 00:08 À : dev@flex.apache.org Objet
> > : RE: Mobile TextInput Implementation status
> >
> > Founds some bugs, so I won't commit until they are fixed...
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
> > Envoyé : dimanche 17 novembre 2013 21:18 À : dev@flex.apache.org Objet :
> RE: Mobile TextInput Implementation status
> >
> > >I can help out with Android testing.
> > Thanks
> >
> > >Should I wait for the nightly or are these fixes on a branch?
> > >Nightly
>  would be preferable so as to allow more people to test the fix.
> > I will push to the develop/ so that they be in the nightly
> >
> > >It would be better to keep the old one around with the same name.
> > >Folks
> might have subclassed it to build their own implementations.
> >
> > What about :
> > ScrollableStageText
> > ScrollableStageTextInputSkin
> >
> > For the new classes ?
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : omuppi1@gmail.com [mailto:omuppi1@gmail.com] De la part de 
> > OmPrakash
> Muppirala Envoyé : dimanche 17 novembre 2013 20:27 À :
> dev@flex.apache.orgObjet : Re: Mobile TextInput Implementation status
> >
> > On Nov 17, 2013 10:56 AM, "Maurice Amsellem"
> > <ma...@systar.com>
> > wrote:
> > >
> > > Hi,
> > >
> > > Here is a brief status of the implementation of Mobile Text Input, 
> > > along
> > with some questions:
> > >
> > > Implementation overview:
> > > The change is mainly on the class StyleableStageText, which now 
> > > takes the
> > opposite approach than the previous one:
> > >   - display proxy image bitmap by default
> > >   - display StageText only when editing 
> > > StageTextInputSkin/StageTextAreaSkin has been modified to use this 
> > > class
> > >
> > > - to make it easier to change StageTextInputSkin internal
> >  StyleableStageText component, the variable textDisplay is now of 
> > type
> IStyleableEditText
> > >
> > > Behavior changes:
> > >   - scrolling and overlapping of text is well managed , as it 
> > > always uses
> > the bitmap proxy, which is a Flex component:  all the text inputs 
> > are
> scrolling
> > >   - text occluding while editing is not managed yet, which means 
> > > the
> > edited text may overlap other UIs. (TO BE DONE)
> > >
> > > Testing:
> > >   - tested on iPad 2 and iPad 3:  TI in scrolling forms, TI in
callouts
> > >   - *NEEDS TO BE TESTED ON ANDROID*
> > >   - memory consumption tests yet to be done
> > >   - mustella test yet to be run
> > >
> > >
> > > Questions:
> > > - Can someone please test on Android ?
> >
> > I can help out with Android testing.  Should I wait for the nightly 
> > or
> are these fixes on a branch?  Nightly  would be preferable so as to 
> allow
more people to test the fix.
> >
> > Thanks,
> > Om
> >
> > > - I have chosen to directly  replace StyleableStageText.
> > > Maybe I can also leave the old StyleableStageText with a different 
> > > name,
> > so that it can be used in case there is an issue with the new one ? 
> > or
> the other way?
> >
> > It would be better to keep the old one around with the same name.
> > Folks
> might have subclassed it to build their own implementations.
> >
> > > Now that it is an interface, it's easy to subclass the
> > StageTextInputSkin, and override createTextDisplay() to use another
class.
> > >
> > >
> > > Maurice
> > >