From d1ec23c206d09deb72453d30bef582b8f4751856 Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Tue, 21 Jun 2011 17:58:45 -0700 Subject: Use dataConnectionNotInUse to decide if a DC is free. Change-Id: I89cb2f46dca59d5738dd16eb657104c3158ebcd2 --- .../android/internal/telephony/gsm/GsmDataConnectionTracker.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index 645bc69b2160..b845f9fde3a6 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -844,9 +844,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { return result; } + private boolean dataConnectionNotInUse(DataConnectionAc dcac) { + for (ApnContext apnContext : mApnContexts.values()) { + if (apnContext.getDataConnectionAc() == dcac) return false; + } + return true; + } + private GsmDataConnection findFreeDataConnection() { for (DataConnectionAc dcac : mDataConnectionAsyncChannels.values()) { - if (dcac.isInactiveSync()) { + if (dcac.isInactiveSync() && dataConnectionNotInUse(dcac)) { log("findFreeDataConnection: found free GsmDataConnection"); return (GsmDataConnection) dcac.dataConnection; } -- cgit v1.2.3-59-g8ed1b