diff options
| -rw-r--r-- | api/Android.bp | 8 | ||||
| -rw-r--r-- | api/ApiDocs.bp | 12 | ||||
| -rw-r--r-- | api/StubLibraries.bp | 8 | ||||
| -rw-r--r-- | core/java/android/hardware/radio/OWNERS | 1 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/LockSettingsInternal.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/LockSettingsStateListener.java (renamed from core/java/com/android/internal/widget/ILockSettingsStateListener.aidl) | 6 | ||||
| -rw-r--r-- | core/tests/BroadcastRadioTests/OWNERS | 2 | ||||
| -rw-r--r-- | nfc/api/current.txt | 4 | ||||
| -rw-r--r-- | nfc/java/android/nfc/NfcAdapter.java | 23 | ||||
| -rw-r--r-- | services/core/java/com/android/server/broadcastradio/OWNERS | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/locksettings/LockSettingsService.java | 41 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/OWNERS | 1 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java | 17 | ||||
| -rw-r--r-- | telecomm/OWNERS | 3 |
14 files changed, 61 insertions, 71 deletions
diff --git a/api/Android.bp b/api/Android.bp index 7fb427eb715a..113424f7817d 100644 --- a/api/Android.bp +++ b/api/Android.bp @@ -231,7 +231,7 @@ genrule { name: "sdk-annotations.zip", defaults: ["sdk-annotations-defaults"], srcs: [ - ":android-non-updatable-doc-stubs{.annotations.zip}", + ":android-non-updatable-doc-stubs{.exportable.annotations.zip}", ":all-modules-public-annotations", ], } @@ -240,7 +240,7 @@ genrule { name: "sdk-annotations-system.zip", defaults: ["sdk-annotations-defaults"], srcs: [ - ":android-non-updatable-doc-stubs-system{.annotations.zip}", + ":android-non-updatable-doc-stubs-system{.exportable.annotations.zip}", ":all-modules-system-annotations", ], } @@ -249,7 +249,7 @@ genrule { name: "sdk-annotations-module-lib.zip", defaults: ["sdk-annotations-defaults"], srcs: [ - ":android-non-updatable-doc-stubs-module-lib{.annotations.zip}", + ":android-non-updatable-doc-stubs-module-lib{.exportable.annotations.zip}", ":all-modules-module-lib-annotations", ], } @@ -258,7 +258,7 @@ genrule { name: "sdk-annotations-system-server.zip", defaults: ["sdk-annotations-defaults"], srcs: [ - ":android-non-updatable-doc-stubs-system-server{.annotations.zip}", + ":android-non-updatable-doc-stubs-system-server{.exportable.annotations.zip}", ":all-modules-system-server-annotations", ], } diff --git a/api/ApiDocs.bp b/api/ApiDocs.bp index 62f0b6e9a2e0..426ffdfda451 100644 --- a/api/ApiDocs.bp +++ b/api/ApiDocs.bp @@ -208,7 +208,7 @@ droiddoc { name: "offline-sdk-docs", defaults: ["framework-docs-default"], srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], hdf: [ "android.whichdoc offline", @@ -229,7 +229,7 @@ droiddoc { name: "offline-sdk-referenceonly-docs", defaults: ["framework-docs-default"], srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], hdf: [ "android.whichdoc offline", @@ -273,7 +273,7 @@ droiddoc { name: "ds-docs-java", defaults: ["framework-docs-default"], srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], hdf: [ "android.whichdoc online", @@ -307,7 +307,7 @@ droiddoc { droiddoc { name: "ds-docs-kt", srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], flags: [ "-noJdkLink", @@ -361,7 +361,7 @@ droiddoc { name: "ds-static-docs", defaults: ["framework-docs-default"], srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], hdf: [ "android.whichdoc online", @@ -378,7 +378,7 @@ droiddoc { name: "ds-ref-navtree-docs", defaults: ["framework-docs-default"], srcs: [ - ":framework-doc-stubs", + ":framework-doc-stubs{.exportable}", ], hdf: [ "android.whichdoc online", diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp index 59c01284ab27..852abdfdf602 100644 --- a/api/StubLibraries.bp +++ b/api/StubLibraries.bp @@ -961,7 +961,7 @@ java_api_library { java_library { name: "android_stubs_current_with_test_libs", static_libs: [ - "android_stubs_current", + "android_stubs_current_exportable", "android.test.base.stubs", "android.test.mock.stubs", "android.test.runner.stubs", @@ -976,7 +976,7 @@ java_library { java_library { name: "android_system_stubs_current_with_test_libs", static_libs: [ - "android_system_stubs_current", + "android_system_stubs_current_exportable", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", @@ -991,7 +991,7 @@ java_library { java_library { name: "android_module_stubs_current_with_test_libs", static_libs: [ - "android_module_lib_stubs_current", + "android_module_lib_stubs_current_exportable", "android.test.base.stubs", "android.test.mock.stubs", "android.test.runner.stubs", @@ -1006,7 +1006,7 @@ java_library { java_library { name: "android_system_server_stubs_current_with_test_libs", static_libs: [ - "android_system_server_stubs_current", + "android_system_server_stubs_current_exportable", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", diff --git a/core/java/android/hardware/radio/OWNERS b/core/java/android/hardware/radio/OWNERS index 302fdd73ccf3..51a85e48832e 100644 --- a/core/java/android/hardware/radio/OWNERS +++ b/core/java/android/hardware/radio/OWNERS @@ -1,4 +1,3 @@ xuweilin@google.com oscarazu@google.com ericjeong@google.com -keunyoung@google.com diff --git a/core/java/com/android/internal/widget/LockSettingsInternal.java b/core/java/com/android/internal/widget/LockSettingsInternal.java index 627e8779f9d0..e59132780c56 100644 --- a/core/java/com/android/internal/widget/LockSettingsInternal.java +++ b/core/java/com/android/internal/widget/LockSettingsInternal.java @@ -171,11 +171,11 @@ public abstract class LockSettingsInternal { * Register a LockSettingsStateListener * @param listener The listener to be registered */ - public abstract void registerLockSettingsStateListener(ILockSettingsStateListener listener); + public abstract void registerLockSettingsStateListener(LockSettingsStateListener listener); /** * Unregister a LockSettingsStateListener * @param listener The listener to be unregistered */ - public abstract void unregisterLockSettingsStateListener(ILockSettingsStateListener listener); + public abstract void unregisterLockSettingsStateListener(LockSettingsStateListener listener); } diff --git a/core/java/com/android/internal/widget/ILockSettingsStateListener.aidl b/core/java/com/android/internal/widget/LockSettingsStateListener.java index 25e30034fe8f..869e676f4a42 100644 --- a/core/java/com/android/internal/widget/ILockSettingsStateListener.aidl +++ b/core/java/com/android/internal/widget/LockSettingsStateListener.java @@ -5,7 +5,7 @@ * 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 + * 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, @@ -21,7 +21,7 @@ package com.android.internal.widget; * state of primary authentication (i.e. PIN/pattern/password). * @hide */ -oneway interface ILockSettingsStateListener { +public interface LockSettingsStateListener { /** * Defines behavior in response to a successful authentication * @param userId The user Id for the requested authentication @@ -33,4 +33,4 @@ oneway interface ILockSettingsStateListener { * @param userId The user Id for the requested authentication */ void onAuthenticationFailed(int userId); -}
\ No newline at end of file +} diff --git a/core/tests/BroadcastRadioTests/OWNERS b/core/tests/BroadcastRadioTests/OWNERS index d2bdd643b0a2..51a85e48832e 100644 --- a/core/tests/BroadcastRadioTests/OWNERS +++ b/core/tests/BroadcastRadioTests/OWNERS @@ -1,3 +1,3 @@ xuweilin@google.com oscarazu@google.com -keunyoung@google.com +ericjeong@google.com diff --git a/nfc/api/current.txt b/nfc/api/current.txt index 91e460324289..0ab2ef7ed7cb 100644 --- a/nfc/api/current.txt +++ b/nfc/api/current.txt @@ -97,12 +97,12 @@ package android.nfc { field public static final String EXTRA_SECURE_ELEMENT_NAME = "android.nfc.extra.SECURE_ELEMENT_NAME"; field public static final String EXTRA_TAG = "android.nfc.extra.TAG"; field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_DISABLE = 0; // 0x0 - field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_KEEP = -1; // 0xffffffff + field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_KEEP = -2147483648; // 0x80000000 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_A = 1; // 0x1 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_B = 2; // 0x2 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_F = 4; // 0x4 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_READER_DISABLE = 0; // 0x0 - field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_READER_KEEP = -1; // 0xffffffff + field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_READER_KEEP = -2147483648; // 0x80000000 field public static final int FLAG_READER_NFC_A = 1; // 0x1 field public static final int FLAG_READER_NFC_B = 2; // 0x2 field public static final int FLAG_READER_NFC_BARCODE = 16; // 0x10 diff --git a/nfc/java/android/nfc/NfcAdapter.java b/nfc/java/android/nfc/NfcAdapter.java index 979855e5e25c..079172142145 100644 --- a/nfc/java/android/nfc/NfcAdapter.java +++ b/nfc/java/android/nfc/NfcAdapter.java @@ -414,18 +414,18 @@ public final class NfcAdapter { /** * Flags for use with {@link #setDiscoveryTechnology(Activity, int, int)}. * <p> - * Setting this flag makes listening to use current flags. + * Setting this flag makes listening to keep the current technology configuration. */ @FlaggedApi(Flags.FLAG_ENABLE_NFC_SET_DISCOVERY_TECH) - public static final int FLAG_LISTEN_KEEP = -1; + public static final int FLAG_LISTEN_KEEP = 0x80000000; /** * Flags for use with {@link #setDiscoveryTechnology(Activity, int, int)}. * <p> - * Setting this flag makes polling to use current flags. + * Setting this flag makes polling to keep the current technology configuration. */ @FlaggedApi(Flags.FLAG_ENABLE_NFC_SET_DISCOVERY_TECH) - public static final int FLAG_READER_KEEP = -1; + public static final int FLAG_READER_KEEP = 0x80000000; /** @hide */ public static final int FLAG_USE_ALL_TECH = 0xff; @@ -1793,6 +1793,8 @@ public final class NfcAdapter { * * Use {@link #FLAG_READER_KEEP} to keep current polling technology. * Use {@link #FLAG_LISTEN_KEEP} to keep current listenig technology. + * (if the _KEEP flag is specified the other technology flags shouldn't be set + * and are quietly ignored otherwise). * Use {@link #FLAG_READER_DISABLE} to disable polling. * Use {@link #FLAG_LISTEN_DISABLE} to disable listening. * Also refer to {@link #resetDiscoveryTechnology(Activity)} to restore these changes. @@ -1824,6 +1826,15 @@ public final class NfcAdapter { @FlaggedApi(Flags.FLAG_ENABLE_NFC_SET_DISCOVERY_TECH) public void setDiscoveryTechnology(@NonNull Activity activity, @PollTechnology int pollTechnology, @ListenTechnology int listenTechnology) { + + // A special treatment of the _KEEP flags + if ((listenTechnology & FLAG_LISTEN_KEEP) != 0) { + listenTechnology = -1; + } + if ((pollTechnology & FLAG_READER_KEEP) != 0) { + pollTechnology = -1; + } + if (listenTechnology == FLAG_LISTEN_DISABLE) { synchronized (sLock) { if (!sHasNfcFeature) { @@ -1850,10 +1861,10 @@ public final class NfcAdapter { } /** - * Restore the poll/listen technologies of NFC controller, + * Restore the poll/listen technologies of NFC controller to its default state, * which were changed by {@link #setDiscoveryTechnology(Activity , int , int)} * - * @param activity The Activity that requests to changed technologies. + * @param activity The Activity that requested to change technologies. */ @FlaggedApi(Flags.FLAG_ENABLE_NFC_SET_DISCOVERY_TECH) diff --git a/services/core/java/com/android/server/broadcastradio/OWNERS b/services/core/java/com/android/server/broadcastradio/OWNERS index d2bdd643b0a2..51a85e48832e 100644 --- a/services/core/java/com/android/server/broadcastradio/OWNERS +++ b/services/core/java/com/android/server/broadcastradio/OWNERS @@ -1,3 +1,3 @@ xuweilin@google.com oscarazu@google.com -keunyoung@google.com +ericjeong@google.com diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index c81ce26b6403..939423f27c3c 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -91,7 +91,6 @@ import android.os.Handler; import android.os.IBinder; import android.os.IProgressListener; import android.os.Process; -import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceManager; @@ -137,11 +136,11 @@ import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Preconditions; import com.android.internal.widget.ICheckCredentialProgressCallback; import com.android.internal.widget.ILockSettings; -import com.android.internal.widget.ILockSettingsStateListener; import com.android.internal.widget.IWeakEscrowTokenActivatedListener; import com.android.internal.widget.IWeakEscrowTokenRemovedListener; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockSettingsInternal; +import com.android.internal.widget.LockSettingsStateListener; import com.android.internal.widget.LockscreenCredential; import com.android.internal.widget.RebootEscrowListener; import com.android.internal.widget.VerifyCredentialResponse; @@ -183,6 +182,7 @@ import java.util.NoSuchElementException; import java.util.Objects; import java.util.Set; import java.util.StringJoiner; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -330,8 +330,8 @@ public class LockSettingsService extends ILockSettings.Stub { private HashMap<UserHandle, UserManager> mUserManagerCache = new HashMap<>(); - private final RemoteCallbackList<ILockSettingsStateListener> mLockSettingsStateListeners = - new RemoteCallbackList<>(); + private final CopyOnWriteArrayList<LockSettingsStateListener> mLockSettingsStateListeners = + new CopyOnWriteArrayList<>(); // This class manages life cycle events for encrypted users on File Based Encryption (FBE) // devices. The most basic of these is to show/hide notifications about missing features until @@ -2357,25 +2357,12 @@ public class LockSettingsService extends ILockSettings.Stub { } private void notifyLockSettingsStateListeners(boolean success, int userId) { - int i = mLockSettingsStateListeners.beginBroadcast(); - try { - while (i > 0) { - i--; - try { - if (success) { - mLockSettingsStateListeners.getBroadcastItem(i) - .onAuthenticationSucceeded(userId); - } else { - mLockSettingsStateListeners.getBroadcastItem(i) - .onAuthenticationFailed(userId); - } - } catch (RemoteException e) { - Slog.e(TAG, "Exception while notifying LockSettingsStateListener:" - + " success = " + success + ", userId = " + userId, e); - } + for (LockSettingsStateListener listener : mLockSettingsStateListeners) { + if (success) { + listener.onAuthenticationSucceeded(userId); + } else { + listener.onAuthenticationFailed(userId); } - } finally { - mLockSettingsStateListeners.finishBroadcast(); } } @@ -3698,15 +3685,15 @@ public class LockSettingsService extends ILockSettings.Stub { } @Override - public void registerLockSettingsStateListener( - @NonNull ILockSettingsStateListener listener) { - mLockSettingsStateListeners.register(listener); + public void registerLockSettingsStateListener(@NonNull LockSettingsStateListener listener) { + Objects.requireNonNull(listener, "listener cannot be null"); + mLockSettingsStateListeners.add(listener); } @Override public void unregisterLockSettingsStateListener( - @NonNull ILockSettingsStateListener listener) { - mLockSettingsStateListeners.unregister(listener); + @NonNull LockSettingsStateListener listener) { + mLockSettingsStateListeners.remove(listener); } } diff --git a/services/core/java/com/android/server/wm/OWNERS b/services/core/java/com/android/server/wm/OWNERS index cd704478aa83..e06f2158dc14 100644 --- a/services/core/java/com/android/server/wm/OWNERS +++ b/services/core/java/com/android/server/wm/OWNERS @@ -17,6 +17,7 @@ mariiasand@google.com rgl@google.com yunfanc@google.com wilsonshih@google.com +jiamingliu@google.com # Files related to background activity launches per-file Background*Start* = set noparent diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java index 5081198f0058..705359708bc7 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java @@ -39,7 +39,6 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.PropertyInvalidatedCache; -import android.os.IBinder; import android.os.RemoteException; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; @@ -49,8 +48,8 @@ import android.text.TextUtils; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; -import com.android.internal.widget.ILockSettingsStateListener; import com.android.internal.widget.LockPatternUtils; +import com.android.internal.widget.LockSettingsStateListener; import com.android.internal.widget.LockscreenCredential; import com.android.internal.widget.VerifyCredentialResponse; @@ -412,7 +411,7 @@ public class LockSettingsServiceTests extends BaseLockSettingsServiceTests { mSetFlagsRule.enableFlags(FLAG_REPORT_PRIMARY_AUTH_ATTEMPTS); final LockscreenCredential password = newPassword("password"); setCredential(PRIMARY_USER_ID, password); - final ILockSettingsStateListener listener = mockLockSettingsStateListener(); + final LockSettingsStateListener listener = mock(LockSettingsStateListener.class); mLocalService.registerLockSettingsStateListener(listener); assertEquals(VerifyCredentialResponse.RESPONSE_OK, @@ -429,7 +428,7 @@ public class LockSettingsServiceTests extends BaseLockSettingsServiceTests { final LockscreenCredential password = newPassword("password"); setCredential(PRIMARY_USER_ID, password); final LockscreenCredential badPassword = newPassword("badPassword"); - final ILockSettingsStateListener listener = mockLockSettingsStateListener(); + final LockSettingsStateListener listener = mock(LockSettingsStateListener.class); mLocalService.registerLockSettingsStateListener(listener); assertEquals(VerifyCredentialResponse.RESPONSE_ERROR, @@ -445,7 +444,7 @@ public class LockSettingsServiceTests extends BaseLockSettingsServiceTests { final LockscreenCredential password = newPassword("password"); setCredential(PRIMARY_USER_ID, password); final LockscreenCredential badPassword = newPassword("badPassword"); - final ILockSettingsStateListener listener = mockLockSettingsStateListener(); + final LockSettingsStateListener listener = mock(LockSettingsStateListener.class); mLocalService.registerLockSettingsStateListener(listener); assertEquals(VerifyCredentialResponse.RESPONSE_OK, @@ -599,12 +598,4 @@ public class LockSettingsServiceTests extends BaseLockSettingsServiceTests { assertNotEquals(0, mGateKeeperService.getSecureUserId(userId)); } } - - private ILockSettingsStateListener mockLockSettingsStateListener() { - ILockSettingsStateListener listener = mock(ILockSettingsStateListener.Stub.class); - IBinder binder = mock(IBinder.class); - when(binder.isBinderAlive()).thenReturn(true); - when(listener.asBinder()).thenReturn(binder); - return listener; - } } diff --git a/telecomm/OWNERS b/telecomm/OWNERS index b57b7c79326e..bb2ac51a24f1 100644 --- a/telecomm/OWNERS +++ b/telecomm/OWNERS @@ -6,4 +6,5 @@ xiaotonj@google.com rgreenwalt@google.com grantmenke@google.com pmadapurmath@google.com -tjstuart@google.com
\ No newline at end of file +tjstuart@google.com +huiwang@google.com |