diff options
author | Dianne Hackborn <hackbod@google.com> | 2015-04-10 14:02:33 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2015-04-14 10:01:24 -0700 |
commit | 1e38382b542f5cef9957a89692b02c55a3dd351c (patch) | |
tree | 18c1b04b4e8f485fc3e6a99874d43e0161b8a8a4 /services/core/java/com/android/server/job | |
parent | 172753e6f851aa1905953b00d11a48873ff4bbb5 (diff) | |
download | frameworks_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.java | 20 |
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) { |