Commit Graph

6136 Commits

Author SHA1 Message Date
Joe Onorato
97cdd11f2a Merge "Add data from /proc/pagetypeinfo to procstats." into nyc-dev
am: 4dbdd5d971

* commit '4dbdd5d97155364305abf7c010c165f1a6f79edb':
  Add data from /proc/pagetypeinfo to procstats.

Change-Id: I3c455fe69244927dc5aebdf5ddb7b0badf6aeee8
2016-05-23 19:50:36 +00:00
Joe Onorato
c23befa183 Add data from /proc/pagetypeinfo to procstats.
This data tells us the number of pages of each type that
are available by page size.  It is collected each time
the procstats snapshot is taken, and printed in the
checkin and verbose (dumpsys procstats -a) modes.

Change-Id: I14562eac15833617391c560638a9e7d239ef8db6
2016-05-23 11:33:11 -07:00
Victor Chang
8806a4bdc8 Merge "New api in LockSettingsService to get StrongAuth synchronously" into nyc-dev
am: d86ac8116b

* commit 'd86ac8116bfc64c61d8124ff8d3e92be5e55cd3e':
  New api in LockSettingsService to get StrongAuth synchronously

Change-Id: I07d18fd5c472f1ab3f3ad4c37583e9092f4431b4
2016-05-23 11:59:02 +00:00
Victor Chang
d86ac8116b Merge "New api in LockSettingsService to get StrongAuth synchronously" into nyc-dev 2016-05-23 11:51:56 +00:00
Robert Carr
fe25025c5c Merge "Correctly clear resizing drawable when nulling background." into nyc-dev
am: a3ec065a43

* commit 'a3ec065a43069a19dc42f023a40d54a3178f1b44':
  Correctly clear resizing drawable when nulling background.

Change-Id: Ifb02cc95efc8b164ab8ee63fa9d83bae3172da23
2016-05-20 23:01:02 +00:00
TreeHugger Robot
a3ec065a43 Merge "Correctly clear resizing drawable when nulling background." into nyc-dev 2016-05-20 22:56:47 +00:00
Adam Lesinski
7dd96663a0 Merge "Fix parsing of kernel wakelocks" into nyc-dev
am: 6f0d399214

* commit '6f0d3992149aa782450667ed750fe0c3cf8ee334':
  Fix parsing of kernel wakelocks

Change-Id: I8627d87ce84e9c03407a8e5be353aa44635a7712
2016-05-20 17:27:23 +00:00
Adam Lesinski
6f0d399214 Merge "Fix parsing of kernel wakelocks" into nyc-dev 2016-05-20 17:23:08 +00:00
Neil Fuller
7efd7d6ef2 Merge "Add support for ICU data pinning in the Zygote" into nyc-dev
am: 761f70d5a6

* commit '761f70d5a6b926780db3bba95ee1e01b4d8d95be':
  Add support for ICU data pinning in the Zygote

Change-Id: If693e8cbb737186fdf0a3169d024bef08c8ceb6a
2016-05-20 13:00:29 +00:00
Neil Fuller
761f70d5a6 Merge "Add support for ICU data pinning in the Zygote" into nyc-dev 2016-05-20 12:53:48 +00:00
Adam Lesinski
d84ad30ee6 Fix parsing of kernel wakelocks
We handled stale wakelocks (wakelocks that disappear from /d/wakeup_sources)
differently in previous version of Android. They would be set stale, but still be
updated with their previous counts (they would never disappear).

The method setStale has been replaced with endSample(), which is semantically different.
Once a SamplingTimer has endSample() called, it expects any future calls to update() to
be a new sample, meaning the entire amount passed to update() is included in the kernel
wakelock's total. Since stale wakelocks were never removed from the list, this would
increase by large amounts when nothing had actually changed.

This was exacerbated by the fact that there was a bug where the last wakelock in
/d/wakeup_sources was never parsed, so if the order ever changed, this "stale" wakelock
would suddenly re-appear and the entire amount reported would be charged to the wakelock,
instead of just the difference since the last update.

