From 235510e67210f90de30c2d5582a2077ccc589619 Mon Sep 17 00:00:00 2001 From: Jose Lima Date: Wed, 13 Aug 2014 12:50:01 -0700 Subject: [PATCH] Made AlarmClockInfo a nested class in AlarmManager Bug: 16959028 Change-Id: I150eaaff765d1e214c3621c1bf50162ec0dac8ec --- api/current.txt | 22 ++-- core/java/android/app/AlarmClockInfo.java | 101 ------------------ ...{AlarmClockInfo.aidl => AlarmManager.aidl} | 2 +- core/java/android/app/AlarmManager.java | 84 +++++++++++++++ core/java/android/app/IAlarmManager.aidl | 6 +- .../internal/widget/LockPatternUtils.java | 3 +- .../android/keyguard/KeyguardStatusView.java | 8 +- .../statusbar/phone/StatusBarHeaderView.java | 6 +- .../statusbar/policy/NextAlarmController.java | 5 +- .../policy/ZenModeControllerImpl.java | 3 +- .../android/server/AlarmManagerService.java | 43 ++++---- .../server/NetworkStatsServiceTest.java | 4 +- 12 files changed, 136 insertions(+), 151 deletions(-) delete mode 100644 core/java/android/app/AlarmClockInfo.java rename core/java/android/app/{AlarmClockInfo.aidl => AlarmManager.aidl} (94%) diff --git a/api/current.txt b/api/current.txt index e0df0e497fb69..9cc346476946f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -3771,20 +3771,11 @@ package android.app { method public void update(android.app.ActivityOptions); } - public class AlarmClockInfo implements android.os.Parcelable { - ctor public AlarmClockInfo(long, android.app.PendingIntent); - method public int describeContents(); - method public android.app.PendingIntent getShowIntent(); - method public long getTriggerTime(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator CREATOR; - } - public class AlarmManager { method public void cancel(android.app.PendingIntent); - method public android.app.AlarmClockInfo getNextAlarmClock(); + method public android.app.AlarmManager.AlarmClockInfo getNextAlarmClock(); method public void set(int, long, android.app.PendingIntent); - method public void setAlarmClock(android.app.AlarmClockInfo, android.app.PendingIntent); + method public void setAlarmClock(android.app.AlarmManager.AlarmClockInfo, android.app.PendingIntent); method public void setExact(int, long, android.app.PendingIntent); method public void setInexactRepeating(int, long, long, android.app.PendingIntent); method public void setRepeating(int, long, long, android.app.PendingIntent); @@ -3803,6 +3794,15 @@ package android.app { field public static final int RTC_WAKEUP = 0; // 0x0 } + public static final class AlarmManager.AlarmClockInfo implements android.os.Parcelable { + ctor public AlarmManager.AlarmClockInfo(long, android.app.PendingIntent); + method public int describeContents(); + method public android.app.PendingIntent getShowIntent(); + method public long getTriggerTime(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator CREATOR; + } + public class AlertDialog extends android.app.Dialog implements android.content.DialogInterface { ctor protected AlertDialog(android.content.Context); ctor protected AlertDialog(android.content.Context, int); diff --git a/core/java/android/app/AlarmClockInfo.java b/core/java/android/app/AlarmClockInfo.java deleted file mode 100644 index 0ccaf02995ae9..0000000000000 --- a/core/java/android/app/AlarmClockInfo.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package android.app; - -import android.os.Parcel; -import android.os.Parcelable; - -/** - * An immutable description of an alarm clock. - * - * @see AlarmManager#setAlarmClock - * @see AlarmManager#getNextAlarmClock - */ -public class AlarmClockInfo implements Parcelable { - - private final long mTriggerTime; - private final PendingIntent mShowIntent; - - /** - * Creates a new alarm clock description. - * - * @param triggerTime time at which the underlying alarm is triggered in wall time milliseconds - * since the epoch - * @param showIntent an intent that can be used to show or edit details of - * the alarm clock. - */ - public AlarmClockInfo(long triggerTime, PendingIntent showIntent) { - mTriggerTime = triggerTime; - mShowIntent = showIntent; - } - - /** - * Use the {@link #CREATOR} - * @hide - */ - AlarmClockInfo(Parcel in) { - mTriggerTime = in.readLong(); - mShowIntent = in.readParcelable(PendingIntent.class.getClassLoader()); - } - - /** - * Returns the time at which the alarm is going to trigger. - * - * This value is UTC wall clock time in milliseconds, as returned by - * {@link System#currentTimeMillis()} for example. - */ - public long getTriggerTime() { - return mTriggerTime; - } - - /** - * Returns an intent intent that can be used to show or edit details of the alarm clock in - * the application that scheduled it. - * - *

Beware that any application can retrieve and send this intent, potentially - * with additional fields filled in. See - * {@link PendingIntent#send(android.content.Context, int, android.content.Intent) - * PendingIntent.send()} and {@link android.content.Intent#fillIn Intent.fillIn()} - * for details. - */ - public PendingIntent getShowIntent() { - return mShowIntent; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(mTriggerTime); - dest.writeParcelable(mShowIntent, flags); - } - - public static final Creator CREATOR = new Creator() { - @Override - public AlarmClockInfo createFromParcel(Parcel in) { - return new AlarmClockInfo(in); - } - - @Override - public AlarmClockInfo[] newArray(int size) { - return new AlarmClockInfo[size]; - } - }; -} diff --git a/core/java/android/app/AlarmClockInfo.aidl b/core/java/android/app/AlarmManager.aidl similarity index 94% rename from core/java/android/app/AlarmClockInfo.aidl rename to core/java/android/app/AlarmManager.aidl index 58a3644d89280..c9547b28740a7 100644 --- a/core/java/android/app/AlarmClockInfo.aidl +++ b/core/java/android/app/AlarmManager.aidl @@ -16,4 +16,4 @@ package android.app; -parcelable AlarmClockInfo; +parcelable AlarmManager.AlarmClockInfo; diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java index fa2d64c9c1a5c..a64e0ed5bb30b 100644 --- a/core/java/android/app/AlarmManager.java +++ b/core/java/android/app/AlarmManager.java @@ -20,9 +20,12 @@ import android.annotation.SdkConstant; import android.content.Context; import android.content.Intent; import android.os.Build; +import android.os.Parcel; +import android.os.Parcelable; import android.os.RemoteException; import android.os.UserHandle; import android.os.WorkSource; +import android.os.Parcelable.Creator; /** * This class provides access to the system alarm services. These allow you @@ -579,4 +582,85 @@ public class AlarmManager return null; } } + + /** + * An immutable description of an alarm clock. + * + * @see AlarmManager#setAlarmClock + * @see AlarmManager#getNextAlarmClock + */ + public static final class AlarmClockInfo implements Parcelable { + + private final long mTriggerTime; + private final PendingIntent mShowIntent; + + /** + * Creates a new alarm clock description. + * + * @param triggerTime time at which the underlying alarm is triggered in wall time + * milliseconds since the epoch + * @param showIntent an intent that can be used to show or edit details of + * the alarm clock. + */ + public AlarmClockInfo(long triggerTime, PendingIntent showIntent) { + mTriggerTime = triggerTime; + mShowIntent = showIntent; + } + + /** + * Use the {@link #CREATOR} + * @hide + */ + AlarmClockInfo(Parcel in) { + mTriggerTime = in.readLong(); + mShowIntent = in.readParcelable(PendingIntent.class.getClassLoader()); + } + + /** + * Returns the time at which the alarm is going to trigger. + * + * This value is UTC wall clock time in milliseconds, as returned by + * {@link System#currentTimeMillis()} for example. + */ + public long getTriggerTime() { + return mTriggerTime; + } + + /** + * Returns an intent intent that can be used to show or edit details of the alarm clock in + * the application that scheduled it. + * + *

Beware that any application can retrieve and send this intent, + * potentially with additional fields filled in. See + * {@link PendingIntent#send(android.content.Context, int, android.content.Intent) + * PendingIntent.send()} and {@link android.content.Intent#fillIn Intent.fillIn()} + * for details. + */ + public PendingIntent getShowIntent() { + return mShowIntent; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(mTriggerTime); + dest.writeParcelable(mShowIntent, flags); + } + + public static final Creator CREATOR = new Creator() { + @Override + public AlarmClockInfo createFromParcel(Parcel in) { + return new AlarmClockInfo(in); + } + + @Override + public AlarmClockInfo[] newArray(int size) { + return new AlarmClockInfo[size]; + } + }; + } } diff --git a/core/java/android/app/IAlarmManager.aidl b/core/java/android/app/IAlarmManager.aidl index fb33706dde348..194082e2d9f45 100644 --- a/core/java/android/app/IAlarmManager.aidl +++ b/core/java/android/app/IAlarmManager.aidl @@ -16,7 +16,7 @@ */ package android.app; -import android.app.AlarmClockInfo; +import android.app.AlarmManager; import android.app.PendingIntent; import android.os.WorkSource; @@ -29,11 +29,11 @@ interface IAlarmManager { /** windowLength == 0 means exact; windowLength < 0 means the let the OS decide */ void set(int type, long triggerAtTime, long windowLength, long interval, in PendingIntent operation, in WorkSource workSource, - in AlarmClockInfo alarmClock); + in AlarmManager.AlarmClockInfo alarmClock); boolean setTime(long millis); void setTimeZone(String zone); void remove(in PendingIntent operation); - AlarmClockInfo getNextAlarmClock(int userId); + AlarmManager.AlarmClockInfo getNextAlarmClock(int userId); } diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 7e8d8287bc849..ece3e9d5e503b 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -18,7 +18,6 @@ package com.android.internal.widget; import android.Manifest; import android.app.ActivityManagerNative; -import android.app.AlarmClockInfo; import android.app.AlarmManager; import android.app.admin.DevicePolicyManager; import android.app.trust.TrustManager; @@ -1169,7 +1168,7 @@ public class LockPatternUtils { * @return A formatted string of the next alarm (for showing on the lock screen), * or null if there is no next alarm. */ - public AlarmClockInfo getNextAlarm() { + public AlarmManager.AlarmClockInfo getNextAlarm() { AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); return alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT); } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java index daba0a22598f1..451db2bcce700 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java @@ -16,7 +16,7 @@ package com.android.keyguard; -import android.app.AlarmClockInfo; +import android.app.AlarmManager; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; @@ -116,7 +116,7 @@ public class KeyguardStatusView extends GridLayout { } protected void refresh() { - AlarmClockInfo nextAlarm = mLockPatternUtils.getNextAlarm(); + AlarmManager.AlarmClockInfo nextAlarm = mLockPatternUtils.getNextAlarm(); Patterns.update(mContext, nextAlarm != null); mDateView.setFormat24Hour(Patterns.dateView); @@ -128,7 +128,7 @@ public class KeyguardStatusView extends GridLayout { refreshAlarmStatus(nextAlarm); } - void refreshAlarmStatus(AlarmClockInfo nextAlarm) { + void refreshAlarmStatus(AlarmManager.AlarmClockInfo nextAlarm) { if (nextAlarm != null) { mAlarmStatusView.setText(formatNextAlarm(mContext, nextAlarm)); mAlarmStatusView.setVisibility(View.VISIBLE); @@ -137,7 +137,7 @@ public class KeyguardStatusView extends GridLayout { } } - public static String formatNextAlarm(Context context, AlarmClockInfo info) { + public static String formatNextAlarm(Context context, AlarmManager.AlarmClockInfo info) { if (info == null) { return ""; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java index 85aa00d53d93d..5c9f3ca388f5a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.phone; -import android.app.AlarmClockInfo; +import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; @@ -73,7 +73,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL private boolean mShowEmergencyCallsOnly; private boolean mAlarmShowing; - private AlarmClockInfo mNextAlarm; + private AlarmManager.AlarmClockInfo mNextAlarm; private int mCollapsedHeight; private int mExpandedHeight; @@ -360,7 +360,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL } @Override - public void onNextAlarmChanged(AlarmClockInfo nextAlarm) { + public void onNextAlarmChanged(AlarmManager.AlarmClockInfo nextAlarm) { mNextAlarm = nextAlarm; if (nextAlarm != null) { mAlarmStatus.setText(KeyguardStatusView.formatNextAlarm(getContext(), nextAlarm)); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NextAlarmController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NextAlarmController.java index ca71521319b81..8f1f7c7b6ec7a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NextAlarmController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NextAlarmController.java @@ -16,7 +16,6 @@ package com.android.systemui.statusbar.policy; -import android.app.AlarmClockInfo; import android.app.AlarmManager; import android.content.BroadcastReceiver; import android.content.Context; @@ -33,7 +32,7 @@ public class NextAlarmController extends BroadcastReceiver { private final ArrayList mChangeCallbacks = new ArrayList<>(); private AlarmManager mAlarmManager; - private AlarmClockInfo mNextAlarm; + private AlarmManager.AlarmClockInfo mNextAlarm; public NextAlarmController(Context context) { mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); @@ -79,6 +78,6 @@ public class NextAlarmController extends BroadcastReceiver { } public interface NextAlarmChangeCallback { - void onNextAlarmChanged(AlarmClockInfo nextAlarm); + void onNextAlarmChanged(AlarmManager.AlarmClockInfo nextAlarm); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java index 9d3dec80d4218..b33e502c86ab0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java @@ -16,7 +16,6 @@ package com.android.systemui.statusbar.policy; -import android.app.AlarmClockInfo; import android.app.AlarmManager; import android.app.INotificationManager; import android.content.BroadcastReceiver; @@ -146,7 +145,7 @@ public class ZenModeControllerImpl implements ZenModeController { @Override public long getNextAlarm() { - final AlarmClockInfo info = mAlarmManager.getNextAlarmClock(mUserId); + final AlarmManager.AlarmClockInfo info = mAlarmManager.getNextAlarmClock(mUserId); return info != null ? info.getTriggerTime() : 0; } diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index 21e56702b6ad2..e9419ad024898 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -19,7 +19,6 @@ package com.android.server; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManagerNative; -import android.app.AlarmClockInfo; import android.app.AlarmManager; import android.app.IAlarmManager; import android.app.PendingIntent; @@ -129,14 +128,17 @@ class AlarmManagerService extends SystemService { long mStartCurrentDelayTime; long mNextNonWakeupDeliveryTime; - private final SparseArray mNextAlarmClockForUser = new SparseArray<>(); - private final SparseArray mTmpSparseAlarmClockArray = new SparseArray<>(); + private final SparseArray mNextAlarmClockForUser = + new SparseArray<>(); + private final SparseArray mTmpSparseAlarmClockArray = + new SparseArray<>(); private final SparseBooleanArray mPendingSendNextAlarmClockChangedForUser = new SparseBooleanArray(); private boolean mNextAlarmClockMayChange; // May only use on mHandler's thread, locking not required. - private final SparseArray mHandlerSparseAlarmClockArray = new SparseArray<>(); + private final SparseArray mHandlerSparseAlarmClockArray = + new SparseArray<>(); class WakeupEvent { public long when; @@ -619,7 +621,7 @@ class AlarmManagerService extends SystemService { void setImpl(int type, long triggerAtTime, long windowLength, long interval, PendingIntent operation, boolean isStandalone, WorkSource workSource, - AlarmClockInfo alarmClock) { + AlarmManager.AlarmClockInfo alarmClock) { if (operation == null) { Slog.w(TAG, "set/setRepeating ignored because there is no intent"); return; @@ -672,7 +674,8 @@ class AlarmManagerService extends SystemService { private void setImplLocked(int type, long when, long whenElapsed, long windowLength, long maxWhen, long interval, PendingIntent operation, boolean isStandalone, - boolean doValidate, WorkSource workSource, AlarmClockInfo alarmClock, int userId) { + boolean doValidate, WorkSource workSource, AlarmManager.AlarmClockInfo alarmClock, + int userId) { Alarm a = new Alarm(type, when, whenElapsed, windowLength, maxWhen, interval, operation, workSource, alarmClock, userId); removeLocked(operation); @@ -714,7 +717,8 @@ class AlarmManagerService extends SystemService { private final IBinder mService = new IAlarmManager.Stub() { @Override public void set(int type, long triggerAtTime, long windowLength, long interval, - PendingIntent operation, WorkSource workSource, AlarmClockInfo alarmClock) { + PendingIntent operation, WorkSource workSource, + AlarmManager.AlarmClockInfo alarmClock) { if (workSource != null) { getContext().enforceCallingPermission( android.Manifest.permission.UPDATE_DEVICE_STATS, @@ -762,7 +766,7 @@ class AlarmManagerService extends SystemService { } @Override - public AlarmClockInfo getNextAlarmClock(int userId) { + public AlarmManager.AlarmClockInfo getNextAlarmClock(int userId) { userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), userId, false /* allowAll */, false /* requireFull */, "getNextAlarmClock", null); @@ -1009,7 +1013,7 @@ class AlarmManagerService extends SystemService { return null; } - private AlarmClockInfo getNextAlarmClockImpl(int userId) { + private AlarmManager.AlarmClockInfo getNextAlarmClockImpl(int userId) { synchronized (mLock) { return mNextAlarmClockForUser.get(userId); } @@ -1024,7 +1028,7 @@ class AlarmManagerService extends SystemService { } mNextAlarmClockMayChange = false; - SparseArray nextForUser = mTmpSparseAlarmClockArray; + SparseArray nextForUser = mTmpSparseAlarmClockArray; nextForUser.clear(); final int N = mAlarmBatches.size(); @@ -1054,9 +1058,9 @@ class AlarmManagerService extends SystemService { // Update mNextAlarmForUser with new values. final int NN = nextForUser.size(); for (int i = 0; i < NN; i++) { - AlarmClockInfo newAlarm = nextForUser.valueAt(i); + AlarmManager.AlarmClockInfo newAlarm = nextForUser.valueAt(i); int userId = nextForUser.keyAt(i); - AlarmClockInfo currentAlarm = mNextAlarmClockForUser.get(userId); + AlarmManager.AlarmClockInfo currentAlarm = mNextAlarmClockForUser.get(userId); if (!newAlarm.equals(currentAlarm)) { updateNextAlarmInfoForUserLocked(userId, newAlarm); } @@ -1072,7 +1076,8 @@ class AlarmManagerService extends SystemService { } } - private void updateNextAlarmInfoForUserLocked(int userId, AlarmClockInfo alarmClock) { + private void updateNextAlarmInfoForUserLocked(int userId, + AlarmManager.AlarmClockInfo alarmClock) { if (alarmClock != null) { if (DEBUG_ALARM_CLOCK) { Log.v(TAG, "Next AlarmClockInfoForUser(" + userId + "): " + @@ -1100,7 +1105,7 @@ class AlarmManagerService extends SystemService { * @see AlarmHandler#SEND_NEXT_ALARM_CLOCK_CHANGED */ private void sendNextAlarmClockChanged() { - SparseArray pendingUsers = mHandlerSparseAlarmClockArray; + SparseArray pendingUsers = mHandlerSparseAlarmClockArray; pendingUsers.clear(); synchronized (mLock) { @@ -1115,7 +1120,7 @@ class AlarmManagerService extends SystemService { final int N = pendingUsers.size(); for (int i = 0; i < N; i++) { int userId = pendingUsers.keyAt(i); - AlarmClockInfo alarmClock = pendingUsers.valueAt(i); + AlarmManager.AlarmClockInfo alarmClock = pendingUsers.valueAt(i); Settings.System.putStringForUser(getContext().getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED, formatNextAlarm(getContext(), alarmClock), @@ -1129,7 +1134,7 @@ class AlarmManagerService extends SystemService { /** * Formats an alarm like platform/packages/apps/DeskClock used to. */ - private static String formatNextAlarm(final Context context, AlarmClockInfo info) { + private static String formatNextAlarm(final Context context, AlarmManager.AlarmClockInfo info) { String skeleton = DateFormat.is24HourFormat(context) ? "EHm" : "Ehma"; String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton); return (info == null) ? "" : @@ -1414,12 +1419,12 @@ class AlarmManagerService extends SystemService { public long whenElapsed; // 'when' in the elapsed time base public long maxWhen; // also in the elapsed time base public long repeatInterval; - public final AlarmClockInfo alarmClock; + public final AlarmManager.AlarmClockInfo alarmClock; public final int userId; public Alarm(int _type, long _when, long _whenElapsed, long _windowLength, long _maxWhen, - long _interval, PendingIntent _op, WorkSource _ws, AlarmClockInfo _info, - int _userId) { + long _interval, PendingIntent _op, WorkSource _ws, + AlarmManager.AlarmClockInfo _info, int _userId) { type = _type; wakeup = _type == AlarmManager.ELAPSED_REALTIME_WAKEUP || _type == AlarmManager.RTC_WAKEUP; diff --git a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java index 8aae69554ad7b..c3d4ed9f1ab53 100644 --- a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java @@ -47,7 +47,6 @@ import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.expectLastCall; import static org.easymock.EasyMock.isA; -import android.app.AlarmClockInfo; import android.app.AlarmManager; import android.app.IAlarmManager; import android.app.PendingIntent; @@ -880,7 +879,8 @@ public class NetworkStatsServiceTest extends AndroidTestCase { expectLastCall().anyTimes(); mAlarmManager.set(eq(AlarmManager.ELAPSED_REALTIME), anyLong(), anyLong(), anyLong(), - isA(PendingIntent.class), isA(WorkSource.class), isA(AlarmClockInfo.class)); + isA(PendingIntent.class), isA(WorkSource.class), + isA(AlarmManager.AlarmClockInfo.class)); expectLastCall().atLeastOnce(); mNetManager.setGlobalAlert(anyLong());