diff options
-rw-r--r-- | .idea/misc.xml | 5 | ||||
-rw-r--r-- | .idea/runConfigurations.xml | 13 | ||||
-rw-r--r-- | .travis.yml | 17 | ||||
-rw-r--r-- | app/build.gradle | 30 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt | 2 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/MessageParser.kt | 4 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt | 2 | ||||
-rw-r--r-- | app/src/web/package-lock.json | 64 | ||||
-rw-r--r-- | app/src/web/package.json | 4 | ||||
-rw-r--r-- | build.gradle | 1 | ||||
-rw-r--r-- | buildSrc/src/main/kotlin/Versions.kt | 8 | ||||
-rw-r--r-- | gradle.properties | 2 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
-rw-r--r-- | spotless.gradle | 2 |
14 files changed, 83 insertions, 73 deletions
diff --git a/.idea/misc.xml b/.idea/misc.xml index c08f858e..88df0bd7 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -25,7 +25,7 @@ </option> <option name="myNotNulls"> <value> - <list size="13"> + <list size="14"> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> @@ -39,11 +39,12 @@ <item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" /> <item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" /> <item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" /> + <item index="13" class="java.lang.String" itemvalue="lombok.NonNull" /> </list> </value> </option> </component> - <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index e497da99..00000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="RunConfigurationProducerService"> - <option name="ignoredProducers"> - <set> - <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" /> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> - </set> - </option> - </component> -</project>
\ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 448fe17b..355386f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,13 @@ language: android jdk: - - oraclejdk8 + - openjdk11 env: global: - - ANDROID_API=29 - - ANDROID_BUILD_TOOLS=29.0.2 + - ANDROID_API=30 + - EMULATOR_API=19 + - ANDROID_BUILD_TOOLS=30.0.2 + - ANDROID_COMMAND_LINE_TOOLS=7583922 + - ANDROID_HOME=~/android-sdk - secure: X3J97ccW+8K0bXPXhX608vPx7Pr/G4ju7quxydqMaYGgClHxoL/WpXOBAyyllde5P28PY4kioaqcI21BEhnAw0QUbmnzVLA1Qd5VS7aMPHpEnInKuOxGZ2d570OZd1f+ozFVt05vzG0VBJlBAkVhz2GWNxQdmIV1sO28MH526JMuYaEREuuywVSZmAeY7AAbW9MeCC2wvHvNmhk2nk6NLRQcsrDHcBsimy9fnnQ9lT/QsvToi1ZJd/MN7YkGDUULR+YmaotBzG546UJ1EiZQX91bFEJfP0oL43Pk7t5snzmHnKjLOr8Mt5QsIUXaiy/uzhUVmuDh1i0GEpZmhqM7nz/T6P7ogaLbbyJeauNmf15nu+e3hSvNiTzKyIwfSSflv8Do3g8/Eo3dKfIi3I8/OKF/uZ76kywh2LRqtZAqxRDiAMDZVwsRgD4aztoWm5AWa3tSoGy1J7i1eoqX6bNqokRbjgheTqcjN13kCdSZi3pZX7UBYm2Vumhn4izhTume19Rh9SqTmRgQ8jM7ynxHh7vVsJPPJG0HbQ623xz+d9mtXGy1fAb0dcUJMXdOhFN3m6AnKuHiF7cmsqje7Euk/TOZyqZmu0xEhTkugMbNKwGrklJiwRr3IoLtPdhLE38u3/auloUqBQ4K/iA9ZdhAreTSHEaI9d3J4N6kqCj3U30= android: components: @@ -20,10 +23,16 @@ android: git: depth: 500 before_install: + # Get Java 11 compatible tools: https://stackoverflow.com/a/68534598/4407321 + - touch $HOME/.android/repositories.cfg + - wget "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_COMMAND_LINE_TOOLS}_latest.zip" -O commandlinetools.zip + - unzip commandlinetools.zip -d $ANDROID_HOME/ + - yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager "platforms;android-${ANDROID_API}" --sdk_root=$ANDROID_HOME + - yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" --sdk_root=$ANDROID_HOME + # Get Frost content - openssl aes-256-cbc -K $encrypted_0454d0cf846c_key -iv $encrypted_0454d0cf846c_iv -in files/frost.tar.enc -out files/frost.tar -d - tar xvf files/frost.tar - - yes | sdkmanager "platforms;android-$ANDROID_API" after_success: - "./generate-apk-release.sh" script: diff --git a/app/build.gradle b/app/build.gradle index 1046d52f..087ee8f5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ apply plugin: 'com.gladed.androidgitversion' buildscript { repositories { - jcenter() + mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { @@ -65,7 +65,7 @@ android { } lintOptions { - warningsAsErrors true + warningsAsErrors false disable 'TrustAllX509TrustManager', 'UnusedResources', 'ContentDescription', @@ -81,6 +81,7 @@ android { 'GoogleAppIndexingApiWarning', 'SelectableText' + abortOnError true xmlReport false textReport true textOutput 'stdout' @@ -184,12 +185,12 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility kau.Versions.java + targetCompatibility kau.Versions.java } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = kau.Versions.java.toString() } testOptions.unitTests { @@ -230,7 +231,9 @@ preBuild.dependsOn(frostWebGen) repositories { google() + // Required for exomedia jcenter() + mavenCentral() maven { url "https://jitpack.io" } } @@ -299,6 +302,9 @@ dependencies { debugImplementation kau.Dependencies.leakCanary //Icons + implementation kau.Dependencies.iconics + + implementation kau.Dependencies.iconicsGoogle implementation kau.Dependencies.iconicsMaterial implementation kau.Dependencies.iconicsCommunity @@ -333,10 +339,16 @@ def kotlinResolutions = ['kotlin-reflect', 'kotlin-test-junit5'] configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - def requested = details.requested - if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { - details.useVersion kau.Versions.kotlin + resolutionStrategy { + eachDependency { DependencyResolveDetails details -> + def requested = details.requested + if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { + details.useVersion kau.Versions.kotlin + } + } + + dependencySubstitution { + substitute module('com.mikepenz:library-typeface-api') using module("com.mikepenz:iconics-typeface-api:${kau.Versions.iconics}") } } } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt index 1e2b438e..f5ef0b74 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt @@ -76,7 +76,7 @@ class FrostApp : Application() { L.d { "Activity ${activity.localClassName} destroyed" } } - override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle?) {} + override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {} override fun onActivityStopped(activity: Activity) {} diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/MessageParser.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/MessageParser.kt index e1a6c814..ef56aa7b 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/MessageParser.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/MessageParser.kt @@ -128,8 +128,8 @@ private class MessageParserImpl : FrostParserBase<FrostMessages>(true) { ) .mapNotNull(this::parseMessage) val seeMore = parseLink(doc.getElementById("see_older_threads")) - val extraLinks = threadList.nextElementSibling().select("a") - .mapNotNull(this::parseLink) + val extraLinks = threadList.nextElementSibling()?.select("a") + ?.mapNotNull(this::parseLink) ?: emptyList() return FrostMessages(threads, seeMore, extraLinks) } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt index 9efe83f6..9c5fbb7d 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt @@ -176,7 +176,7 @@ class NotificationWidgetDataProvider( @Volatile private var content: List<NotificationContent> = emptyList() - private val type = NotificationType.valueOf(intent.getStringExtra(NOTIF_WIDGET_TYPE)) + private val type = NotificationType.valueOf(intent.getStringExtra(NOTIF_WIDGET_TYPE)!!) private val userId = intent.getLongExtra(NOTIF_WIDGET_USER_ID, -1) diff --git a/app/src/web/package-lock.json b/app/src/web/package-lock.json index 9cad6fce..120e84af 100644 --- a/app/src/web/package-lock.json +++ b/app/src/web/package-lock.json @@ -3,9 +3,9 @@ "lockfileVersion": 1, "dependencies": { "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -17,9 +17,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "brace-expansion": { "version": "1.1.11", @@ -39,18 +39,18 @@ } }, "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.6.0" } }, "compile": { @@ -72,15 +72,15 @@ } }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } @@ -125,14 +125,14 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } @@ -146,11 +146,11 @@ } }, "sass": { - "version": "1.26.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.5.tgz", - "integrity": "sha512-FG2swzaZUiX53YzZSjSakzvGtlds0lcbF+URuU9mxOv7WBh7NhXEVDa4kPKN4hN6fC2TkOTOKqiqp6d53N9X5Q==", + "version": "1.38.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz", + "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==", "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" } }, "to-regex-range": { @@ -162,9 +162,9 @@ } }, "typescript": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz", - "integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==" + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" } } } diff --git a/app/src/web/package.json b/app/src/web/package.json index c3c71b46..a196211a 100644 --- a/app/src/web/package.json +++ b/app/src/web/package.json @@ -10,7 +10,7 @@ "dependencies": { "compile": "0.0.2", "run": "^1.4.0", - "sass": "^1.26.5", - "typescript": "^3.9.3" + "sass": "^1.38.2", + "typescript": "^3.9.10" } } diff --git a/build.gradle b/build.gradle index 013222fb..5a21959f 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ buildscript { repositories { google() jcenter() + mavenCentral() maven { url "https://jitpack.io" } maven { url "https://plugins.gradle.org/m2/" } } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 3f23a596..00ea0589 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,6 +1,6 @@ object Versions { - const val targetSdk = 29 + const val targetSdk = 30 // https://developer.android.com/jetpack/androidx/releases/biometric const val andxBiometric = "1.1.0" @@ -12,11 +12,11 @@ object Versions { const val exoMedia = "4.3.0" // https://github.com/jhy/jsoup/releases - const val jsoup = "1.13.1" + const val jsoup = "1.14.2" // https://square.github.io/okhttp/changelog/ - const val okhttp = "4.9.0" + const val okhttp = "4.9.1" // https://developer.android.com/jetpack/androidx/releases/room - const val room = "2.2.6" + const val room = "2.3.0" // http://robolectric.org/getting-started/ const val roboelectric = "4.4" // https://github.com/davemorrissey/subsampling-scale-image-view#quick-start diff --git a/gradle.properties b/gradle.properties index f45f13d2..56a0cbea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ org.gradle.daemon = true APP_ID=Frost APP_GROUP=com.pitchedapps -KAU=6492c0c +KAU=0c0cc77 android.useAndroidX=true android.enableJetifier=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 80cf08e7..1acc777d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/spotless.gradle b/spotless.gradle index 16e1ff1a..ea95c38f 100644 --- a/spotless.gradle +++ b/spotless.gradle @@ -3,7 +3,7 @@ apply plugin: "com.diffplug.spotless" spotless { kotlin { target "**/*.kt" - ktlint("0.41.0").userData(["disabled_rules": "no-wildcard-imports"]) + ktlint().userData(["disabled_rules": "no-wildcard-imports"]) licenseHeaderFile '../spotless.license.kt' trimTrailingWhitespace() endWithNewline() |