2626import android .os .Looper ;
2727import android .os .Message ;
2828import android .util .Log ;
29+ import android .text .TextUtils ;
2930import android .view .Surface ;
3031import android .view .SurfaceHolder ;
3132
3435import java .util .ArrayList ;
3536import java .util .HashMap ;
3637import java .util .List ;
37- import java .util .StringTokenizer ;
3838import java .util .concurrent .locks .ReentrantLock ;
3939
4040/**
@@ -1905,7 +1905,7 @@ public class Parameters {
19051905 private HashMap <String , String > mMap ;
19061906
19071907 private Parameters () {
1908- mMap = new HashMap <String , String >();
1908+ mMap = new HashMap <String , String >(64 );
19091909 }
19101910
19111911 /**
@@ -1929,7 +1929,7 @@ public void dump() {
19291929 * semi-colon delimited key-value pairs
19301930 */
19311931 public String flatten () {
1932- StringBuilder flattened = new StringBuilder ();
1932+ StringBuilder flattened = new StringBuilder (128 );
19331933 for (String k : mMap .keySet ()) {
19341934 flattened .append (k );
19351935 flattened .append ("=" );
@@ -1952,9 +1952,9 @@ public String flatten() {
19521952 public void unflatten (String flattened ) {
19531953 mMap .clear ();
19541954
1955- StringTokenizer tokenizer = new StringTokenizer ( flattened , ";" );
1956- while ( tokenizer . hasMoreElements ()) {
1957- String kv = tokenizer . nextToken ();
1955+ TextUtils . StringSplitter splitter = new TextUtils . SimpleStringSplitter ( ';' );
1956+ splitter . setString ( flattened );
1957+ for ( String kv : splitter ) {
19581958 int pos = kv .indexOf ('=' );
19591959 if (pos == -1 ) {
19601960 continue ;
@@ -3488,11 +3488,11 @@ public boolean isVideoStabilizationSupported() {
34883488 private ArrayList <String > split (String str ) {
34893489 if (str == null ) return null ;
34903490
3491- // Use StringTokenizer because it is faster than split.
3492- StringTokenizer tokenizer = new StringTokenizer (str , "," );
3491+ TextUtils . StringSplitter splitter = new TextUtils . SimpleStringSplitter ( ',' );
3492+ splitter . setString (str );
34933493 ArrayList <String > substrings = new ArrayList <String >();
3494- while ( tokenizer . hasMoreElements () ) {
3495- substrings .add (tokenizer . nextToken () );
3494+ for ( String s : splitter ) {
3495+ substrings .add (s );
34963496 }
34973497 return substrings ;
34983498 }
@@ -3502,11 +3502,11 @@ private ArrayList<String> split(String str) {
35023502 private ArrayList <Integer > splitInt (String str ) {
35033503 if (str == null ) return null ;
35043504
3505- StringTokenizer tokenizer = new StringTokenizer (str , "," );
3505+ TextUtils .StringSplitter splitter = new TextUtils .SimpleStringSplitter (',' );
3506+ splitter .setString (str );
35063507 ArrayList <Integer > substrings = new ArrayList <Integer >();
3507- while (tokenizer .hasMoreElements ()) {
3508- String token = tokenizer .nextToken ();
3509- substrings .add (Integer .parseInt (token ));
3508+ for (String s : splitter ) {
3509+ substrings .add (Integer .parseInt (s ));
35103510 }
35113511 if (substrings .size () == 0 ) return null ;
35123512 return substrings ;
@@ -3515,23 +3515,23 @@ private ArrayList<Integer> splitInt(String str) {
35153515 private void splitInt (String str , int [] output ) {
35163516 if (str == null ) return ;
35173517
3518- StringTokenizer tokenizer = new StringTokenizer (str , "," );
3518+ TextUtils .StringSplitter splitter = new TextUtils .SimpleStringSplitter (',' );
3519+ splitter .setString (str );
35193520 int index = 0 ;
3520- while (tokenizer .hasMoreElements ()) {
3521- String token = tokenizer .nextToken ();
3522- output [index ++] = Integer .parseInt (token );
3521+ for (String s : splitter ) {
3522+ output [index ++] = Integer .parseInt (s );
35233523 }
35243524 }
35253525
35263526 // Splits a comma delimited string to an ArrayList of Float.
35273527 private void splitFloat (String str , float [] output ) {
35283528 if (str == null ) return ;
35293529
3530- StringTokenizer tokenizer = new StringTokenizer (str , "," );
3530+ TextUtils .StringSplitter splitter = new TextUtils .SimpleStringSplitter (',' );
3531+ splitter .setString (str );
35313532 int index = 0 ;
3532- while (tokenizer .hasMoreElements ()) {
3533- String token = tokenizer .nextToken ();
3534- output [index ++] = Float .parseFloat (token );
3533+ for (String s : splitter ) {
3534+ output [index ++] = Float .parseFloat (s );
35353535 }
35363536 }
35373537
@@ -3558,10 +3558,11 @@ private int getInt(String key, int defaultValue) {
35583558 private ArrayList <Size > splitSize (String str ) {
35593559 if (str == null ) return null ;
35603560
3561- StringTokenizer tokenizer = new StringTokenizer (str , "," );
3561+ TextUtils .StringSplitter splitter = new TextUtils .SimpleStringSplitter (',' );
3562+ splitter .setString (str );
35623563 ArrayList <Size > sizeList = new ArrayList <Size >();
3563- while ( tokenizer . hasMoreElements () ) {
3564- Size size = strToSize (tokenizer . nextToken () );
3564+ for ( String s : splitter ) {
3565+ Size size = strToSize (s );
35653566 if (size != null ) sizeList .add (size );
35663567 }
35673568 if (sizeList .size () == 0 ) return null ;
0 commit comments