diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index 1212686..3612118 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -1,10 +1,10 @@
name: Android CI
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
+# on:
+# push:
+# branches: [ main ]
+# pull_request:
+# branches: [ main ]
jobs:
build:
diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml
index 405a2b3..e4dd7f5 100644
--- a/.github/workflows/gradle-wrapper-validation.yml
+++ b/.github/workflows/gradle-wrapper-validation.yml
@@ -1,5 +1,5 @@
name: "Validate Gradle Wrapper"
-on: [push, pull_request]
+# on: [push, pull_request]
jobs:
validation:
diff --git a/.github/workflows/super-linter.yml b/.github/workflows/super-linter.yml
index 5140cd0..ffa8a15 100644
--- a/.github/workflows/super-linter.yml
+++ b/.github/workflows/super-linter.yml
@@ -6,11 +6,11 @@
# https://github.com/github/super-linter
name: Lint Code Base
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
+# on:
+# push:
+# branches: [ main ]
+# pull_request:
+# branches: [ main ]
jobs:
run-lint:
runs-on: ubuntu-latest
diff --git a/PRIVACY.md b/PRIVACY.md
index a092dc4..9862714 100644
--- a/PRIVACY.md
+++ b/PRIVACY.md
@@ -10,7 +10,4 @@ please read them at:
Signal: https://signal.org/legal/#privacy-policy
Telegram: https://telegram.org/privacy
Threema: https://threema.ch/privacy_policy/
-
-Fallback services:
-
WhatsApp: https://www.whatsapp.com/privacy
diff --git a/README.md b/README.md
index 1620cc5..2d08889 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,14 @@
-# Red
+
+
+
-Redirect outgoing calls to Signal/Telegram/Threema.
+
+ Pulse
+
-[
](https://f-droid.org/packages/me.lucky.red/)
-[
](https://play.google.com/store/apps/details?id=me.lucky.red)
-
-
-
-Tiny app to redirect outgoing calls to Signal/Telegram/Threema if available.
+
+Tiny app to redirect outgoing calls to Signal/Telegram/Threema/Whatsapp.
+
You can cancel redirection by clicking on `Redirecting to..` popup.
@@ -37,3 +29,12 @@ This application is Free Software: You can use, study share and improve it at yo
Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License v3](https://www.gnu.org/licenses/gpl.html) as published by the Free
Software Foundation.
+
+### Icon Credit
+
+Icon based on "Pulse 53" from the [Flare Dashed Icons](https://www.svgrepo.com/svg/450484/pulse) collection by [Taras Shypka](https://www.svgrepo.com/author/Taras%20Shypka/).
+Licensed under the [Public Domain](https://www.svgrepo.com/page/licensing/#PD).
+
+### Original Author
+
+This software was originally developed by https://github.com/x13a, but it has been archived by the owner on Jun 22, 2022.
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index f8d6430..2933ca8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,14 +4,15 @@ plugins {
}
android {
- compileSdk 32
+ namespace 'partisan.weforge.xyz.pulse'
+ compileSdk 34
defaultConfig {
- applicationId "me.lucky.red"
+ applicationId "partisan.weforge.xyz.pulse"
minSdk 29
- targetSdk 32
+ targetSdk 34
versionCode 9
- versionName "1.0.8"
+ versionName "1.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -22,31 +23,33 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
+
kotlinOptions {
- jvmTarget = '1.8'
+ jvmTarget = '17'
}
buildFeatures {
viewBinding true
}
+
lint {
disable 'MissingTranslation'
}
}
dependencies {
- implementation 'androidx.core:core-ktx:1.8.0'
- implementation 'androidx.appcompat:appcompat:1.4.2'
- implementation 'com.google.android.material:material:1.6.1'
+ implementation 'androidx.core:core-ktx:1.12.0'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
- androidTestImplementation 'androidx.test.ext:junit:1.1.3'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
-
- implementation 'androidx.preference:preference-ktx:1.2.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+ implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.cardview:cardview:1.0.0'
-}
\ No newline at end of file
+}
diff --git a/app/src/androidTest/java/me/lucky/red/ExampleInstrumentedTest.kt b/app/src/androidTest/java/me/lucky/red/ExampleInstrumentedTest.kt
index 2579b90..f27c040 100644
--- a/app/src/androidTest/java/me/lucky/red/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/me/lucky/red/ExampleInstrumentedTest.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
- assertEquals("me.lucky.red", appContext.packageName)
+ assertEquals("partisan.weforge.xyz.pulse", appContext.packageName)
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 496a2a3..34273a3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
diff --git a/app/src/main/java/me/lucky/red/Application.kt b/app/src/main/java/partisan/weforge/xyz/pulse/Application.kt
similarity index 88%
rename from app/src/main/java/me/lucky/red/Application.kt
rename to app/src/main/java/partisan/weforge/xyz/pulse/Application.kt
index 56486b9..96148a8 100644
--- a/app/src/main/java/me/lucky/red/Application.kt
+++ b/app/src/main/java/partisan/weforge/xyz/pulse/Application.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import android.app.Application
import com.google.android.material.color.DynamicColors
diff --git a/app/src/main/java/me/lucky/red/CallRedirectionService.kt b/app/src/main/java/partisan/weforge/xyz/pulse/CallRedirectionService.kt
similarity index 99%
rename from app/src/main/java/me/lucky/red/CallRedirectionService.kt
rename to app/src/main/java/partisan/weforge/xyz/pulse/CallRedirectionService.kt
index 1a0c4b7..3fccc46 100644
--- a/app/src/main/java/me/lucky/red/CallRedirectionService.kt
+++ b/app/src/main/java/partisan/weforge/xyz/pulse/CallRedirectionService.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import android.Manifest
import android.net.ConnectivityManager
diff --git a/app/src/main/java/me/lucky/red/MainActivity.kt b/app/src/main/java/partisan/weforge/xyz/pulse/MainActivity.kt
similarity index 97%
rename from app/src/main/java/me/lucky/red/MainActivity.kt
rename to app/src/main/java/partisan/weforge/xyz/pulse/MainActivity.kt
index 4861f27..b8abf4b 100644
--- a/app/src/main/java/me/lucky/red/MainActivity.kt
+++ b/app/src/main/java/partisan/weforge/xyz/pulse/MainActivity.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import android.Manifest
import android.app.role.RoleManager
@@ -11,7 +11,7 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.doAfterTextChanged
import java.lang.NumberFormatException
-import me.lucky.red.databinding.ActivityMainBinding
+import partisan.weforge.xyz.pulse.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
companion object {
diff --git a/app/src/main/java/me/lucky/red/PopupWindow.kt b/app/src/main/java/partisan/weforge/xyz/pulse/PopupWindow.kt
similarity index 99%
rename from app/src/main/java/me/lucky/red/PopupWindow.kt
rename to app/src/main/java/partisan/weforge/xyz/pulse/PopupWindow.kt
index 9476c39..75d13fd 100644
--- a/app/src/main/java/me/lucky/red/PopupWindow.kt
+++ b/app/src/main/java/partisan/weforge/xyz/pulse/PopupWindow.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import android.Manifest
import android.content.Context
diff --git a/app/src/main/java/me/lucky/red/Preferences.kt b/app/src/main/java/partisan/weforge/xyz/pulse/Preferences.kt
similarity index 97%
rename from app/src/main/java/me/lucky/red/Preferences.kt
rename to app/src/main/java/partisan/weforge/xyz/pulse/Preferences.kt
index 7948d8a..09fc8c3 100644
--- a/app/src/main/java/me/lucky/red/Preferences.kt
+++ b/app/src/main/java/partisan/weforge/xyz/pulse/Preferences.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import android.content.Context
import androidx.core.content.edit
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index b02a650..fcc44c3 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -1,6 +1,6 @@
- Red
+ Pulse
L\'application essaiera de rediriger les appels sortants vers Signal/Telegram/Threema s\'ils sont disponibles. Pour fonctionner, l\'application nécessite de nombreuses permissions. Cliquez sur le bouton et accordez les autorisations nécéssaires jusqu\'à ce qu\'il soit activé.
Redirection vers %1$s
Signal
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 409511c..3c8c70d 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -1,6 +1,6 @@
- Red
+ Pulse
Приложение будет пытаться перенаправить исходящие вызовы в Signal/Telegram/Threema. Для работы ему нужно много разрешений. Кликайте на переключатель и выдавайте разрешения пока он не включится.
Перенаправление в %1$s
Signal
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dd378e5..5954b91 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
- Red
+ Pulse
The app will try to redirect outgoing calls to Signal/Telegram/Threema if available. For work it requires many permissions. Click on the toggle and grant permissions until it turns ON.
Redirecting to %1$s
Signal
diff --git a/app/src/test/java/me/lucky/red/ExampleUnitTest.kt b/app/src/test/java/me/lucky/red/ExampleUnitTest.kt
index f7d0465..f6784ae 100644
--- a/app/src/test/java/me/lucky/red/ExampleUnitTest.kt
+++ b/app/src/test/java/me/lucky/red/ExampleUnitTest.kt
@@ -1,4 +1,4 @@
-package me.lucky.red
+package partisan.weforge.xyz.pulse
import org.junit.Test
diff --git a/build.gradle b/build.gradle
index 9d1ce67..a2e0674 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,18 +1,23 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-buildscript {
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:7.2.1'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0"
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
+plugins {
+ id 'com.github.ben-manes.versions' version '0.51.0'
+ id 'com.android.application' version '8.2.2' apply false
+ id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
}
+dependencyUpdates {
+ rejectVersionIf {
+ isNonStable(candidate.version)
+ }
+
+ outputFormatter = 'plain'
+ checkForGradleUpdate = true
+}
+
+def isNonStable(String version) {
+ return version =~ /(?i).*(alpha|beta|rc|cr|m|preview|b\d+|ea\d+).*/
+}
+
+
task clean(type: Delete) {
delete rootProject.buildDir
-}
\ No newline at end of file
+}
diff --git a/data/Icon.svg b/data/Icon.svg
new file mode 100644
index 0000000..9bd85f9
--- /dev/null
+++ b/data/Icon.svg
@@ -0,0 +1,25 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/fastlane/metadata/android/fr-FR/changelogs/1.txt b/fastlane/metadata/android/fr-FR/changelogs/1.txt
deleted file mode 100644
index b1b7161..0000000
--- a/fastlane/metadata/android/fr-FR/changelogs/1.txt
+++ /dev/null
@@ -1 +0,0 @@
-init
diff --git a/fastlane/metadata/android/fr-FR/changelogs/2.txt b/fastlane/metadata/android/fr-FR/changelogs/2.txt
deleted file mode 100644
index c2182f1..0000000
--- a/fastlane/metadata/android/fr-FR/changelogs/2.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-renommer en Red
-afficher la destination de la redirection
-corriger la fin d'appel du numéroteur
-ajout de la priorisation Signal > Télégram
diff --git a/fastlane/metadata/android/fr-FR/changelogs/3.txt b/fastlane/metadata/android/fr-FR/changelogs/3.txt
deleted file mode 100644
index 3194ca1..0000000
--- a/fastlane/metadata/android/fr-FR/changelogs/3.txt
+++ /dev/null
@@ -1 +0,0 @@
-sélecteur du délai avant redirection
diff --git a/fastlane/metadata/android/fr-FR/changelogs/4.txt b/fastlane/metadata/android/fr-FR/changelogs/4.txt
deleted file mode 100644
index 701c436..0000000
--- a/fastlane/metadata/android/fr-FR/changelogs/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-Google n'aime pas ma "Privacy Police" :(
diff --git a/fastlane/metadata/android/fr-FR/changelogs/5.txt b/fastlane/metadata/android/fr-FR/changelogs/5.txt
deleted file mode 100644
index 8beadc0..0000000
--- a/fastlane/metadata/android/fr-FR/changelogs/5.txt
+++ /dev/null
@@ -1 +0,0 @@
-support de Threema
diff --git a/gradle.properties b/gradle.properties
index 98bed16..65760ff 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,4 +18,6 @@ android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
-kotlin.code.style=official
\ No newline at end of file
+kotlin.code.style=official
+
+android.nonTransitiveRClass=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4a48a57..cad3db0 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,5 @@
-#Tue Jun 14 23:11:06 MSK 2022
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
diff --git a/settings.gradle b/settings.gradle
index 1bea6d9..2ad432b 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,9 +1,19 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+
dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
}
}
-rootProject.name = "Red"
-include ':app'
+
+rootProject.name = "Pulse"
+
+include(":app")