summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-05-16 15:51:02 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-05-16 15:51:02 -0700
commit648831cc85f895e95ce65509f5e9e67ed4bf2926 (patch)
treebc60630a99e9e0f28ebfcf0f834f14885bdb6b1b /telephony
parent33285c69a6bb01d8e3420694e257802f95d1e884 (diff)
parent99f04c4943368ea7ea7f9d28fa941a1b387e7477 (diff)
downloadframeworks_base-648831cc85f895e95ce65509f5e9e67ed4bf2926.zip
frameworks_base-648831cc85f895e95ce65509f5e9e67ed4bf2926.tar.gz
frameworks_base-648831cc85f895e95ce65509f5e9e67ed4bf2926.tar.bz2
am 99f04c49: Merge "Fix data attempt while PS is not in-service" into honeycomb-LTE
* commit '99f04c4943368ea7ea7f9d28fa941a1b387e7477': Fix data attempt while PS is not in-service
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/com/android/internal/telephony/DataConnectionTracker.java13
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java8
2 files changed, 12 insertions, 9 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
index 43f3b95..b7ac879 100644
--- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
@@ -31,6 +31,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Messenger;
+import android.os.SystemProperties;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
@@ -219,6 +220,8 @@ public abstract class DataConnectionTracker extends Handler {
protected static final String FAIL_DATA_SETUP_FAIL_CAUSE = "fail_data_setup_fail_cause";
protected FailCause mFailDataSetupFailCause = FailCause.ERROR_UNSPECIFIED;
+ protected static final String DEFALUT_DATA_ON_BOOT_PROP = "net.def_data_on_boot";
+
// member variables
protected PhoneBase mPhone;
protected Activity mActivity = Activity.NONE;
@@ -384,13 +387,15 @@ public abstract class DataConnectionTracker extends Handler {
// This preference tells us 1) initial condition for "dataEnabled",
// and 2) whether the RIL will setup the baseband to auto-PS attach.
- SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mPhone.getContext());
- dataEnabled[APN_DEFAULT_ID] =
- !sp.getBoolean(PhoneBase.DATA_DISABLED_ON_BOOT_KEY, false);
+
+ dataEnabled[APN_DEFAULT_ID] = SystemProperties.getBoolean(DEFALUT_DATA_ON_BOOT_PROP,
+ true);
if (dataEnabled[APN_DEFAULT_ID]) {
enabledCount++;
}
- mAutoAttachOnCreation = dataEnabled[APN_DEFAULT_ID];
+
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mPhone.getContext());
+ mAutoAttachOnCreation = sp.getBoolean(PhoneBase.DATA_DISABLED_ON_BOOT_KEY, false);
}
public void dispose() {
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index 91b150a..e61af31 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -22,7 +22,6 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.ConnectivityManager;
@@ -270,8 +269,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
}
protected void initApnContextsAndDataConnection() {
- SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mPhone.getContext());
- boolean defaultEnabled = !sp.getBoolean(PhoneBase.DATA_DISABLED_ON_BOOT_KEY, false);
+ boolean defaultEnabled = SystemProperties.getBoolean(DEFALUT_DATA_ON_BOOT_PROP, true);
// Load device network attributes from resources
String[] networkConfigStrings = mPhone.getContext().getResources().getStringArray(
com.android.internal.R.array.networkAttributes);
@@ -585,7 +583,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
boolean desiredPowerState = mPhone.getServiceStateTracker().getDesiredPowerState();
boolean allowed =
- gprsState == ServiceState.STATE_IN_SERVICE &&
+ (gprsState == ServiceState.STATE_IN_SERVICE || mAutoAttachOnCreation) &&
mPhone.mIccRecords.getRecordsLoaded() &&
mPhone.getState() == Phone.State.IDLE &&
mInternalDataEnabled &&
@@ -594,7 +592,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
desiredPowerState;
if (!allowed && DBG) {
String reason = "";
- if (!(gprsState == ServiceState.STATE_IN_SERVICE)) {
+ if (!((gprsState == ServiceState.STATE_IN_SERVICE) || mAutoAttachOnCreation)) {
reason += " - gprs= " + gprsState;
}
if (!mPhone.mIccRecords.getRecordsLoaded()) reason += " - SIM not loaded";