Commit Graph

1859 Commits

Author SHA1 Message Date
Dianne Hackborn
06a06db5c4 Fix issue #11536426: Permission denied when trying to launch...
...an activity from a notification

We don't remove pending intents when updating an app, which is necessary
to keep app widgets and other things working.  However, when uninstalling
an app, we should clear out all of its pending intents.

Change-Id: I4b2980f407dbae6c2f4700ca8bc08f299f0a6dca
2013-12-02 10:46:29 -08:00
Dianne Hackborn
139156f40a am 3d004830: am 2c082ae3: am 90e9b1d3: Fix issue #11790471: Crash removed home buttons and notification bar/shade
* commit '3d0048304590a61cf32902440a3fcc27d0281f89':
  Fix issue #11790471: Crash removed home buttons and notification bar/shade
2013-11-21 14:16:52 -08:00
Dianne Hackborn
3d00483045 am 2c082ae3: am 90e9b1d3: Fix issue #11790471: Crash removed home buttons and notification bar/shade
* commit '2c082ae3d209aa590c1839d75436f7aa77b37125':
  Fix issue #11790471: Crash removed home buttons and notification bar/shade
2013-11-21 14:14:12 -08:00
Dianne Hackborn
90e9b1d3dc Fix issue #11790471: Crash removed home buttons and notification bar/shade
Whoops persistent processes are, well, persistent.  Don't remove
services from them.  We'll be keeping that process record around.

Change-Id: I29e9fb6f704efdf0caad5e0307a7adbb416eed3b
2013-11-21 12:56:03 -08:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Adam Lesinski
7ae9ea572d am bac61807: am 1abead42: am 245408d2: Merge "Do not hold direct ref BatteryStatsImpl" into klp-dev
* commit 'bac61807d3bcfff957b358cb9ad77850bd373689':
  Do not hold direct ref BatteryStatsImpl$Uid$Proc
2013-11-18 13:36:06 -08:00
Adam Lesinski
bac61807d3 am 1abead42: am 245408d2: Merge "Do not hold direct ref BatteryStatsImpl" into klp-dev
* commit '1abead425c0e862e316e17521833a33d22e7a850':
  Do not hold direct ref BatteryStatsImpl$Uid$Proc
2013-11-18 13:32:42 -08:00
Adam Lesinski
245408d290 Merge "Do not hold direct ref BatteryStatsImpl$Uid$Proc" into klp-dev 2013-11-18 21:26:32 +00:00
Adam Lesinski
2cd3fb5aa7 Do not hold direct ref BatteryStatsImpl$Uid$Proc
BatteryStatsImpl can reset its collected data, including
removing a BatteryStatsImpl$Uid$Proc object. If a ProcessRecord
has a direct reference, then the battery stats for a process
will be recorded in an old Proc object and prevent GC, causing
a memory leak.

bug:11087238
Change-Id: I19a9cd9d8361c10446a8ebdd5c0860b56c442209
2013-11-18 12:29:34 -08:00
Mike Lockwood
ed8902d3b5 Remove obsolete "headless" support
Change-Id: I18e7a4c5166163372ec0a8abbef1063668a0f5b6
2013-11-15 11:01:47 -08:00
Christopher Tate
63e1883d96 am a5acd62b: am 6e5cf573: am 99437f25: Merge "Ensure recipient can be launched before attempting broadcast delivery" into klp-dev
* commit 'a5acd62bdefe5b616c0ea080434e9dd221169527':
  Ensure recipient can be launched before attempting broadcast delivery
2013-11-14 15:49:15 -08:00
Dianne Hackborn
66ecb22c22 am 8e9b5fc9: am 59bf3be7: am 2e3ede74: Merge "Maybe fix issue #11634365: Leaking restarting services" into klp-dev
* commit '8e9b5fc93278084487fd98726c6e20333d675c40':
  Maybe fix issue #11634365: Leaking restarting services
2013-11-14 15:49:11 -08:00
Christopher Tate
a5acd62bde am 6e5cf573: am 99437f25: Merge "Ensure recipient can be launched before attempting broadcast delivery" into klp-dev
* commit '6e5cf573f2f2e17825af2973daeba893c6aa5855':
  Ensure recipient can be launched before attempting broadcast delivery
2013-11-14 15:44:40 -08:00
Dianne Hackborn
8e9b5fc932 am 59bf3be7: am 2e3ede74: Merge "Maybe fix issue #11634365: Leaking restarting services" into klp-dev
* commit '59bf3be7d1cd7311cf60ead6872f33433a097bd1':
  Maybe fix issue #11634365: Leaking restarting services
2013-11-14 15:44:36 -08:00
Christopher Tate
99437f252b Merge "Ensure recipient can be launched before attempting broadcast delivery" into klp-dev 2013-11-14 22:59:20 +00:00
Dianne Hackborn
2e3ede7497 Merge "Maybe fix issue #11634365: Leaking restarting services" into klp-dev 2013-11-14 22:56:14 +00:00
Dianne Hackborn
ddc19e9847 Maybe fix issue #11634365: Leaking restarting services
It looks like we could add services to the restart list because
they end up left in the process's list of running services after
they have been removed from the main activity list, and we can
trip up on them there when the app is being force stopped.

Change-Id: I79805b67fcf5b593430dc5c856c97927e1a54a57
2013-11-14 14:32:17 -08:00
Christopher Tate
ba629da331 Ensure recipient can be launched before attempting broadcast delivery
User removal or eviction inherently races with broadcast delivery.  This
patch introduces a latest-possible recheck of the availbility of the
target application before attempting to send it a broadcast.

Once the process has actually been spun up the system is essentially
committed to presenting it as a running application, and there is no
later check of the availability of the app: the failure mode for
continuing to attempt delivery is a crash *in the app process*,
and is user-visible.

We now check the app+userid existence of the intended recipient
just prior to committing to launch its process for receipt, and
if it is no longer available we simply skip that receiver and
continue normally.

Bug 11652784
Bug 11272019
Bug 8263020

Change-Id: Ib19ba2af493250890db7371c1a9f853772db1af0
2013-11-14 12:37:31 -08:00
Craig Mautner
a3da4623b1 am 1fbb5da2: am 29bbd570: am 1f0f9fa9: Merge "Add null pointer check." into klp-dev
* commit '1fbb5da29a4ebef1d758dffad9c2704a5932d223':
  Fix a JNI local reference leak in JNIMediaPlayerListener::notify.
  Add null pointer check.
  Import translations. DO NOT MERGE
  Small DocumentsProvider doc improvements.
  Keyguard isn't visible if it hasn't been drawn.
  Enable fast camera transition when launched from navbar
  Reduce camera launch time by about 250ms.
  camera2: Remove prior repeating request when setting.
2013-11-13 18:47:54 -08:00
Craig Mautner
1fbb5da29a am 29bbd570: am 1f0f9fa9: Merge "Add null pointer check." into klp-dev
* commit '29bbd570fe36c55321a3cd9d84330dea9d2f1e10':
  Add null pointer check.
2013-11-13 16:23:38 -08:00
Craig Mautner
1f0f9fa949 Merge "Add null pointer check." into klp-dev 2013-11-14 00:15:55 +00:00
Craig Mautner
ada62fca51 Add null pointer check.
Fixes bug 11673948.

Change-Id: I60b590b9793ae1b8d5c3d343f4bb6cb40ba4a092
2013-11-13 15:09:55 -08:00
Craig Mautner
b12eb71c4f Merge commit 'bf581034' into manualmerge
Conflicts:
	tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java

Change-Id: I9fd35ea9166ec73ce1f9f6154aa4ec87e79e20cb
2013-11-12 19:17:06 -08:00
Craig Mautner
bf581034f9 am 679ba4e8: am 6cd206b2: Merge "Relayout windows that handle their own config change." into klp-dev
* commit '679ba4e86e4fecb6dbfe48d6c49205c32f995a1c':
  Relayout windows that handle their own config change.
