diff options
21 files changed, 125 insertions, 95 deletions
diff --git a/cmds/incident_helper/tests/ih_util_test.cpp b/cmds/incident_helper/tests/ih_util_test.cpp index efe714d98b18..670881a96cab 100644 --- a/cmds/incident_helper/tests/ih_util_test.cpp +++ b/cmds/incident_helper/tests/ih_util_test.cpp @@ -17,7 +17,6 @@ #include "ih_util.h" #include <android-base/file.h> -#include <android-base/test_utils.h> #include <gmock/gmock.h> #include <gtest/gtest.h> #include <string> diff --git a/cmds/incidentd/tests/FdBuffer_test.cpp b/cmds/incidentd/tests/FdBuffer_test.cpp index 9d208dffdca6..3f92c2a18328 100644 --- a/cmds/incidentd/tests/FdBuffer_test.cpp +++ b/cmds/incidentd/tests/FdBuffer_test.cpp @@ -17,13 +17,13 @@ #include "FdBuffer.h" #include "incidentd_util.h" -#include <android-base/file.h> -#include <android-base/test_utils.h> #include <fcntl.h> -#include <gtest/gtest.h> #include <signal.h> #include <string.h> +#include <android-base/file.h> +#include <gtest/gtest.h> + using namespace android; using namespace android::base; using namespace android::os::incidentd; diff --git a/cmds/incidentd/tests/Reporter_test.cpp b/cmds/incidentd/tests/Reporter_test.cpp index cf107c858cca..b863d150c9cd 100644 --- a/cmds/incidentd/tests/Reporter_test.cpp +++ b/cmds/incidentd/tests/Reporter_test.cpp @@ -19,12 +19,12 @@ #include <android/os/BnIncidentReportStatusListener.h> #include <frameworks/base/libs/incident/proto/android/os/header.pb.h> -#include <android-base/file.h> -#include <android-base/test_utils.h> #include <dirent.h> +#include <string.h> + +#include <android-base/file.h> #include <gmock/gmock.h> #include <gtest/gtest.h> -#include <string.h> using namespace android; using namespace android::base; @@ -197,4 +197,4 @@ TEST_F(ReporterTest, ReportMetadata) { EXPECT_EQ(1, metadata.request_size()); EXPECT_TRUE(metadata.use_dropbox()); EXPECT_EQ(0, metadata.sections_size()); -}
\ No newline at end of file +} diff --git a/cmds/incidentd/tests/Throttler_test.cpp b/cmds/incidentd/tests/Throttler_test.cpp index 8488c995c0fa..b35228c09253 100644 --- a/cmds/incidentd/tests/Throttler_test.cpp +++ b/cmds/incidentd/tests/Throttler_test.cpp @@ -16,7 +16,6 @@ #include "Throttler.h" -#include <android-base/test_utils.h> #include <gmock/gmock.h> #include <gtest/gtest.h> diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 374a336dccef..27133893d543 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -3645,7 +3645,6 @@ Lcom/android/internal/telephony/SubscriptionController;->getDefaultDataSubId()I Lcom/android/internal/telephony/SubscriptionController;->getDefaultSmsSubId()I Lcom/android/internal/telephony/SubscriptionController;->getDefaultSubId()I Lcom/android/internal/telephony/SubscriptionController;->getDefaultVoiceSubId()I -Lcom/android/internal/telephony/SubscriptionController;->getDummySubIds(I)[I Lcom/android/internal/telephony/SubscriptionController;->getInstance()Lcom/android/internal/telephony/SubscriptionController; Lcom/android/internal/telephony/SubscriptionController;->getPhoneId(I)I Lcom/android/internal/telephony/SubscriptionController;->getSubId(I)[I diff --git a/config/preloaded-classes b/config/preloaded-classes index d93befdf5143..9496c37c4396 100644 --- a/config/preloaded-classes +++ b/config/preloaded-classes @@ -6162,6 +6162,7 @@ libcore.reflect.ParameterizedTypeImpl libcore.reflect.TypeVariableImpl libcore.reflect.Types libcore.reflect.WildcardTypeImpl +libcore.timezone.TimeZoneDataFiles libcore.util.BasicLruCache libcore.util.CharsetUtils libcore.util.CollectionUtils @@ -6171,7 +6172,6 @@ libcore.util.NativeAllocationRegistry$CleanerRunner libcore.util.NativeAllocationRegistry$CleanerThunk libcore.util.Objects libcore.util.SneakyThrow -libcore.util.TimeZoneDataFiles libcore.util.ZoneInfo libcore.util.ZoneInfo$CheckedArithmeticException libcore.util.ZoneInfo$WallTime diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java index 98f356722bf3..058cb941bfbc 100644 --- a/core/java/android/net/MacAddress.java +++ b/core/java/android/net/MacAddress.java @@ -18,6 +18,7 @@ package android.net; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -27,6 +28,8 @@ import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.net.Inet6Address; +import java.net.UnknownHostException; import java.security.SecureRandom; import java.util.Arrays; import java.util.Random; @@ -393,4 +396,34 @@ public final class MacAddress implements Parcelable { } return out; } + + /** + * Create a link-local Inet6Address from the MAC address. The EUI-48 MAC address is converted + * to an EUI-64 MAC address per RFC 4291. The resulting EUI-64 is used to construct a link-local + * IPv6 address per RFC 4862. + * + * @return A link-local Inet6Address constructed from the MAC address. + * @hide + */ + public @Nullable Inet6Address getLinkLocalIpv6FromEui48Mac() { + byte[] macEui48Bytes = toByteArray(); + byte[] addr = new byte[16]; + + addr[0] = (byte) 0xfe; + addr[1] = (byte) 0x80; + addr[8] = (byte) (macEui48Bytes[0] ^ (byte) 0x02); // flip the link-local bit + addr[9] = macEui48Bytes[1]; + addr[10] = macEui48Bytes[2]; + addr[11] = (byte) 0xff; + addr[12] = (byte) 0xfe; + addr[13] = macEui48Bytes[3]; + addr[14] = macEui48Bytes[4]; + addr[15] = macEui48Bytes[5]; + + try { + return Inet6Address.getByAddress(null, addr, 0); + } catch (UnknownHostException e) { + return null; + } + } } diff --git a/core/java/com/android/internal/util/OWNERS b/core/java/com/android/internal/util/OWNERS index e65d11404a4e..8b9acd3b57de 100644 --- a/core/java/com/android/internal/util/OWNERS +++ b/core/java/com/android/internal/util/OWNERS @@ -1,4 +1,4 @@ per-file AsyncChannel* = lorenzo@google.com, satk@google.com, etancohen@google.com -per-file BitUtils*, MessageUtils*, Protocol*, RingBuffer*, TokenBucket* = jchalard@google.com, lorenzo@google.com, satk@google.com +per-file MessageUtils*, Protocol*, RingBuffer*, TokenBucket* = jchalard@google.com, lorenzo@google.com, satk@google.com per-file Protocol* = etancohen@google.com, lorenzo@google.com per-file State* = jchalard@google.com, lorenzo@google.com, satk@google.com diff --git a/native/webview/plat_support/Android.bp b/native/webview/plat_support/Android.bp new file mode 100644 index 000000000000..d8c5ac969128 --- /dev/null +++ b/native/webview/plat_support/Android.bp @@ -0,0 +1,43 @@ +// +// Copyright (C) 2012 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. +// + +// This package provides the system interfaces allowing WebView to render. + +// Native support library (libwebviewchromium_plat_support.so) - does NOT link +// any native chromium code. +cc_library_shared { + name: "libwebviewchromium_plat_support", + + srcs: [ + "draw_gl_functor.cpp", + "jni_entry_point.cpp", + "graphics_utils.cpp", + "graphic_buffer_impl.cpp", + ], + + shared_libs: [ + "libandroidfw", + "libandroid_runtime", + "libcutils", + "libhwui", + "liblog", + "libui", + "libutils", + ], + + // To remove warnings from skia header files + cflags: ["-Wno-unused-parameter"], +} diff --git a/native/webview/plat_support/Android.mk b/native/webview/plat_support/Android.mk deleted file mode 100644 index 6a33fe208416..000000000000 --- a/native/webview/plat_support/Android.mk +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (C) 2012 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. -# - -# This package provides the system interfaces allowing WebView to render. - -LOCAL_PATH := $(call my-dir) - -# Native support library (libwebviewchromium_plat_support.so) - does NOT link -# any native chromium code. -include $(CLEAR_VARS) - -LOCAL_MODULE:= libwebviewchromium_plat_support - -LOCAL_SRC_FILES:= \ - draw_gl_functor.cpp \ - jni_entry_point.cpp \ - graphics_utils.cpp \ - graphic_buffer_impl.cpp \ - -LOCAL_C_INCLUDES:= \ - external/skia/include/core \ - frameworks/base/core/jni/android/graphics \ - frameworks/native/include/ui \ - -LOCAL_SHARED_LIBRARIES += \ - libandroid_runtime \ - liblog \ - libcutils \ - libui \ - libutils \ - libhwui \ - libandroidfw - -LOCAL_MODULE_TAGS := optional - -# To remove warnings from skia header files -LOCAL_CFLAGS := -Wno-unused-parameter - -include $(BUILD_SHARED_LIBRARY) diff --git a/native/webview/plat_support/graphics_utils.cpp b/native/webview/plat_support/graphics_utils.cpp index 89beb754b52c..56825cee4520 100644 --- a/native/webview/plat_support/graphics_utils.cpp +++ b/native/webview/plat_support/graphics_utils.cpp @@ -25,8 +25,8 @@ #include <cstdlib> #include <jni.h> #include <utils/Log.h> +#include "android/graphics/GraphicsJNI.h" #include "graphic_buffer_impl.h" -#include "GraphicsJNI.h" #include "SkCanvasStateUtils.h" #include "SkGraphics.h" #include "SkPicture.h" diff --git a/services/core/java/com/android/server/connectivity/LingerMonitor.java b/services/core/java/com/android/server/connectivity/LingerMonitor.java index 0e727c5e0b5f..929dfc4d1511 100644 --- a/services/core/java/com/android/server/connectivity/LingerMonitor.java +++ b/services/core/java/com/android/server/connectivity/LingerMonitor.java @@ -90,8 +90,8 @@ public class LingerMonitor { mNotifier = notifier; mDailyLimit = dailyLimit; mRateLimitMillis = rateLimitMillis; - // Ensure that (now - mFirstNotificationMillis) >= rateLimitMillis at first - mFirstNotificationMillis = -rateLimitMillis; + // Ensure that (now - mLastNotificationMillis) >= rateLimitMillis at first + mLastNotificationMillis = -rateLimitMillis; } private static HashMap<String, Integer> makeTransportToNameMap() { diff --git a/services/core/java/com/android/server/pm/dex/DexManager.java b/services/core/java/com/android/server/pm/dex/DexManager.java index 580e4f481a27..3a74ab51e9c7 100644 --- a/services/core/java/com/android/server/pm/dex/DexManager.java +++ b/services/core/java/com/android/server/pm/dex/DexManager.java @@ -42,7 +42,6 @@ import com.android.server.pm.Installer.InstallerException; import com.android.server.pm.PackageDexOptimizer; import com.android.server.pm.PackageManagerService; import com.android.server.pm.PackageManagerServiceUtils; -import com.android.server.pm.PackageManagerServiceCompilerMapping; import java.io.File; import java.io.IOException; diff --git a/services/core/java/com/android/server/pm/dex/DexoptOptions.java b/services/core/java/com/android/server/pm/dex/DexoptOptions.java index a7a7686b2a6b..de3c9f28218d 100644 --- a/services/core/java/com/android/server/pm/dex/DexoptOptions.java +++ b/services/core/java/com/android/server/pm/dex/DexoptOptions.java @@ -18,8 +18,6 @@ package com.android.server.pm.dex; import static com.android.server.pm.PackageManagerServiceCompilerMapping.getCompilerFilterForReason; -import android.annotation.Nullable; - /** * Options used for dexopt invocations. */ diff --git a/services/core/java/com/android/server/pm/dex/DexoptUtils.java b/services/core/java/com/android/server/pm/dex/DexoptUtils.java index d2600b5060b5..9a12a2f140bf 100644 --- a/services/core/java/com/android/server/pm/dex/DexoptUtils.java +++ b/services/core/java/com/android/server/pm/dex/DexoptUtils.java @@ -24,8 +24,6 @@ import com.android.internal.os.ClassLoaderFactory; import com.android.server.pm.PackageDexOptimizer; import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public final class DexoptUtils { diff --git a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java index 86f7380e331b..519a20d51ddb 100644 --- a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java +++ b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java @@ -35,13 +35,10 @@ import java.io.OutputStreamWriter; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; -import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; diff --git a/services/core/java/com/android/server/timezone/RulesManagerService.java b/services/core/java/com/android/server/timezone/RulesManagerService.java index 23c4a337001b..c4d285115ce7 100644 --- a/services/core/java/com/android/server/timezone/RulesManagerService.java +++ b/services/core/java/com/android/server/timezone/RulesManagerService.java @@ -47,6 +47,7 @@ import java.util.Arrays; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; import libcore.icu.ICU; +import libcore.timezone.TzDataSetVersion; import libcore.util.TimeZoneFinder; import libcore.util.ZoneInfoDB; @@ -66,8 +67,8 @@ public final class RulesManagerService extends IRulesManager.Stub { @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) static final DistroFormatVersion DISTRO_FORMAT_VERSION_SUPPORTED = new DistroFormatVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION); + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion()); public static class Lifecycle extends SystemService { public Lifecycle(Context context) { diff --git a/services/tests/servicestests/src/com/android/server/timezone/RulesManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/timezone/RulesManagerServiceTest.java index c252609b5d88..1b106dd37163 100644 --- a/services/tests/servicestests/src/com/android/server/timezone/RulesManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/timezone/RulesManagerServiceTest.java @@ -40,6 +40,7 @@ import java.util.concurrent.Executor; import javax.annotation.Nullable; import libcore.io.IoUtils; +import libcore.timezone.TzDataSetVersion; import static com.android.server.timezone.RulesManagerService.REQUIRED_QUERY_PERMISSION; import static com.android.server.timezone.RulesManagerService.REQUIRED_UPDATER_PERMISSION; @@ -128,15 +129,15 @@ public class RulesManagerServiceTest { configureDeviceSystemRulesVersion("2016a"); DistroVersion stagedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, "2016c", 3); configureStagedInstall(stagedDistroVersion); DistroVersion installedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, "2016b", 4); configureInstalledDistroVersion(installedDistroVersion); @@ -162,8 +163,8 @@ public class RulesManagerServiceTest { configureNoStagedOperation(); DistroVersion installedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, "2016b", 4); configureInstalledDistroVersion(installedDistroVersion); @@ -187,8 +188,8 @@ public class RulesManagerServiceTest { configureStagedUninstall(); DistroVersion installedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, "2016b", 4); configureInstalledDistroVersion(installedDistroVersion); @@ -231,8 +232,8 @@ public class RulesManagerServiceTest { configureDeviceCannotReadStagedDistroOperation(); DistroVersion installedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, "2016b", 4); configureInstalledDistroVersion(installedDistroVersion); @@ -275,8 +276,8 @@ public class RulesManagerServiceTest { configureDeviceSystemRulesVersion(systemRulesVersion); DistroVersion installedDistroVersion = new DistroVersion( - DistroVersion.CURRENT_FORMAT_MAJOR_VERSION, - DistroVersion.CURRENT_FORMAT_MINOR_VERSION - 1, + TzDataSetVersion.currentFormatMajorVersion(), + TzDataSetVersion.currentFormatMinorVersion() - 1, installedRulesVersion, revision); configureInstalledDistroVersion(installedDistroVersion); diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 80ee9b393f4d..93a062299be1 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1407,8 +1407,9 @@ public class SubscriptionManager { /** * Get an array of Subscription Ids for specified slot Index. - * @param slotIndex the slot Index. - * @return subscription Ids or null if the given slot Index is not valid. + * @param slotIndex the slot index. + * @return subscription Ids or null if the given slot Index is not valid or there are no active + * subscriptions in the slot. */ @Nullable public static int[] getSubscriptionIds(int slotIndex) { diff --git a/tests/net/java/android/net/MacAddressTest.java b/tests/net/java/android/net/MacAddressTest.java index 04266c5b3a0f..8be807de9b06 100644 --- a/tests/net/java/android/net/MacAddressTest.java +++ b/tests/net/java/android/net/MacAddressTest.java @@ -16,6 +16,7 @@ package android.net; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; @@ -24,12 +25,13 @@ import static org.junit.Assert.fail; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; -import java.util.Arrays; -import java.util.Random; - import org.junit.Test; import org.junit.runner.RunWith; +import java.net.Inet6Address; +import java.util.Arrays; +import java.util.Random; + @SmallTest @RunWith(AndroidJUnit4.class) public class MacAddressTest { @@ -252,6 +254,19 @@ public class MacAddressTest { } } + /** + * Tests that link-local address generation from MAC is valid. + */ + @Test + public void testLinkLocalFromMacGeneration() { + MacAddress mac = MacAddress.fromString("52:74:f2:b1:a8:7f"); + byte[] inet6ll = {(byte) 0xfe, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x74, + (byte) 0xf2, (byte) 0xff, (byte) 0xfe, (byte) 0xb1, (byte) 0xa8, 0x7f}; + Inet6Address llv6 = mac.getLinkLocalIpv6FromEui48Mac(); + assertTrue(llv6.isLinkLocalAddress()); + assertArrayEquals(inet6ll, llv6.getAddress()); + } + static byte[] toByteArray(int... in) { byte[] out = new byte[in.length]; for (int i = 0; i < in.length; i++) { diff --git a/tools/aapt2/io/FileStream_test.cpp b/tools/aapt2/io/FileStream_test.cpp index 7872738320c3..cc9cd2808a0c 100644 --- a/tools/aapt2/io/FileStream_test.cpp +++ b/tools/aapt2/io/FileStream_test.cpp @@ -18,7 +18,6 @@ #include "android-base/file.h" #include "android-base/macros.h" -#include "android-base/test_utils.h" #include "test/Test.h" |