Commit Graph

3776 Commits

Author SHA1 Message Date
Jeff Sharkey
5ca7ef1d8e am 99586dc0: Merge "Reduce PackageInstaller I/O pressure." into lmp-dev
* commit '99586dc0108d0f4311c8af4d06ed113bbf40a6ee':
  Reduce PackageInstaller I/O pressure.
2014-10-06 23:56:41 +00:00
Jeff Sharkey
02bd78490d Reduce PackageInstaller I/O pressure.
When performing a restore during initial device setup, we could be
installing hundreds of packages.  Currently, we're writing all
metadata (including heavy icons) for every session mutation!  Because
we're holding the mSessions lock while writing all this heavy data,
we end up causing ANRs when apps call other PackageInstaller APIs.

This patch mitigates by moving the heavy icon data into separate
per-session PNG files, which we only persist when changed.

Bug: 17881962, 17567794
Change-Id: I4dee15d4a65a8eb65c381e6bb7477728b6cc30d2
2014-10-06 16:38:15 -07:00
Neil Fuller
f7cf5d43aa resolved conflicts for merge of ee665151 to lmp-dev-plus-aosp
Change-Id: I97671e62de26919e391dbb2686511584c59ab990
2014-10-02 11:48:08 +01:00
Patrick Tjin
df670e7347 am dea847c2: Skip over directories when iterating tombstones
* commit 'dea847c2ace8894a595cf9bd87764ce2ca9698ab':
  Skip over directories when iterating tombstones
2014-10-01 22:38:31 +00:00
Patrick Tjin
dea847c2ac Skip over directories when iterating tombstones
Bug: 17380601
Change-Id: Idb6e559a89c7438751bd7a52375b9789454e0334
2014-10-01 21:17:52 +00:00
Neil Fuller
33253a4baa Switch from FloatMath -> Math and Math.hypot where possible
The motivation is an API change: FloatMath is going to be
deprecated and/or removed. Performance is not the goal of
this change.

That said...

Math is faster than FloatMath with AOT compilation.

While making the change, occurances of:

{Float}Math.sqrt(x * x + y * y) and
{Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2))

have been replaced with:

{(float)} Math.hypot(x, y)

Right now there is no runtime intrinsic for hypot so is not faster
in all cases for AOT compilation:

Math.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with
AOT, but all other combinations of FloatMath, use of pow() etc.
are slower than hypot().

hypot() has the advantage of being self documenting and
could be optimized in future. None of the behavior differences
around NaN and rounding appear to be important for the cases
looked at: they all assume results and arguments are in range
and usually the results are cast to float.

Different implementations measured on hammerhead / L:

AOT compiled:

[FloatMath.hypot(x, y)]
benchmark=Hypot_FloatMathHypot} 633.85 ns; σ=0.32 ns @ 3 trials

[FloatMath.sqrt(x*x + y*y)]
benchmark=Hypot_FloatMathSqrtMult} 684.17 ns; σ=4.83 ns @ 3 trials

[FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))]
benchmark=Hypot_FloatMathSqrtPow} 1270.65 ns; σ=12.20 ns @ 6 trials

[(float) Math.hypot(x, y)]
benchmark=Hypot_MathHypot} 96.80 ns; σ=0.05 ns @ 3 trials

[(float) Math.sqrt(x*x + y*y)]
benchmark=Hypot_MathSqrtMult} 23.97 ns; σ=0.01 ns @ 3 trials

[(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))]
benchmark=Hypot_MathSqrtPow} 156.19 ns; σ=0.12 ns @ 3 trials

Interpreter:

benchmark=Hypot_FloatMathHypot} 1180.54 ns; σ=5.13 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtMult} 1121.05 ns; σ=3.80 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtPow} 3327.14 ns; σ=7.33 ns @ 3 trials
benchmark=Hypot_MathHypot} 856.57 ns; σ=1.41 ns @ 3 trials
benchmark=Hypot_MathSqrtMult} 1028.92 ns; σ=9.11 ns @ 3 trials
benchmark=Hypot_MathSqrtPow} 2539.47 ns; σ=24.44 ns @ 3 trials

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I06c91f682095e627cb547d60d936ef87941be692
2014-10-01 14:04:15 +01:00
Svetoslav
a05e22ab3a am 44d4eeaa: Merge "Use default encryption password if an accessibility service is enabled." into lmp-dev
* commit '44d4eeaa48721296663a05d01071f196a509dc34':
  Use default encryption password if an accessibility service is enabled.
