From 81f2994f350993fe02e80694f08c569e0034ab9b Mon Sep 17 00:00:00 2001 From: Kurt Dresner Date: Tue, 4 May 2021 12:43:27 -0700 Subject: Rename OnProjectionStateChangeListener -> OnProjectionStateChangedListener Bug: 175130323 Test: Presubmits Change-Id: Ica48cd073e256055d5cac0f12e9ce814227eb0d6 --- .../app/IOnProjectionStateChangeListener.aidl | 22 -------- .../app/IOnProjectionStateChangedListener.aidl | 22 ++++++++ core/java/android/app/IUiModeManager.aidl | 6 +-- core/java/android/app/UiModeManager.java | 63 +++++++++++----------- 4 files changed, 57 insertions(+), 56 deletions(-) delete mode 100644 core/java/android/app/IOnProjectionStateChangeListener.aidl create mode 100644 core/java/android/app/IOnProjectionStateChangedListener.aidl (limited to 'core/java/android') diff --git a/core/java/android/app/IOnProjectionStateChangeListener.aidl b/core/java/android/app/IOnProjectionStateChangeListener.aidl deleted file mode 100644 index f15498545a68..000000000000 --- a/core/java/android/app/IOnProjectionStateChangeListener.aidl +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2020 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; - -/** {@hide} */ -oneway interface IOnProjectionStateChangeListener { - void onProjectionStateChanged(int activeProjectionTypes, in List projectingPackages); -} \ No newline at end of file diff --git a/core/java/android/app/IOnProjectionStateChangedListener.aidl b/core/java/android/app/IOnProjectionStateChangedListener.aidl new file mode 100644 index 000000000000..2d2bf7fd208b --- /dev/null +++ b/core/java/android/app/IOnProjectionStateChangedListener.aidl @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020 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; + +/** {@hide} */ +oneway interface IOnProjectionStateChangedListener { + void onProjectionStateChanged(int activeProjectionTypes, in List projectingPackages); +} \ No newline at end of file diff --git a/core/java/android/app/IUiModeManager.aidl b/core/java/android/app/IUiModeManager.aidl index f71eebdc66ec..9f21bcc5f45c 100644 --- a/core/java/android/app/IUiModeManager.aidl +++ b/core/java/android/app/IUiModeManager.aidl @@ -16,7 +16,7 @@ package android.app; -import android.app.IOnProjectionStateChangeListener; +import android.app.IOnProjectionStateChangedListener; /** * Interface used to control special UI modes. @@ -119,12 +119,12 @@ interface IUiModeManager { /** * Registers a listener for changes to projection state. */ - void addOnProjectionStateChangeListener(in IOnProjectionStateChangeListener listener, int projectionType); + void addOnProjectionStateChangedListener(in IOnProjectionStateChangedListener listener, int projectionType); /** * Unregisters a listener for changes to projection state. */ - void removeOnProjectionStateChangeListener(in IOnProjectionStateChangeListener listener); + void removeOnProjectionStateChangedListener(in IOnProjectionStateChangedListener listener); /** * Returns packages that have currently set the given projection type. diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java index 9b99ab8e31cb..a59fd040b6be 100644 --- a/core/java/android/app/UiModeManager.java +++ b/core/java/android/app/UiModeManager.java @@ -79,7 +79,7 @@ public class UiModeManager { * @hide */ @SystemApi - public interface OnProjectionStateChangeListener { + public interface OnProjectionStateChangedListener { /** * Callback invoked when projection state changes for a {@link ProjectionType} for which * this listener was added. @@ -254,10 +254,10 @@ public class UiModeManager { private final Object mLock = new Object(); /** * Map that stores internally created {@link InnerListener} objects keyed by their corresponding - * externally provided {@link OnProjectionStateChangeListener} objects. + * externally provided callback objects. */ @GuardedBy("mLock") - private final Map + private final Map mProjectionStateListenerMap = new ArrayMap<>(); /** @@ -265,9 +265,9 @@ public class UiModeManager { * fail to remove listeners. */ @GuardedBy("mLock") - private final OnProjectionStateChangeListenerResourceManager - mOnProjectionStateChangeListenerResourceManager = - new OnProjectionStateChangeListenerResourceManager(); + private final OnProjectionStateChangedListenerResourceManager + mOnProjectionStateChangedListenerResourceManager = + new OnProjectionStateChangedListenerResourceManager(); @UnsupportedAppUsage /*package*/ UiModeManager() throws ServiceNotFoundException { @@ -687,7 +687,7 @@ public class UiModeManager { /** * Indicates no projection type. Can be used to compare with the {@link ProjectionType} in - * {@link OnProjectionStateChangeListener#onProjectionStateChanged(int, Set)}. + * {@link OnProjectionStateChangedListener#onProjectionStateChanged(int, Set)}. * * @hide */ @@ -706,7 +706,7 @@ public class UiModeManager { public static final int PROJECTION_TYPE_AUTOMOTIVE = 0x0001; /** * Indicates all projection types. For use with - * {@link #addOnProjectionStateChangeListener(int, Executor, OnProjectionStateChangeListener)} + * {@link #addOnProjectionStateChangedListener(int, Executor, OnProjectionStateChangedListener)} * and {@link #getProjectingPackages(int)}. * * @hide @@ -829,15 +829,15 @@ public class UiModeManager { * * @param projectionType one or more {@link ProjectionType}s to listen for changes regarding * @param executor an {@link Executor} on which to invoke the callbacks - * @param listener the {@link OnProjectionStateChangeListener} to add + * @param listener the {@link OnProjectionStateChangedListener} to add * * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) - public void addOnProjectionStateChangeListener(@ProjectionType int projectionType, + public void addOnProjectionStateChangedListener(@ProjectionType int projectionType, @NonNull @CallbackExecutor Executor executor, - @NonNull OnProjectionStateChangeListener listener) { + @NonNull OnProjectionStateChangedListener listener) { synchronized (mLock) { if (mProjectionStateListenerMap.containsKey(listener)) { Slog.i(TAG, "Attempted to add listener that was already added."); @@ -845,12 +845,12 @@ public class UiModeManager { } if (mService != null) { InnerListener innerListener = new InnerListener(executor, listener, - mOnProjectionStateChangeListenerResourceManager); + mOnProjectionStateChangedListenerResourceManager); try { - mService.addOnProjectionStateChangeListener(innerListener, projectionType); + mService.addOnProjectionStateChangedListener(innerListener, projectionType); mProjectionStateListenerMap.put(listener, innerListener); } catch (RemoteException e) { - mOnProjectionStateChangeListenerResourceManager.remove(innerListener); + mOnProjectionStateChangedListenerResourceManager.remove(innerListener); throw e.rethrowFromSystemServer(); } } @@ -860,14 +860,14 @@ public class UiModeManager { /** * Removes the listener so it stops receiving updates for all {@link ProjectionType}s. * - * @param listener the {@link OnProjectionStateChangeListener} to remove + * @param listener the {@link OnProjectionStateChangedListener} to remove * * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) - public void removeOnProjectionStateChangeListener( - @NonNull OnProjectionStateChangeListener listener) { + public void removeOnProjectionStateChangedListener( + @NonNull OnProjectionStateChangedListener listener) { synchronized (mLock) { InnerListener innerListener = mProjectionStateListenerMap.get(listener); if (innerListener == null) { @@ -876,23 +876,23 @@ public class UiModeManager { } if (mService != null) { try { - mService.removeOnProjectionStateChangeListener(innerListener); + mService.removeOnProjectionStateChangedListener(innerListener); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } mProjectionStateListenerMap.remove(listener); - mOnProjectionStateChangeListenerResourceManager.remove(innerListener); + mOnProjectionStateChangedListenerResourceManager.remove(innerListener); } } - private static class InnerListener extends IOnProjectionStateChangeListener.Stub { - private final WeakReference + private static class InnerListener extends IOnProjectionStateChangedListener.Stub { + private final WeakReference mResourceManager; private InnerListener(@NonNull Executor executor, - @NonNull OnProjectionStateChangeListener outerListener, - @NonNull OnProjectionStateChangeListenerResourceManager resourceManager) { + @NonNull OnProjectionStateChangedListener outerListener, + @NonNull OnProjectionStateChangedListenerResourceManager resourceManager) { resourceManager.put(this, executor, outerListener); mResourceManager = new WeakReference<>(resourceManager); } @@ -900,13 +900,14 @@ public class UiModeManager { @Override public void onProjectionStateChanged(int activeProjectionTypes, List projectingPackages) { - OnProjectionStateChangeListenerResourceManager resourceManager = mResourceManager.get(); + OnProjectionStateChangedListenerResourceManager resourceManager = + mResourceManager.get(); if (resourceManager == null) { Slog.w(TAG, "Can't execute onProjectionStateChanged, resource manager is gone."); return; } - OnProjectionStateChangeListener outerListener = resourceManager.getOuterListener(this); + OnProjectionStateChangedListener outerListener = resourceManager.getOuterListener(this); Executor executor = resourceManager.getExecutor(this); if (outerListener == null || executor == null) { Slog.w(TAG, "Can't execute onProjectionStatechanged, references are null."); @@ -914,7 +915,7 @@ public class UiModeManager { } executor.execute(PooledLambda.obtainRunnable( - OnProjectionStateChangeListener::onProjectionStateChanged, + OnProjectionStateChangedListener::onProjectionStateChanged, outerListener, activeProjectionTypes, new ArraySet<>(projectingPackages)).recycleOnUse()); @@ -924,15 +925,15 @@ public class UiModeManager { /** * Wrapper class that ensures we don't leak {@link Activity} or other large {@link Context} in * which this {@link UiModeManager} resides if/when it ends without unregistering associated - * {@link OnProjectionStateChangeListener}s. + * callback objects. */ - private static class OnProjectionStateChangeListenerResourceManager { - private final Map mOuterListenerMap = + private static class OnProjectionStateChangedListenerResourceManager { + private final Map mOuterListenerMap = new ArrayMap<>(1); private final Map mExecutorMap = new ArrayMap<>(1); void put(@NonNull InnerListener innerListener, @NonNull Executor executor, - OnProjectionStateChangeListener outerListener) { + OnProjectionStateChangedListener outerListener) { mOuterListenerMap.put(innerListener, outerListener); mExecutorMap.put(innerListener, executor); } @@ -942,7 +943,7 @@ public class UiModeManager { mExecutorMap.remove(innerListener); } - OnProjectionStateChangeListener getOuterListener(@NonNull InnerListener innerListener) { + OnProjectionStateChangedListener getOuterListener(@NonNull InnerListener innerListener) { return mOuterListenerMap.get(innerListener); } -- cgit v1.2.3