2013-11-12 16:00:54 -08:00
Craig Mautner
5d9f547720 Relayout windows that handle their own config change.
If a window claims to handle its own configuration change then we
won't destroy and recreate its window on a configuration change.
Normally that recreation triggers the first layout following
orientation change because mHaveFrame is false. Windows that handle
their own configuration changes never got a relayout pass following a
change in orientation.

This change passes the configuration changes that an application
handles into the AppWindowToken. If the app says it handles
orientation or screen size changes then a relayout will occur when the
configuration has changed.

Fixes bug 11647107.

Change-Id: Ie8d49fd050442ebbdcf0b805087894e3a2fc4be9
2013-11-12 14:02:52 -08:00
Craig Mautner
de558603dc Merge "Revert "Add logging for b10858941."" 2013-11-12 17:58:19 +00:00
Craig Mautner
127299fb5b Revert "Add logging for b10858941."
This reverts commit 02d3c985f3.

Change-Id: Ida2b1aa6116fdaf003c6611890a19c1c312d2bd1
2013-11-12 17:57:47 +00:00
Dianne Hackborn
034d9e9459 am bf687484: am 0259c010: am 596e409e: Merge "Work on issue #11634365: Leaking restarting services" into klp-dev
* commit 'bf687484573ef63c5b54adfc0325a41115fb49fa':
  Work on issue #11634365: Leaking restarting services
2013-11-11 20:52:22 -08:00
Dianne Hackborn
e75b987182 am f488cd3b: am 7e40e317: am c85a1143: Merge "Fix issue #11630188: Still seeing some processes not on LRU list errors" into klp-dev
* commit 'f488cd3b77c064c29040edc5af1fc98d6faa994e':
  Fix issue #11630188: Still seeing some processes not on LRU list errors
2013-11-11 20:51:12 -08:00
Craig Mautner
c46c4992ef am 6492c0f3: am 22a97106: am 8cfa6d08: Merge "Use old task info when creating new task." into klp-dev
* commit '6492c0f3af881c070170a00212e5e034f74436ae':
  Use old task info when creating new task.
2013-11-11 20:50:56 -08:00
Dianne Hackborn
bf68748457 am 0259c010: am 596e409e: Merge "Work on issue #11634365: Leaking restarting services" into klp-dev
* commit '0259c010221c73db11ee52b4b0758a179e5c0db1':
  Work on issue #11634365: Leaking restarting services
2013-11-11 18:05:10 -08:00
Dianne Hackborn
d6f5b62921 Work on issue #11634365: Leaking restarting services
Tighten up some flows to try to avoid any chance of leaving
a restarting service on the list, add a log to the only remaining
place I could find that we could get in to trouble for some
reason.

Change-Id: Iffb9be9d97deefc6cf0c5790eedfeb6e4e8a36bc
2013-11-11 17:25:37 -08:00
Dianne Hackborn
f488cd3b77 am 7e40e317: am c85a1143: Merge "Fix issue #11630188: Still seeing some processes not on LRU list errors" into klp-dev
* commit '7e40e3176399e0609051e5f0bfcb5149e78c2ea6':
  Fix issue #11630188: Still seeing some processes not on LRU list errors
2013-11-11 11:37:19 -08:00
Dianne Hackborn
bc72dce075 Fix issue #11630188: Still seeing some processes not on LRU list errors
This happened:

android.util.Log$TerribleFailure: Adding dependent process ProcessRecord{43c7a120 0:com.google.android.gms/u0a7} not on LRU list: service connection ConnectionRecord{437c16e0 u0 CR ACT com.google.android.gms/.icing.impl.IndexService:@436ba7f8} from ProcessRecord{43c64208 4908:com.google.android.googlequicksearchbox:search/u0a19}
	at android.util.Log.wtf(Log.java:290)
	at android.util.Slog.wtf(Slog.java:82)
	at com.android.server.am.ActivityManagerService.updateLruProcessInternalLocked(ActivityManagerService.java:2290)
	at com.android.server.am.ActivityManagerService.updateLruProcessLocked(ActivityManagerService.java:2508)
	at com.android.server.am.ActiveServices.updateServiceClientActivitiesLocked(ActiveServices.java:636)
	at com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1656)
	at com.android.server.am.ActiveServices.unbindServiceLocked(ActiveServices.java:860)
	at com.android.server.am.ActivityManagerService.unbindService(ActivityManagerService.java:12773)
	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:869)
	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2071)
	at android.os.Binder.execTransact(Binder.java:404)
	at dalvik.system.NativeStart.run(Native Method)