2014-09-30 20:07:46 +00:00
Svetoslav
44d4eeaa48 Merge "Use default encryption password if an accessibility service is enabled." into lmp-dev 2014-09-30 20:01:04 +00:00
Svetoslav
16e4a1aade Use default encryption password if an accessibility service is enabled.
When device is encrypted the user has to authenticate in order to decrypt
the data partition which is required for running accessibility services
and Text-To-Speech. In order to address this issue we are falling back
to use the default password if there is an enabled accessibility service
and the user has secure lock. This will enable the user to authenticate
when accessibility layer is completely functional.

bug:17671790

Change-Id: Iafffe7bcd234008cf91ffb5011b21b803dca227a
2014-09-30 13:00:11 -07:00
Dianne Hackborn
cc275c58b0 am c3014c8c: Merge "Fix issue #17705755: Battery stats resets at incorrect times" into lmp-dev
* commit 'c3014c8cf8932cb6a482e985edc7def97c50eede':
  Fix issue #17705755: Battery stats resets at incorrect times
2014-09-30 16:50:09 +00:00
Dianne Hackborn
ccd08f23b0 am 38646c19: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev
* commit '38646c19d8badea143113c0dc48ccdacb18badc4':
  Work on issue #17656716: Unhandled exception in Window Manager
2014-09-30 14:55:26 +00:00
Dianne Hackborn
fb3809ca63 Fix issue #17705755: Battery stats resets at incorrect times
Revert back to (mostly) KK behavior, fix a problem where we were
collecting some data in an inconsistent state.

Change-Id: Ida3ca3fb734a9d7d61a90fd5044152e927c59e02
2014-09-29 18:31:22 -07:00
Dianne Hackborn
73d6a821ae Work on issue #17656716: Unhandled exception in Window Manager
Remove the checks for large parcel sizes.  Those were triggering,
and identifyng the area of the problem, but also cause a lot of
trouble by making the unsafe deadlocky code there much more likely
to deadlock.

Add logging for strict mode IPCs, since those seem to be the
problem.  Only log when things look bad.

Also add a log when battery stats are reset, to diagnose why they
are getting reset when they shouldn't be.

Change-Id: I588c858fb8d8c45f3c9c164ae2de9ae01547b304
2014-09-29 16:04:02 -07:00
jgu21
208678718f Frameworks/base: Early init native bridge
Add the app directory to the arguments for starting a process.
Add a check for NeedsNativeBridge and a call to PreInitializeBridge
in the native fork code.

(cherry picked from commit 2eacd06bfb)

Bug: 17671501
Change-Id: I970db5b284b0c12e2d8a45df3950c1fff2927a4e
2014-09-28 15:35:59 -07:00
Elliott Hughes
0844233e99 am 70c1f083: Merge "Set the system locale correctly even on an encrypted device." into lmp-dev
* commit '70c1f083332729a586d670af7565732a2eb06ab4':
  Set the system locale correctly even on an encrypted device.
2014-09-26 22:58:51 +00:00
Elliott Hughes
f839b4fcb6 Set the system locale correctly even on an encrypted device.
Bug: 17659622
Change-Id: Ibbbd5b959bfab5345f20b556c4720d0910b50084
2014-09-26 15:18:20 -07:00
Dianne Hackborn
c29de2ffb2 am 45245d61: Merge "Fix issue #17671802: "content" command always prints..." into lmp-dev
* commit '45245d6117ae484bb84d9afa3fbda36d59886059':
  Fix issue #17671802: "content" command always prints...
2014-09-26 21:57:49 +00:00
Dianne Hackborn
2f1993ec46 Fix issue #17671802: "content" command always prints...
..."uid 2000 does not have android.permission.UPDATE_DEVICE_STATS"

Make sure to clear calling identity before getting into the guts
of the activity manager.  Also fix the places the activity manager
calls in to battery stats to not require a permission check, anyway.

Change-Id: Ifd90937875b9fe0c36aa3f5cf1ec173746914e6b
2014-09-26 11:28:01 -07:00
Adam Powell
9cd82d061a am da7f9bab: Merge "Always show the name of the last used Home app in ResolverActivity" into lmp-dev
* commit 'da7f9bab0206c237f3d70b3b23eeaab41f478eb1':
  Always show the name of the last used Home app in ResolverActivity
