diff options
author | Jonathan Basseri <misterikkit@google.com> | 2015-06-03 10:11:47 -0700 |
---|---|---|
committer | Jonathan Basseri <misterikkit@google.com> | 2015-06-03 10:29:39 -0700 |
commit | c0e7a0416d8de2cb0c1d3715f4b7504edde29dff (patch) | |
tree | 2f7c640e348dc65120da955c35ac347fff7ad2a6 | |
parent | f0742bdf0665810cc64d22c0c275bc8c8b7463f0 (diff) | |
download | frameworks_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.java | 10 |
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; } /** |