Because of this earlier:

11-09 18:02:19.126 W/ActivityManager(  809): Exception when starting service com.google.android.gms/.icing.impl.IndexService
11-09 18:02:19.126 W/ActivityManager(  809): android.os.DeadObjectException
11-09 18:02:19.126 W/ActivityManager(  809): 	at android.os.BinderProxy.transact(Native Method)
11-09 18:02:19.126 W/ActivityManager(  809): 	at android.app.ApplicationThreadProxy.scheduleCreateService(ApplicationThreadNative.java:850)
11-09 18:02:19.126 W/ActivityManager(  809): 	at com.android.server.am.ActiveServices.realStartServiceLocked(ActiveServices.java:1384)
11-09 18:02:19.126 W/ActivityManager(  809): 	at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:1294)
11-09 18:02:19.126 W/ActivityManager(  809): 	at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:755)
11-09 18:02:19.126 W/ActivityManager(  809): 	at com.android.server.am.ActivityManagerService.bindService(ActivityManagerService.java:12766)
11-09 18:02:19.126 W/ActivityManager(  809): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:859)
11-09 18:02:19.126 W/ActivityManager(  809): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2071)
11-09 18:02:19.126 W/ActivityManager(  809): 	at android.os.Binder.execTransact(Binder.java:404)
11-09 18:02:19.126 W/ActivityManager(  809): 	at dalvik.system.NativeStart.run(Native Method)

Not clearing the service's app pointer.

Also fix this wtf where we were not clearing the started state of
a ServiceTracker when its process goes away.  (This was like this
because we used to want to leave the started state so that we can
know the process is trying to restart.  But now that have a new
explicit restarting strate, there is no need to leave it.)

android.util.Log$TerribleFailure: Service owner ServiceRecord{436f5168 u0 com.dirtywaterlabs.uberhype/com.dirtywaterlabs.musichype.MDService} cleared while started: pkg=com.dirtywaterlabs.uberhype service=com.dirtywaterlabs.musichype.MDService proc=ProcessState{42bf4bb8 com.dirtywaterlabs.uberhype:remote/10115 pkg=com.dirtywaterlabs.uberhype}
	at android.util.Log.wtf(Log.java:290)
	at android.util.Slog.wtfStack(Slog.java:86)
	at com.android.internal.app.ProcessStats$ServiceState.clearCurrentOwner(ProcessStats.java:2989)
	at com.android.server.am.ActiveServices.serviceDoneExecutingLocked(ActiveServices.java:1821)
	at com.android.server.am.ActiveServices.serviceProcessGoneLocked(ActiveServices.java:1779)
	at com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1693)
	at com.android.server.am.ActiveServices.killServicesLocked(ActiveServices.java:2028)
	at com.android.server.am.ActivityManagerService.cleanUpApplicationRecordLocked(ActivityManagerService.java:12424)
	at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:3605)
	at com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:3750)
	at com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied(ActivityManagerService.java:1026)
	at android.os.BinderProxy.sendDeathNotice(Binder.java:493)
	at dalvik.system.NativeStart.run(Native Method)

Change-Id: I25a3fb678b5365254490cd5509b558348655b589
2013-11-11 10:55:42 -08:00
Craig Mautner
6492c0f3af am 22a97106: am 8cfa6d08: Merge "Use old task info when creating new task." into klp-dev
* commit '22a9710608d47747f9b834aa2a6b377bf529ad33':
  Use old task info when creating new task.
2013-11-11 10:07:21 -08:00
Craig Mautner
8862929e2a Use old task info when creating new task.
When a new task is being created solely to protect the system from an
old task going away, save the info from the old task and use it when
creating a new task.

Fixes bug 11615548.

