150949 Commits

Author SHA1 Message Date
Adam Powell
9dbe94d8cd Merge "Magic null-background filling for PhoneWindows" into lmp-dev 2014-09-14 22:51:29 +00:00
Chris Craik
4ace730560 Force isolation of clip and matrix within layer
bug:17379260

Unclipped save layers need to isolate their clips and matrices
so that the save time readout of background content matches clip and
position with the restore/compose step.

Change-Id: I2de474cda76e960d080852f1716d6ddfa8a512d4
2014-09-14 15:49:54 -07:00
Alan Viverette
b56f5d2ab1 Clean up view drawable tinting methods, fix default modes
Calling setTint now only modifies the tint. It won't force a mode change.

BUG: 17494736
Change-Id: I91392634869ed23981d8e61a403bb2be42aa7a07
2014-09-14 15:48:50 -07:00
Adam Powell
f849a5e16d Magic null-background filling for PhoneWindows
In the past it's been a recommended approach to avoiding overdraw for
apps to set their window background to null at runtime if their
content view fully covers their window surface. The problem with this
is the IME.

The IME can force a resize of the window at unexpected times and
unless an app has been configured to fit system windows and manually
cover the padded area that the IME window covers, the asynchronous
nature of the IME-show process can leave surface buffer garbage
visible to the user. In previous platform versions this wasn't an
issue since pre-renderthread we would always animate a crossfade from
the closed to open state. This animation was always a bit of a hack
since it could break the contract of requestLayout/invalidate on the
view hierarchy - it could result in a draw happening into the saved
"before" state of the crossfade before a pending layout.

Now that this has been cleaned up the buffer garbage is sometimes
visible.

To prevent this, PhoneWindow now detects the state of a null window
background and draws solid rects into the area not covered by a
window's content. Which color is determined by the window context's
theme, though this is not a public API available to apps.

Bug 17006497

Change-Id: I714439a1608c4ae135f3d9d49bb165330d9fbe9f
2014-09-14 15:44:11 -07:00
Guang Zhu
ac60bea01f Merge "temporarily enable wifi verbose logging in download manager test" into lmp-dev 2014-09-14 22:35:30 +00:00
Guang Zhu
da7638db2e temporarily enable wifi verbose logging in download manager test
also temporarily compile against platfrom, not SDK, since we are
using private API

Bug: 17446070
Change-Id: I6da18aca2d5eaf305940514186ef2434e52f15b9
2014-09-14 15:33:49 -07:00
Alan Viverette
e5a4345a08 Simplify progress bar paths
BUG: 17366831
Change-Id: I7efa215d399e4bf47b41949d313fba4487f068a0
2014-09-14 15:10:54 -07:00
Dianne Hackborn
f075330db4 Merge "Fix issue #16907799: Processes containing bound services..." into lmp-dev 2014-09-14 22:02:36 +00:00
RoboErik
d8c36a7b60 Merge "Route volume commands whenever media stream is in use" into lmp-dev 2014-09-14 21:45:03 +00:00
Eino-Ville Talvala
9503785393 Camera2: Clean up corner case error handling
- If a session is closed, and a new session is created immediately
afterwards, but then fails to be configured, the first session sees an
onUnconfigured call which it wasn't expecting, and throws an
exception on an internal thread, leading to app death.
Add a guard against this case.

- If the lower levels skip a frame (illegal per design), be slightly more
robust to that by accepting any successful result as the latest completed
frame, instead of just incrementing the completed frame count. This will
lead to missing results, but should allow shutdown, etc, to complete
cleanly.

- Convert TIMED_OUT error codes to CAMERA_ERROR CameraAccessExceptions.
This is a common error code returned by waitUntilIdle.

Also, improve debug logging to log a session ID with verbose logging,
and add a few verbose logs.

Bug: 16899526
Change-Id: I7a31f0a12effc2611e1f9c2408224ee82c37c912
2014-09-14 14:41:47 -07:00
Jorim Jaggi
49b03451f9 Merge "Fix jank while unlocking and security is set" into lmp-dev 2014-09-14 21:40:15 +00:00
Dianne Hackborn
465fa39635 Fix issue #16907799: Processes containing bound services...
...are killed over eagerly.

