Merge "Clean up native AlarmManagerService tabs/spaces and unused parameter warnings"
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index 5c265ab..1a2ab81 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -52,7 +52,6 @@
 
 #include "BootAnimation.h"
 
-#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
 #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
 #define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
 #define EXIT_PROP_NAME "service.bootanim.exit"
@@ -285,9 +284,6 @@
             (access(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE, R_OK) == 0) &&
             ((zipFile = ZipFileRO::open(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE)) != NULL)) ||
 
-            ((access(USER_BOOTANIMATION_FILE, R_OK) == 0) &&
-            ((zipFile = ZipFileRO::open(USER_BOOTANIMATION_FILE)) != NULL)) ||
-
             ((access(SYSTEM_BOOTANIMATION_FILE, R_OK) == 0) &&
             ((zipFile = ZipFileRO::open(SYSTEM_BOOTANIMATION_FILE)) != NULL))) {
         mZip = zipFile;
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 65c40c1..d849965 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -93,7 +93,6 @@
 import com.android.internal.os.RuntimeInit;
 import com.android.internal.os.SamplingProfilerIntegration;
 import com.android.internal.util.FastPrintWriter;
-import com.android.internal.util.Objects;
 import com.android.org.conscrypt.OpenSSLSocketImpl;
 import com.google.android.collect.Lists;
 
@@ -109,6 +108,7 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 import java.util.TimeZone;
 import java.util.regex.Pattern;
 
@@ -222,7 +222,7 @@
         public boolean equals(Object o) {
             if (o instanceof ProviderKey) {
                 final ProviderKey other = (ProviderKey) o;
-                return Objects.equal(authority, other.authority) && userId == other.userId;
+                return Objects.equals(authority, other.authority) && userId == other.userId;
             }
             return false;
         }
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index e6da288..4607902 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -58,7 +58,7 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
+import java.util.jar.StrictJarFile;
 import java.util.zip.ZipEntry;
 
 import com.android.internal.util.XmlUtils;
@@ -456,7 +456,7 @@
         return pi;
     }
 
-    private Certificate[] loadCertificates(JarFile jarFile, JarEntry je,
+    private Certificate[] loadCertificates(StrictJarFile jarFile, ZipEntry je,
             byte[] readBuffer) {
         try {
             // We must read the stream for the JarEntry to retrieve
@@ -466,13 +466,11 @@
                 // not using
             }
             is.close();
-            return je != null ? je.getCertificates() : null;
+            return je != null ? jarFile.getCertificates(je) : null;
         } catch (IOException e) {
-            Slog.w(TAG, "Exception reading " + je.getName() + " in "
-                    + jarFile.getName(), e);
+            Slog.w(TAG, "Exception reading " + je.getName() + " in " + jarFile, e);
         } catch (RuntimeException e) {
-            Slog.w(TAG, "Exception reading " + je.getName() + " in "
-                    + jarFile.getName(), e);
+            Slog.w(TAG, "Exception reading " + je.getName() + " in " + jarFile, e);
         }
         return null;
     }
