Merge "Change StringTokenizer to TextUtils.StringSplitter"

This commit is contained in:
Jean-Baptiste Queru
2012-08-28 12:22:39 -07:00
committed by android code review

View File

@ -26,6 +26,7 @@ import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.util.Log; import android.util.Log;
import android.text.TextUtils;
import android.view.Surface; import android.view.Surface;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
@ -34,7 +35,6 @@ import java.lang.ref.WeakReference;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.StringTokenizer;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
/** /**
@ -1905,7 +1905,7 @@ public class Camera {
private HashMap<String, String> mMap; private HashMap<String, String> mMap;
private Parameters() { private Parameters() {
mMap = new HashMap<String, String>(); mMap = new HashMap<String, String>(64);
} }
/** /**
@ -1929,7 +1929,7 @@ public class Camera {
* semi-colon delimited key-value pairs * semi-colon delimited key-value pairs
*/ */
public String flatten() { public String flatten() {
StringBuilder flattened = new StringBuilder(); StringBuilder flattened = new StringBuilder(128);
for (String k : mMap.keySet()) { for (String k : mMap.keySet()) {
flattened.append(k); flattened.append(k);
flattened.append("="); flattened.append("=");
@ -1952,9 +1952,9 @@ public class Camera {
public void unflatten(String flattened) { public void unflatten(String flattened) {
mMap.clear(); mMap.clear();
StringTokenizer tokenizer = new StringTokenizer(flattened, ";"); TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(';');
while (tokenizer.hasMoreElements()) { splitter.setString(flattened);
String kv = tokenizer.nextToken(); for (String kv : splitter) {
int pos = kv.indexOf('='); int pos = kv.indexOf('=');
if (pos == -1) { if (pos == -1) {
continue; continue;
@ -3488,11 +3488,11 @@ public class Camera {
private ArrayList<String> split(String str) { private ArrayList<String> split(String str) {
if (str == null) return null; if (str == null) return null;
// Use StringTokenizer because it is faster than split. TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(',');
StringTokenizer tokenizer = new StringTokenizer(str, ","); splitter.setString(str);
ArrayList<String> substrings = new ArrayList<String>(); ArrayList<String> substrings = new ArrayList<String>();
while (tokenizer.hasMoreElements()) { for (String s : splitter) {
substrings.add(tokenizer.nextToken()); substrings.add(s);
} }
return substrings; return substrings;
} }
@ -3502,11 +3502,11 @@ public class Camera {
private ArrayList<Integer> splitInt(String str) { private ArrayList<Integer> splitInt(String str) {
if (str == null) return null; if (str == null) return null;
StringTokenizer tokenizer = new StringTokenizer(str, ","); TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(',');
splitter.setString(str);
ArrayList<Integer> substrings = new ArrayList<Integer>(); ArrayList<Integer> substrings = new ArrayList<Integer>();
while (tokenizer.hasMoreElements()) { for (String s : splitter) {
String token = tokenizer.nextToken(); substrings.add(Integer.parseInt(s));
substrings.add(Integer.parseInt(token));
} }
if (substrings.size() == 0) return null; if (substrings.size() == 0) return null;
return substrings; return substrings;
@ -3515,11 +3515,11 @@ public class Camera {
private void splitInt(String str, int[] output) { private void splitInt(String str, int[] output) {
if (str == null) return; if (str == null) return;
StringTokenizer tokenizer = new StringTokenizer(str, ","); TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(',');
splitter.setString(str);
int index = 0; int index = 0;
while (tokenizer.hasMoreElements()) { for (String s : splitter) {
String token = tokenizer.nextToken(); output[index++] = Integer.parseInt(s);
output[index++] = Integer.parseInt(token);
} }
} }
@ -3527,11 +3527,11 @@ public class Camera {
private void splitFloat(String str, float[] output) { private void splitFloat(String str, float[] output) {
if (str == null) return; if (str == null) return;
StringTokenizer tokenizer = new StringTokenizer(str, ","); TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(',');
splitter.setString(str);
int index = 0; int index = 0;
while (tokenizer.hasMoreElements()) { for (String s : splitter) {
String token = tokenizer.nextToken(); output[index++] = Float.parseFloat(s);
output[index++] = Float.parseFloat(token);
} }
} }
@ -3558,10 +3558,11 @@ public class Camera {
private ArrayList<Size> splitSize(String str) { private ArrayList<Size> splitSize(String str) {
if (str == null) return null; if (str == null) return null;
StringTokenizer tokenizer = new StringTokenizer(str, ","); TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter(',');
splitter.setString(str);
ArrayList<Size> sizeList = new ArrayList<Size>(); ArrayList<Size> sizeList = new ArrayList<Size>();
while (tokenizer.hasMoreElements()) { for (String s : splitter) {
Size size = strToSize(tokenizer.nextToken()); Size size = strToSize(s);
if (size != null) sizeList.add(size); if (size != null) sizeList.add(size);
} }
if (sizeList.size() == 0) return null; if (sizeList.size() == 0) return null;