When the current foreground activity is moving to the background,
it was briefly going through the CACHED_ACTIVITY state before the
correct LAST_ACTIVITY state, allowing its bound service processes
to be killed (because they went in to the cached list).  To solve
this, as long as a process has stopping activities, it won't go
lower than LAST_ACTIVITY.

Also fixed a problem where we could put a process in CACHED_EMPTY
instead of CACHED_ACTIVITY_CLIENT.  There were a number of cases
in the binding flow and also the client process state transitions
where we would not correctly updateing the bound client activity
state.

And add some sanity code so that if a process hosting a
service is killed, and a client process of that service is in the
cached state, we kill the client process.  This avoids situations
where we can start thrashing around in the cached list because we
are restarting process for no reason -- since they will just
continue to be cached.

Finally, tune the process LRU list to allow twice as many cached
activity processes (from 8 to 16), so we can make better use of
the RAM we have available these days.

Change-Id: Ib0cdf78c321cbb035259fc9dd6ee27b5ba1f90c5
2014-09-14 14:32:45 -07:00
Chet Haase
4605b2929e Merge "set correct bounds in ActionBar based on visibility of ActionBarView" into lmp-dev 2014-09-14 21:30:21 +00:00
RoboErik
94c716ea29 Route volume commands whenever media stream is in use
Found a regression in volume handling. Previously we handled
volume commands as long as the media stream was active but we were only
handling them when there was an active session on L. This adds a check to
make sure we handle volume if anything is playing on the media stream.

bug:17498479
Change-Id: Iddd745c8a762cf7ebedb37f1b26fc934db01fba0
2014-09-14 21:16:51 +00:00
Chet Haase
ccd3da23c6 set correct bounds in ActionBar based on visibility of ActionBarView
ActionBarContainer was setting the bounds of its background assuming the
visibility of the ActionBarView. But that view becomes GONE when the
ActionBarContextView is visible, causing artifacts such as wrong shadows
when resized (as in custom configuration changes).

Issue #17280341 Quantum: drop shadow on CAB has wrong width after rotation on L, when configuration change is handled by the app

Change-Id: I07e57f00e27b41d5370cb9440b35734a8ec10f3a
2014-09-14 13:53:10 -07:00
Alan Viverette
c6a65dfbff Merge "Reduce instructions required to obtain and recycle TypedArray" into lmp-dev 2014-09-14 20:04:38 +00:00
Shawn Willden
9e3485533d Merge "Correct test data size in keystore signing and verification tests." into lmp-dev 2014-09-14 19:58:06 +00:00
John Spurlock
7ca1161e30 Merge "Saver: PowerManager call to set low power mode." into lmp-dev 2014-09-14 19:36:13 +00:00
Ramanan Rajeswaran
e7d6816fd1 Merge "Fix creation issue of stack trace dump directory" into lmp-dev 2014-09-14 19:20:36 +00:00
Ramanan Rajeswaran
2e451c817d Merge "Fix crash in TranserPipe." into lmp-dev 2014-09-14 19:20:32 +00:00
vandwalle
5fcdcee0d7 Merge "make wifi cellular params configurable" into lmp-dev 2014-09-14 19:17:07 +00:00
Michael Wright
645df3e3e4 Merge "Correctly propagate SW_CAMERA_LENS_COVER_BIT" into lmp-dev 2014-09-14 18:19:50 +00:00
John Spurlock
8d4e6cb060 Saver: PowerManager call to set low power mode.
- Add an explicit power manager call to set the low power mode state,
  instead of trying manage everything around a single setting.
- When low-power mode is triggered by falling below the configured
  threshold, it does not update the setting.
- The "is-enabled" api returns setting || below configured trigger.
- Move the snooze management into the new api call.
- Callers (sysui + settings) updated to use the api instead of the
  setting.
- Handles the case where the level does an unpowered leap out of the
  low battery level. (Possible if powered in-between while the device
  is off)

