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"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -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))
}
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