[TIMOB-24053] Android: passwordMask property cannot be changed after rendering (Regression)
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2016-10-24T19:25:56.000+0000 |
Affected Version/s | Release 5.4.0, Release 5.3.0, Release 5.5.0, Release 5.5.1 |
Fix Version/s | Release 6.0.0 |
Components | Android |
Labels | android, automated, passwordMask, regression, textfield |
Reporter | Adam Armstrong |
Assignee | Gary Mathews |
Created | 2016-10-07T18:42:27.000+0000 |
Updated | 2017-10-26T01:58:12.000+0000 |
Description
When using the following JS and XML on 5.2.2GA, I am successfully able to toggle the passwordMask for both iOS and Android to show/hide the text in the TextField.
When I simply change my sdk to 5.5.1GA, iOS continues to work, *but Android no longer works*. The "mask" never toggles. It also appears it doesn't work for Android in 5.4.0GA either.
index.xml
========
index.js
========
isPasswordVisible = false;
function togglePasswordVisible(){
if (isPasswordVisible){
$.password.passwordMask = true;
isPasswordVisible = false;
} else {
$.password.passwordMask = false;
isPasswordVisible = true;
}
}
$.index.open();
I think I created this in the wrong "project"
Aru you still having the issue? Can you check in SDK 6.0.0. Let us know. Thanks.
I'm in the middle of Production Releases on multiple apps - I can't afford to jump into BETA right now. Don't you have accessibility to 6.x Beta in a lab to verify its fixed?
ok, I pin-pointed the issue here. The issue is isolated to a TextField and when using the property editable="false". If I use a *Label* on 5.5.1GA, the mask "toggle" works fine for both iOS and Android. If I use a *TextField* on 5.5.1GA, and set the property editable="true", then the "toggle" works on both iOS and Android. But obviously this makes it difficult to click the field as the OS wants to highlight the text - so clicking becomes difficult.
But if I use a *TextField* on 5.5.1GA, and set the property editable="false", then the "toggle" only works on iOS. Does NOT work on Android.
So, the work around for now is to use a Label for a cross-platform solution. But I still think this needs to be corrected in a future release to maintain complete functionality.
https://github.com/appcelerator/titanium_mobile/pull/8530
Merged to master (6.1.0) and cherry-picked to 6_0_X. Not sure if that means it'll be in 6.0.0 GA, or 6.0.1 (if/when that gets released)?
[~cwilliams] Thx. Current 6_0_X will go into 6.0.0.RC and therefore 6.0.0.GA as well. :-)
Verified the fix. PasswordMask can now be changed successfully. Closing. Appc Studio : 4.8.0.201610171310 SDK Version : 6.0.0.v20161024184632 Mac OS Version : 10.11.6 Xcode Version : Xcode 8.0 Build version 8A218a Appc CLI AND Appc NPM : {"NPM":"4.2.8-9","CLI":"6.0.0-65"} Ti CLI : 5.0.10 Alloy : 1.9.3 Node : v4.6.0 Nexus 5 : 6.0.1