Download to proper filename

This commit is contained in:
topjohnwu 2019-07-25 01:54:42 -07:00
parent 971cd73fb3
commit c3a89f589e
4 changed files with 8 additions and 9 deletions

View File

@ -7,6 +7,7 @@ import android.os.Parcelable;
import com.topjohnwu.magisk.Const;
import com.topjohnwu.magisk.utils.Utils;
import com.topjohnwu.magisk.utils.XStringKt;
import java.text.DateFormat;
import java.util.Date;
@ -103,7 +104,7 @@ public class Repo extends BaseModule {
}
public String getDownloadFilename() {
return Utils.INSTANCE.getLegalFilename(getName() + "-" + getVersion() + ".zip");
return XStringKt.legalFilename(getName() + "-" + getVersion() + ".zip");
}
public class IllegalRepoException extends Exception {

View File

@ -27,7 +27,7 @@ sealed class DownloadSubject : Parcelable {
@IgnoredOnParcel
override val file by lazy {
File(Config.downloadDirectory, "${module.name}-v${module.version}(${module.versionCode}).zip")
File(Config.downloadDirectory, module.downloadFilename)
}
}

View File

@ -70,12 +70,6 @@ object Utils {
return info.loadLabel(pm).toString()
}
fun getLegalFilename(filename: CharSequence): String {
return filename.toString().replace(" ", "_").replace("'", "").replace("\"", "")
.replace("$", "").replace("`", "").replace("*", "").replace("/", "_")
.replace("#", "").replace("@", "").replace("\\", "_")
}
@WorkerThread
fun loadModulesLeanback(): Map<String, OldModule> {
val moduleMap = ValueSortedMap<String, OldModule>()

View File

@ -20,4 +20,8 @@ fun Int.res(vararg args: Any): String {
return resources.getString(this, *args)
}
fun String.trimEmptyToNull(): String? = if (isBlank()) null else this
fun String.trimEmptyToNull(): String? = if (isBlank()) null else this
fun String.legalFilename() = replace(" ", "_").replace("'", "").replace("\"", "")
.replace("$", "").replace("`", "").replace("*", "").replace("/", "_")
.replace("#", "").replace("@", "").replace("\\", "_")