2014-09-26 00:16:41 +00:00
Adam Powell
a35c77aea6 Always show the name of the last used Home app in ResolverActivity
Bug 17629220

Change-Id: Ia1d0a188f8c0911e5b74b18ba44508a6e2139d0c
2014-09-25 16:54:41 -07:00
Adrian Roos
40c632b931 am 05ade73e: Merge "Ensure that setting an empty password clears it" into lmp-dev
* commit '05ade73e580b826ead839d3c5db508a8ea25ad93':
  Ensure that setting an empty password clears it
2014-09-25 23:44:18 +00:00
Adrian Roos
625e8f5959 Merge "Ensure that setting an empty password clears it" into lmp-dev 2014-09-25 22:42:43 +00:00
Paul Lawrence
f0eed92b04 am 56a38862: Merge "Fix pause when setting pin/pattern/password" into lmp-dev
* commit '56a38862d68c3160ae9b049ca89422cc5834e8e3':
  Fix pause when setting pin/pattern/password
2014-09-25 18:46:17 +00:00
Paul Lawrence
3a5a0be61e Fix pause when setting pin/pattern/password
Move setting encryption pin/pattern/password into a separate thread

Bug: 17554587
Change-Id: Ifdf2ed5aa9ca08d68bb2ed08c8985203c24dcb9f
2014-09-25 17:32:19 +00:00
Adrian Roos
ab7dae58cc Ensure that setting an empty password clears it
Bug: 17496766
Change-Id: I7c29b632519247bc5675a05ef6cc90902fec8527
2014-09-25 18:25:21 +02:00
Jeff Sharkey
c4997a1d9c am 45ef18b6: Merge "Include reason when wiping data." into lmp-dev
* commit '45ef18b63e78fd853865f42d9369a5c9b4dd4ba0':
  Include reason when wiping data.
2014-09-24 23:35:37 +00:00
Andreas Gampe
a103ebed6e resolved conflicts for merge of dfdabe37 to lmp-dev-plus-aosp
Change-Id: Ia9c350dcfb41f9d04400a86bd7e5f2cf2af656f1
2014-09-24 15:38:02 -07:00
Jeff Sharkey
004a4b20f8 Include reason when wiping data.
This will help us track down who requested a data wipe.

Bug: 17412160
Change-Id: If8413e5d6377773f37e8b34ae3d26347226a027c
2014-09-24 13:58:09 -07:00
Dianne Hackborn
c21c6ab3a7 am 076741d5: am 5a9cfe3e: Merge "Maybe fix issue #17614177 APR: system process restarting due to infinite loop" into lmp-dev
* commit '076741d5776be95a19259827d1e1b2b196eb4ba3':
  Maybe fix issue #17614177 APR: system process restarting due to infinite loop
2014-09-23 21:14:20 +00:00
Dianne Hackborn
d0e0154c1f Merge "Maybe fix issue #17614177 APR: system process restarting due to infinite loop" into lmp-dev 2014-09-23 20:55:05 +00:00
Dianne Hackborn
25e1ecaabb Maybe fix issue #17614177 APR: system process restarting due to infinite loop
Also try to get rid of a huge wtf we are seeing across a lot of devices
where we incorrectly change real states on a service that is restarting,
and get rid of one of the noisier boot logs in the package manager.

Change-Id: I2510b6fb082eac3f6168cbd57bc3b70ad006114d
2014-09-23 10:33:30 -07:00
jgu21
2eacd06bfb Frameworks/base: Early init native bridge
Add the app directory to the arguments for starting a process.
Add a check for NeedsNativeBridge and a call to PreInitializeBridge
in the native fork code.

Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2
2014-09-22 16:04:37 -07:00
Alan Viverette
05f74b9a6b am 2c65386d: am 0dfa4738: Merge "Pass explicit null theme when preloading drawables" into lmp-dev
* commit '2c65386d9bb3d93f39767a284eb3dcc27dd0a2f3':
  Pass explicit null theme when preloading drawables
