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
Handles backup/restore of recent tasks for the system. Currently the
thumbnails are not saved.
At restore time the historical task records are placed in a designated
separate location rather than directly in the live bookkeeping; this
avoids ID duplication issues and makes it easier to deal with lazy
adoption of the historical task state as apps are installed on the
device post-restore.
Bug 17303286
Bug 15986349
Change-Id: Ie156c1e2ab9c9a7e7ac0447b27016fdcef55dded
Instead we install preloaded-classes as a standalone configuration file
/system/etc/preloaded-classes, so we can configure different file per product.
Bug: 18305157
Change-Id: I22f1a1dd44f90268d02532bf18405768523c0b1b
In practice, recognize that the current transport state may not yet
incorporate a valid restore data stream object, so don't go making
assumptions that it's usable / closeable / etc.
Bug 18379004
Change-Id: I221e04b5b83438e37455e025d67f412d3abb8c50
It is disabled dead code already and not useful anymore
with the new caching in LockSettingsService.
Bug: 18163444
Change-Id: Icc184e923e0fbeab31ed128336c01f835b24c6f2
Add a special case for situations where we have some activities
that are matching a URI host/path, so that these are ordered
above others. This only happens when dealing with http or https
intents, for ordering native apps above the browser.
Change-Id: I21f3361229bc7a1ebefda66373d31b6b1fd19973
This expands the use of EXTRA_REFERRER to be relevant anywhere,
allowing apps to supply referrer information if they want. However,
if they don't explicitly supply it, then the platform now keeps
track of package names that go with Intents when delivering them
to apps, which it can be returned as the default value.
The new method Activity.getReferrer() is used to retrieve this
referrer information. It knows about EXTRA_REFERRER, it can return
the default package name tracked internally, and it also can return
a new EXTRA_REFERRER_NAME if that exists. The latter is needed
because we can't use EXTRA_REFERRER in some cases since it is a Uri,
and things like #Intent; URI extras can only generate primitive type
extras. We really need to support this syntax for referrers, so we
need to have this additional extra field as an option.
When a referrer is to a native app, we are adopting the android-app
scheme. Since we are doing this, Intent's URI creation and parsing
now supports this scheme, and we improve its syntax to be able to build
intents with custom actions and stuff, instead of being all hung up
on custom schemes.
While doing this, fixed a problem when parsing both intent: and new
android-app: schemes with a selector portion, where we were not
respecting any scheme that was specified.
Change-Id: I06e55221e21a8156c1d6ac755a254fea386917a2