Skip to content

Commit

Permalink
Release 0.0.1 (#5)
Browse files Browse the repository at this point in the history
This is the first release of the Tranquille app (fork of YACB).
  • Loading branch information
Vinetos authored Mar 23, 2024
2 parents 4a19818 + 1c1f562 commit dd300c6
Show file tree
Hide file tree
Showing 746 changed files with 763 additions and 7,217 deletions.
89 changes: 89 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Android.gitlab-ci.yml

# Read more about this script on this blog post https://about.gitlab.com/2018/10/24/setting-up-gitlab-ci-for-android-projects/, by Jason Lenny
# If you are interested in using Android with FastLane for publishing take a look at the Android-Fastlane template.

image: eclipse-temurin:17-jdk-jammy

variables:

# ANDROID_COMPILE_SDK is the version of Android you're compiling with.
# It should match compileSdkVersion.
ANDROID_COMPILE_SDK: "34"

# ANDROID_BUILD_TOOLS is the version of the Android build tools you are using.
# It should match buildToolsVersion.
ANDROID_BUILD_TOOLS: "34.0.0"

# It's what version of the command line tools we're going to download from the official site.
# Official Site-> https://developer.android.com/studio/index.html
# There, look down below at the cli tools only, sdk tools package is of format:
# commandlinetools-os_type-ANDROID_SDK_TOOLS_latest.zip
# when the script was last modified for latest compileSdkVersion, it was which is written down below
ANDROID_SDK_TOOLS: "11076708"

# Packages installation before running script
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget unzip

# Setup path as android_home for moving/exporting the downloaded sdk into it
- export ANDROID_HOME="${PWD}/android-sdk-root"
# Create a new directory at specified location
- install -d $ANDROID_HOME
# Here we are installing androidSDK tools from official source,
# (the key thing here is the url from where you are downloading these sdk tool for command line, so please do note this url pattern there and here as well)
# after that unzipping those tools and
# then running a series of SDK manager commands to install necessary android SDK packages that'll allow the app to build
- wget --no-verbose --output-document=$ANDROID_HOME/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -q -d "$ANDROID_HOME/cmdline-tools" "$ANDROID_HOME/cmdline-tools.zip"
- mv -T "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/tools"
- export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/cmdline-tools/tools/bin

# Nothing fancy here, just checking sdkManager version
- sdkmanager --version

# use yes to accept all licenses
- yes | sdkmanager --licenses > /dev/null || true
- sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}"
- sdkmanager "platform-tools"
- sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}"

# Not necessary, but just for surity
- chmod +x ./gradlew

# Basic android and gradle stuff
# Check linting
lintDebug:
interruptible: true
stage: build
when: manual
script:
- ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
artifacts:
paths:
- app/lint/reports/lint-results-debug.html
expose_as: "lint-report"
when: always

# Make Project
assembleDebug:
interruptible: true
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/

# Run all tests, if any fails, interrupt the pipeline(fail it)
debugTests:
needs: [lintDebug, assembleDebug]
when: manual
interruptible: true
stage: test
script:
- ./gradlew -Pci --console=plain :app:testDebug
2 changes: 1 addition & 1 deletion BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Clone the project repo

```
git clone https://gitlab.com/xynngh/YetAnotherCallBlocker.git
git clone https://github.com/Vinetos/Tranquille.git
```

### Clone the assets repo (optional step: allows to avoid the initial DB downloading after installation)
Expand Down
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).


## [Unreleased]
## [0.0.1] - 2024-03-25

Nothing.
The project has not been updated from the previous maintainer since 2021.
As I use this app a lot, I will continue to update and distribute this app.
I am not an Android Expert but I will do my best !

Cheers

- Rename the app to Tranquille
- Switch to Gradle Kotlin
- Update Android Gradle Plugin to 8.3.0
- Add support for Kotlin
- Add .gitlab-ci.yml
- Fix some warnings and Manifest
- Update core dependencies to latest version
- Update all libs to latest version
- Do the upgrade path to target Android 14 and do very basic tests
- Bump version


## [0.5.17] - 2021-11-13
Expand Down Expand Up @@ -285,7 +300,7 @@ Nothing.

### Added

