If a property name gets truncated, make sure it doesn't end in a '.'
since that makes the name illegal.
Bug: 19196358
Bug: https://code.google.com/p/android/issues/detail?id=82947
(cherry picked from commit e32df45fe1a8cb7286bfdad392a0d36e0ddcf8e7)
Change-Id: I126a40ffae76ee6a06926e770ca015fb063a334b
To click a view we were computing a click location by ignoring overlapping
views that are actionable. However, detection whether a view is actionable
is not always possible as the view may handle touch events directly. This
leads to unhandled edge cases. We are taking a conservative approach and
ignore all overlapping siblings regardless if clickable. This is also has
limitations but hopefully less frequent edge cases.
bug:18889611
Change-Id: Icea0b7b3e2d4ed53e50e01cb6a99b880be560b14
This simplifies the code, and also makes it possible for
users to point multicast routes at the VPN. The LinkAddress
objects we were previously using to construct the RouteInfo do
not accept these, but IpPrefix objects do.
Bug: 18485968
Change-Id: Ie914a2eb359b78161810ee473df725059f944f4e
In accessibility mode we calculate a point where to click in the accessibility
focused view as a bridge-gap solution before switching to accessibility click
actions. We cannot detect whether a view is covered by another one that consumes
all touch events, and therefore we may click on the wrong target. This was the
case with the toolbar. As a result a partially scrolled view in a scrollable
container covered by a toolbar cannot be activated and this is not an edge case.
bug:18986806
Change-Id: Ib41470c39806cec13e9b00b319879cd7f3412ab5
AlertActivity is intended to look like a dialog but for accessibility
purposes it was populated as an activity. As a result the content of
the "dialog" was not properly announced to the user.
bug:18865632
Change-Id: I27166fc74678981f4f3ad71d6d25727b5110340c
In ResolverActivity: when the user chooses work or personal:
Do not set them as prefered activities.
BUG:19091836
Change-Id: Ibe0081eb16e58cc25decb3f25b7fd50b5403d5fc
Hiding the cross profile discoloure for all system apps
also meant it wasn't shown for CALL_PRIVILEGED intents.
Bug: 18702461
Change-Id: I8129bc4b07573b547aefe2dbcc6938a60305c216
If the content to dump is large no output is produced by dump. Change
back to using a loop and flush.
Bug: 18965342
Change-Id: Ibc33da8bfffd5f998a78df0e2d70ed8e8a0aa137
FastPrintWriter needs to have its own lock for each instance, or
else one getting blocked can cause others to block and whacky deadlocks
result.
Also:
- Improve error reporting of SystemConfig to tell you which config
file is the problem.
- Fix CoreSettingsProvider to not spew errors if a setting is not
defined (it should just use a default value).
- Get rid of noisy init output of ConditionProviders.
- Reduce log noise of starting a process; move some of that information
to ProcessRecord to print on demand.
Change-Id: I1032d141ddd449968b74ab7b88ab36f2d228ad1a
...an intent with invalid or null package uri
Also tweak battery stats to record in the history when we shut
down, to understand when restarts are due to clean shutdowns or
crashes.
Change-Id: I6443dafc23e356be9f569906f6081152d4f92d2b
Add API for handling nested pre-processing of accessibility events
similar to nested pre-scroll or pre-fling. This allows custom views to
delegate a nested scroll to a parent via the accessibility system.
Use this functionality to allow opening the ResolverDrawerLayout via
accessibility commands.
Bug 18827274
Change-Id: Icd5a502605b78a861bb03e7b11923841a72eb9ab
WindowDecorActionBar and Chrome's ContentViewCore each have their own ActionMode
reference. ActionModeImpl.finish() nulls WindowDecorActionBar's reference and
calls mCallback.onDestroyActionMode() to null ContentViewCore's reference. But
if the callback is deferred, there is a period when the ActionMode is finished
(and mCallback is null), but ContentViewCore doesn't know. ContentViewCore may
try to invalidate() the ActionMode, which will crash on the null mCallback.
Make ActionModeImpl more permissive so that calling invalidate() during this
period does nothing.
BUG:18758329
Change-Id: I407fa0e0cd3cffa217e165caed83130d44760316
The ShutdownActivity was implemented in the system server
code, which is no longer part of the boot class path. This would
work fine when requesting a shutdown from the primary user, since
in that case the activity would be loaded in to the main system
process which also has the system service code loaded.
However, when executed from a secondary user, we need to spin up
a new system process for it; that system process is just a regular
app process, without the system service code, so *boom*.
To fix this, move ShutdownActivity to the framework jar.
Change-Id: Icb831cd6ed619da5feede5605c45ef177a892fbc
Fixes a regression where Builder.setIcon(Drawable) would get overridden
even when Builder.setIcon(int) had never been called and was still 0.
Fixes attribute id to respect all valid resource IDs (e.g. non-zero).
Updates documentation to reflect the long-standing override behavior.
BUG: 18904762
Change-Id: I905703993a59910555d5a858e0aaecab63221a02
ResolverDrawerLayout could get into a state where it thought a drag
was in progress, but since there was no distance to drag it would
return false from onTouchEvent for ACTION_DOWN. This would cause it to
intercept all future touch events, blocking interaction with
ResolverDrawerLayout child views. This would only happen if none of
the child views wanted the initial ACTION_DOWN event and it ended up
being processed in the ResolverDrawerLayout itself, such as in
response to touching in empty space or on the title text, and if all
available options fit in view without needing to expand the drawer.
Fix this by only setting the dragging bit if we're going to claim the
rest of the touch events after ACTION_DOWN.
Bug 18563698
Change-Id: Iab2ec38528697c9ff36bbb08b1f1210a6879d5ef
UI for ResolverActivity doesn't support last used
activity and work/personal profile button at the
same time. So if work/personal button is present
disable last used.
Bug: 18730438
Change-Id: I7ae7319bbdeb9bcaab9d6d03f97dea17d07c6d7f
Show ResolverActivity even if there is only one target
on the current profile that listens to that intent,
if other profiles can also handle it.
Also, fix crash while trying to access out of bounds
element on the list.
BUG: 18701336,18713763
Change-Id: I3a5e9cc5c0eedb2792b8f6d8a5d4aa8ee9e1256b
Due to popular demand the methods putBoolean(), getBoolean(),
putBooleanArray() and getBooleanArray() have been added to
PersistableBundle.
Fixes bug 18390436.
Change-Id: Id133ba902aca774f98529e36ce560e873b88ad5b
There are some cases where multiple subscriber identities (IMSI)
should be treated as "merged together" from a data usage
perspective. This is done by extending the template used for
matching purposes to support multiple subscribers.
Then, when we query historical usage or set network policies, we
normalize the matching template to merge to any other identities
that should be included. When normalizing, the "lowest" identity
is always used for equality and storage purposes, which allows
identities to come and go over time.
This change also fixes data usage recording for multi-SIM devices
by passing along the concrete subscriber identity for each network
interface. Also correctly create default policies for multi-SIM
devices. This change also drops setPolicyDataEnable() until it can
be wired up to the right underlying NetworkAgent. (This means we
still bring up the network, and then rely on iptables rules to block
traffic when over the limit, instead of proactively disabling the
connection.)
Bug: 18012787
Change-Id: If6acf32009fdfea2b836f5aff8e2f3e5e0248b4a
- Now aggregate number of times each process has crashed and ANRed.
- Now aggregate total number of connectivity changes.
- Now record connectivity changes in the history.
Crash and ANR counts are new entries at the end of "pr" in checkin.
Connectivity change counts is a new entry at the end of "m" in checkin.
Connectivity changes in the history checkin are Ecn and include the
type of connection and its state.
Change-Id: I0c01186446034cf6c3fb97d45f5e3b5c69a0438a
...uninstalling updates to a system app
Things seem to be working fine, however we were not as aggressive at
writing out the current state in this case as we probably should be.
Also introduce more features to the appops command, which are useful
for testing this.
Change-Id: I177a9cc0e16e98b76fee0d052d742e06842bb3f9
Don't clear notification LEDs when seeing notifications on the
lockscreen.
Also fix a bug where the LED didn't continue flashing after
the screen turned off.
For devices with doze capability, ensure that the LED continuing
to flash after screen off doesn't cause an immediate pulses, but
delay the first pulse by 10s.
Bug: 15449039
Change-Id: Id34d51a2c91ceaf069e49add1ab690bb855f9638
Pull the "Work" profile item up out of the main list and into the
header of the resolver drawer, making it easier to discover and access
without disrupting the sort order of the list.
Bug 17935301
Change-Id: Id2d081b61828352c998e517127132f883a20b7ef
Add a state callback so lockscreen reports back whenever its state
relevant for PhoneWindowManager changed, instead of synchronously
calling into SysUI which can lead to deadlocks. Directly use
LockPatternUtils for isSecure, and optimize the number of calls to
this method to optimize layout performance.
Bug: 17677097
Change-Id: I5d491fc8884d4f84d9562626b9ea0d5eaa5166fc
Reduce how much stuff ProcessStats spews, and do collapsing of
repeated intent filter targets when dumping IntentResolvers.
Also add to pm's checkout output to include shared user ids,
and fix output formatting in a few places.
Change-Id: Ic9fc6731f0439101ba9343535e66cdbbad47e291
These are used when responding to getActiveNetworkInfo() (and cousins)
when an app is subject to the VPN.
Bug: 17460017
Change-Id: Ief7a840c760777a41d3358aa6b8e4cdd99c29f24