diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-05-06 18:36:32 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-05-06 18:36:32 +0000 |
| commit | 8c62b2ba7cb1b0ff9858d8da1538eac41bd29c29 (patch) | |
| tree | df10d86352405ce121e3b636eb798ee425f1af5e /core/java/android | |
| parent | da01e47e6058dbbc7494922ce075a5c73ae23f76 (diff) | |
| parent | 81f2994f350993fe02e80694f08c569e0034ab9b (diff) | |
Merge "Rename OnProjectionStateChangeListener -> OnProjectionStateChangedListener" into sc-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/IOnProjectionStateChangedListener.aidl (renamed from core/java/android/app/IOnProjectionStateChangeListener.aidl) | 2 | ||||
| -rw-r--r-- | core/java/android/app/IUiModeManager.aidl | 6 | ||||
| -rw-r--r-- | core/java/android/app/UiModeManager.java | 63 |
3 files changed, 36 insertions, 35 deletions
diff --git a/core/java/android/app/IOnProjectionStateChangeListener.aidl b/core/java/android/app/IOnProjectionStateChangedListener.aidl index f15498545a68..2d2bf7fd208b 100644 --- a/core/java/android/app/IOnProjectionStateChangeListener.aidl +++ b/core/java/android/app/IOnProjectionStateChangedListener.aidl @@ -17,6 +17,6 @@ package android.app; /** {@hide} */ -oneway interface IOnProjectionStateChangeListener { +oneway interface IOnProjectionStateChangedListener { void onProjectionStateChanged(int activeProjectionTypes, in List<String> 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 24fd04bedeae..973a8fb068d1 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<OnProjectionStateChangeListener, InnerListener> + private final Map<OnProjectionStateChangedListener, InnerListener> 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<OnProjectionStateChangeListenerResourceManager> + private static class InnerListener extends IOnProjectionStateChangedListener.Stub { + private final WeakReference<OnProjectionStateChangedListenerResourceManager> 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<String> 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<InnerListener, OnProjectionStateChangeListener> mOuterListenerMap = + private static class OnProjectionStateChangedListenerResourceManager { + private final Map<InnerListener, OnProjectionStateChangedListener> mOuterListenerMap = new ArrayMap<>(1); private final Map<InnerListener, Executor> 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); } |
