Merge change 25639 into eclair
* changes:
do not use transactions for calls that just read the DB
diff --git a/api/current.xml b/api/current.xml
index b348555..46565f2 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -121613,6 +121613,153 @@
</field>
</class>
</package>
+<package name="android.telephony.cdma"
+>
+<class name="CdmaCellLocation"
+ extends="android.telephony.CellLocation"
+ abstract="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<constructor name="CdmaCellLocation"
+ type="android.telephony.cdma.CdmaCellLocation"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</constructor>
+<constructor name="CdmaCellLocation"
+ type="android.telephony.cdma.CdmaCellLocation"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="bundleWithValues" type="android.os.Bundle">
+</parameter>
+</constructor>
+<method name="fillInNotifierBundle"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="bundleToFill" type="android.os.Bundle">
+</parameter>
+</method>
+<method name="getBaseStationId"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getBaseStationLatitude"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getBaseStationLongitude"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getNetworkId"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getSystemId"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="setCellLocationData"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="baseStationId" type="int">
+</parameter>
+<parameter name="baseStationLatitude" type="int">
+</parameter>
+<parameter name="baseStationLongitude" type="int">
+</parameter>
+</method>
+<method name="setCellLocationData"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="baseStationId" type="int">
+</parameter>
+<parameter name="baseStationLatitude" type="int">
+</parameter>
+<parameter name="baseStationLongitude" type="int">
+</parameter>
+<parameter name="systemId" type="int">
+</parameter>
+<parameter name="networkId" type="int">
+</parameter>
+</method>
+<method name="setStateInvalid"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+</class>
+</package>
<package name="android.telephony.gsm"
>
<class name="GsmCellLocation"
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index e98fd13..2e3364b 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -3408,7 +3408,8 @@
if (mPopup != null) {
TextView tv = (TextView) mPopup.getContentView();
chooseSize(mPopup, mError, tv);
- mPopup.update(this, getErrorX(), getErrorY(), -1, -1);
+ mPopup.update(this, getErrorX(), getErrorY(),
+ mPopup.getWidth(), mPopup.getHeight());
}
restartMarqueeIfNeeded();
diff --git a/core/java/com/google/android/gdata/client/AndroidGDataClient.java b/core/java/com/google/android/gdata/client/AndroidGDataClient.java
index 998f940..9a2a51d 100644
--- a/core/java/com/google/android/gdata/client/AndroidGDataClient.java
+++ b/core/java/com/google/android/gdata/client/AndroidGDataClient.java
@@ -19,6 +19,7 @@
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.AbstractHttpEntity;
+import org.apache.http.entity.ByteArrayEntity;
import android.content.ContentResolver;
import android.content.Context;
@@ -26,6 +27,7 @@
import android.text.TextUtils;
import android.util.Config;
import android.util.Log;
+import android.os.SystemProperties;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -55,6 +57,10 @@
private static final int MAX_REDIRECTS = 10;
+ // boolean system property that can be used to control whether or not
+ // requests/responses are gzip'd.
+ private static final String NO_GZIP_SYSTEM_PROPERTY = "sync.nogzip";
+
private final GoogleHttpClient mHttpClient;
private ContentResolver mResolver;
@@ -212,7 +218,10 @@
HttpUriRequest request = creator.createRequest(uri);
- AndroidHttpClient.modifyRequestToAcceptGzipResponse(request);
+ if (!SystemProperties.getBoolean(NO_GZIP_SYSTEM_PROPERTY, false)) {
+ AndroidHttpClient.modifyRequestToAcceptGzipResponse(request);
+ }
+
// only add the auth token if not null (to allow for GData feeds that do not require
// authentication.)
if (!TextUtils.isEmpty(authToken)) {
@@ -487,7 +496,12 @@
}
}
- AbstractHttpEntity entity = AndroidHttpClient.getCompressedEntity(entryBytes, mResolver);
+ AbstractHttpEntity entity;
+ if (SystemProperties.getBoolean(NO_GZIP_SYSTEM_PROPERTY, false)) {
+ entity = new ByteArrayEntity(entryBytes);
+ } else {
+ entity = AndroidHttpClient.getCompressedEntity(entryBytes, mResolver);
+ }
entity.setContentType(entry.getContentType());
return entity;
}
diff --git a/core/java/com/google/android/gdata2/client/AndroidGDataClient.java b/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
index 6ba791d..3721fa4 100644
--- a/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
+++ b/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
@@ -22,6 +22,7 @@
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.AbstractHttpEntity;
+import org.apache.http.entity.ByteArrayEntity;
import android.content.ContentResolver;
import android.content.Context;
@@ -29,6 +30,7 @@
import android.text.TextUtils;
import android.util.Config;
import android.util.Log;
+import android.os.SystemProperties;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -59,6 +61,9 @@
private static final int MAX_REDIRECTS = 10;
private static String DEFAULT_GDATA_VERSION = "2.0";
+ // boolean system property that can be used to control whether or not
+ // requests/responses are gzip'd.
+ private static final String NO_GZIP_SYSTEM_PROPERTY = "sync.nogzip";
private String mGDataVersion;
private final GoogleHttpClient mHttpClient;
@@ -213,7 +218,7 @@
HttpResponse response = null;
int status = 500;
int redirectsLeft = MAX_REDIRECTS;
-
+
URI uri;
try {
uri = new URI(uriString);
@@ -230,7 +235,10 @@
HttpUriRequest request = creator.createRequest(uri);
- AndroidHttpClient.modifyRequestToAcceptGzipResponse(request);
+ if (!SystemProperties.getBoolean(NO_GZIP_SYSTEM_PROPERTY, false)) {
+ AndroidHttpClient.modifyRequestToAcceptGzipResponse(request);
+ }
+
// only add the auth token if not null (to allow for GData feeds that do not require
// authentication.)
if (!TextUtils.isEmpty(authToken)) {
@@ -547,7 +555,13 @@
}
}
- AbstractHttpEntity entity = AndroidHttpClient.getCompressedEntity(entryBytes, mResolver);
+ AbstractHttpEntity entity;
+ if (SystemProperties.getBoolean(NO_GZIP_SYSTEM_PROPERTY, false)) {
+ entity = new ByteArrayEntity(entryBytes);
+ } else {
+ entity = AndroidHttpClient.getCompressedEntity(entryBytes, mResolver);
+ }
+
entity.setContentType(entry.getContentType());
return entity;
}
@@ -587,4 +601,3 @@
throw new IOException("Unable to process batch request.");
}
}
-
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 408a4d2..63845e9 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -809,6 +809,8 @@
intent.putExtra(ConnectivityManager.
EXTRA_OTHER_NETWORK_INFO, switchTo);
} else {
+ intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,
+ true);
newNet.reconnect();
}
} else {
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 45e0ceb..323a11f 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -6376,7 +6376,10 @@
if (mBackupSettingsFilename.exists()) {
mBackupSettingsFilename.delete();
}
- mSettingsFilename.renameTo(mBackupSettingsFilename);
+ if (!mSettingsFilename.renameTo(mBackupSettingsFilename)) {
+ Log.w(TAG, "Unable to backup package manager settings, current changes will be lost at reboot");
+ return;
+ }
}
mPastSignatures.clear();
diff --git a/telephony/java/android/telephony/cdma/CdmaCellLocation.java b/telephony/java/android/telephony/cdma/CdmaCellLocation.java
index b8778f8..676fba7 100644
--- a/telephony/java/android/telephony/cdma/CdmaCellLocation.java
+++ b/telephony/java/android/telephony/cdma/CdmaCellLocation.java
@@ -20,8 +20,7 @@
import android.telephony.CellLocation;
/**
- * Represents the cell location on a GSM phone.
- * @hide
+ * Represents the cell location on a CDMA phone.
*/
public class CdmaCellLocation extends CellLocation {
private int mBaseStationId = -1;
@@ -31,7 +30,8 @@
private int mNetworkId = -1;
/**
- * Empty constructor. Initializes the LAC and CID to -1.
+ * Empty constructor.
+ * Initializes the BID, SID, NID and base station latitude and longitude to -1.
*/
public CdmaCellLocation() {
this.mBaseStationId = -1;