diff options
| author | Fyodor Kupolov <fkupolov@google.com> | 2015-12-07 18:55:09 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-12-07 18:55:09 +0000 |
| commit | 79aeb92f4de64dc658b3cbae6dcf40f19b1597f8 (patch) | |
| tree | e1a4b86d8355e71e344aa0aca26db5e1a5f1c8b9 /core/java | |
| parent | a9d492d7ff28535b4e44da43aed850a4d306cbcd (diff) | |
| parent | 6005b3f87b063ee7ab7e8877a6a8c90b480f3341 (diff) | |
Merge "Added SynchronousUserSwitchObserver"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/SynchronousUserSwitchObserver.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/core/java/android/app/SynchronousUserSwitchObserver.java b/core/java/android/app/SynchronousUserSwitchObserver.java new file mode 100644 index 000000000000..6d929f90e4de --- /dev/null +++ b/core/java/android/app/SynchronousUserSwitchObserver.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2015 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; + +import android.os.Bundle; +import android.os.IRemoteCallback; +import android.os.RemoteException; + +/** + * Base class for synchronous implementations of {@link IUserSwitchObserver} + * + * @hide + */ +public abstract class SynchronousUserSwitchObserver extends IUserSwitchObserver.Stub { + /** + * Calls {@link #onUserSwitching(int)} and notifies {@code reply} by calling + * {@link IRemoteCallback#sendResult(Bundle)}. + */ + @Override + public final void onUserSwitching(int newUserId, IRemoteCallback reply) throws RemoteException { + try { + onUserSwitching(newUserId); + } finally { + if (reply != null) { + reply.sendResult(null); + } + } + } + + /** + * Synchronous version of {@link IUserSwitchObserver#onUserSwitching(int, IRemoteCallback)} + */ + public abstract void onUserSwitching(int newUserId) throws RemoteException; +} |
