Revision 645f9fc5
F-Droid/src/org/fdroid/fdroid/Utils.java | ||
---|---|---|
48 | 48 |
import java.io.BufferedInputStream; |
49 | 49 |
import java.io.Closeable; |
50 | 50 |
import java.io.File; |
51 |
import java.io.FileDescriptor; |
|
52 | 51 |
import java.io.FileInputStream; |
53 | 52 |
import java.io.FileOutputStream; |
54 | 53 |
import java.io.IOException; |
... | ... | |
143 | 142 |
/** |
144 | 143 |
* Attempt to symlink, but if that fails, it will make a copy of the file. |
145 | 144 |
*/ |
146 |
public static boolean symlinkOrCopyFile(SanitizedFile inFile, SanitizedFile outFile) { |
|
147 |
return FileCompat.symlink(inFile, outFile) || copy(inFile, outFile); |
|
145 |
public static boolean symlinkOrCopyFileQuietly(SanitizedFile inFile, SanitizedFile outFile) {
|
|
146 |
return FileCompat.symlink(inFile, outFile) || copyQuietly(inFile, outFile);
|
|
148 | 147 |
} |
149 | 148 |
|
150 | 149 |
/** |
... | ... | |
162 | 161 |
} |
163 | 162 |
} |
164 | 163 |
|
165 |
public static boolean copy(File inFile, File outFile) { |
|
164 |
public static boolean copyQuietly(File inFile, File outFile) {
|
|
166 | 165 |
InputStream input = null; |
167 | 166 |
OutputStream output = null; |
168 | 167 |
try { |
F-Droid/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java | ||
---|---|---|
140 | 140 |
SanitizedFile apkFile = SanitizedFile.knownSanitized(appInfo.publicSourceDir); |
141 | 141 |
SanitizedFile fdroidApkLink = new SanitizedFile(webRoot, "fdroid.client.apk"); |
142 | 142 |
attemptToDelete(fdroidApkLink); |
143 |
if (Utils.symlinkOrCopyFile(apkFile, fdroidApkLink)) |
|
143 |
if (Utils.symlinkOrCopyFileQuietly(apkFile, fdroidApkLink))
|
|
144 | 144 |
fdroidClientURL = "/" + fdroidApkLink.getName(); |
145 | 145 |
} catch (PackageManager.NameNotFoundException e) { |
146 | 146 |
Log.e(TAG, "Could not set up F-Droid apk in the webroot", e); |
... | ... | |
220 | 220 |
private void symlinkFileElsewhere(String fileName, String symlinkPrefix, File directory) { |
221 | 221 |
SanitizedFile index = new SanitizedFile(directory, fileName); |
222 | 222 |
attemptToDelete(index); |
223 |
Utils.symlinkOrCopyFile(new SanitizedFile(new File(directory, symlinkPrefix), fileName), index); |
|
223 |
Utils.symlinkOrCopyFileQuietly(new SanitizedFile(new File(directory, symlinkPrefix), fileName), index);
|
|
224 | 224 |
} |
225 | 225 |
|
226 | 226 |
private void deleteContents(File path) { |
... | ... | |
249 | 249 |
|
250 | 250 |
if (app.installedApk != null) { |
251 | 251 |
SanitizedFile outFile = new SanitizedFile(repoDir, app.installedApk.apkName); |
252 |
if (Utils.symlinkOrCopyFile(app.installedApk.installedFile, outFile)) |
|
252 |
if (Utils.symlinkOrCopyFileQuietly(app.installedApk.installedFile, outFile))
|
|
253 | 253 |
continue; |
254 | 254 |
} |
255 | 255 |
// if we got here, something went wrong |
F-Droid/src/org/fdroid/fdroid/net/ApkDownloader.java | ||
---|---|---|
21 | 21 |
package org.fdroid.fdroid.net; |
22 | 22 |
|
23 | 23 |
import android.content.Context; |
24 |
import android.os.Build; |
|
25 | 24 |
import android.content.Intent; |
26 | 25 |
import android.os.Bundle; |
27 | 26 |
import android.support.annotation.NonNull; |
... | ... | |
39 | 38 |
|
40 | 39 |
import java.io.File; |
41 | 40 |
import java.io.IOException; |
42 |
import java.net.URL; |
|
43 | 41 |
import java.security.NoSuchAlgorithmException; |
44 | 42 |
|
45 | 43 |
/** |
... | ... | |
188 | 186 |
// Can we use the cached version? |
189 | 187 |
if (verifyOrDelete(potentiallyCachedFile)) { |
190 | 188 |
delete(localFile); |
191 |
Utils.copy(potentiallyCachedFile, localFile); |
|
189 |
Utils.copyQuietly(potentiallyCachedFile, localFile);
|
|
192 | 190 |
prepareApkFileAndSendCompleteMessage(); |
193 | 191 |
return false; |
194 | 192 |
} |
... | ... | |
243 | 241 |
private void cacheIfRequired() { |
244 | 242 |
if (Preferences.get().shouldCacheApks()) { |
245 | 243 |
Utils.DebugLog(TAG, "Copying .apk file to cache at " + potentiallyCachedFile.getAbsolutePath()); |
246 |
Utils.copy(localFile, potentiallyCachedFile); |
|
244 |
Utils.copyQuietly(localFile, potentiallyCachedFile);
|
|
247 | 245 |
} |
248 | 246 |
} |
249 | 247 |
|
Also available in: Unified diff