Bug:17460535
Change-Id: Ic030504c9cad9868a7137abbe837b170da37852b
2014-09-14 14:07:23 -04:00
Craig Mautner
f1f886f3ae Merge "Add null checks for quickly disappearing Displays" into lmp-dev 2014-09-14 18:01:40 +00:00
Dan Sandler
ca68f2ca45 Merge "Customized ripple animation for navigation bar" into lmp-dev 2014-09-14 17:44:33 +00:00
Michael Wright
9e10d25732 Correctly propagate SW_CAMERA_LENS_COVER_BIT
Bug: 16034563
Change-Id: I3402d42056cda47fddadd09f838b1082d93fb00d
2014-09-14 17:30:52 +00:00
Jae Seo
ee2ec05ed7 TIF: Turn debugging off
Bug: 17476383
Change-Id: I28ff54a635bf6468c231efe776dbc8e35460d542
2014-09-14 10:30:05 -07:00
Shawn Willden
dc8bc1160c Correct test data size in keystore signing and verification tests.
The test is sending too much data to be signed, which should actually
fail, and does on Volantis.  Apparently the other keymaster implementors
do something to pass it, because shamu and hammerhead pass, but the test
is wrong.

Change-Id: Ic616a551567d64f5d87d9607ceb08afa7be74f9d
2014-09-14 17:09:47 +00:00
Christopher Lane
07ab0871ee Merge "Handle null values in registerService" into lmp-dev 2014-09-14 17:06:46 +00:00
Yorke Lee
2ae312e306 Pipe TelephonyManager.getCallState through TelecommManager
* Add TelecommManager.getCallState (hidden API)
* Make TelephonyManager.getCallState call through to
TelecommManager, to be consistent with
TelephonyManager.ACTION_PHONE_STATE_CHANGED broadcasts for
overall call state. Telephony continues to manage call states for
individual subscriptions.

Bug: 17378767
Change-Id: Ia5e8b21df801ed3af4f6e14c110a72c92f077f88
2014-09-14 09:54:23 -07:00
Jing Ji
a0e0c0dfad Fix creation issue of stack trace dump directory
Use the dirname instead of the filename to create the directory

Change-Id: I16e49303b2ff5e2592ed60eab766db32d02262fe
2014-09-14 09:45:30 -07:00
Xin Guan
5ec679a0fa Fix crash in TranserPipe.
Sometimes the pipe has been closed when it's thread tries to access

E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: TransferPipe
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileDescriptor android.os.ParcelFileDescriptor.getFileDescriptor()' on a null object reference
E AndroidRuntime: 	at com.android.internal.os.TransferPipe.run(TransferPipe.java:184)
E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:818)

Change-Id: I0fcd4a3334b49972903f2cb0edb51323ba3f49e5
2014-09-14 09:34:40 -07:00
Jorim Jaggi
416493bf66 Fix jank while unlocking and security is set
- Delay showing the bouncer and playing the entrance animation for a
  couple of frames.
- Do not disable back button on the normal Keyguard. This makes the
  entrance animation nicer and fixes some jank due to the need to
  draw into both windows.
- Prevent setPadding(...) call when nothing changes. setPadding would
  invalidate the padding for the whole view hierarchy, which results
  in a slower measure() when setting the window to invisible.

Bug: 17419960
Change-Id: I4a239d4af40ad86875e4a0dd08473f19a5c9b961
2014-09-14 18:04:15 +02:00
Yohei Yukawa
c68f27625b Merge "Minimize the number of default enabled IMEs part 2" into lmp-dev 2014-09-14 07:48:27 +00:00
Winson Chung
ba3306fc47 Merge "Adding null check for invalid recents task list. (Bug 17476926)" into lmp-dev 2014-09-14 07:12:40 +00:00
Winson Chung
625f055958 Merge "Fixing issue with stack not being fully centered. (Bug 17015153)" into lmp-dev 2014-09-14 07:12:29 +00:00
Christian Robertson
42310965fa Customized ripple animation for navigation bar
To implement the new gel-cap shaped ripple I resurrected the
onDraw and setPressed methods from the KitKat implementation.
The KitKat animation timings were adjusted to match the material
ripple, but the structure of the animators is the same as KitKat.

Since the new ripple is drawn directly to the canvas, the references
to the KitKat background image were removed.

The LogInterpolator is copied from the framework Ripple
to match the material animation curves.

Bug: 17112935
Change-Id: If6a3eb92de794b526338166bf8cb096eb9764cf6
2014-09-14 02:15:19 -04:00
Yohei Yukawa
68c860bb29 Minimize the number of default enabled IMEs part 2
Previously the system tried to enable at least one auxiliary IME
even when the system is not ready.  However, this doesn't make
much sense because the user should be able to set up their phone
without auxiliary IMEs. Also, IMEs enabled before the system
becomes ready are kept to be enabled after the system becomes
ready. Thus, we should minimize the number of enabled IMEs
until the system becomes ready.

BUG: 17347871
Change-Id: Ife93d909fb8a24471c425c903e2b7048826e17a3
2014-09-14 13:47:33 +09:00
Qiwen Zhao
a11757c187 Merge "GMSCore and Finsky are fixed. Revert "Revert "Set up final resource identifiers.""" into lmp-dev 2014-09-14 02:53:32 +00:00
Qiwen Zhao
63c7444bab GMSCore and Finsky are fixed. Revert "Revert "Set up final resource identifiers.""
This reverts commit c4bc83b7b5f7911bf750544aa8a2211ae6d11fe2.

Change-Id: I484953c5c3b130b3359ef47aca890fa6903917a6
2014-09-14 02:53:04 +00:00
Alan Viverette
8b5b25b448 Reduce instructions required to obtain and recycle TypedArray
Eliminates several field and method accesses by making the TypedArray
pool local to a single Resources object. Removes an unnecessary
synchronization.

ReadXmlAttrs averaged 0.069 ms/op before, 0.064 ms/op after.

BUG: 17484798
Change-Id: If790a5ba6596b47a04f117c8912974798a592052
2014-09-13 19:30:11 -07:00
Adam Lesinski
13f3c9344f Merge "Fix issue with lifecycle of Activities launched from Lockscreen" into lmp-dev 2014-09-13 23:11:57 +00:00
Craig Mautner
a3804a0aab Merge "Give a tablet a chance." into lmp-dev 2014-09-13 22:45:28 +00:00
vandwalle
2e93c38fa6 make wifi cellular params configurable
Change-Id: Ia2a4ac3e11f2b0c7412f33496a655c5d5297ea0c
2014-09-13 13:44:34 -07:00
Craig Mautner
c3daeddae4 Give a tablet a chance.
500 msec is apparently not enough time to push the pixels around on
a Volantis (or Manta, or occasionally Deb). Increasing the timeout
eliminates turning the screen on before the surface is completely
drawn.

Optimizing the drawing path so that we can return the timeout to
500ms has been filed as b/17496306.

Fixes bug 16849724.

Change-Id: Ic0fca68bc41caa67dba973b5c40915756dc4730f
2014-09-13 12:22:33 -07:00
Craig Mautner
1a70a16b64 Add null checks for quickly disappearing Displays
If a display is removed right after it is added we will get null
when trying to retrieve it from the DisplayManager. Check for that
null before commiting to using that display.

Fixes bug 17478906.

Change-Id: I89ae8cc7387729d678b9b1ed5b1797a93cdde3f9
2014-09-13 12:09:31 -07:00
Svetoslav
2047df6f5f Merge "Page content sometimes missing while scrolling." into lmp-dev 2014-09-13 18:45:52 +00:00
Christopher Lane
0f35cdd862 Handle null values in registerService
Bug: 17491971
Change-Id: I0443a9accd86ab70510d16456a03912845718ca9
2014-09-13 11:18:33 -07:00
Vinit Deshpande
26a98001ad Allow creating EAP_TLS network without specifying Phase2.None
Phase2 isn't required for EAP_TLS networks, and it is possible
for a developer to miss it. We are requiring it for internal
book keeping - so this change just sets Phase2 to 'None' when
EAP_TLS is set on the configuration.

Bug: 17043082
Change-Id: I5a8e0a3a236d0dfd1295584de55d5b9a1b76b483
2014-09-13 11:10:07 -07:00
Tyler Gunn
ead6ad8a38 Merge "Renaming Telecomm to Telecom." into lmp-dev 2014-09-13 17:32:49 +00:00