diff options
author | Dianne Hackborn <hackbod@google.com> | 2015-04-24 09:54:54 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2015-04-29 17:04:50 -0700 |
commit | d69e4c1460017062e7c36be55801cb434ad19d97 (patch) | |
tree | fdb11d94a6a8434e7c7667a8496288b599ef81b7 /services/appwidget | |
parent | 9ac2718e7dcf274ad41fbb374bedabadc558634b (diff) | |
download | frameworks_base-d69e4c1460017062e7c36be55801cb434ad19d97.zip frameworks_base-d69e4c1460017062e7c36be55801cb434ad19d97.tar.gz frameworks_base-d69e4c1460017062e7c36be55801cb434ad19d97.tar.bz2 |
Update use of procstate for services.
Now that we have a separate foreground service proc state
(above a sleeping top app), update various system services
to put their bindings into this state when appropriate.
There are two new bind flags for this -- one that just always
makes it a foreground service, another that only does it when
the device is awake (useful for things like the wallpaper).
And with all of that, tweak network policy manager to only
include apps that are at least foreground service state when
in power save and device idle modes. This will allow us to
further reduce the set of apps that have network access
(in particular not giving access to the current top app when
the screen is off), hopefully leading to even better battery
life.
Change-Id: I91d85a5c5ed64e856149e9a5d94a634a7925ec7f
Diffstat (limited to 'services/appwidget')
-rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index f42aef1..17c7e0c 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -1492,7 +1492,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku // RemoteViewsService. final long token = Binder.clearCallingIdentity(); try { - mContext.bindServiceAsUser(intent, conn, Context.BIND_AUTO_CREATE, + mContext.bindServiceAsUser(intent, conn, + Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE, widget.provider.info.getProfile()); } finally { Binder.restoreCallingIdentity(token); @@ -2907,7 +2908,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku UserHandle userHandle) { final long token = Binder.clearCallingIdentity(); try { - mContext.bindServiceAsUser(intent, connection, Context.BIND_AUTO_CREATE, + mContext.bindServiceAsUser(intent, connection, + Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE, userHandle); } finally { Binder.restoreCallingIdentity(token); |