|
Lines 51-63
Link Here
|
| 51 |
private Set pendingFolders; // subset of keys of 'folders', for which linked folders haven't been created yet. |
51 |
private Set pendingFolders; // subset of keys of 'folders', for which linked folders haven't been created yet. |
| 52 |
private int counter = 0; |
52 |
private int counter = 0; |
| 53 |
/* Singleton instance */ |
53 |
/* Singleton instance */ |
| 54 |
private static ExternalFoldersManager MANAGER = new ExternalFoldersManager(); |
54 |
private static ExternalFoldersManager MANAGER; |
| 55 |
|
55 |
|
| 56 |
private ExternalFoldersManager() { |
56 |
private ExternalFoldersManager() { |
| 57 |
// Prevent instantiation |
57 |
// Prevent instantiation |
|
|
58 |
getFolders(); |
| 58 |
} |
59 |
} |
| 59 |
|
60 |
|
| 60 |
public static ExternalFoldersManager getExternalFoldersManager() { |
61 |
public static synchronized ExternalFoldersManager getExternalFoldersManager() { |
|
|
62 |
if (MANAGER == null) { |
| 63 |
MANAGER = new ExternalFoldersManager(); |
| 64 |
} |
| 61 |
return MANAGER; |
65 |
return MANAGER; |
| 62 |
} |
66 |
} |
| 63 |
|
67 |
|
|
Lines 123-130
Link Here
|
| 123 |
result = externalFoldersProject.getFolder(LINKED_FOLDER_NAME + this.counter++); |
127 |
result = externalFoldersProject.getFolder(LINKED_FOLDER_NAME + this.counter++); |
| 124 |
} while (result.exists()); |
128 |
} while (result.exists()); |
| 125 |
if (scheduleForCreation) { |
129 |
if (scheduleForCreation) { |
| 126 |
if (this.pendingFolders == null) |
130 |
synchronized(this) { |
| 127 |
this.pendingFolders = Collections.synchronizedSet(new HashSet()); |
131 |
if (this.pendingFolders == null) |
|
|
132 |
this.pendingFolders = Collections.synchronizedSet(new HashSet()); |
| 133 |
} |
| 128 |
this.pendingFolders.add(externalFolderPath); |
134 |
this.pendingFolders.add(externalFolderPath); |
| 129 |
} |
135 |
} |
| 130 |
knownFolders.put(externalFolderPath, result); |
136 |
knownFolders.put(externalFolderPath, result); |