Add new "am unlock-user" command so we can trigger changes from the
command line.
Move FBE check to static method so it can safely be called early
during boot before the mount service is ready. Move FBE emulation
to persisted system property, and start reading/writing that value.
Change default permission grants to ignore current encryption-aware
flags, since many of the target apps aren't crypto aware.
Always prepare package data directories, which is how we create the
new "user_de" paths during boot.
Bug: 22358539
Change-Id: I6f58ea2d34b3a466d3775d614f8a13de92272621
in the same was as we allow then to turn of debuging notificaitons
this is useful for screenshots and demos
Change-Id: I6e95addec2917abdd619086ed68910097fb5b8aa
To diagnose race conditions like issue #25373872, we want to track
which input method client corresponds to IMMS#mCurFocusedWindow.
Note that IMMS#mCurClient does not always correspond to
IMMS#mCurFocusedWindow, because input method clients can report the
window focus gain only, without requesting to be bound to IME.
Bug: 25373872
Change-Id: Iad121669c0f3db4461245dc80ff3fdee469abb79
Suppose the following case:
1. Launch an activity.
2. Focus in an EditText on the activity. IME is shown up.
3. Kill the activity process in a not graceful way, e.g.,
'adb shell kill'
After step 3, IMMS#removeClient(client) is immediately called back from
com.android.server.wm.Session, which is good, but we forgot to clear
IMMS#mCurClient to null.
Basically not clearing IMMS#mCurClient there is not so critical, because
1) we already have bunch of RemoteException check for the case where
IPC target is already dead, and in theory we cannot avoid this kind of
runtime error anyway, and 2) in most of cases new input method client
gains focus.
That said, in conjunction with other focus-related issues such
as bug #25373872, not cleaning that can result in the following error
message in 'input_method:' section of bugreport, which might be a bit
confusing.
Input method client dead: android.os.DeadObjectException
The primary goal of this CL is to make bugreport less confusing. Any
user/developer-visible changes beyond that is unintentional.
Bug: 25373872
Change-Id: Iee001ad9cce0c8c6324e3c0984be1e6f0e641d05
unhide ActivityOptions APIs for setting launch bounds for
an activitiy so apps can use it. Only works on devices that
support PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT.
Bug: 25499677
Change-Id: I75424681f25cbb9fe92f2ed73e6afbab765dab29
For light idle mode, our maintenance window is pretty short (1 minute).
Usually we have nothing to do in it... but sometimes we may want to
do a sync or download that takes more than a minute, and it would be
nice to not take the overhead of breaking that up in to multiple
windows.
So now we have a flexibile window, from 1 minute to 5 minutes. We
start out with 1 minute, and any window that uses less than 1
minute increases the available window by that amount for later use.
If we later use more than 1 minute, we correspondingly decrease
the next available window.
Change-Id: Ie273dbd5843b3aa4a3d5d9b2e420cda75517340f
The "appops" shell command is now just a wrapper around doing
"cmd appops", no more need to launch a Java VM!
Change-Id: I06fc68762d0ab95a016fb24db0affb0d91197588
Clear the calling identity in retrieveServiceLocked before
doing the appop check. It probably needs to be cleared sooner
in general in retrieveServiceLocked(), but that might be a risky
fix. Making this smaller fix to keep it surgical for now.
Bug: 25759739
Change-Id: I66a5f8ef9b2d914181925fa344c3f2962030583d
The flag is being obsolete by the move to JIT.
(cherry picked from commit 9abbf45c8dcdb2e5b13b615e5138ad996fe8afa3)
Change-Id: I3ce4577e81f91e9dd55d44116e0f9e2014bd00b8
As a preparation to fix Bug 25373872, this introduce an additional
parameter to IInputMethodClient.unbind() so that the IME client
that is running in the application side can know why IMMS needs
to unbind the connection.
In future the "unbindReason" parameter is supposed to be used to
optimize the behavior of IMM runtime running in the application process,
but for now it is not used unless we build the sytem with debug message
enabled. Hence there should be no user-visible change with this CL.
Bug: 25373872
Change-Id: I74e83c8ca9d1d53e31e9c7b5bda1dec6274e59c8
As a preparation to fix Bug 25373872, this CL does a mechanical
code clean-ups in InputMethodManagerService.
As a follow up of I6c3186050592526fc95c5b27f18e2155acff5ebc, this CL
introduces IMMS#resetCurrentMethodAndClient() to make it clear when we
are resetting both IMMS->IME and IMMS->Apps connections.
This is literally mechanical. No behavior change is intended.
Bug: 25373872
Change-Id: Ia4161854d9da71783fd028fcb79407e4b9463aee
The directories recent_tasks and recent_images are moved from
/data/system/ to /data/system/users/<n>/
Bug: b/24569398
Change-Id: I538969d86ebf14fb2d44257be1e6c0a7ff61ed8d
View.cancelDrag cancels a drag operation initiated by
View.startDrag.
It has to be called on a View in the same window (under the
same ViewRootImpl) that the view which started the drag.
Bug: 24415683
Change-Id: Iae5ff3534b6c747ae174f170fdd01ff4d3b1c312