All this was exposed when we added support to handle wakelocks that would disappear and
reappear with smaller values, meaning the kernel had pruned them from its accounting and
reset them.

Bug:28601080
Change-Id: Ic96027f7d580dac5e20aa73d67e5cedac4ccabeb
2016-05-19 17:21:10 -07:00
Robert Carr
692a5feab9 Correctly clear resizing drawable when nulling background.
When a null window background is set, we want to use the
fallback drawable for resizing.

Bug: 28801472

Change-Id: Ia616d7aa18b0d7aa2c7081a85ce7551ecfeca5b3
2016-05-19 15:11:14 -07:00
Sergio Giro
14c9a306ad Merge "ZygoteInit: install AndroidKeyStoreProvider in the Zygote" into nyc-dev
am: 44b9f13f9c

* commit '44b9f13f9cfaf2e1136a1f2baab54b229d221fe4':
  ZygoteInit: install AndroidKeyStoreProvider in the Zygote

Change-Id: I22e0d3b3967ad205e0e9aad328790e907335ed17
2016-05-19 18:10:04 +00:00
Sergio Giro
69de32071c ZygoteInit: install AndroidKeyStoreProvider in the Zygote
Instead of in activity thread. That way, we can warm up (ie,
precompute cached values) this provider and AndroidBCWorkaroundProvider
(which are installed together) so that the computation doesn't
happen in the app. As a result, the time spent in the first call to
SSLSocketFactory.getDefault() decreases by ~5ms in angler userdebug.
Measured with an app calling SSLSocketFactory.getDefault in onCreate
and timed it with System.currentTimeMillis() .

Bug: 28545496

Change-Id: I73284eccdf6d51dbf55206335d759ccf795c5f41
2016-05-19 16:42:19 +00:00
Neil Fuller
4f41f6198b Add support for ICU data pinning in the Zygote
Upstream ICU caches use SoftReferences. On Android this means
that useful cached data initialized in the Zygote are "lost" when
the Zygote GCs and cannot be shared with apps. This change makes use
of an Android patch to ICU to ensure References created during
Zygote initialization are "strong". i.e. they are never collected.
This prevents them being GCd and ensures they can be shared between
applications.