@@ -591,9 +589,9 @@
      */
     public boolean collectManifestDigest(Package pkg) {
         try {
-            final JarFile jarFile = new JarFile(mArchiveSourcePath);
+            final StrictJarFile jarFile = new StrictJarFile(mArchiveSourcePath);
             try {
-                final ZipEntry je = jarFile.getEntry(ANDROID_MANIFEST_FILENAME);
+                final ZipEntry je = jarFile.findEntry(ANDROID_MANIFEST_FILENAME);
                 if (je != null) {
                     pkg.manifestDigest = ManifestDigest.fromInputStream(jarFile.getInputStream(je));
                 }
@@ -624,7 +622,7 @@
         }
 
         try {
-            JarFile jarFile = new JarFile(mArchiveSourcePath);
+            StrictJarFile jarFile = new StrictJarFile(mArchiveSourcePath);
 
             Certificate[] certs = null;
 
@@ -633,7 +631,7 @@
                 // can trust it...  we'll just use the AndroidManifest.xml
                 // to retrieve its signatures, not validating all of the
                 // files.
-                JarEntry jarEntry = jarFile.getJarEntry(ANDROID_MANIFEST_FILENAME);
+                ZipEntry jarEntry = jarFile.findEntry(ANDROID_MANIFEST_FILENAME);
                 certs = loadCertificates(jarFile, jarEntry, readBuffer);
                 if (certs == null) {
                     Slog.e(TAG, "Package " + pkg.packageName
@@ -656,9 +654,9 @@
                     }
                 }
             } else {
-                Enumeration<JarEntry> entries = jarFile.entries();
-                while (entries.hasMoreElements()) {
-                    final JarEntry je = entries.nextElement();
+                Iterator<ZipEntry> entries = jarFile.iterator();
+                while (entries.hasNext()) {
+                    final ZipEntry je = entries.next();
                     if (je.isDirectory()) continue;
 
                     final String name = je.getName();
@@ -744,6 +742,10 @@
             Slog.w(TAG, "Exception reading " + mArchiveSourcePath, e);
             mParseError = PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING;
             return false;
+        } catch (SecurityException e) {
+            Slog.w(TAG, "Exception reading " + mArchiveSourcePath, e);
+            mParseError = PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING;
+            return false;
         } catch (RuntimeException e) {
             Slog.w(TAG, "Exception reading " + mArchiveSourcePath, e);
             mParseError = PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION;
diff --git a/core/java/android/net/NetworkIdentity.java b/core/java/android/net/NetworkIdentity.java
index 3c67bf9..36dd2fdfb 100644
--- a/core/java/android/net/NetworkIdentity.java
+++ b/core/java/android/net/NetworkIdentity.java
@@ -26,7 +26,7 @@
 import android.os.Build;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.util.Objects;
+import java.util.Objects;
 
 /**
  * Network definition that includes strong identity. Analogous to combining
@@ -60,7 +60,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hashCode(mType, mSubType, mSubscriberId, mNetworkId, mRoaming);
+        return Objects.hash(mType, mSubType, mSubscriberId, mNetworkId, mRoaming);
     }
 
     @Override
@@ -68,8 +68,8 @@
         if (obj instanceof NetworkIdentity) {
             final NetworkIdentity ident = (NetworkIdentity) obj;
             return mType == ident.mType && mSubType == ident.mSubType && mRoaming == ident.mRoaming
-                    && Objects.equal(mSubscriberId, ident.mSubscriberId)
-                    && Objects.equal(mNetworkId, ident.mNetworkId);
+                    && Objects.equals(mSubscriberId, ident.mSubscriberId)
+                    && Objects.equals(mNetworkId, ident.mNetworkId);
         }
         return false;
     }
diff --git a/core/java/android/net/NetworkPolicy.java b/core/java/android/net/NetworkPolicy.java
index 441db7a..10c686b 100644
--- a/core/java/android/net/NetworkPolicy.java
+++ b/core/java/android/net/NetworkPolicy.java
@@ -21,7 +21,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.util.Objects;
+import java.util.Objects;
 
 /**
  * Policy for networks matching a {@link NetworkTemplate}, including usage cycle
@@ -146,7 +146,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hashCode(template, cycleDay, cycleTimezone, warningBytes, limitBytes,
+        return Objects.hash(template, cycleDay, cycleTimezone, warningBytes, limitBytes,
                 lastWarningSnooze, lastLimitSnooze, metered, inferred);
     }
 
@@ -159,8 +159,8 @@
                     && lastWarningSnooze == other.lastWarningSnooze
                     && lastLimitSnooze == other.lastLimitSnooze && metered == other.metered
                     && inferred == other.inferred
-                    && Objects.equal(cycleTimezone, other.cycleTimezone)
-                    && Objects.equal(template, other.template);
+                    && Objects.equals(cycleTimezone, other.cycleTimezone)
+                    && Objects.equals(template, other.template);
         }
         return false;
     }
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index 9cb904d..a7aae2a 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -23,12 +23,12 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ArrayUtils;
-import com.android.internal.util.Objects;
 
 import java.io.CharArrayWriter;
 import java.io.PrintWriter;
 import java.util.Arrays;
 import java.util.HashSet;
+import java.util.Objects;
 
 /**
  * Collection of active network statistics. Can contain summary details across
@@ -337,7 +337,7 @@
     public int findIndex(String iface, int uid, int set, int tag) {
         for (int i = 0; i < size; i++) {
             if (uid == this.uid[i] && set == this.set[i] && tag == this.tag[i]
-                    && Objects.equal(iface, this.iface[i])) {
+                    && Objects.equals(iface, this.iface[i])) {
                 return i;
             }
         }
@@ -362,7 +362,7 @@
             }
 
             if (uid == this.uid[i] && set == this.set[i] && tag == this.tag[i]
-                    && Objects.equal(iface, this.iface[i])) {
+                    && Objects.equals(iface, this.iface[i])) {
                 return i;
             }
         }
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index c189ba4..27197cc 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -34,8 +34,9 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.Objects;
+
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.Objects;
 
 /**
  * Template definition used to generically match {@link NetworkIdentity},
@@ -176,7 +177,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hashCode(mMatchRule, mSubscriberId, mNetworkId);
+        return Objects.hash(mMatchRule, mSubscriberId, mNetworkId);
     }
 
     @Override
@@ -184,8 +185,8 @@
         if (obj instanceof NetworkTemplate) {
             final NetworkTemplate other = (NetworkTemplate) obj;
             return mMatchRule == other.mMatchRule
-                    && Objects.equal(mSubscriberId, other.mSubscriberId)
-                    && Objects.equal(mNetworkId, other.mNetworkId);
+                    && Objects.equals(mSubscriberId, other.mSubscriberId)
+                    && Objects.equals(mNetworkId, other.mNetworkId);
         }
         return false;
     }
@@ -235,7 +236,7 @@
             return true;
         } else {
             return ((sForceAllNetworkTypes || contains(DATA_USAGE_NETWORK_TYPES, ident.mType))
-                    && Objects.equal(mSubscriberId, ident.mSubscriberId));
+                    && Objects.equals(mSubscriberId, ident.mSubscriberId));
         }
     }
 
@@ -280,7 +281,7 @@
     private boolean matchesWifi(NetworkIdentity ident) {
         switch (ident.mType) {
             case TYPE_WIFI:
-                return Objects.equal(
+                return Objects.equals(
                         removeDoubleQuotes(mNetworkId), removeDoubleQuotes(ident.mNetworkId));
             default:
                 return false;
diff --git a/core/java/android/view/DisplayAdjustments.java b/core/java/android/view/DisplayAdjustments.java
index 041d9e0..35fb504 100644
--- a/core/java/android/view/DisplayAdjustments.java
+++ b/core/java/android/view/DisplayAdjustments.java
@@ -19,7 +19,7 @@
 import android.content.res.CompatibilityInfo;
 import android.os.IBinder;
 
-import com.android.internal.util.Objects;
+import java.util.Objects;
 
 /** @hide */
 public class DisplayAdjustments {
@@ -91,7 +91,7 @@
             return false;
         }
         DisplayAdjustments daj = (DisplayAdjustments)o;
-        return Objects.equal(daj.mCompatInfo, mCompatInfo) &&
-                Objects.equal(daj.mActivityToken, mActivityToken);
+        return Objects.equals(daj.mCompatInfo, mCompatInfo) &&
+                Objects.equals(daj.mActivityToken, mActivityToken);
     }
 }
diff --git a/core/java/com/android/internal/util/Objects.java b/core/java/com/android/internal/util/Objects.java
deleted file mode 100644
index 2664182..0000000
--- a/core/java/com/android/internal/util/Objects.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2007 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 com.android.internal.util;
-
-import java.util.Arrays;
-
-/**
- * Object utility methods.
- */
-public class Objects {
-
-    /**
-     * Determines whether two possibly-null objects are equal. Returns:
-     *
-     * <ul>
-     * <li>{@code true} if {@code a} and {@code b} are both null.
-     * <li>{@code true} if {@code a} and {@code b} are both non-null and they are
-     *     equal according to {@link Object#equals(Object)}.
-     * <li>{@code false} in all other situations.
-     * </ul>
-     *
-     * <p>This assumes that any non-null objects passed to this function conform
-     * to the {@code equals()} contract.
-     */
-    public static boolean equal(Object a, Object b) {
-        return a == b || (a != null && a.equals(b));
-    }
-
-    /**
-     * Generates a hash code for multiple values. The hash code is generated by
-     * calling {@link Arrays#hashCode(Object[])}.
-     *
-     * <p>This is useful for implementing {@link Object#hashCode()}. For example,
-     * in an object that has three properties, {@code x}, {@code y}, and
-     * {@code z}, one could write:
-     * <pre>
-     * public int hashCode() {
-     *   return Objects.hashCode(getX(), getY(), getZ());
-     * }</pre>
-     *
-     * <b>Warning</b>: When a single object is supplied, the returned hash code
-     * does not equal the hash code of that object.
-     */
-    public static int hashCode(Object... objects) {
-        return Arrays.hashCode(objects);
-    }
-
-}
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index 1958584..2e0acb1 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -4,6 +4,9 @@
 LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA
 LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL
 LOCAL_CFLAGS += -U__APPLE__
+LOCAL_CFLAGS += -Wno-unused-parameter -Wno-int-to-pointer-cast
+LOCAL_CFLAGS += -Wno-maybe-uninitialized -Wno-parentheses
+LOCAL_CPPFLAGS += -Wno-conversion-null
 
 ifeq ($(TARGET_ARCH), arm)
 	LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))"
diff --git a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
index ec19f0a..0b9ad9b 100644
--- a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
+++ b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
@@ -80,7 +80,7 @@
         stats_line s;
         int64_t rawTag;
         if (sscanf(buffer, "%d %31s 0x%llx %u %u %llu %llu %llu %llu", &s.idx,
-                &s.iface, &rawTag, &s.uid, &s.set, &s.rxBytes, &s.rxPackets,
+                s.iface, &rawTag, &s.uid, &s.set, &s.rxBytes, &s.rxPackets,
                 &s.txBytes, &s.txPackets) == 9) {
             if (s.idx != lastIdx + 1) {
                 ALOGE("inconsistent idx=%d after lastIdx=%d", s.idx, lastIdx);
diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h
index 97afa59..5151b06 100644
--- a/include/androidfw/ResourceTypes.h
+++ b/include/androidfw/ResourceTypes.h
@@ -1020,7 +1020,7 @@
     // attrs_manifest.xml.
     enum {
         CONFIG_MCC = ACONFIGURATION_MCC,
-        CONFIG_MNC = ACONFIGURATION_MCC,
+        CONFIG_MNC = ACONFIGURATION_MNC,
         CONFIG_LOCALE = ACONFIGURATION_LOCALE,
         CONFIG_TOUCHSCREEN = ACONFIGURATION_TOUCHSCREEN,
         CONFIG_KEYBOARD = ACONFIGURATION_KEYBOARD,
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index 6b278d4..f5a703b 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -100,7 +100,7 @@
     private EventHandler mEventHandler;
     private OnEventListener mOnEventListener;
 
-    private int mNativeContext;
+    private long mNativeContext;
 
     /**
      * Query if the given scheme identified by its UUID is supported on
diff --git a/media/java/android/media/MediaMuxer.java b/media/java/android/media/MediaMuxer.java
index 65a9308..6dd4d3c 100644
--- a/media/java/android/media/MediaMuxer.java
+++ b/media/java/android/media/MediaMuxer.java
@@ -65,7 +65,7 @@
 
 final public class MediaMuxer {
 
-    private int mNativeContext;
+    private long mNativeContext;
 
     static {
         System.loadLibrary("media_jni");
@@ -84,16 +84,16 @@
     };
 
     // All the native functions are listed here.
-    private static native int nativeSetup(FileDescriptor fd, int format);
-    private static native void nativeRelease(int nativeObject);
-    private static native void nativeStart(int nativeObject);
-    private static native void nativeStop(int nativeObject);
-    private static native int nativeAddTrack(int nativeObject, String[] keys,
+    private static native long nativeSetup(FileDescriptor fd, int format);
+    private static native void nativeRelease(long nativeObject);
+    private static native void nativeStart(long nativeObject);
+    private static native void nativeStop(long nativeObject);
+    private static native int nativeAddTrack(long nativeObject, String[] keys,
             Object[] values);
-    private static native void nativeSetOrientationHint(int nativeObject,
+    private static native void nativeSetOrientationHint(long nativeObject,
             int degrees);
-    private static native void nativeSetLocation(int nativeObject, int latitude, int longitude);
-    private static native void nativeWriteSampleData(int nativeObject,
+    private static native void nativeSetLocation(long nativeObject, int latitude, int longitude);
+    private static native void nativeWriteSampleData(long nativeObject,
             int trackIndex, ByteBuffer byteBuf,
             int offset, int size, long presentationTimeUs, int flags);
 
@@ -108,7 +108,7 @@
     private final CloseGuard mCloseGuard = CloseGuard.get();
     private int mLastTrackIndex = -1;
 
-    private int mNativeObject;
+    private long mNativeObject;
 
     /**
      * Constructor.
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 525dc4f..d17e8f8 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -16,8 +16,6 @@
 
 package android.media;
 
-import com.android.internal.util.Objects;
-
 import android.Manifest;
 import android.app.ActivityThread;
 import android.content.BroadcastReceiver;
@@ -43,6 +41,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
@@ -496,11 +495,11 @@
             boolean volumeChanged = false;
             boolean presentationDisplayChanged = false;
 
-            if (!Objects.equal(route.mName, globalRoute.name)) {
+            if (!Objects.equals(route.mName, globalRoute.name)) {
                 route.mName = globalRoute.name;
                 changed = true;
             }
-            if (!Objects.equal(route.mDescription, globalRoute.description)) {
+            if (!Objects.equals(route.mDescription, globalRoute.description)) {
                 route.mDescription = globalRoute.description;
                 changed = true;
             }
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index bbb74d2..6d90ccb 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -267,7 +267,7 @@
 }
 
 static sp<IDrm> GetDrm(JNIEnv *env, jobject thiz) {
-    JDrm *jdrm = (JDrm *)env->GetIntField(thiz, gFields.context);
+    JDrm *jdrm = (JDrm *)env->GetLongField(thiz, gFields.context);
     return jdrm ? jdrm->getDrm() : NULL;
 }
 
@@ -484,7 +484,7 @@
 
 static sp<JDrm> setDrm(
         JNIEnv *env, jobject thiz, const sp<JDrm> &drm) {
-    sp<JDrm> old = (JDrm *)env->GetIntField(thiz, gFields.context);
+    sp<JDrm> old = (JDrm *)env->GetLongField(thiz, gFields.context);
     if (drm != NULL) {
         drm->incStrong(thiz);
     }
@@ -520,7 +520,7 @@
 static void android_media_MediaDrm_native_init(JNIEnv *env) {
     jclass clazz;
     FIND_CLASS(clazz, "android/media/MediaDrm");
-    GET_FIELD_ID(gFields.context, clazz, "mNativeContext", "I");
+    GET_FIELD_ID(gFields.context, clazz, "mNativeContext", "J");
     GET_STATIC_METHOD_ID(gFields.post_event, clazz, "postEventFromNative",
                          "(Ljava/lang/Object;IILjava/lang/Object;)V");
 
diff --git a/media/jni/android_media_MediaMuxer.cpp b/media/jni/android_media_MediaMuxer.cpp
index 457b956..c58503b 100644
--- a/media/jni/android_media_MediaMuxer.cpp
+++ b/media/jni/android_media_MediaMuxer.cpp
@@ -42,7 +42,7 @@
 using namespace android;
 
 static jint android_media_MediaMuxer_addTrack(
-        JNIEnv *env, jclass clazz, jint nativeObject, jobjectArray keys,
+        JNIEnv *env, jclass clazz, jlong nativeObject, jobjectArray keys,
         jobjectArray values) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer == NULL) {
@@ -72,7 +72,7 @@
 }
 
 static void android_media_MediaMuxer_writeSampleData(
-        JNIEnv *env, jclass clazz, jint nativeObject, jint trackIndex,
+        JNIEnv *env, jclass clazz, jlong nativeObject, jint trackIndex,
         jobject byteBuf, jint offset, jint size, jlong timeUs, jint flags) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer == NULL) {
@@ -147,7 +147,7 @@
 }
 
 static void android_media_MediaMuxer_setOrientationHint(
-        JNIEnv *env, jclass clazz, jint nativeObject, jint degrees) {
+        JNIEnv *env, jclass clazz, jlong nativeObject, jint degrees) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer == NULL) {
         jniThrowException(env, "java/lang/IllegalStateException",
@@ -177,7 +177,7 @@
 }
 
 static void android_media_MediaMuxer_start(JNIEnv *env, jclass clazz,
-                                           jint nativeObject) {
+                                           jlong nativeObject) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer == NULL) {
         jniThrowException(env, "java/lang/IllegalStateException",
@@ -195,7 +195,7 @@
 }
 
 static void android_media_MediaMuxer_stop(JNIEnv *env, jclass clazz,
-                                          jint nativeObject) {
+                                          jlong nativeObject) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer == NULL) {
         jniThrowException(env, "java/lang/IllegalStateException",
@@ -213,7 +213,7 @@
 }
 
 static void android_media_MediaMuxer_native_release(
-        JNIEnv *env, jclass clazz, jint nativeObject) {
+        JNIEnv *env, jclass clazz, jlong nativeObject) {
     sp<MediaMuxer> muxer(reinterpret_cast<MediaMuxer *>(nativeObject));
     if (muxer != NULL) {
         muxer->decStrong(clazz);
@@ -222,26 +222,26 @@
 
 static JNINativeMethod gMethods[] = {
 
-    { "nativeAddTrack", "(I[Ljava/lang/String;[Ljava/lang/Object;)I",
+    { "nativeAddTrack", "(J[Ljava/lang/String;[Ljava/lang/Object;)I",
         (void *)android_media_MediaMuxer_addTrack },
 
-    { "nativeSetOrientationHint", "(II)V",
+    { "nativeSetOrientationHint", "(JI)V",
         (void *)android_media_MediaMuxer_setOrientationHint},
 
-    { "nativeSetLocation", "(III)V",
+    { "nativeSetLocation", "(JII)V",
         (void *)android_media_MediaMuxer_setLocation},
 
-    { "nativeStart", "(I)V", (void *)android_media_MediaMuxer_start},
+    { "nativeStart", "(J)V", (void *)android_media_MediaMuxer_start},
 
-    { "nativeWriteSampleData", "(IILjava/nio/ByteBuffer;IIJI)V",
+    { "nativeWriteSampleData", "(JILjava/nio/ByteBuffer;IIJI)V",
         (void *)android_media_MediaMuxer_writeSampleData },
 
-    { "nativeStop", "(I)V", (void *)android_media_MediaMuxer_stop},
+    { "nativeStop", "(J)V", (void *)android_media_MediaMuxer_stop},
 
-    { "nativeSetup", "(Ljava/io/FileDescriptor;I)I",
+    { "nativeSetup", "(Ljava/io/FileDescriptor;I)J",
         (void *)android_media_MediaMuxer_native_setup },
 
-    { "nativeRelease", "(I)V",
+    { "nativeRelease", "(J)V",
         (void *)android_media_MediaMuxer_native_release },
 
 };
@@ -255,7 +255,7 @@
     jclass clazz = env->FindClass("android/media/MediaMuxer");
     CHECK(clazz != NULL);
 
-    gFields.context = env->GetFieldID(clazz, "mNativeContext", "I");
+    gFields.context = env->GetFieldID(clazz, "mNativeContext", "J");
     CHECK(gFields.context != NULL);
 
     jclass byteBufClass = env->FindClass("java/nio/ByteBuffer");
diff --git a/media/lib/java/com/android/media/remotedisplay/RemoteDisplay.java b/media/lib/java/com/android/media/remotedisplay/RemoteDisplay.java
index 5e15702..6cfc0e8 100644
--- a/media/lib/java/com/android/media/remotedisplay/RemoteDisplay.java
+++ b/media/lib/java/com/android/media/remotedisplay/RemoteDisplay.java
@@ -16,12 +16,12 @@
 
 package com.android.media.remotedisplay;
 
-import com.android.internal.util.Objects;
-
 import android.media.MediaRouter;
 import android.media.RemoteDisplayState.RemoteDisplayInfo;
 import android.text.TextUtils;
 
+import java.util.Objects;
+
 /**
  * Represents a remote display that has been discovered.
  */
@@ -87,7 +87,7 @@
     }
 
     public void setName(String name) {
-        if (!Objects.equal(mMutableInfo.name, name)) {
+        if (!Objects.equals(mMutableInfo.name, name)) {
             mMutableInfo.name = name;
             mImmutableInfo = null;
         }
@@ -98,7 +98,7 @@
     }
 
     public void setDescription(String description) {
-        if (!Objects.equal(mMutableInfo.description, description)) {
+        if (!Objects.equals(mMutableInfo.description, description)) {
             mMutableInfo.description = description;
             mImmutableInfo = null;
         }
diff --git a/opengl/java/android/opengl/EGLLogWrapper.java b/opengl/java/android/opengl/EGLLogWrapper.java
index 36e88a2..c677957 100644
--- a/opengl/java/android/opengl/EGLLogWrapper.java
+++ b/opengl/java/android/opengl/EGLLogWrapper.java
@@ -326,7 +326,7 @@
     }
 
     public boolean eglSwapBuffers(EGLDisplay display, EGLSurface surface) {
-        begin("eglInitialize");
+        begin("eglSwapBuffers");
         arg("display", display);
         arg("surface", surface);
         end();
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index f6b43c7..f1dca1d 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -40,7 +40,6 @@
 import com.android.documentsui.model.RootInfo;
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.Objects;
 import com.google.android.collect.Lists;
 import com.google.android.collect.Sets;
 import com.google.common.collect.ArrayListMultimap;
@@ -51,6 +50,7 @@
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
@@ -295,7 +295,7 @@
 
     private RootInfo getRootLocked(String authority, String rootId) {
         for (RootInfo root : mRoots.get(authority)) {
-            if (Objects.equal(root.rootId, rootId)) {
+            if (Objects.equals(root.rootId, rootId)) {
                 return root;
             }
         }
@@ -308,7 +308,7 @@
         synchronized (mLock) {
             final int rootIcon = root.derivedIcon != 0 ? root.derivedIcon : root.icon;
             for (RootInfo test : mRoots.get(root.authority)) {
-                if (Objects.equal(test.rootId, root.rootId)) {
+                if (Objects.equals(test.rootId, root.rootId)) {
                     continue;
                 }
                 final int testIcon = test.derivedIcon != 0 ? test.derivedIcon : test.icon;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index 931dac9..923c79c 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -46,13 +46,13 @@
 import com.android.documentsui.DocumentsActivity.State;
 import com.android.documentsui.model.DocumentInfo;
 import com.android.documentsui.model.RootInfo;
-import com.android.internal.util.Objects;
 import com.google.common.collect.Lists;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Display list of known storage backend roots.
@@ -157,7 +157,7 @@
             final Object item = mAdapter.getItem(i);
             if (item instanceof RootItem) {
                 final RootInfo testRoot = ((RootItem) item).root;
-                if (Objects.equal(testRoot, root)) {
+                if (Objects.equals(testRoot, root)) {
                     mList.setItemChecked(i, true);
                     return;
                 }
diff --git a/preloaded-classes b/preloaded-classes
index 960c8ac..342126d 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -1428,7 +1428,6 @@
 com.android.internal.util.AsyncChannel$DeathMonitor
 com.android.internal.util.FastXmlSerializer
 com.android.internal.util.MemInfoReader
-com.android.internal.util.Objects
 com.android.internal.util.Preconditions
 com.android.internal.util.XmlUtils
 com.android.internal.view.ActionBarPolicy
@@ -2299,6 +2298,7 @@
 javax.crypto.KeyAgreementSpi
 javax.crypto.MacSpi
 javax.crypto.SecretKey
+javax.crypto.spec.GCMParameterSpec
 javax.crypto.spec.IvParameterSpec
 javax.crypto.spec.SecretKeySpec
 javax.microedition.khronos.egl.EGL
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index 0e15261..47593f2 100644
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -37,7 +37,6 @@
 import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;
 
 import com.android.internal.os.BatteryStatsImpl;
-import com.android.internal.util.Objects;
 import com.android.server.Watchdog;
 import com.android.server.am.ActivityManagerService.ItemMatcher;
 import com.android.server.wm.AppTransition;
@@ -82,6 +81,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * State and management of a single stack of activities.
@@ -2359,7 +2359,7 @@
         ArrayList<ActivityRecord> activities = r.task.mActivities;
         for (int index = activities.indexOf(r); index >= 0; --index) {
             ActivityRecord cur = activities.get(index);
-            if (!Objects.equal(cur.taskAffinity, r.taskAffinity)) {
+            if (!Objects.equals(cur.taskAffinity, r.taskAffinity)) {
                 break;
             }
             finishActivityLocked(cur, Activity.RESULT_CANCELED, null, "request-affinity", true);
@@ -3160,9 +3160,7 @@
 
         final TaskRecord task = mResumedActivity != null ? mResumedActivity.task : null;
         if (task == tr && task.mOnTopOfHome || numTasks <= 1) {
-            if (task != null) {
-                task.mOnTopOfHome = false;
-            }
+            tr.mOnTopOfHome = false;
             return mStackSupervisor.resumeHomeActivity(null);
         }
 
diff --git a/services/java/com/android/server/media/MediaRouterService.java b/services/java/com/android/server/media/MediaRouterService.java
index a31695b..f91ea8c 100644
--- a/services/java/com/android/server/media/MediaRouterService.java
+++ b/services/java/com/android/server/media/MediaRouterService.java
@@ -16,7 +16,6 @@
 
 package com.android.server.media;
 
-import com.android.internal.util.Objects;
 import com.android.server.Watchdog;
 
 import android.Manifest;
@@ -52,6 +51,7 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Provides a mechanism for discovering media routes and manages media playback
@@ -384,7 +384,7 @@
         ClientRecord clientRecord = mAllClientRecords.get(client.asBinder());
         if (clientRecord != null) {
             final String oldRouteId = clientRecord.mSelectedRouteId;
-            if (!Objects.equal(routeId, oldRouteId)) {
+            if (!Objects.equals(routeId, oldRouteId)) {
                 if (DEBUG) {
                     Slog.d(TAG, clientRecord + ": Set selected route, routeId=" + routeId
                             + ", oldRouteId=" + oldRouteId
@@ -1257,12 +1257,12 @@
                     mDescriptor = descriptor;
                     if (descriptor != null) {
                         final String name = computeName(descriptor);
-                        if (!Objects.equal(mMutableInfo.name, name)) {
+                        if (!Objects.equals(mMutableInfo.name, name)) {
                             mMutableInfo.name = name;
                             changed = true;
                         }
                         final String description = computeDescription(descriptor);
-                        if (!Objects.equal(mMutableInfo.description, description)) {
+                        if (!Objects.equals(mMutableInfo.description, description)) {
                             mMutableInfo.description = description;
                             changed = true;
                         }
diff --git a/services/java/com/android/server/media/RemoteDisplayProviderProxy.java b/services/java/com/android/server/media/RemoteDisplayProviderProxy.java
index b248ee0..a5fe9f2 100644
--- a/services/java/com/android/server/media/RemoteDisplayProviderProxy.java
+++ b/services/java/com/android/server/media/RemoteDisplayProviderProxy.java
@@ -16,8 +16,6 @@
 
 package com.android.server.media;
 
-import com.android.internal.util.Objects;
-
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -35,6 +33,7 @@
 
 import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
+import java.util.Objects;
 
 /**
  * Maintains a connection to a particular remote display provider service.
@@ -101,7 +100,7 @@
     }
 
     public void setSelectedDisplay(String id) {
-        if (!Objects.equal(mSelectedDisplayId, id)) {
+        if (!Objects.equals(mSelectedDisplayId, id)) {
             if (mConnectionReady && mSelectedDisplayId != null) {
                 mActiveConnection.disconnect(mSelectedDisplayId);
             }
@@ -293,7 +292,7 @@
     }
 
     private void setDisplayState(RemoteDisplayState state) {
-        if (!Objects.equal(mDisplayState, state)) {
+        if (!Objects.equals(mDisplayState, state)) {
             mDisplayState = state;
             if (!mScheduledDisplayStateChangedCallback) {
                 mScheduledDisplayStateChangedCallback = true;
diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java
index d568b11..eb7cc4c 100644
--- a/services/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -133,7 +133,6 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.IndentingPrintWriter;
-import com.android.internal.util.Objects;
 import com.google.android.collect.Lists;
 import com.google.android.collect.Maps;
 import com.google.android.collect.Sets;
@@ -155,6 +154,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import libcore.io.IoUtils;
 
@@ -688,7 +688,7 @@
                 // mobile templates are relevant when SIM is ready and
                 // subscriberId matches.
                 if (tele.getSimState() == SIM_STATE_READY) {
-                    return Objects.equal(tele.getSubscriberId(), template.getSubscriberId());
+                    return Objects.equals(tele.getSubscriberId(), template.getSubscriberId());
                 } else {
                     return false;
                 }
@@ -946,7 +946,7 @@
                 // TODO: offer more granular control over radio states once
                 // 4965893 is available.
                 if (tele.getSimState() == SIM_STATE_READY
-                        && Objects.equal(tele.getSubscriberId(), template.getSubscriberId())) {
+                        && Objects.equals(tele.getSubscriberId(), template.getSubscriberId())) {
                     setPolicyDataEnable(TYPE_MOBILE, enabled);
                     setPolicyDataEnable(TYPE_WIMAX, enabled);
                 }
diff --git a/services/java/com/android/server/net/NetworkStatsCollection.java b/services/java/com/android/server/net/NetworkStatsCollection.java
index 3169035..475482f 100644
--- a/services/java/com/android/server/net/NetworkStatsCollection.java
+++ b/services/java/com/android/server/net/NetworkStatsCollection.java
@@ -34,7 +34,6 @@
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.FileRotator;
 import com.android.internal.util.IndentingPrintWriter;
-import com.android.internal.util.Objects;
 import com.google.android.collect.Lists;
 import com.google.android.collect.Maps;
 
@@ -50,6 +49,7 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 
 import libcore.io.IoUtils;
 
@@ -508,7 +508,7 @@
             this.uid = uid;
             this.set = set;
             this.tag = tag;
-            hashCode = Objects.hashCode(ident, uid, set, tag);
+            hashCode = Objects.hash(ident, uid, set, tag);
         }
 
         @Override
@@ -521,7 +521,7 @@
             if (obj instanceof Key) {
                 final Key key = (Key) obj;
                 return uid == key.uid && set == key.set && tag == key.tag
-                        && Objects.equal(ident, key.ident);
+                        && Objects.equals(ident, key.ident);
             }
             return false;
         }