That return statement is effectively a reading of asynchronously modified
field. The reading and writing is elsewhere protected by locking on thread
instance, except this one occurence. Moving 'return' statement into
synchronized block ensures that it reads updated value.
Don't be afraid of deadlock - wait() releases the lock and acquires it
back when notified.
Change-Id: I940c24c04a1a2d4508d14d11b6174ff4fb2ab7d5
Configuration.hardKeyboardHidden should be set to
HARDKEYBOARDHIDDEN_YES when no keyboard is present or when it is
disabled. The code in PhoneWindowManager.adjustConfigurationLw
does the right thing. It also takes care of setting keyboardHidden
correctly when only a soft keyboard is available.
So it turns out that all we need to do to disable the hard keyboard
is to set Configuration.keyboard to KEYBOARD_NOKEYS *before* asking
the policy to adjust the configuration.
Bug: 3406101
Change-Id: I3519d02af30d8068198cb3d6b8fdde601c2fe8b4
PackageManagerService shouldn't check features that a package declares
that it uses because this will cause problems in the future when we add
more features that older phones didn't explicitly declare. We must rely
on markets to know about phones and filter them for us to avoid this
situation.
Bug: 3409434
Change-Id: I419a5b936be3572b83a485081a6c81b2f1c8741c
PackageManagerService shouldn't check features that a package declares
that it uses because this will cause problems in the future when we add
more features that older phones didn't explicitly declare. We must rely
on markets to know about phones and filter them for us to avoid this
situation.
Bug: 3409434
Change-Id: I0d51b2de33d8110edc6824af4b5b8c901f96077f
- Check if just old version or not.
- Sometimes, ContentObserver.onChange is called before finishing to save the actual value.
This can be verified by checking the system settings version. If the version is not updated,
cached value will be returned from Settings.Secure, and this should not be handled.
Bug: 3406300
Change-Id: Ie3f5b484b5574e10a41dfc209ed31271a474b828
If the app doesn't have that permission, just mask out the bits.
Also makes the systemUiVisibility field visible in hierarchyviewer.
Change-Id: Ic3d3a3aed96b5c6448832755b4b2e6175117e5be
Also adds a new flag constant, View.DRAG_FLAG_GLOBAL, which indicates that
the drag operation should be allowed to propagate the drag outside the
originating app. When this flag is specified, all visible windows will
be notified about the ongoing drag.
Bug 3322724
Change-Id: Iaa3412a97f83f4e763019c9a03b5f09ebf75453f
IntentResolver frequently iterates over hundreds of different IntentFilters
and spends much of its time creating iterators and comparing strings.
This change avoids reduces the amount of garbage created by eschewing
iterators where possible. The FastImmutableArraySet type on its own
provides a 2.5x speed boost compared to repeatedly iterating over a HashSet.
In absolute terms, during orientation changes we spent about 160ms resolving
11 intents and performing 1129 calls to IntentFilter.match. Now we spend
half of that time.
Change-Id: Ia120e0082c8cf0b572a0317b9ef4a22c766dbad6
* commit 'd6874a105ee584b1dc60aae2f2af7c78ee875114':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
* commit 'cfd0bafdebf1fccd3f5a0baed5cad8a539546e9b':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
* changes:
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.