2014-09-22 19:37:19 +00:00
Alan Viverette
e786895918 Merge "Pass explicit null theme when preloading drawables" into lmp-dev 2014-09-22 19:18:03 +00:00
Yohei Yukawa
a8f3d15be2 am dc5fad8e: am b5d063dc: Merge "Work on issue #17506095: Plumb a new configuration to IMMS" into lmp-dev
* commit 'dc5fad8e086a50f5e438ea8fc5bfd692e4bd76f9':
  Work on issue #17506095: Plumb a new configuration to IMMS
2014-09-22 18:23:26 +00:00
Yohei Yukawa
ca5e72c5ae Merge "Work on issue #17506095: Plumb a new configuration to IMMS" into lmp-dev 2014-09-22 18:02:12 +00:00
Alan Viverette
84e001a9f5 Pass explicit null theme when preloading drawables
Prevents "unresolved theme attributes" warning.

BUG: 17589490
Change-Id: I5217d85b1d5ce8b551315ee8b1ca79eccfac3f10
2014-09-22 07:05:33 +00:00
Yigit Boyar
2c029f3fe2 am 747a975b: am a0716928: Merge "Allow fallback to Toolbar\'s default Navigation Icon" into lmp-dev
* commit '747a975bef3589fb5407ad3f74cc67770e2d86fa':
  Allow fallback to Toolbar's default Navigation Icon
2014-09-22 02:07:54 +00:00
Yigit Boyar
5507b223dd Merge "Allow fallback to Toolbar's default Navigation Icon" into lmp-dev 2014-09-22 01:14:40 +00:00
Yohei Yukawa
e63b5fae8d Work on issue #17506095: Plumb a new configuration to IMMS
This CL makes a plumbing from SystemConfig to IMMS.

Change-Id: Ia70b870723acf647e0c27f24aff91b40d6f85543
2014-09-21 10:34:35 +09:00
Yigit Boyar
30f5dc935b Allow fallback to Toolbar's default Navigation Icon
Bug: 17554486
Change-Id: Id9f2197820df42d81351540be5baa852f49bdf0a
2014-09-19 18:26:07 -07:00
Alan Viverette
68247b0303 am f680e5f2: am 14932619: Merge "Correctly apply max width/height to preference icons" into lmp-dev
* commit 'f680e5f2820111f464f4100bb771bae0cca75518':
  Correctly apply max width/height to preference icons
2014-09-19 22:42:02 +00:00
Alan Viverette
ecd7c96aa4 Correctly apply max width/height to preference icons
BUG: 17581750
Change-Id: I8ad21a321c80f0a657670ba4d175d0ebecea49ef
2014-09-19 13:36:29 -07:00
Alan Viverette
194206c4d7 am c5073a81: am fb15b0e2: Merge "Use action bar theme for action modes, fix ViewStub inflation theme" into lmp-dev
* commit 'c5073a812a82928ae681c9fcd328a3b1323b4edc':
  Use action bar theme for action modes, fix ViewStub inflation theme
2014-09-18 20:57:26 +00:00
Alan Viverette
07ecc748fb Merge "Use action bar theme for action modes, fix ViewStub inflation theme" into lmp-dev 2014-09-18 20:25:22 +00:00
Sander Alewijnse
549715d5fa am a735243f: am 81b375a1: Merge "Update targetSdkVersion check." into lmp-dev
* commit 'a735243fba6ca4c0de7877831230d8c209882748':
  Update targetSdkVersion check.
2014-09-18 12:00:22 +00:00
Sander Alewijnse
d4710c87e6 Merge "Update targetSdkVersion check." into lmp-dev 2014-09-18 11:36:19 +00:00
Alan Viverette
a9ddb8dc23 Use action bar theme for action modes, fix ViewStub inflation theme
BUG: 17262483
BUG: 17513621
Change-Id: I74764570a11da162a224e94978e21e52d17e2e84
2014-09-17 18:14:32 -07:00
Yigit Boyar
8424665e0e am 777f6c3c: am 7fa36f26: Merge "Handle action mode changes properly for actionbar tabs" into lmp-dev
* commit '777f6c3c846a4a6722664cf119f6b8959b9db6f0':
  Handle action mode changes properly for actionbar tabs
2014-09-17 21:22:02 +00:00
Yigit Boyar
fd20f196b1 Merge "Handle action mode changes properly for actionbar tabs" into lmp-dev 2014-09-17 21:00:40 +00:00