- Yet Another Call Blocker [can be translated on Weblate](https://hosted.weblate.org/engage/yet-another-call-blocker/).
- Tranquille [can be translated on Weblate](https://hosted.weblate.org/engage/yet-another-call-blocker/).

### Changed

Expand Down
20 changes: 8 additions & 12 deletions FAQ.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Frequently Asked Questions

If you didn't find an answer to your question, ask [in issues](https://gitlab.com/xynngh/YetAnotherCallBlocker/-/issues).
If you didn't find an answer to your question, ask [in issues](https://github.com/Vinetos/Tranquille/-/issues).


## The app doesn't prevent a short sound before a call is blocked.
Expand All @@ -10,7 +10,7 @@ If you didn't find an answer to your question, ask [in issues](https://gitlab.co
Enabling "monitoring service" also seems to help with this.


## Do I have to set Yet Another Call Blocker as the default "Phone app"?
## Do I have to set Tranquille as the default "Phone app"?

Not necessarily. See ["Advanced call blocking mode"](FAQ.md#whats-that-advanced-call-blocking-mode).

Expand All @@ -22,15 +22,15 @@ Check that you've granted all the requested permissions (the app asks for missin
The app may encounter troubles providing its features on stock firmwares by some manufacturers (like MIUI from Xiaomi). There are two known issues so far:

* [Call blocking and informational notifications don't work on MIUI (stock firmware on Xiaomi phones)](https://gitlab.com/xynngh/YetAnotherCallBlocker/-/issues/12).
This problem can be solved by enabling an always-running "monitoring service" (in Yet Another Call Blocker settings). Android requires to display a notification for a service like that, but on Android 8+ you may disable the notification using "notification channels". This feature has no effect on battery life.
Alternatively (or additionally) you may enable the ["Advanced call blocking mode"](FAQ.md#whats-that-advanced-call-blocking-mode) (in Yet Another Call Blocker settings). The feature should help to fix call blocking, though still won't help to provide the informational notifications (except "Call blocked" notifications - these will work fine).
This problem can be solved by enabling an always-running "monitoring service" (in Tranquille settings). Android requires to display a notification for a service like that, but on Android 8+ you may disable the notification using "notification channels". This feature has no effect on battery life.
Alternatively (or additionally) you may enable the ["Advanced call blocking mode"](FAQ.md#whats-that-advanced-call-blocking-mode) (in Tranquille settings). The feature should help to fix call blocking, though still won't help to provide the informational notifications (except "Call blocked" notifications - these will work fine).
* [No informational notifications on some modern Samsung phones](https://gitlab.com/xynngh/YetAnotherCallBlocker/-/issues/13).
The cause of this problem is unknown (so far) and there's no workaround. Provide system logs (not app logs - these show no anomalies) if you want this fixed.


## The app doesn't have a persistent notification. Does it work?

Yet Another Call Blocker doesn't have a permanent notification since it doesn't have any always-running services. The only actions it may do in background are optional auto-updates and incoming call handling (which are limited to the duration of corresponding events). So yeah, it does work ([unless it doesn't](FAQ.md#calls-arent-blocked-i-dont-get-any-informational-notifications)).
Tranquille doesn't have a permanent notification since it doesn't have any always-running services. The only actions it may do in background are optional auto-updates and incoming call handling (which are limited to the duration of corresponding events). So yeah, it does work ([unless it doesn't](FAQ.md#calls-arent-blocked-i-dont-get-any-informational-notifications)).


## Is there a whitelist? How can I allow a particular number with negative rating to call me?
Expand All @@ -56,7 +56,7 @@ Obviously, on Android 7–9 you can't enable this feature **and** select a third

## I don't want to see some of the informational notifications, can I disable them? Can I change notification priorities?

If you don't want to receive some notifications (like notifications for calls from your contacts), you should use Android's [notification channels](https://www.androidcentral.com/notification-channels) feature to disable particular notification types or change their priorities. Yet Another Call Blocker provides plenty of notification channels for you to customize.
If you don't want to receive some notifications (like notifications for calls from your contacts), you should use Android's [notification channels](https://www.androidcentral.com/notification-channels) feature to disable particular notification types or change their priorities. Tranquille provides plenty of notification channels for you to customize.
On pre-Android 8 devices there's a couple of notification-related options in the settings.

There's also an option to disable all the informational notifications at once.
Expand Down Expand Up @@ -90,10 +90,6 @@ The number format *must* match the format that Android uses, that's why the lead
1. If "Block blacklisted numbers" is enabled and the number matches any valid blacklist pattern, the call is **blocked**.


## Is there a way to display an overlay/pop-up screen with caller information?

Not yet. If you want this feature, vote for [this issue](https://gitlab.com/xynngh/YetAnotherCallBlocker/-/issues/3).


## I have "block hidden numbers" enabled, but some hidden/"private" numbers are still not blocked.

Expand Down Expand Up @@ -126,7 +122,7 @@ I'm not sure disclosing the source is a great idea, I didn't ask for a permissio

## Are there any plans for X feature?

Check [issues](https://gitlab.com/xynngh/YetAnotherCallBlocker/-/issues). If there's nothing about it, create a new one and ask there.
Check [issues](https://github.com/Vinetos/Tranquille/-/issues). If there's nothing about it, create a new one and ask there.


## How to report a crash / get app logs?
Expand All @@ -141,5 +137,5 @@ If you redact personal data (which you should do), please *replace* numbers (wit

You don't have to. If you're happy with some other app - good for you.
This project was started because I needed to help my non-techie relatives fight phone spam. Giving calls and contacts permissions to some proprietary app is just not an option for me.
There's only a few FOSS (free and open source) apps that provide call blocking and none of them has any kind of a crowdsourced blacklist. So I created Yet Another Call Blocker to solve this.
There's only a few FOSS (free and open source) apps that provide call blocking and none of them has any kind of a crowdsourced blacklist. So I created Tranquille to solve this.
After a while the app got new features, some of which are unique on the FOSS scene (for example, I believe that the "advanced call blocking mode" is not present in any other FOSS spam blocker).
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
**Disclaimer:** This is a free and open source project, but it relies on third-party web-services for some functions to work. This project is not affiliated with any third-party entities in any other sense.
<p align="center">
<img src="other/ic_launcher-playstore.png" height=200 />
<img src="other/playstore-banner.png" height=200 />
</p>

<hr />

# Yet Another Call Blocker
# Tranquille
**Disclaimer:** This is a free and open source project, but it relies on third-party web-services for some functions to work. This project is not affiliated with any third-party entities in any other sense.

A free and open source application that can block unwanted calls or warn about probable intentions of callers using a third-party crowdsourced phone number database (from some other proprietary app).

[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/app/dummydomain.yetanothercallblocker)
height="80">](https://f-droid.org/app/)


## Key features
Expand Down Expand Up @@ -114,7 +119,7 @@ Also, this project is meant to be non-commercial. So, there's that.

Any contributions are welcome.

[Translate the app on Weblate](https://hosted.weblate.org/engage/yet-another-call-blocker/).
[Translate the app on Weblate](https://hosted.weblate.org/engage/tranquille).

[More on contributing](CONTRIBUTING.md).

Expand Down
2 changes: 1 addition & 1 deletion app/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
/build
/build
59 changes: 0 additions & 59 deletions app/build.gradle

This file was deleted.

84 changes: 84 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
plugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
id("org.greenrobot.greendao")
}

android {
namespace = "fr.vinetos.tranquille"
compileSdk = 34

defaultConfig {
applicationId = "fr.vinetos.tranquille"
minSdk = 14
targetSdk = 34
versionCode = 1
versionName = "0.0.1"
multiDexEnabled = true

javaCompileOptions {
annotationProcessorOptions {
argument("eventBusIndex", "fr.vinetos.tranquille.EventBusIndex")
}
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}

lint {
abortOnError = false
lintConfig = file("lint.xml")
}

applicationVariants.all {
val variant = this
variant.resValue("string", "app_id", variant.applicationId)
}
}

greendao {
schemaVersion = 1
}

dependencies {

implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.preference)
implementation(libs.androidx.work.runtime)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.recyclerview.selection)
implementation(libs.androidx.paging)
implementation(libs.androidx.multidex)
implementation(libs.google.material)
implementation(libs.slf4j)
implementation(libs.conscrypt)
implementation(libs.okhttp)
implementation(libs.lib.phone.number.info)
implementation(libs.commons.csv)
implementation(libs.greendao)
implementation(libs.eventbus)

annotationProcessor(libs.eventbus.annotation.processor)

runtimeOnly(libs.logback)

testImplementation(libs.junit)

androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}
2 changes: 1 addition & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
Expand Down
Loading

0 comments on commit dd300c6

Please sign in to comment.