| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
There's no need to findViewLocked - if the view
didn't already exist, then the view is added
to the end of the mViews list. findViewLocked
will need to iterate over all the views which
is unnecessary.
Test: manual
Fixes: 238954722
Change-Id: I3a22f59df84f512d4e914f0e3566927450284298
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ie: due to BadTokenException or InvalidDisplayException
Previously, only views that were already in the viewhierarchy
before attempted to be re-added would be removed. This makes
sure if the view was newly added, it'll also be removed.
This prevents a memory leak of views.
Test: manually show and cancel multiple toasts,
check the hierachy viewer that no Toast views remain
Fixes: 234694098
Change-Id: I06bbae70c277d0615753edc9ec0a8e7439ad7020
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a window is in a sync, but it already drew it's sync buffer, it
normally would be allowed to continue processing draws and just block
when it runs out of buffers. It would unblock once the sync is complete
at the sync buffer was sent to SF. However, this has a few issues
1. In some cases, WMS wants to retry the draw again due to configuration
changes. This could cause deadlocks because the client may already be
blocked since there are no more buffers. Instead, the client will
block and WMS would be responsible for dropping the last buffer and
notifying the client that it can draw for a sync again
2. If there are multiple UI threads, each can block each other due to
the shared Render Thread. If one of the windows in the sync continues
to draw and then blocks RT due to no more buffers, all other UI
threads are unable to draw. If the behavior in 1 is desired, we'd
need to make sure no one in the same sync continues to draw until
everyone is complete. This is to ensure dropping will actually allow
another render to occur. If other windows are blocking the RT, then
even with dropping, the requested sync window cannot get another buffer
and will cause a deadlock.
Test: Current sync requests work
Bug: 233625646
Change-Id: I3a0a4f36bf61a6677507672578e447060b806651
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The window frame computed by WindowlessWindowManager doesn't take the
window bounds, insets state, gravity, ... into account, but only width
and height in LayoutParams. This CL introduces WindowlessWindowLayout
which aligns the logic in WindowlessWindowManager#relayout. When we
enable LOCAL_LAYOUT, the frame of windowless window will be compatible.
Bug: 161810301
Bug: 175858823
Test: atest SurfaceControlViewHostTests#testEmbeddedViewResizes
Change-Id: I460445e9d6b61117edbdaddeac6a00a838b3caa8
|
| |
|
|
|
|
| |
Bug: 191298629
Test: Verified on device
Change-Id: I83c74423b6f33f45cdd93926badb2cad32c7a86d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal of this CL is to remove RELAYOUT_RES_DRAG_RESIZING_DOCKED and
RELAYOUT_RES_DRAG_RESIZING_FREEFORM, which is a step to make relayout an
oneway binder call.
When the resize mode is changed at the server side, the server will send
the new mode to the client via IWindow#resized, so the client doesn't
need to obtain the resize mode from the flags returned from relayout.
Bug: 161810301
Test: Perform drag-resize and drag-move on a freeform task and see if
there is any unexpected behavior.
Change-Id: I450abc113932b6c1dc0ce0e2b76bebdf85a60777
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce a seqId and use it to replace the
RELAYOUT_RES_BLAST_SYNC flag. The server code block that
produces RELAYOUT_RES_BLAST_SYNC is guarded by
mNextRelayoutUseSync, and sets it to false when executed.
This block is the only place that sets it to false. We replace
every place where it is set to true, with incrementing a seqId
stored on the integer. We change this block to not check
mNextRelayoutUseSync but instead check if the seqId has changed
since we reached the block. This is evidentally equivalent conditions
and in these cases we send the client the seqId. In the else block
where we wouldn't have sent RELAYOUT_RES_BLAST_SYNC we send -1.
On the client side, we replace the USE_BLAST_SYNC conditional
with a check if the SeqId we received has increased. It's clear
that this will never execute in cases where the seqId is -1. Likewise
its clear that if the seqId has increased, it will execute. Since the
seqId increases in all cases where the server would have returned
RELAYOUT_RES_BLAST_SYNC this change is a noop by itself.
Bug: 161810301
Bug: 175861051
Bug: 175861127
Bug: 200285149
Change-Id: Ib2e45cae7709519251e4bfcc2b8adc689c590a00
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When WindowManagerService.mInTouchMode is changed, we will set the new
mode to InputManagerService, and clients will be notified via
ViewRootImpl.WindowInputEventReceiver#onTouchModeChanged. We don't need
the flag to bring the information to the client.
This is also a step to make relayout an oneway binder call.
Bug: 161810301
Test: Invoke View#requestFocusFromTouch on one window and see if another
window can receive OnTouchModeChangeListener#onTouchModeChanged.
Change-Id: Ic149c95bee89b2be83a85eb4858131224b63a7c8
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For legacy recents animation, launcher side use
RecentsAnimationController#setAnimationTargetsBehindSystemBars to
callback if the animating recents task target is valid to affect
system bar apparence according the gesture threadshold.
if the animating recents task is behind system bar, means the
gesture threshod not yet passed and the task still can affect
system bar apparence, and vice-versa.
with shell-transition, since launcher triggers recents animation
by normal startActivity without initiating RecentsAnimationController
with startRecentsActivity, the launcher will be top-resumed
(but the surface hierarchy the recents task is still be top-most) when
starting gesture on navbar, in this case, launcher can affect the
system appearence even though launcher is behind systembar.
beside, previously we also rely on setAnimationTargetsBehindSystemBars
to hide soft-keyboard in multi-windowing mode when quick-swich tasks,
without this, soft-keyboard will keep visible when swiping up to
recents.
As the result, we needs to backport the most logic of
setAnimationTargetsBehindSystemBars for fixing the above cases,
the only difference is we renaming the method with
setRecentsAppBehindSystemBars(behindSystemBars) to only set recents app
can affect systembar apparence, and placing hide IME/IME icon logic into
handleLegacyRecentsStartBehavior when starting recents animation.
Fix: 215504556
Test: manual as below CUJs with enabling shell-transition:
CUJ1:
1) Launching a app with showing IME
2) Quick-switching to the next task or swiping task to home
3) Expect no navbar icon flickering
CUJ2:
1) With entering split-screen and showing IME on the split task
2) Swipe up to recents
3) Expect IME shound be hidden
CUJ3:
1) Launching a app
2) Hammer tapping on the navigation bar
3) Expect the staus bar icon won't blinking
Change-Id: I552eea738aed5566eb897bb9c68507e83ac43e1d
|
| |
|
|
|
|
|
|
|
|
|
|
| |
WindowlessWindowManager already has some support for multiple
windows so the main thing we need to do is just ensure that the
Windowless session is injected in to the ViewRoot of things attached
to our token. We can do this via some somewhat unsightly glue
code in WindowManagerGlobal.
Bug: 218615203
Test: SurfaceControlViewHostTests
Change-Id: Icce97c02b6155a7ef368821670db26728b95b6b9
|
| |
|
|
|
|
| |
Test: Manual
Bug: 188222480
Change-Id: I92302053a797de76aec3c2a25e5d895cfc85e6d5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The config changes the dequeue limit of BQ (setMaxDequeuedBufferCount) from 2 to 1, decreasing the default size of the queue from (3 to 2).
Some of the motivations behind this change include:
- not applicable in most scenarios since producers in the system override this
- breaks async mode, not well tested in other scenarios
- simplifying some of the implementation and removes a configuration/flag.
Clients can still manually call setMaxDequeuedBufferCount if they wish.
Test: presubmit
Fixes: 182314340
Change-Id: I724218d14ad106a4b7af69f7eacf97fae3c93923
|
| |
|
|
|
|
|
|
|
|
|
| |
Since WindowContext won't add WindowToken from the client side,
addWindowTokenWithOption is no more needed. Also remove the logic
to invoke removeWindowToken from the client side.
Bug: 159767464
Bug: 153369119
Test: atest WindowManagerServiceTests WindowManagerPermissionTests
Change-Id: Ib0c948dca223cf8d056865ce3a0d4adaef07d247
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using blast, there's no need to call preserve surfaces since the
client can synchronize layer changes with the incoming buffer in the
new size. If the client uses the WindowOrganizer.applySync call they can
ensure they only update the layer geometry in the same transaction that
the new buffer is submitted in.
When removing preserveSurfaces, we can also remove reparentChildren
since that was the only caller of reparentChildren
Test: Split with SurfaceView
Bug: 177557720
Change-Id: I4574ac0d3b8a63b13ac44846e729b73ca0f88f23
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.
APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6.
Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397
Bug: 171886397
Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
|
| |
|
|
|
|
|
|
|
|
| |
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
Bug: 170729553
Test: Treehugger
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
|
| |
|
|
|
|
|
| |
Simplify state by deleting unused & always true stuff
Test: builds
Change-Id: Idf679aff5e809e567dac21a127cb9d6ace894f0e
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. Avoid a seperate IPC querying in to system-server
to initialize the mUseBLAST flag.
2. Avoid calling property_get_bool with each BufferQueue
creation.
Instead we piggy-back both values inside addWindow return values.
Bug: 152501005
Test: Existing tests pass
Change-Id: If130560a8230f8d399cf7631264d551522939faa
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is to prevent misuse of window context from app
and leads to performance drop on system by limit the numer of window
context an app can use. Code snippet below is a sample to cause
this issue:
```
Rect getBounds() {
Context windowContext = context.createWindowContext(...);
return windowContext.getSystemService(WindowManager.class)
.getCuttentWindowMetrics().getBounds()
}
```
This method could be invoked dozens of times and produce dozens of window
tokens. It would slow down the speed of window traversalling. These
token won't be removed until system server has been GC'd.
Test: atest WindowContextTests WindowContextPolicyTests
fixes: 152934797
Bug: 153369119
Change-Id: I927e85a45c05c4d90b51a624ea408ff3a3ffce93
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Support addWindow with the other userId which can be different from Uid.
This can be used when client want to addView for secondary user.
Example:
1. Create context with createContextAsUser or similar method.
2. Get WindowManager with this context.
3. WindowManager#addView
Bug: 151414297
Test: atest WmTests WindowAddRemovePerfTest AddWindowAsUserTest
Change-Id: I13e58d76b1f056f3829bc984c2b61496c8f8d535
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the final enabler for the BLASTSyncEngine, we add a new relayout
result BLAST_SYNC. If the WindowState is participating in a BLAST sync
during relayout we return it to the client. If we return it to the
client the client will direct it's next draw in to a BLAST transaction
and report that transaction via finishDrawing. You can now observe
the BLASTSyncEngine working end to end in TaskOrganizerMultiWindowTests.
We do a few small clean-ups in TaskOrganizerMultiWindowTest while we
are there.
Bug: 153561718
Test: TaskOrganizerMultiWindowTests
Change-Id: I719b731350b942aafa444a33972aaef8973422ea
|
| |
|
|
|
|
|
|
|
|
|
| |
There is no need to introduce jank risk and run the inset
animations on the main thread if the app doesn't listen to
animation events. In that case, move the animations onto a
separate thread.
Bug: 118118435
Test: Inspect systrace
Change-Id: Ib6e4b4ce8e9dd8e27761ced6eb8d7700b6236a32
|
| |
|
|
|
|
|
|
|
|
|
|
| |
WindowManagerGlobal should query for flag only when the service has
successfully been retrieved. Moving query into block where
sWindowManagerService is initalized
Bug: 149243163
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
Change-Id: I864d60158236059fda9844844b07299bb97ee6d1
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Querying flag property in preloaded class static initialization
removes it from preloading and increases boot time. Move query
to WindowManagerService instead when constructed
Bug: 148614188
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
check that BLAST adapter is turned on/off as expected
Change-Id: I02e2327b5c2cb11a231d02fc2c5c8c1ac200aaf0
|
| |
|
|
|
|
| |
Bug: 148229181
Test: build, boot
Change-Id: Ia9ffd14c396ca3e0d84b9aaa21ba700ee88dd983
|
| |\
| |
| |
| | |
window_manager_use_blast_adapter flags"
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For ViewRootImpl on BLAST experiment, setting up namespace and flag to
turn on Blast adapter through P/H experiment
Bug: 147096935
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
check that BLAST adapter is turned on/off as expected
Change-Id: Ie1b158721ac9b751fcf3954310259f14486d3bb8
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced ImeFocusController to manage
IME focus target and retrieve IME target event from ViewRootImpl.
With this CL, removed InputMethodManager focus check related methods
and replaced with below methods in ImeFocusController:
- onPreWindowFocus
- onPostWindowFocus
- onViewFocusChanged
- onViewDetachedFromWindow
- onWindowDismissed
- onProcessImeInputStage
Since all methods are guaranteed to interact within View or
ViewRootImpl with UiThread, so it also benefits that we can without any
lock protection, and ViewRootImpl will no longer depend on
InputMethodManager methods call in the end.
Also, Add mHasImeFocus in View.AttachInfo, for propogating if this view's
window is IME focused, if so, View#notifyFocusChangeToInputMethodManager
-> ImeFocusController#onViewFocusChanged will be called to
notify the focus change to corresponding IME focus controller.
Bug: 141738570
Test: atest SearchViewTest, FocusHandlingTest
Test: atest ActivityViewTest, MultiDisplayClientTests,
MultiDisplaySystemDecorationTests
Change-Id: Ib455704fe1e9d243f93190a84f230210dbceac2a
|
| |
|
|
|
|
|
|
|
| |
Setup for P/H experiment by switching to WindowManagerGlobal.
Follow up patch will set the flag based on DeviceConfig
Bug: 147096935
Test: build, boot, manual
Change-Id: If062fc16a90e0f3069064b969e1a63a6142421df
|
| |
|
|
|
|
|
|
| |
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.
Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I5be7335b23a92b8ac80d2fd890198273b66ad644
|
| |
|
|
|
|
|
|
| |
The first step of improving is measuring. So measure better.
Bug: 138856108
Test: dump
Change-Id: I076b904a1f0dfb209622c76bcb8778a10cd2b7db
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The windows belong to a activity will be set to stopped state
when the activity is stopped. But the associated thread of
view root could be different from activity, that results the
inconsistent calling thread of surface callback, and maybe
some potential races.
Since the surface could be destroyed during traversal, also
add a check for callback notifySurfaceDestroyed to prevent
duplicated calls if the surface is released.
Bug: 130553315
Test: atest ViewRootSurfaceCallbackTest
Change-Id: Iea2cf8ff51118c0fa8c00a35c1d3e53c959ea754
|
| |
|
|
|
|
|
| |
Bug: 121257946
Test: manual
Change-Id: Ibbf41a03b0229b62366a42543e542af954a0ea8b
|
| |
|
|
|
|
|
|
|
|
| |
Android Studio's UI inspection tool needs access to the currently displayed
window(s) via publicly-accessible APIs given only a classloader -- it does
not have any activity or app Context.
Bug: 124516440
Test: atest WindowInspectorTest
Change-Id: I960165813c260ac8f8e17cc163fabf65b1417480
|
| |
|
|
|
|
|
|
| |
Let system decide itself when to clear internal caches.
Test: N/A
Change-Id: Iea72bbbdbe1a8efd23b348895b8cf522f0259e7c
Fixes: 124051903
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this CL, no one in the Framework is using
InputMethodManager#getInstance() directly or indirectly. It is time
to mark this method deprecated.
For applications that still call InputMethodManager#getInstance()
directly or indirectly via reflection, they will start seeing warnings
with stacktrace in logcat.
Except for that explict warnings in logcat, there is no behavior
change in this CL. Added a new test to make sure that
InputMethodManager#getInstance() and InputMethodManager#peekInstance()
are still working in a way we expected for such applications.
Fix: 115891476
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: Ib393086d921f91993395b5f0007b725a5db7bf22
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the last step to remove the dependency on IInputMethodClient
from WindowManagerService.
With my previous CL [1], now WindowManagerService (WMS) depends on
IInputMethodClient just because it implements lifecycle management of
IInputMethodClient on behalf of InputMethodManagerService (IMMS).
This CL mechanically moves that responsibility from WMS to IMMS for
better separation of concerns. It is a bit ironic that this CL is
partly undoing my previous CLs [2][3] that removed
IInputMethodManager.addClient() though.
This CL aims to preserve the current observable behavior (e.g. when
InputMethodManager instance is being created) as much as possible.
Most likely there would be no observable behavior difference when seen
from other components.
[1]: I444077b1e4af4033f67ab72c181fac85b601e08a
41f89c3bccd0613a29a46b132891ba16032990d9
[2]: I453200fd5847e9a78876affb6a1caec221525e1d
e24ed79edb937c743b96b3f9baddc689fb694be1
[3]: Id91dd600120e4981aa1d9005ce644728968430c9
fffc0e53c62614c288e9e702d69e517db17dccd7
Fix: 115993358
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: I7726c70613ea72d6e78fa5754e9fc840f0a40f11
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a preparation to deprecate the following two methods.
* InputMethodManager#getInstance()
* InputMethodManager#peekInstance()
Since we soon need to stop relying on the current per-process
InputMethodManager singleton model to fully support multi-display,
those two methods really need to be deprecated.
With this CL, framework code no longer depends on
InputMethodManager#peekInstance(), which is also marked as deprecated
in this CL.
InputMethodManager#getInstance() is a bit tricky because it also works
as a constructor of such a per-process singleton instance. Remaining
two call-sites of this method will be migrated in a subsequent CL.
This is a mechanical refactoring, which in theory should have no
observable logical behavior difference.
There could be a small performance regression, but it is basically not
avoidable to correctly support multi-display scenarios.
Bug: 115891476
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Test: atest CtsWidgetTestCases:android.widget.cts.EditTextTest
Test: atest CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: atest FrameworksCoreTests:com.android.internal.inputmethod
Test: atest FrameworksServicesTests:com.android.server.textservices
Change-Id: I5db31491f3d47d3ad4a621e956995135c72e007b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on some analysis, these fields/methods are likely false positives.
Set maxTargetSdk=P so that any apps using them are required to migrate off
them in future. See the bug for more details.
Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.
Bug: 115609023
Test: m
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For packages:
android.view.textservice
android.view.textclassifier.logging
android.view.textclassifier
android.view.inputmethod
android.view.autofill
android.view.accessibility
android.view
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I4147b038ed7adf0311ee9918b44766f82a057eaf
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Simply put there is nothing ensuring PopupWindow's stop using
the Surface before the app is stopped. Since PopupWindow's are
detached from the main View Hierarchy teardown of the main window
provides no such guarantee. It seems enough to forward the "WindowStopped"
signal from ViewRoot to other ViewRoot's using the token of that ViewRoot.
Bug: 62536731
Test: Manual
Change-Id: Ib431f49be7e06a6397a40c11ec7e842a8bc5caf9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Symptom:
An application crashed due to IndexOutOfBoundsException.
The exception was thrown at WindowManagerGlobal#setStoppedState.
Root cause:
setStoppedState invokes setWindowStopped for each ViewRoot by
ascending order. If an application removes its view within the
loop, loop index exceeds the number of items.
Solution:
Loop in descending order.
Bug: 69018607
Change-Id: I7e20282dc99b767912be4e00d81ffb49fe6c7ac0
|
| |
|
|
|
|
|
|
|
|
|
| |
Suppressing whenever the keyguard is locked, not just when
it's showing. This should reduce false triggering.
Bug: 34820720
Test: Verfied that shortcut no longer activates on emergency
dialer or lock screen.
Change-Id: Ic43c11798f04217c2871efe7d0fa21dbf61fd953
|
| |
|
|
|
|
| |
Bug: 34076597
Test: manual
Change-Id: Ide32463252457721286c929ab2f8f7bae241835d
|
| |\
| |
| |
| |
| |
| |
| |
| | |
810c31fdca am: 621e87d72f
am: 260af96306
Change-Id: I1907b2252ae2fa25667b3a0484f6852660c74da3
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If setView() will be called from two different threads
then mView property of a View object may have inconsistent
value. For instance, setView() may set mView to null causing
NullPointerException. Synchronize root.setView() as well to
avoid this.
Change-Id: I5f9cf47ece5d4aca575bd8644ecfcee0ed43d843
|
| |/
|
|
|
|
|
|
| |
ThreadedRenderer is not synonymous with hardware rendering, so
remove references to hardware rendering when referring to
ThreadedRenderer.
Change-Id: Ic66a482ccf05f556ebe6ec194ce4f858f75bbb8b
|