merge from open-source master

Change-Id: If72ad6758c9e1bf77c38c4afec6b00ec9d5b89e4
This commit is contained in:
The Android Open Source Project
2010-05-03 16:19:19 -07:00
4 changed files with 48 additions and 24 deletions

View File

@@ -1988,17 +1988,21 @@ public class InputMethodService extends AbstractInputMethodService {
ei.inputType != InputType.TYPE_NULL); ei.inputType != InputType.TYPE_NULL);
if (hasAction) { if (hasAction) {
mExtractAccessories.setVisibility(View.VISIBLE); mExtractAccessories.setVisibility(View.VISIBLE);
if (mExtractAction != null) {
if (ei.actionLabel != null) { if (ei.actionLabel != null) {
mExtractAction.setText(ei.actionLabel); mExtractAction.setText(ei.actionLabel);
} else { } else {
mExtractAction.setText(getTextForImeAction(ei.imeOptions)); mExtractAction.setText(getTextForImeAction(ei.imeOptions));
} }
mExtractAction.setOnClickListener(mActionClickListener); mExtractAction.setOnClickListener(mActionClickListener);
}
} else { } else {
mExtractAccessories.setVisibility(View.GONE); mExtractAccessories.setVisibility(View.GONE);
if (mExtractAction != null) {
mExtractAction.setOnClickListener(null); mExtractAction.setOnClickListener(null);
} }
} }
}
/** /**
* This is called when, while currently displayed in extract mode, the * This is called when, while currently displayed in extract mode, the

View File

@@ -26,6 +26,7 @@ public class ContentType {
public static final String MMS_GENERIC = "application/vnd.wap.mms-generic"; public static final String MMS_GENERIC = "application/vnd.wap.mms-generic";
public static final String MULTIPART_MIXED = "application/vnd.wap.multipart.mixed"; public static final String MULTIPART_MIXED = "application/vnd.wap.multipart.mixed";
public static final String MULTIPART_RELATED = "application/vnd.wap.multipart.related"; public static final String MULTIPART_RELATED = "application/vnd.wap.multipart.related";
public static final String MULTIPART_ALTERNATIVE = "application/vnd.wap.multipart.alternative";
public static final String TEXT_PLAIN = "text/plain"; public static final String TEXT_PLAIN = "text/plain";
public static final String TEXT_HTML = "text/html"; public static final String TEXT_HTML = "text/html";

View File

@@ -200,7 +200,18 @@ public class PduParser {
PduHeaders headers = new PduHeaders(); PduHeaders headers = new PduHeaders();
while (keepParsing && (pduDataStream.available() > 0)) { while (keepParsing && (pduDataStream.available() > 0)) {
pduDataStream.mark(1);
int headerField = extractByteValue(pduDataStream); int headerField = extractByteValue(pduDataStream);
/* parse custom text header */
if ((headerField >= TEXT_MIN) && (headerField <= TEXT_MAX)) {
pduDataStream.reset();
byte [] bVal = parseWapString(pduDataStream, TYPE_TEXT_STRING);
if (LOCAL_LOGV) {
Log.v(LOG_TAG, "TextHeader: " + new String(bVal));
}
/* we should ignore it at the moment */
continue;
}
switch (headerField) { switch (headerField) {
case PduHeaders.MESSAGE_TYPE: case PduHeaders.MESSAGE_TYPE:
{ {
@@ -778,7 +789,14 @@ public class PduParser {
/* get part's data */ /* get part's data */
if (dataLength > 0) { if (dataLength > 0) {
byte[] partData = new byte[dataLength]; byte[] partData = new byte[dataLength];
String partContentType = new String(part.getContentType());
pduDataStream.read(partData, 0, dataLength); pduDataStream.read(partData, 0, dataLength);
if (partContentType.equalsIgnoreCase(ContentType.MULTIPART_ALTERNATIVE)) {
// parse "multipart/vnd.wap.multipart.alternative".
PduBody childBody = parseParts(new ByteArrayInputStream(partData));
// take the first part of children.
part = childBody.getPart(0);
} else {
// Check Content-Transfer-Encoding. // Check Content-Transfer-Encoding.
byte[] partDataEncoding = part.getContentTransferEncoding(); byte[] partDataEncoding = part.getContentTransferEncoding();
if (null != partDataEncoding) { if (null != partDataEncoding) {
@@ -799,6 +817,7 @@ public class PduParser {
} }
part.setData(partData); part.setData(partData);
} }
}
/* add this part to body */ /* add this part to body */
if (THE_FIRST_PART == checkPartPosition(part)) { if (THE_FIRST_PART == checkPartPosition(part)) {

View File

@@ -2363,7 +2363,7 @@ class PackageManagerService extends IPackageManager.Stub {
&& (p.applicationInfo.flags&ApplicationInfo.FLAG_PERSISTENT) != 0 && (p.applicationInfo.flags&ApplicationInfo.FLAG_PERSISTENT) != 0
&& (!mSafeMode || (p.applicationInfo.flags && (!mSafeMode || (p.applicationInfo.flags
&ApplicationInfo.FLAG_SYSTEM) != 0)) { &ApplicationInfo.FLAG_SYSTEM) != 0)) {
finalList.add(p.applicationInfo); finalList.add(PackageParser.generateApplicationInfo(p, flags));
} }
} }
} }