After switching ICU to use strong references, this change
also creates DecimalFormatSymbols objects for common ULocales
(ROOT, US and the user's default, if different). DecimalFormatSymbols
makes use of an ICU Reference cache and this alone has been shown to
improve the construction time of java.text.DecimalFormat by 1-1.5
milliseconds on a Seed device. This saving applies the first time one
is created in each app for each locale, and again if SoftReferences
have been cleared.

The cost to the heap size of the Zygote has been measured at ~107k.
This value will change as more caches are switched to use the new
CacheValue class.

Formatting is typically performed on the UI thread and the intention
of this change is to reduce app start up time and jank in apps like
the Dialer which do a lot of formatting when scrolling lists. The
change may also enable more virtual memory page-sharing between
apps, though this is not the specific goal.

Bug: 28326526
(cherry picked from commit 41c9dc3b69)

Change-Id: I48e4d57ecbb207b9a5e17b6caf5e7b282e4a40e3
2016-05-19 17:24:27 +01:00
Victor Chang
a0940d33dc New api in LockSettingsService to get StrongAuth synchronously
Not all client needs to monitor the StrongAuth, e.g. ConfirmDeviceCredentialBaseFragment
Provide a quick method to get StrongAuth

Bug: 28752364
Change-Id: Iecfd217046da38e43297bdd5832cf7d637b979ed
2016-05-19 15:01:26 +01:00
Andreas Gampe
e289467a1e Merge "Frameworks/base: Add more systrace points" into nyc-dev
am: b40bcfb6ad

* commit 'b40bcfb6ad3d60e5606f41c6628c133512e0538e':
  Frameworks/base: Add more systrace points

Change-Id: Id090c0545a17beb45bafd05f5302298e09ea30cd
2016-05-19 00:18:58 +00:00
Andreas Gampe
4c8e542f68 Frameworks/base: Add more systrace points
Add more systrace points for application startup.

Bug: 28625993
Change-Id: I76dca9e842fb43f1b85981ef94582074d31528c8
2016-05-18 15:43:45 -07:00
Yohei Yukawa
13fa6b7c48 Merge "Move LocaleList to avoid layering violation." into nyc-dev
am: 31884efd13

* commit '31884efd13b3ac60078edaa0b7e8a4b75d995538':
  Move LocaleList to avoid layering violation.

Change-Id: I45e9b7e834d2c5e515eb6c60885296358e7d786e
2016-05-18 02:18:29 +00:00
Yohei Yukawa
31884efd13 Merge "Move LocaleList to avoid layering violation." into nyc-dev 2016-05-18 02:14:26 +00:00
Joe Onorato
6f04fef272 Merge changes If51568c3,Idd434c19 into nyc-dev
am: 45165c9373

* commit '45165c9373f1bf2dbe0c3f11b271daa24414ea35':
  Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
  @hide SystemHealthManager.from

Change-Id: Ibb36bb8d2c32c0fa8ec85eb093b8281f349158fb
2016-05-18 00:52:11 +00:00
TreeHugger Robot
45165c9373 Merge changes If51568c3,Idd434c19 into nyc-dev
* changes:
  Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
  @hide SystemHealthManager.from
2016-05-18 00:46:47 +00:00
Jorim Jaggi
eae7928b34 Merge "Fix threading problems with drawables" into nyc-dev
am: 1e09e9826b

* commit '1e09e9826b24c6d877920b027954e0e861a336a0':
  Fix threading problems with drawables

Change-Id: I524eed30e7abb6aaf32cf596a8bb4de6ca52b673
2016-05-18 00:28:43 +00:00
Yohei Yukawa
23cbe85610 Move LocaleList to avoid layering violation.
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.

Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
2016-05-17 16:42:58 -07:00
Jorim Jaggi
ca0cf0f529 Fix threading problems with drawables
We can't use the same instance on both the main and the background
thread, as this will lead to problems.

Change-Id: Ieec525f028df2d0596667126d8f5004773461517
Fixes: 28745682
2016-05-17 23:05:38 +00:00
Joe Onorato
1cc1d13d6e Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
It's raising alarm bells but there isn't much we can do without a lot
of rewriting inside the ActivityManager.  The only consequence is stats
that are off by a little bit.

Bug: 28581070
Change-Id: If51568c3a708a907ceef6452e7d45599a57454f7
2016-05-17 15:31:38 -07:00
Michael Kwan
59bce44aaa Merge "Modified AlertController to allow themes to specify custom implementation." into nyc-mr1-dev 2016-05-17 18:03:38 +00:00
Phil Weaver
bc176c4fbf Merge "Content description for FloatingToobar overflow." into nyc-dev
am: 43141e33f7

* commit '43141e33f7e7da5b7514549cf23f5228915f11d8':
  Content description for FloatingToobar overflow.

Change-Id: I6118131870a8c3bfa51befa9973808fadfa9caf6
2016-05-17 17:16:46 +00:00
Phil Weaver
43141e33f7 Merge "Content description for FloatingToobar overflow." into nyc-dev 2016-05-17 17:08:29 +00:00
Sergio Giro
a9f804bf41 Merge "ZygoteInit: warm up JCA providers during preload" into nyc-dev
am: 5a68af3840

* commit '5a68af384037f2980215dd45b91c5165c779d4e8':
  ZygoteInit: warm up JCA providers during preload

Change-Id: I3cf53b5125331fc3c59183c09c79516a98a62347
2016-05-17 11:10:54 +00:00
Sergio Giro
5a68af3840 Merge "ZygoteInit: warm up JCA providers during preload" into nyc-dev 2016-05-17 11:02:20 +00:00
Sergio Giro
6cb7b1c476 ZygoteInit: warm up JCA providers during preload
This makes the time spent in the first call of an app to
SSLSocketFactory.getDefault() drop from ~240 ms to ~50 ms. In M
it was around ~6ms. This is due to the fact that, while instantiating
the default factory, all providers are initialized.

In order to obtain the timings above, I created an app calling
SSLSocketFactory.getDefault in onCreate and timed it
with System.currentTimeMillis() .

Bug: 28545496

Change-Id: I650d4b0435e67e481a41e02b0b538ce5cc993fa3
2016-05-17 10:02:09 +00:00
Christopher Tate
d4056a279d Merge "Sysconfig define a whitelist of permitted backup transports" into nyc-dev
am: 11d9586117

* commit '11d9586117e983e36b2467bcb436200268cd0933':
  Sysconfig define a whitelist of permitted backup transports

Change-Id: I7c894dd6dc494dc5c02ba9e9676b53b0acc281d4
2016-05-17 01:03:59 +00:00
Chris Tate
11d9586117 Merge "Sysconfig define a whitelist of permitted backup transports" into nyc-dev 2016-05-17 00:56:49 +00:00
Svetoslav Ganov
5f8c5ec9a4 Merge "Ensure app op restrictions reset when the app that set them dies." into nyc-dev
am: 008d73bd5b

* commit '008d73bd5b3ca4b1b7a8af61957759d65dd67e3b':
  Ensure app op restrictions reset when the app that set them dies.

Change-Id: Iebbe27690aeac898807c13ef05c730697dbb406a
2016-05-16 22:48:35 +00:00
Svetoslav Ganov
008d73bd5b Merge "Ensure app op restrictions reset when the app that set them dies." into nyc-dev 2016-05-16 22:42:49 +00:00
Michael Kwan
cc6e6f0e0a Modified AlertController to allow themes to specify custom implementation.
Bug: 17733928
Change-Id: I0264ee8ceee09dbc33da61365c424c74d2e3c3d6
2016-05-16 15:36:22 -07:00
Svetoslav Ganov
a8bbd76d9b Ensure app op restrictions reset when the app that set them dies.
We were not keeping track when an app that set an app op restriction
dies to clean up after that. As a result we may end up with stale
restrictions that will be there until the device reoots - not cool.
This change adds remote binder death tracking and simplifies the
code as adding the formed would have made more complex.

bug:28770536

Change-Id: I7dcaafba2354843a0cdf0206ab1f96625edc5120
2016-05-16 15:34:34 -07:00
Phil Weaver
1d4e18340e Content description for FloatingToobar overflow.
Was missing a content description. The same button is used for
both opening and closing the toolbar, so it needs to be updated
dynamically.

Bug: 28750935
Change-Id: I7f75701ae6af45e5621c36b81003b658479e8b31
2016-05-16 09:41:14 -07:00
Yohei Yukawa
6b078fef33 Merge "Make IMS#clearInsetOfPreviousIme() reliable." into nyc-dev
am: cef3337cb5

* commit 'cef3337cb5e27d4f571fb350be055c26d339833d':
  Make IMS#clearInsetOfPreviousIme() reliable.

Change-Id: Ie654d6bccd6d4425e0dbefe2833424abdfe52a4d
2016-05-16 15:31:03 +00:00
Yohei Yukawa
833bdcedce Make IMS#clearInsetOfPreviousIme() reliable.
This is a follow-up to my previous CL [1] for Bug 15922840 so that we
can clear the following variables in a more reliable way.
 - PhoneWindowManager#mLastInputMethodWindow
 - PhoneWindowManager#mLastInputMethodTargetWindow

The idea behind CL [2] is that when InputMethodManagerService (IMMS) is
switching from an IME to another IME, IMMS can send a signal to
WindowManagerService (WMS) to remember the current IME's inset so that
the system can continue using it to reduce jank until the new inset is
specified by the next IME.  As summarized in Bug 28781358, however, if
the next IME does not show the window after the IME switch, WMS (or
PhoneWindowManager to be precise) keeps using the previous IME's inset
unexpectedly until the new IME shows its window.  All we have seen in
Bug 15922840 and Bug 26663589 fall into this category.

The idea of this CL is just adding a hidden API to InputMethodManager so
that InputMethodService#clearInsetOfPreviousIme() can surely terminate
the IME transition state managed in PhoneWindowManager, rather than
relying on a hack of calling SoftInputWindow#show() and
SoftInputWindow#hide(), which actually does not work for Bug 26663589.

 [1]: Ib04967f39b2529251e4835c42e9f99dba2cf43f2
      2977eb7b6c
 [2]: I5723f627ce323b0d12bd7b93f5b35fc4d342b50c
      792faa2c16

Note that addressing all the corner cases in [2] still requires lots of
non-trivial change.  Hence this CL focuses only on Bug 26663589 (and
the case we handled in Bug 15922840).

Bug: 26663589
Change-Id: Ib567daa009c1139858dccadcfc6a04465ebecf36
2016-05-15 20:05:56 -07:00
Ruchi Kandoi
f9f10cbe36 Merge "network: Adds the functionality to parse uid in netlink messages." into nyc-dev
am: 2512ec9e37

* commit '2512ec9e376b0fce213f6d635dfb991c79041031':
  network: Adds the functionality to parse uid in netlink messages.

Change-Id: I2bb83824d97d426d114f71fdb0b590ce9fd8a12a
2016-05-14 01:36:45 +00:00
Ruchi Kandoi
2512ec9e37 Merge "network: Adds the functionality to parse uid in netlink messages." into nyc-dev 2016-05-14 01:32:54 +00:00
Ruchi Kandoi
fa97fcf7b9 network: Adds the functionality to parse uid in netlink messages.
Netlink notifications about the state of the modem contains uid too.
This patch adds the functionality to add that. It also fixes the bug to
parse the timestamp in the message even in cases where the length is
greater than expected.

Bug: 28527904
Change-Id: I4643bff3eb5b1ffa2dc0b78f1c6947d60487e0d8
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2016-05-13 15:36:23 -07:00
Adam Powell
a53d9cace1 Merge "Show package icon/label for resolved package-targeted implicit intents" into nyc-dev
am: e89dc40706

* commit 'e89dc40706f325e039de7dd6714223908dfb9b17':
  Show package icon/label for resolved package-targeted implicit intents

Change-Id: I254e8d1a0b3cc45e3c030ca1cec7e7ecc5dbd91e
2016-05-13 17:17:44 +00:00
TreeHugger Robot
e89dc40706 Merge "Show package icon/label for resolved package-targeted implicit intents" into nyc-dev 2016-05-13 17:11:14 +00:00
Adam Powell
86100d18ad Show package icon/label for resolved package-targeted implicit intents
If we're going to show metadata about a resolved implicit intent that
is targeted to a single package with multiple potential targets,
populate the ResolveInfo with the label and icon of the target
package's ApplicationInfo and set resolvePackageName. This helps use
cases such as EXTRA_INITIAL_INTENTS in ChooserActivity, where
sometimes apps set target packages but not components.

Bug 28739056

Change-Id: I8070d341fccc139463c5ac8d66db45fce02252e5
2016-05-13 08:34:37 -07:00
Philip Cuadra
5fcabe19a7 Merge "Pinner service for pinning files into memory" into nyc-dev
am: b41088b4df

* commit 'b41088b4dfa8b077541cd3be69c51bd4bba4e938':
  Pinner service for pinning files into memory

Change-Id: I404f6844fb5bf4a097d3d862a9294cb58484d176
2016-05-12 22:04:36 +00:00
Philip Cuadra
b41088b4df Merge "Pinner service for pinning files into memory" into nyc-dev 2016-05-12 21:55:29 +00:00
Philip Cuadra
7bd0fdd639 Pinner service for pinning files into memory
Pin key files into memory to prevent having to fetch from flash
after boot.  Improves system performance by preventing page cache
thrash.  Retrieves files from a device-specific overlay to allow
specialization.

bug 28251566

Change-Id: I8532f52bd70271794dd7576976d13a524849ce7b
2016-05-12 13:12:20 -07:00