Commit 79fd4523 authored by Daniel Wolf's avatar Daniel Wolf
Browse files

Merge branch 'master' into '113-explore-a-rooted-option'

Master

See merge request PublicAndroidApps/smokescreen!31
parents d67c32db 482dbb05
......@@ -25,7 +25,7 @@ android {
applicationId "com.frostnerd.smokescreen"
minSdkVersion 21
targetSdkVersion 28
versionCode 39
versionCode 40
versionName "1.0-Beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
......@@ -73,7 +73,7 @@ android {
adblocker {
dimension "version"
versionNameSuffix "-adblock"
versionCode 40
versionCode 41
}
normal {
dimension "version"
......@@ -92,7 +92,7 @@ android {
}
dependencies {
def room_version = "2.2.0-alpha01"
def room_version = "2.1.0"
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
......
......@@ -54,7 +54,7 @@ interface DnsRuleDao {
@Query("DELETE FROM DnsRule WHERE stagingType=2")
fun deleteStagedRules()
@Query("UPDATE DnsRule SET stagingType=0")
@Query("UPDATE OR IGNORE DnsRule SET stagingType=0")
fun commitStaging()
@Insert
......@@ -72,7 +72,7 @@ interface DnsRuleDao {
@Query("SELECT COUNT(*) FROM DnsRule WHERE importedFrom IS NOT NULL")
fun getNonUserCount(): Long
@Query("SELECT CASE WHEN :type=28 THEN IFNULL(ipv6Target, target) ELSE target END FROM DnsRule WHERE host=:host AND (type = :type OR type=255) AND (importedFrom is NULL OR IFNULL((SELECT enabled FROM HostSource h WHERE h.id=importedFrom),0) = 1) AND (importedFrom IS NOT NULL OR :useUserRules=1) AND (SELECT COUNT(*) FROM DnsRule WHERE target='' AND host=:host)=0 LIMIT 1")
@Query("SELECT CASE WHEN :type=28 THEN IFNULL(ipv6Target, target) ELSE target END FROM DnsRule WHERE host=:host AND target != '' AND (type = :type OR type=255) AND (importedFrom is NULL OR IFNULL((SELECT enabled FROM HostSource h WHERE h.id=importedFrom),0) = 1) AND (importedFrom IS NOT NULL OR :useUserRules=1) AND (SELECT COUNT(*) FROM DnsRule WHERE target='' AND host=:host)=0 LIMIT 1")
fun findRuleTarget(host: String, type: Record.TYPE, useUserRules:Boolean): String?
@Query("DELETE FROM DnsRule WHERE importedFrom=:sourceId")
......
......@@ -160,6 +160,7 @@ class RuleImportService : IntentService("RuleImportService") {
private fun startWork() {
val dnsRuleDao = getDatabase().dnsRuleDao()
dnsRuleDao.markNonUserRulesForDeletion()
dnsRuleDao.deleteStagedRules()
var count = 0
val maxCount = getDatabase().hostSourceDao().getEnabledCount()
getDatabase().hostSourceDao().getAllEnabled().forEach {
......@@ -209,16 +210,15 @@ class RuleImportService : IntentService("RuleImportService") {
dnsRuleDao.deleteMarkedRules()
log("Commiting staging")
dnsRuleDao.commitStaging()
dnsRuleDao.deleteStagedRules()
log("Recreating database indices")
getDatabase().recreateDnsRuleIndizes()
log("Done.")
showSuccessNotification()
} else {
GlobalScope.launch {
dnsRuleDao.deleteStagedRules()
dnsRuleDao.commitStaging()
sendLocalBroadcast(Intent(BROADCAST_IMPORT_DONE))
}
stopForeground(true)
}
log("All imports finished.")
......
......@@ -64,4 +64,13 @@
<string name="changelog_build_37_2">Ein paar Designverbesserungen</string>
<string name="changelog_build_37_3">Der Import von Dns Regeln ist nun schneller</string>
<string name="changelog_build_37_4">Importierte Dns Regeln benötigen nun weniger Speicher auf dem Gerät</string>
<string name="changelog_build_38_1">Dies ist ein auf die Leistung ausgerichtetes Update, welche DNS-Anfragen schneller machen sollte, sowie weniger Speicher und weniger Batterie verbrauchen sollte.</string>
<string name="changelog_build_38_2">Einen Absturz behoben, welcher auf manchen Geräten aufgrund der internen Datenbank auftrat</string>
<string name="changelog_build_39_1">Ein Fehler behoben, welcher fast alle DNS-Server betraf</string>
<string name="changelog_build_40_1">Leistungs- und Speicherverbesserungen</string>
<string name="changelog_build_40_2">Alle Server im Serverauswahldialog können nun durch langes Klicken auf diese gelöscht werden</string>
<string name="changelog_build_40_3">Google Play kann nun aus der Liste von ausgeschlossenen Apps abgewählt werden</string>
<string name="changelog_build_40_4">Die PIN funktioniert nun auf Android Q</string>
<string name="changelog_build_40_5">Es können nun Domains in den DNS-Regeln gewhitelistet werden. Werden diese als whitelist Eintrag erstellt, so werden diese immer zu dem aktuellen DNS Server geschickt, unabhängig davon, ob diese in einer der angegebenen Regelquellen vorkommen</string>
<string name="changelog_build_40_6">Die DNS Regel Import/Export Benachrichtigung kann nun angeklickt werden</string>
</resources>
......@@ -136,4 +136,6 @@
<string name="dialog_exportdnsrules_title">Dns Regeln exportieren</string>
<string name="dialog_exportdnsrules_export_user_rules">Exportiere eigene Dns Regeln</string>
<string name="dialog_exportdnsrules_export_sources">Exportiere Dns Regeln aus angegebenen Quellen</string>
</resources>
<string name="dialog_newdnsrule_whitelist">Whitelist</string>
<string name="dialog_newdnsrule_specify_address">Adressangabe</string>
</resources>
......@@ -50,4 +50,9 @@
<string name="notification_ruleexportfinished_title">Dns Regel Export fertiggestellt</string>
<string name="notification_ruleexportfinished_message">%1d Regeln wurden exportiert.</string>
<string name="notification_channel_pin">Channel für PIN</string>
<string name="notification_channel_pin_description">Kanal welcher für Benachrichtigungen zur PIN benutzt wird, zum Beispiel wenn diese eingegeben werden muss</string>
<string name="notification_pin_title">PIN Eingabe erforderlich</string>
<string name="notification_pin_message">Die PIN wird benötigt, um diese Aktion durchzuführen. Klicke hier um die Aktion zu bestätigen.</string>
</resources>
......@@ -67,4 +67,10 @@
<string name="changelog_build_38_1">Dit is een prestatiegerichte update die dns-query\'s sneller moet uitvoeren, minder geheugen moet gebruiken en minder batterijverbruik vereist.</string>
<string name="changelog_build_38_2">Een crash op sommige apparaten verholpen met betrekking tot de interne database</string>
<string name="changelog_build_39_1">Crash verholpen die van invloed was op de meeste dns-servers</string>
<string name="changelog_build_40_1">Prestatie en geheugenverbeteringen</string>
<string name="changelog_build_40_2">Alle servers in het dialoogvenster voor serverselectie kunnen nu worden verwijderd door er lang op te drukken</string>
<string name="changelog_build_40_3">Google Play kan nu worden gedeselecteerd in de lijst met uitgesloten apps</string>
<string name="changelog_build_40_4">De PIN-functie werkt nu op Android Q</string>
<string name="changelog_build_40_5">U kunt domeinen nu whitelisten in de dns-regels. Als ze op de whitelist staan, worden ze naar de dns-server verzonden, ongeacht of ze aanwezig zijn in de ingeschakelde dns-regel bronnen</string>
<string name="changelog_build_40_6">De dns-regel import / export-notificatie kan nu worden aangeklikt</string>
</resources>
......@@ -137,4 +137,6 @@
<string name="dialog_exportdnsrules_title">Exporteer dns regels</string>
<string name="dialog_exportdnsrules_export_user_rules">Exporteer uw eigen dns-regels</string>
<string name="dialog_exportdnsrules_export_sources">Exporteer dns-regels van ingeschakelde host bronnen</string>
</resources>
<string name="dialog_newdnsrule_whitelist">Whitelist</string>
<string name="dialog_newdnsrule_specify_address">Adres</string>
</resources>
......@@ -38,4 +38,9 @@
<string name="notification_ruleexportfinished_title">DNS-regels exporteren is voltooid</string>
<string name="notification_ruleexportfinished_message">%1d regels zijn geëxporteerd.</string>
<string name="notification_channel_pin">PIN-code gerelateerd kanaal</string>
<string name="notification_channel_pin_description">Kanaal dat wordt gebruikt voor meldingen met betrekking tot de pincode, d.w.z. wanneer deze moet worden verstrekt</string>
<string name="notification_pin_title">PIN-code vereist</string>
<string name="notification_pin_message">Uw pincode is nodig om die actie uit te voeren. Klik hier om te bevestigen.</string>
</resources>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment