If an app uses the new api (requestNetwork) to bring up MMS, don't
mark it as a legacy request. This was done because the messaging
service had to use a combination of new API and old
(requestRouteToHost) due to api problems. This has been resolved
so don't mark these as legacy requests anymore.
The general stuff is still in for other types due to lack of testing
time but this should be removed altogether in the future.
bug:23350688
Change-Id: I41c27efb253c39d8af1357ae7916ed5315c716db
The existing Shelf DND crashes if profile or app removal happens
while dragging from outside of shelf. This is because in this case
shelf temporary adds a null placeholder enter to the model, and
doesn’t check for nulls in user-removed and app-removed callbacks.
Adding checking for nulls.
In addition, since adding nulls muds the contract between the
shelf view and its model, I’m getting rid of adding null entries
to the model. Nulls are used on the view side, but never leak to
the model.
Because of that, the state of the view (which may have nulls) and the
mode may not match each other during the drag, I introduce storing
app data in views, as a tag. Null tag means a drag placeholder.
Now that the state of the model doesn’t always follow the state
of the shelf via add/remove operations, it makes sense to introduce
set-all/get-all calls in the model, instead of add/remove/get(i)
calls.
Again, all these changes, even though relatively massive, add clarity
into the view/model contract by eliminating strange states where the
model can have nulls in certain positions.
Also fixing a case when removing an app while dragging it happily
creates an icon.
Bug: 20024603
Change-Id: Ie4e617ccf9278708d64ee100265a4858d1227aed
Also clear identity when measuring ASEC sizes to relax a second
permission requirement.
Bug: 23600574
Change-Id: Ib3a104426758e0e8f35dff0e504fe874bed7311f
When asking for the set of services published by a package, it's
quite possible that there are none, in which case the returned List<>
is null rather than valid-but-empty. Don't bother looking at it
when it's null.
Bug 23614440
Change-Id: Ibebb26b9c3f75ec810a95f1b9d2663e884cb98bc
Post a runnable in MyOrientationListener.onProposedRotationChanged for
the updateRotation() so that it doesn't acquire WM lock while holding
WindowOrientationListener lock. It could cause deadlock if WM is
is performing a relayout and try to access WindowOrientationListener.
bug: 23507268
Change-Id: I5775f5a13cae0283fef64877801bf8a39dfc90a4
Clicking on the control area of a window should bring it to
the top and set the focus since it might be used as a drag
operation which would move / resize it.
Bug: 23179116
Change-Id: I672bfefa42dd85e962fe343aeb89167ce125f168
Before, there was a mix of Logs and Slogs, and Slog should be used
in systemui to isolate its log from chatty apps.
Bug: 20024603
Change-Id: I84fc53b523698391ae605c8486b9b35b04fbcd5a
This CL depends on ag/749611
With the custom timing pulse provider, we are free from the chaos that could
happen on UI thread and any delay that comes as a result. Therefore we can
count on more accurate timing for each frame, which enables us to test things
such as AnimatorUpdateListener, among other things.
Note that there will still be ~2ms delays in addition to the frame interval
in between frames, due to the MessageQueue processing time.
Change-Id: I6de0aa06125d1ecfae788f5dd22536a5fa52e651