mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-28 00:48:50 +00:00 
			
		
		
		
	Back to save cached SimpleDateFormat instances to parse dates from server, to avoid huge performance problem in Android 2.x devices
This commit is contained in:
		
							parent
							
								
									0f23df1b7b
								
							
						
					
					
						commit
						9af57b477e
					
				| @ -35,15 +35,17 @@ import android.net.Uri; | ||||
| public class WebdavUtils { | ||||
|     public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat( | ||||
|             "dd.MM.yyyy hh:mm"); | ||||
|     private static final String DATETIME_FORMATS[] = { | ||||
|             "yyyy-MM-dd'T'HH:mm:ss'Z'", | ||||
|             "EEE, dd MMM yyyy HH:mm:ss zzz", | ||||
|             "yyyy-MM-dd'T'HH:mm:ss.sss'Z'", | ||||
|             "yyyy-MM-dd'T'HH:mm:ssZ", | ||||
|             "EEE MMM dd HH:mm:ss zzz yyyy", | ||||
|             "EEEEEE, dd-MMM-yy HH:mm:ss zzz", | ||||
|             "EEE MMMM d HH:mm:ss yyyy", | ||||
|             "yyyy-MM-dd hh:mm:ss" }; | ||||
|      | ||||
|     private static final SimpleDateFormat DATETIME_FORMATS[] = { | ||||
|     	new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US), | ||||
|     	new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),	 | ||||
| 		new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'", Locale.US), | ||||
| 		new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US), | ||||
| 		new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US), | ||||
| 		new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US), | ||||
| 		new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US), | ||||
| 		new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.US) | ||||
| 	}; | ||||
| 
 | ||||
|     public static String prepareXmlForPropFind() { | ||||
|         String ret = "<?xml version=\"1.0\" ?><D:propfind xmlns:D=\"DAV:\"><D:allprop/></D:propfind>"; | ||||
| @ -56,11 +58,16 @@ public class WebdavUtils { | ||||
| 
 | ||||
|     public static Date parseResponseDate(String date) { | ||||
|         Date returnDate = null; | ||||
|         SimpleDateFormat format = null; | ||||
|         for (int i = 0; i < DATETIME_FORMATS.length; ++i) { | ||||
|             try { | ||||
|                 returnDate = new SimpleDateFormat (DATETIME_FORMATS[i], Locale.US).parse(date); | ||||
|             	format = DATETIME_FORMATS[i]; | ||||
|             	synchronized(format) { | ||||
|             		returnDate = format.parse(date); | ||||
|             	} | ||||
|                 return returnDate; | ||||
|             } catch (ParseException e) { | ||||
|             	// this is not the format | ||||
|             } | ||||
|         } | ||||
|         return null; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user