Made AlarmClockInfo a nested class in AlarmManager

Bug: 16959028
Change-Id: I150eaaff765d1e214c3621c1bf50162ec0dac8ec
diff --git a/api/current.txt b/api/current.txt
index e0df0e4..9cc3464 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -3771,20 +3771,11 @@
     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 @@
     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 0ccaf02..0000000
--- 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.
-     *
-     * <p class="note">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<AlarmClockInfo> CREATOR = new Creator<AlarmClockInfo>() {
-        @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 93%
rename from core/java/android/app/AlarmClockInfo.aidl
rename to core/java/android/app/AlarmManager.aidl
index 58a3644..c9547b2 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 fa2d64c..a64e0ed 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -20,9 +20,12 @@
 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 @@
             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.
+         *
+         * <p class="note">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<AlarmClockInfo> CREATOR = new Creator<AlarmClockInfo>() {
+            @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 fb33706..194082e 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 @@
 	/** 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 7e8d828..ece3e9d 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -18,7 +18,6 @@
 
 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 @@
      * @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 daba0a2..451db2b 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 @@
     }
 
     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 @@
         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 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 85aa00d..5c9f3ca 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 @@
 
     private boolean mShowEmergencyCallsOnly;
     private boolean mAlarmShowing;
-    private AlarmClockInfo mNextAlarm;
+    private AlarmManager.AlarmClockInfo mNextAlarm;
 
     private int mCollapsedHeight;
     private int mExpandedHeight;
@@ -360,7 +360,7 @@
     }
 
     @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 ca71521..8f1f7c7 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 @@
     private final ArrayList<NextAlarmChangeCallback> 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 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 9d3dec8..b33e502 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 @@
 
     @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 21e56702..e9419ad 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -19,7 +19,6 @@
 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 @@
     long mStartCurrentDelayTime;
     long mNextNonWakeupDeliveryTime;
 
-    private final SparseArray<AlarmClockInfo> mNextAlarmClockForUser = new SparseArray<>();
-    private final SparseArray<AlarmClockInfo> mTmpSparseAlarmClockArray = new SparseArray<>();
+    private final SparseArray<AlarmManager.AlarmClockInfo> mNextAlarmClockForUser =
+            new SparseArray<>();
+    private final SparseArray<AlarmManager.AlarmClockInfo> 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<AlarmClockInfo> mHandlerSparseAlarmClockArray = new SparseArray<>();
+    private final SparseArray<AlarmManager.AlarmClockInfo> mHandlerSparseAlarmClockArray =
+            new SparseArray<>();
 
     class WakeupEvent {
         public long when;
@@ -619,7 +621,7 @@
 
     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 @@
 
     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 @@
     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 @@
         }
 
         @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 @@
         return null;
     }
 
-    private AlarmClockInfo getNextAlarmClockImpl(int userId) {
+    private AlarmManager.AlarmClockInfo getNextAlarmClockImpl(int userId) {
         synchronized (mLock) {
             return mNextAlarmClockForUser.get(userId);
         }
@@ -1024,7 +1028,7 @@
         }
         mNextAlarmClockMayChange = false;
 
-        SparseArray<AlarmClockInfo> nextForUser = mTmpSparseAlarmClockArray;
+        SparseArray<AlarmManager.AlarmClockInfo> nextForUser = mTmpSparseAlarmClockArray;
         nextForUser.clear();
 
         final int N = mAlarmBatches.size();
@@ -1054,9 +1058,9 @@
         // 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 @@
         }
     }
 
-    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 @@
      * @see AlarmHandler#SEND_NEXT_ALARM_CLOCK_CHANGED
      */
     private void sendNextAlarmClockChanged() {
-        SparseArray<AlarmClockInfo> pendingUsers = mHandlerSparseAlarmClockArray;
+        SparseArray<AlarmManager.AlarmClockInfo> pendingUsers = mHandlerSparseAlarmClockArray;
         pendingUsers.clear();
 
         synchronized (mLock) {
@@ -1115,7 +1120,7 @@
         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 @@
     /**
      * 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 @@
         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 8aae695..c3d4ed9 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.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 @@
         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());