summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/job
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2015-04-10 14:02:33 -0700
committerDianne Hackborn <hackbod@google.com>2015-04-14 10:01:24 -0700
commit1e38382b542f5cef9957a89692b02c55a3dd351c (patch)
tree18c1b04b4e8f485fc3e6a99874d43e0161b8a8a4 /services/core/java/com/android/server/job
parent172753e6f851aa1905953b00d11a48873ff4bbb5 (diff)
downloadframeworks_base-1e38382b542f5cef9957a89692b02c55a3dd351c.zip
frameworks_base-1e38382b542f5cef9957a89692b02c55a3dd351c.tar.gz
frameworks_base-1e38382b542f5cef9957a89692b02c55a3dd351c.tar.bz2
Fixes to idle alarm scheduling, package importance.
- Add new API to ask the activity manager what the current importance of a particular package name is (along with a few new useful importance levels). - Fix my last alarm manager change to actually execute the alarms we have now decided should run even while we are idle. Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
Diffstat (limited to 'services/core/java/com/android/server/job')
-rw-r--r--services/core/java/com/android/server/job/controllers/AppIdleController.java20
1 files changed, 6 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/job/controllers/AppIdleController.java b/services/core/java/com/android/server/job/controllers/AppIdleController.java
index 8a9f3e1..23d5c05 100644
--- a/services/core/java/com/android/server/job/controllers/AppIdleController.java
+++ b/services/core/java/com/android/server/job/controllers/AppIdleController.java
@@ -49,16 +49,12 @@ public class AppIdleController extends StateController
private static volatile AppIdleController sController;
final ArrayList<JobStatus> mTrackedTasks = new ArrayList<JobStatus>();
private final UsageStatsManagerInternal mUsageStatsInternal;
- private final BatteryManagerInternal mBatteryManagerInternal;
+ private final BatteryManager mBatteryManager;
private boolean mPluggedIn;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
- int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
- // TODO: Allow any charger type
- onPluggedIn((plugged & BatteryManager.BATTERY_PLUGGED_AC) != 0);
- }
+ onPluggedIn(mBatteryManager.isCharging());
}
};
@@ -74,23 +70,19 @@ public class AppIdleController extends StateController
private AppIdleController(StateChangedListener stateChangedListener, Context context) {
super(stateChangedListener, context);
mUsageStatsInternal = LocalServices.getService(UsageStatsManagerInternal.class);
- mBatteryManagerInternal = LocalServices.getService(BatteryManagerInternal.class);
- mPluggedIn = isPowered();
+ mBatteryManager = context.getSystemService(BatteryManager.class);
+ mPluggedIn = mBatteryManager.isCharging();
mUsageStatsInternal.addAppIdleStateChangeListener(this);
registerReceivers();
}
private void registerReceivers() {
// Monitor battery charging state
- IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
+ IntentFilter filter = new IntentFilter(BatteryManager.ACTION_CHARGING);
+ filter.addAction(BatteryManager.ACTION_DISCHARGING);
mContext.registerReceiver(mReceiver, filter);
}
- private boolean isPowered() {
- // TODO: Allow any charger type
- return mBatteryManagerInternal.isPowered(BatteryManager.BATTERY_PLUGGED_AC);
- }
-
@Override
public void maybeStartTrackingJob(JobStatus jobStatus) {
synchronized (mTrackedTasks) {