summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Basseri <misterikkit@google.com>2015-06-03 10:11:47 -0700
committerJonathan Basseri <misterikkit@google.com>2015-06-03 10:29:39 -0700
commitc0e7a0416d8de2cb0c1d3715f4b7504edde29dff (patch)
tree2f7c640e348dc65120da955c35ac347fff7ad2a6
parentf0742bdf0665810cc64d22c0c275bc8c8b7463f0 (diff)
downloadframeworks_base-c0e7a0416d8de2cb0c1d3715f4b7504edde29dff.zip
frameworks_base-c0e7a0416d8de2cb0c1d3715f4b7504edde29dff.tar.gz
frameworks_base-c0e7a0416d8de2cb0c1d3715f4b7504edde29dff.tar.bz2
Fix logic error in CarrierService.
CarrierService is supposed to filter intents in onBind and only accept valid actions. The logic was off so that it rejected all bind attempts. This was tricky to track down because clients get no clear signal that onBind is returning null. Bug: 21571360 Change-Id: If37a52e30d0c7fd0205f23595f39be3d55db69d4
-rw-r--r--core/java/android/service/carrier/CarrierService.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/java/android/service/carrier/CarrierService.java b/core/java/android/service/carrier/CarrierService.java
index 15ccc25..aa9705c 100644
--- a/core/java/android/service/carrier/CarrierService.java
+++ b/core/java/android/service/carrier/CarrierService.java
@@ -86,11 +86,13 @@ public abstract class CarrierService extends Service {
/** @hide */
@Override
public final IBinder onBind(Intent intent) {
- if (!CONFIG_SERVICE_INTERFACE.equals(intent.getAction())
- || !BIND_SERVICE_INTERFACE.equals(intent.getAction())) {
- return null;
+ switch (intent.getAction()) {
+ case CONFIG_SERVICE_INTERFACE:
+ case BIND_SERVICE_INTERFACE:
+ return mStubWrapper;
+ default:
+ null;
}
- return mStubWrapper;
}
/**