summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2016-05-23 18:54:17 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-05-23 18:54:20 +0000
commit28d9ef811291921ddb22e7b4b92e1222e673154e (patch)
tree81b1938cd954dfbf4f29ccd48364c5c99b5ec786
parent7c527bf76dcdcda414f10ed829999310f46161e7 (diff)
parentcf548bfad62b06fd9ad1cf2f1a67bd57a8471c28 (diff)
Merge "Don't throw RemoteException from new NLS APIs" into nyc-dev
-rw-r--r--api/current.txt4
-rw-r--r--api/system-current.txt4
-rw-r--r--api/test-current.txt4
-rw-r--r--core/java/android/service/notification/NotificationListenerService.java21
4 files changed, 20 insertions, 13 deletions
diff --git a/api/current.txt b/api/current.txt
index 56390c2331d7..1f7dd26d6b60 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -34633,8 +34633,8 @@ package android.service.notification {
method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
method public final void requestInterruptionFilter(int);
method public final void requestListenerHints(int);
- method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
- method public final void requestUnbind() throws android.os.RemoteException;
+ method public static void requestRebind(android.content.ComponentName);
+ method public final void requestUnbind();
method public final void setNotificationsShown(java.lang.String[]);
field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4
field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
diff --git a/api/system-current.txt b/api/system-current.txt
index 27188f0d654d..da430c0ea436 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -37359,8 +37359,8 @@ package android.service.notification {
method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException;
method public final void requestInterruptionFilter(int);
method public final void requestListenerHints(int);
- method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
- method public final void requestUnbind() throws android.os.RemoteException;
+ method public static void requestRebind(android.content.ComponentName);
+ method public final void requestUnbind();
method public final void setNotificationsShown(java.lang.String[]);
method public final void setOnNotificationPostedTrim(int);
method public void unregisterAsSystemService() throws android.os.RemoteException;
diff --git a/api/test-current.txt b/api/test-current.txt
index 15a2d304ea42..a67d45e70dba 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -34710,8 +34710,8 @@ package android.service.notification {
method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
method public final void requestInterruptionFilter(int);
method public final void requestListenerHints(int);
- method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException;
- method public final void requestUnbind() throws android.os.RemoteException;
+ method public static void requestRebind(android.content.ComponentName);
+ method public final void requestUnbind();
method public final void setNotificationsShown(java.lang.String[]);
field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4
field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index 25fe4ffaa471..1557a2718b55 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -790,11 +790,14 @@ public abstract class NotificationListenerService extends Service {
* <p>This method will fail for listeners that have
* not been granted the permission by the user.
*/
- public static void requestRebind(ComponentName componentName)
- throws RemoteException {
+ public static void requestRebind(ComponentName componentName) {
INotificationManager noMan = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
- noMan.requestBindListener(componentName);
+ try {
+ noMan.requestBindListener(componentName);
+ } catch (RemoteException ex) {
+ throw ex.rethrowFromSystemServer();
+ }
}
/**
@@ -807,12 +810,16 @@ public abstract class NotificationListenerService extends Service {
* <p>The service should wait for the {@link #onListenerConnected()} event
* before performing this operation. I know it's tempting, but you must wait.
*/
- public final void requestUnbind() throws RemoteException {
+ public final void requestUnbind() {
if (mWrapper != null) {
INotificationManager noMan = getNotificationInterface();
- noMan.requestUnbindListener(mWrapper);
- // Disable future messages.
- isConnected = false;
+ try {
+ noMan.requestUnbindListener(mWrapper);
+ // Disable future messages.
+ isConnected = false;
+ } catch (RemoteException ex) {
+ throw ex.rethrowFromSystemServer();
+ }
}
}