From b6a58f9771e3361bd8dd386797a31ec0c77a3d5b Mon Sep 17 00:00:00 2001 From: Tad Date: Sun, 22 Sep 2019 21:17:21 -0400 Subject: [PATCH] AndroidX migration --- .idea/caches/build_file_checksums.ser | Bin 532 -> 532 bytes .idea/caches/gradle_models.ser | Bin 71504 -> 142588 bytes .idea/codeStyles/Project.xml | 116 ++++++++++++++++++ README.md | 2 +- app/build.gradle | 8 +- .../spotco/malwarescanner/MainActivity.java | 10 +- .../spotco/malwarescanner/MalwareScanner.java | 2 +- .../malwarescanner/MalwareScannerService.java | 2 +- app/src/main/res/layout/activity_main.xml | 12 +- build.gradle | 2 +- gradle.properties | 2 + gradle/wrapper/gradle-wrapper.properties | 4 +- 12 files changed, 139 insertions(+), 21 deletions(-) create mode 100644 .idea/codeStyles/Project.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index bfb0194a8bf2581dce60273ad19995b33c9fa245..3a04183adf9e8cbe1bba7311bc2e8e4c85951061 100644 GIT binary patch delta 75 zcmV-R0JQ&<1e64jmj!KGv9KhOoSzU9%CmTkP`{H`*9Z|}!qHZfO94v|ZR|IcibAsr hAtSJ`NuATNlcoV(5itate|hpA;~C0=EnxX{S$N2=Ak_c> delta 75 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 NArEB3VCnI*{|_pfo$CMq literal 71504 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 X+EFwiv|xc3zY-2vA`OEzTbKSH8h6m5 diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/README.md b/README.md index a5c214f..f291631 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Features Technical Details ------------------ -- Signature databases are ClavAV .hdb (MD5 hashes) and .hsb (SHA-1/SHA-256) format +- Signature databases are ClamAV .hdb (MD5 hashes) and .hsb (SHA-1/SHA-256) format - Signature databases will not be redownloaded if the file hasn't changed on the server (304 not modified) - Signatures are stored using HashMaps for O(1) lookup - Files have their MD5/SHA-1/SHA-256 hashes calculated in one pass diff --git a/app/build.gradle b/app/build.gradle index 1ed883f..bcb72de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,11 +1,11 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 26 + compileSdkVersion 29 defaultConfig { applicationId "us.spotco.malwarescanner" minSdkVersion 16 - targetSdkVersion 26 + targetSdkVersion 29 versionCode 40 versionName "2.9" resConfigs "en" @@ -29,6 +29,6 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support:design:26.1.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.0.0' } diff --git a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java index a3375a5..60ecf6c 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java +++ b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java @@ -29,11 +29,11 @@ import android.content.pm.PackageManager; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; -import android.support.design.widget.FloatingActionButton; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.text.method.ScrollingMovementMethod; import android.view.Menu; import android.view.MenuItem; diff --git a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java index 766fbad..fcb7988 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java +++ b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java @@ -26,7 +26,7 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Environment; import android.os.SystemClock; -import android.support.v4.app.NotificationCompat; +import androidx.core.app.NotificationCompat; import android.util.Log; import android.widget.TextView; diff --git a/app/src/main/java/us/spotco/malwarescanner/MalwareScannerService.java b/app/src/main/java/us/spotco/malwarescanner/MalwareScannerService.java index 0d2458a..db0bf1b 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MalwareScannerService.java +++ b/app/src/main/java/us/spotco/malwarescanner/MalwareScannerService.java @@ -27,7 +27,7 @@ import android.os.Build; import android.os.Environment; import android.os.FileObserver; import android.os.IBinder; -import android.support.v4.app.NotificationCompat; +import androidx.core.app.NotificationCompat; import java.io.File; import java.util.HashSet; diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 21f8763..373758a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,28 +1,28 @@ - - - - + - - + diff --git a/build.gradle b/build.gradle index 4bb0929..aa87355 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.android.tools.build:gradle:3.5.0' // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle.properties b/gradle.properties index aac7c9b..9e6fce1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,6 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.enableJetifier=true +android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0da88be..7e0f03c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Jun 18 13:58:36 GMT-05:00 2019 +#Sun Sep 22 20:14:35 GMT-05:00 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip