Symptom: Unable to kill by Am again and will be skipped updating its oom adj.
Root Cause:
A restarted process will reuse original process record.
The flag killedByAm will keep previous state.
Solution:
Reset the flag killedByAm to false when the process is started.
Note: Found another similiar patch If95137d91939cc44882ad2813131bcde0edd0c1b
Change-Id: I59a86648ca8d0aed4c489d92751af120aae5ef90
Prior support forced all third party apps
to be resolved against the default stanza
of the mac_permissions.xml file when assigning
seinfo labels. This meant that all third party
apps, in effect, were untrusted regardless of
cert and therefore received the same selinux domain.
This also had the unfortunate side effect of forcing
certain third party apps into the wrong domains
because of shared userid requests among apps.
This patch removes that restriction and instead
allows all apps, regardless of location, to be
matched against the full mac_permissions.xml
policy file. This then allows all apps signed
with known good certs to receive the same selinux
domains of other apps with whom they share trust.
Change-Id: Iba569c046135c0e81140faf6296c5da26a243037
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
There was lax / incomplete error checking around the
construction of Apk handles. This change changes the ApkHandle
API and makes it throw IOException if the zipfile couldn't
be opened.
Additionally :
- Fix a resource leak in DefaultContainerService
- Report errors correctly during package moves.
bug: 15563874
Change-Id: Ic71a10709eb82b8f53405bbfb2320e80aa96b771
Add getTetheredDhcpRanges() interface and call it before calling
mNwService.startTethering() to update dhcp ranges. This will allow p2p app
to run well concurrently with other tethering app(e.g. usb tethering).
Change-Id: I5e8ffeb5d2d396f48b897cd9396f133e25ecca57
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
If all activities of a given stack were finishing, no activity was
marked as front-of-task. This confused ActivityManager, so make sure
there's always exactly one activity marked as front-of-task.
Change-Id: I087cbe10280d4a60aa5ccfaefe24a223523fb3f2
If a task is being cleared due to Intent flags and that clearing
was causing the last activity in the last task on a stack to be
deleted, then we were deleting the stack. Immediately after
this we were refilling the task with the same activity but the
stack had already been deleted.
This fix preserves the task and stack when it is only being
cleared for the new activity.
Fixes bug 15611901.
Change-Id: I7bcfa826d0852d9c640daa73fe1324b89471fecd
The existing code for notification manager/listeners uses a oneway
binder api to deliver messages. One problem with this is that
notification objects can sometimes get fairly large, and can bump
into the oneway binder transaction buffer if many happen at once.
To reduce this issue, flip the service into a oneway delivery of
a status bar notification holder, whose wrapped content is then
immediately fetched upon receipt of the one-way message. This moves
the meat of the fetch to be over a two-way interface without changing
the properties of which object is actually sent (a tickle solution
with lookup key would have changed this)
Further research: attempt to chunk notification objects themselves.
They can sometimes transfer hundreds of KB over a binder transaction.
Bug: 15426276
Change-Id: Ib1a1f4ff848c16f80bcf2ae4dfd2b87a9091f0b2
We don't want directories like profiles and the former
profile-cache from being included in the prune. SELinux would
have prevented the move, but that's very brittle.
bug: 15677279
Change-Id: I2ff5db056757ffacaf108bb07b02dc0cac7172dd
The dummy animation is a place holder. When the task stack is being
removed treating it as a true animation forced us through a path
where we deferred the detachment and made a call to tmpRemoveWindows.
Also replaced call to tmpRemoveWindows with a real remove windows
call. The tmpRemoveWindows call does not clean up the Session
and this leaves a surface on the screen.
Fixes bug 15591610.
Change-Id: I05f7bc276bfed2366bbcd8443c92a4bbbc8a4491
Remove uid before calling into Window Manager. Restore afterwards.
Check for null stack value before dereferencing.
Fixes bug 15591112.
Change-Id: Ida3de556940440162c91b8c1614d0f21e364abd8
- Do not call IActivityContainer.release() from
ActivityView.finalize() if it has already been called from
ActivityView.release(). Eliminates IBinder finalized Exception.
- Call ActivityRecord.makeFinishing() before calling ActivityStack.
destroyActivityLocked(). Forces call to scheduleDestroyActivity()
and eventually removeFromHistory(). Otherwise removeFromHistory()
is never called and window manager AppWindowTokens become orphans.
- Defer call to ActivityContainer.detachLocked() until all
activities have finished or timed out. Fixes problem where Display
is removed while activities are still launching.
- Call ActivityStackSupervisor.deleteActivityContainer() when all
activities have finished or timed out. Fixes orphaned
ActivityContainers.
Fixes bug 15450798.
Fixes bug 15484154.
Fixes bug 15383479.
Fixes bug 15316558.
Fixes bug 15168560.
Fixes bug 15143914.
Change-Id: Id3c641976b6f825458690f9ee063c07818b56f23
* commit '9f637d10959490c3a28e0f40330e97eb67e954d7':
Reduce notification service historical archive size to 1 for watches. To remove the memory footprint
Add Intent.FLAG_ACTIVITY_NO_AMINATION to all Intents passed into
ActivityView.
Fixes bug 15393526.
Change-Id: I1899a5019416109e982f0254aaba410bb1f4a38d
The change is specific to AT&T as they want no signaling from device during provisioning.
I've tested following cases:
- expired AT&T SIM to make sure provisioning flow works as expected.
- airplane mode on/off with both active and expired AT&T SIM.
- wifi <-> mobile transitions work okay.
- LTE with Verizon SIM (basic sanity).
bug: 13190133
Change-Id: I215963174ae6000ae71d1dda693f95413f3d6e81