summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Robert Greenwalt <rgreenwalt@google.com> 2011-06-29 14:24:02 -0700
committer Robert Greenwalt <rgreenwalt@google.com> 2011-06-29 14:28:53 -0700
commitdbcc57c6f1602da324609ddbaf76f836504733ae (patch)
tree700262c9e2e5d835201664f6b64f41714a076a1e
parentd3cc051dcb05a32eba1c208792e1bde4654a6db3 (diff)
Fix dependencyMet issues regarding hipri APN.
If the system says a dependency isn't met for accessing the default APN, apps should not be able to turn on the hipri APN either. This change prevents apps from adjusting the dependencyMet setting on hipri and internally ties its dependencyMet to that of the default APN. bug:4643411 Change-Id: I7e609ff9bb1b85a3a6a41095052f0194d03be979
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index 5fc0bf9b51e2..4f847b8bc514 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -1535,6 +1535,9 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
@Override
protected void onSetDependencyMet(String apnType, boolean met) {
+ // don't allow users to tweak hipri to work around default dependency not met
+ if (Phone.APN_TYPE_HIPRI.equals(apnType)) return;
+
ApnContext apnContext = mApnContexts.get(apnType);
if (apnContext == null) {
loge("onSetDependencyMet: ApnContext not found in onSetDependencyMet(" +
@@ -1542,6 +1545,11 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
return;
}
applyNewState(apnContext, apnContext.isEnabled(), met);
+ if (Phone.APN_TYPE_DEFAULT.equals(apnType)) {
+ // tie actions on default to similar actions on HIPRI regarding dependencyMet
+ apnContext = mApnContexts.get(Phone.APN_TYPE_HIPRI);
+ if (apnContext != null) applyNewState(apnContext, apnContext.isEnabled(), met);
+ }
}
private void applyNewState(ApnContext apnContext, boolean enabled, boolean met) {