equal
deleted
inserted
replaced
91 } |
91 } |
92 |
92 |
93 |
93 |
94 @Override |
94 @Override |
95 protected DiscoverInfo load(String ver) { |
95 protected DiscoverInfo load(String ver) { |
96 File fver = new File(mCacheDir, ver); |
96 File fver = new File(mCacheDir, sanitizeName(ver)); |
97 try { |
97 try { |
98 Reader fr = new BufferedReader(new FileReader(fver)); |
98 Reader fr = new BufferedReader(new FileReader(fver)); |
99 try { |
99 try { |
100 if (mParser == null) |
100 if (mParser == null) |
101 mParser = makeParser(); |
101 mParser = makeParser(); |
113 return null; |
113 return null; |
114 } |
114 } |
115 |
115 |
116 @Override |
116 @Override |
117 protected void store(String ver, DiscoverInfo info) { |
117 protected void store(String ver, DiscoverInfo info) { |
118 File fver = new File(mCacheDir, ver); |
118 |
|
119 File fver = new File(mCacheDir, sanitizeName(ver)); |
119 try { |
120 try { |
120 Writer fw = new BufferedWriter(new FileWriter(fver)); |
121 Writer fw = new BufferedWriter(new FileWriter(fver)); |
121 try { |
122 try { |
122 String data = info.toXML(); |
123 String data = info.toXML(); |
123 fw.write(data, 0, data.length()); |
124 fw.write(data, 0, data.length()); |
131 |
132 |
132 @Override |
133 @Override |
133 protected boolean isInCache(String ver) { |
134 protected boolean isInCache(String ver) { |
134 boolean result = super.isInCache(ver); |
135 boolean result = super.isInCache(ver); |
135 if (!result) { |
136 if (!result) { |
136 File fver = new File(mCacheDir, ver); |
137 File fver = new File(mCacheDir, sanitizeName(ver)); |
137 result = fver.exists(); |
138 result = fver.exists(); |
138 } |
139 } |
139 return result; |
140 return result; |
140 } |
141 } |
141 |
142 |
157 private XmlPullParser makeParser() throws XmlPullParserException { |
158 private XmlPullParser makeParser() throws XmlPullParserException { |
158 XmlPullParserFactory fact = XmlPullParserFactory.newInstance(); |
159 XmlPullParserFactory fact = XmlPullParserFactory.newInstance(); |
159 fact.setNamespaceAware(true); |
160 fact.setNamespaceAware(true); |
160 return fact.newPullParser(); |
161 return fact.newPullParser(); |
161 } |
162 } |
|
163 |
|
164 /** |
|
165 * Sanitize the base64 ver attribute in order to use it as a filename. |
|
166 * @param ver the base64 ver attribute |
|
167 * @return a sanitize filename for the ver attribute |
|
168 */ |
|
169 private String sanitizeName(String ver) { |
|
170 return ver.replaceAll("/", "."); |
|
171 } |
162 } |
172 } |