Change-Id: Ibc3fd15ec4b0d76bce30381fbd83b6899f6a9023
2013-11-10 20:39:05 -08:00
Craig Mautner
f0696d992f am 25f6d3e6: am f7dea15b: am c9ffd746: Merge "Don\'t call setTask twice." into klp-dev
* commit '25f6d3e6e0d341239fc9ef56a6310e92bc5f21ce':
  Don't call setTask twice.
2013-11-07 15:13:30 -08:00
Craig Mautner
211aa32fdb am bf98c0cc: am c0eb7e7b: am 20409674: Merge "If home activity is not fullscreen keep drilling." into klp-dev
* commit 'bf98c0ccd9cab77ec06f7553c6bae317afcd6077':
  If home activity is not fullscreen keep drilling.
2013-11-07 15:13:27 -08:00
Robert Greenwalt
d528d48e5d resolved conflicts for merge of c3eef190 to master
Change-Id: I36fd3c7fcbb13e47e27ffc340484c03b5a553bb1
2013-11-07 15:05:26 -08:00
Craig Mautner
25f6d3e6e0 am f7dea15b: am c9ffd746: Merge "Don\'t call setTask twice." into klp-dev
* commit 'f7dea15b8275dd012b1b00b9d781711eff82105a':
  Don't call setTask twice.
2013-11-07 12:58:20 -08:00
Craig Mautner
bf98c0ccd9 am c0eb7e7b: am 20409674: Merge "If home activity is not fullscreen keep drilling." into klp-dev
* commit 'c0eb7e7b545822dfb3cd43175886f2c97069e122':
  If home activity is not fullscreen keep drilling.
2013-11-07 12:53:37 -08:00
Craig Mautner
c9ffd74659 Merge "Don't call setTask twice." into klp-dev 2013-11-07 20:51:30 +00:00
Craig Mautner
2040967478 Merge "If home activity is not fullscreen keep drilling." into klp-dev 2013-11-07 20:49:02 +00:00
Craig Mautner
f41bcd47ea If home activity is not fullscreen keep drilling.
When the home activity launches a non-fullscreen activity as part of
its own task then ensureActivitiesVisibleLocked() must continue past
the launched activity when determining activities to show and hide.
Stopping at the non-fullscreen activity leaves the fullscreen home
activity hidden.

Fixes bug 11555762.

Change-Id: I9058d8cde3a41cb7f9b1f97e5c0cb32e9b0f5af7
2013-11-07 11:51:29 -08:00
Robert Greenwalt
c3eef19047 am f1612bcf: am e8c51298: Merge "Add BatteryStats for Wifi Batched Scanning." into klp-dev
* commit 'f1612bcfdd2cb517948f14369fd0977ceb55d19c':
  Add BatteryStats for Wifi Batched Scanning.
2013-11-07 10:39:43 -08:00
Robert Greenwalt
e8c51298a4 Merge "Add BatteryStats for Wifi Batched Scanning." into klp-dev 2013-11-07 18:30:49 +00:00
Dianne Hackborn
c0b5351555 am 03be79b3: am fbf4888d: am 9882d388: Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev
* commit '03be79b35ca7060f383075a43ff19c8a9d63a7c0':
  Fix issue #11223338: Not retaining service started state while restarting
2013-11-07 10:24:22 -08:00
Dianne Hackborn
03be79b35c am fbf4888d: am 9882d388: Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev
* commit 'fbf4888d19b0c68d8004f9ad2423a583dc01178e':
  Fix issue #11223338: Not retaining service started state while restarting
2013-11-07 10:21:34 -08:00
Dianne Hackborn
9882d38899 Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev 2013-11-07 18:16:10 +00:00
Craig Mautner
329f4129a5 Don't call setTask twice.
The method ActivityRecord.setTask() removes the ActivityRecord from
its old task's mActivities ArrayList. In jb-mr2 it did not have this
side effect (there was no mActivities) so calling it twice was not a
problem. This fix causes setTask to only be called once for the target
activity.

Fixes bug 11557835.

Change-Id: If2b6d4b297e86130009713efe6891a24fad3dd15
2013-11-07 09:10:42 -08:00