Git Product home page Git Product logo

nicorac / bcr-gui Goto Github PK

View Code? Open in Web Editor NEW
132.0 5.0 7.0 3.17 MB

BCR-GUI is a companion app for the great BCR (Basic Call Recorder) Android application and other supported ROMs with embedded call recorders.

Home Page: https://coolsoft.altervista.org

License: GNU General Public License v3.0

Java 18.79% TypeScript 60.33% SCSS 6.46% HTML 12.22% JavaScript 2.19%
android-app angular call-recording capacitor capacitor-android gui ionic ionic-capacitor

bcr-gui's Introduction

๐Ÿ’ซ About Me:

I'm an active open source supporter based somewhere... in northern Italy ๐Ÿ™„

๐ŸŒ Socials & Web links:

LinkedIn
CoolSoft (my website)

๐Ÿ’ป Tech Stack:

C C# C++ CSS3 HTML5 JavaScript Markdown PHP Python TypeScript Shell Script Angular Chart.js .Net Electron.js Express.js jQuery NestJS NPM NodeJS ANDROID Yarn Webpack Apache Nginx MariaDB MicrosoftSQLServer MySQL SQLite Inkscape LINUX Arduino Docker ESLint Raspberry Pi Swagger

๐Ÿ“Š GitHub Stats:



๐Ÿ† GitHub Trophies

โœ๏ธ Random Dev Quote

๐Ÿ” Top Contributed Repo


๐Ÿ’ฐ You can help me by Donating

BuyMeACoffee PayPal

bcr-gui's People

Contributors

alirezaparsi avatar arkl1ne avatar dependabot[bot] avatar huangsmith avatar loziniak avatar mrtaxi avatar ngocanhtve avatar nicorac avatar teaminh avatar upbox-org avatar xfox20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bcr-gui's Issues

Question on permissions

My scanner just got additional checks implemented, and immediately reported for today's update of your app:

! repo/com.github.nicorac.bcrgui_262656.apk declares flag(s): usesCleartextTraffic
! repo/com.github.nicorac.bcrgui_262656.apk declares risky permission(s): android.permission.READ_EXTERNAL_STORAGE android.permission.READ_CONTACTS android.permission.WRITE_CONTACTS

Could you please clarify what those are needed for?

  • android:usesCleartextTraffic: your app doesn't even request INTERNET, so what cleartext traffic is needed?
  • minimum Android version to use your app is Android 5.1, which has SAF (Storage Access Framework) available to access storage. Do you really need READ_EXTERNAL_STORAGE then, and what for?
  • This is a call recorder GUI, so I get the READ_CONTACTS (for showing contact details along the recordings which probably only have the phone number associated). But what for do you need to write contacts?

Thanks in advance for clarification!

Material 3+You.

Is your feature request related to a problem? Please describe.

This application's stylisation doesn't adhere to my system preferences.

Describe the solution you'd like

Implement Material 3 (and You).

Describe alternatives you've considered

I don't believe that any comparable alternatives exist.

Additional context

Additional rationale is available at QuickLyric/QuickLyric#271 (comment).

[Feature Request] dark / black mode

Hey, your app already looks nice and works for me.
It is already an added value even when some basic functions are missing. I look forward to future updates. Thanks for developing!

However, my first thought when using your app was: "How do I turn on dark mode? ๐Ÿ˜I would really like a dark mode. ๐Ÿ˜Š
The best thing would be to have a pitch-black theme option for OLED screens.

Edit: I realise there are clearly more important things to address first. I just wanted to register this to add to what you're planning. โœŒ๏ธ

Translate the app ๐ŸŒ

Intro

BCR-GUI now supports translations.

You could help translating it in your language in 2 ways:

  • use Weblate online translation service
  • edit source files directly

Weblate

BCR-GUI has a page on Weblate: https://hosted.weblate.org/projects/bcr-gui/app/

If you'd like to translate in your language, drop a message in this issue specifying the culture code (i.e. en-US) you'd like to translate to and I'll add that language to the project.

When your work is complete, I'll release an update with the new translation.

Direct sources edit

Translation files are contained in /src/assets/i18n directory; it currently contains en-US and it-IT cultures.

To help translating you should:

  1. put a message in this issue to notify anyone you're going to translate to a specific culture (and avoid more than one person work on the same one)
  2. fork the repo (or open it online here)
  3. copy the reference language file en-US.json to a new filename based on culture you're goind to create (see the README.md file contained in i18n directory)
  4. translate each item
  5. open a PR to let me integrate your changes...

Thanks in advance for your help, you'll be mentioned in application About page (if you like it ๐Ÿ˜‰).

Online sources edit

If you have a Github account, you can also edit sources within your browser, thanks to github.dev.

  • fork the repository
  • go to your fork home page
  • press . key to open the online editor (very similar to VSCode)
  • create the new language file (see the instructions above)
  • commit your changes and open a PR

Material You support

Hi! Thanks for this app, it's very useful!

One thing I would like to request is dynamic colors support to accommodate Material You theming. This helps the app to integrate better with the overall system design.

Edit Recording ->create new contact-> select adress book

its not related to a specific OS, i think.

would be nice to select an adress book where the new contact is to be stored.

bcr-gui selects phone storage by default. if a user is not using phone storage, but i.e. nextcloud storage instead, there is no option to store the contact there. In LOS the user cannot change the adress book for storage after a contact is stored in phone adress book.

so the user is forced to create a new contact in another phone book and copy/paste the data there and delete the older entry afterwards.

dont know about alternatives.

create and edit json metadata file

Hi @nicorac,
Your bcr-gui also works perfectly with other call recorders, such as Huawei Call Recorder Service.
Unfortunately, this call recorder cannot create metadata file. Would it be possible to implement this feature in bcr-gui and allow creating the metadata file and editing comments?
That would be great!
Thank you very much!

Best regards
Cavediver

brc-gui_dark_new

play button

1/ play button is too small, pls make it bigger or simple remove seek buttons, no need it at all.
2/ why green/white? better use system colors i think.
thanks

Add ColorOS Call Recorder Support

Hi Developer.
I've just known the BCR-GUI have supported Huawei Call Recorder's File Pattern.
Here's are the ColorOS's one: (MP3 file format)
^{contact_name}-{date:year}{date:month}{date:day}{date:hours}{date:minutes}
The only difference is this placeholder {date:year} should be 2 digits instead of 4. (I wonder if that works without correction)
Thanks!

Add support for GrapheneOS call recorder (was: File Name Parsing issue)

Describe the bug
I am having a hard time with the filename parser recognizing the file name "CallRecord_20230619-121746_+12192826655.m4a"

Here are my attempts

/CallRecord_\{date\}(?:.+)\{phone_number\}/

CallRecord_{date}(?:.+){phone_number}

CallRecord_{date}_{phone_number}

/CallRecord_\{date\}(?:.+)\{phone_number\}\.m4a/

CallRecord_{date}(?:.+){phone_number}\.m4a

CallRecord_{date}(?:.+){phone_number}.m4a

CallRecord_{date}_{phone_number}\.m4a

CallRecord_{date}_{phone_number}.m4a

any thoughts?

Version

  • BCR-GUI version: 0.0.23

Delete all, except

Sometimes you have too many recording from people and you want to delete them but there is that one person that you want to keep your recording, could you add an option to delete all recording, and you will have an option to choose which people's recording to delete(all recording of them)

starting bcr-gui kills other sound

i think the supposed action should be bcr-gui stops other playback when it itself plays some recording back. instead it stops other playback already when being opened.
android 13/LOS20/Musicolet

RTL problem with persian language.

As you know persian and arabic are RTL language and when I use persian the text format was broken.

also i wanna update some parts in translate if you dont mind ( some miss understanding haappend in translation for one or two text)

update : i updated persian translate for easier use add update with bug fix pls thanks for your project and great work

Using too many voice recordings

The application does not cope well (it takes a long time to load) if more than 500 audio recordings are stored in the call directory. On my old smartphone, it takes about 30 seconds.

I suggest adding a loading animation meaning that the application loads information about calls. At the beginning, without this animation, I was confused and I thought that the application was not working at all, but after waiting more than 30 seconds, I realized that it had been loading all this time.
Also, I suggest making an optimization that loads this information, I think it's not worth reading all existing audio recordings at once.

Template for Call Recorder app (com.github.axet.callrecorder) from F-Droid app store

Hello @nicorac,

First, thanks for your app, it is welcome for this accessibility issue.

Is your feature request related to a problem? Please describe.
I have the Call Recorder app (com.github.axet.callrecorder) from the F-Droid app store, and already have hundreds of phone calls saved with a specific pattern that I can't match with the JS regexp placeholders available in your app. I know it's a bit lazy not renaming all my files to one of the preconfigured templates of the bcr-gui app but maybe there is a solution in between.

Here are three examples for my naming pattern:

20200101T010101 โ†‘ +33611111111 (Mum).ogg
20200102T020202 โ†“ +262622222222 (John Smith).ogg
20200103T030303 โ†“ +33612345678 (0612345678).ogg

I tried these rexexp, none worked:

^{date:year}{date:month}{date:day}T{date:hours}{date:minutes}{date:seconds} [โ†‘โ†“] {phone_number} {contact_name}
^{date:year}{date:month}{date:day}T{date:hours}{date:minutes}{date:seconds} {*} {phone_number} {contact_name}

Have I did something wrong ? Please guide me.
Otherwise is it possible that the special charaters are messing with the regexp ?
Thank you in advance !

Versioning issue

Looks like you forget to increase versionCode properly, which should be done with each release (as Android uses that to tell versions apart; it only considers an APK to be an update if it has a higher versionCode than the installed app). Can you please take care for that with future releases? Thanks in advance!

Audio playback takes a long time to start

Describe the bug
If the audio time is more than 30 minutes, then BCR-GUI takes too long to load it. I have a call that lasted about 30 minutes, the BCR-GUI loads it about 15 seconds, which seems to me quite slow. I tested in another application that can play audio (Google Files) and it instantly opens this audio, without delay

To Reproduce
Steps to reproduce the behavior:

  1. Record an audio call longer than 30 minutes
  2. Try opening it in the BCR-GUI
  3. You will notice that audio playback will not start immediately, you will have to wait more than 15 seconds

Expected behavior
Audio playback will start immediately without waiting

Screenshots
Not required

Versions (please complete the following information):

  • BCR-GUI version: 0.0.19
  • Device: Xiaomi Redmi Note 5
  • Android version: Android 13

Localization

Is your feature request related to a problem? Please describe.
strings.xml not found for translation - like other projects

Describe the solution you'd like
Create one, please!

Describe alternatives you've considered
Use hosted.weblate or crowdin

Additional context
Great app btw, works well with the built-in call recording feature in Android's default AOSP Phone app, Crdroid ROM..

AMR-WB files are not displayed in the application

Describe the bug
AMR-WB files in the .awb file format are not displayed in the graphical user interface (GUI), even when they exist in the same folder as other recordings.

Expected behavior
The application should display all files that adhere to the correct name format before the extension. Files not yet recognized by BCR-GUI should appear in the list with a label indicating โ€˜Type: Unknownโ€™ instead of being ignored. Implementing this feature would prevent issues with new formats in the future.

Versions (please complete the following information):

  • BCR-GUI version: 1.6.0
  • Device: Pixel 3
  • Android version: LineageOS 21

On GrapheneOS AMR files are not supported and detected

Describe the bug
If on GrapheneOS in the voice recording I select AMR-WB as the "Audio output format" the files that are generated by the recording (files .amr) are not recognized by the app (even if they correctly match the regex) and therefore they are not displayed on the list of recordings (Home).

To Reproduce
Steps to reproduce the behavior:

  1. Open the app
  2. Select a folder containing recordings from GraoheneOS that are in .amr format
  3. The home screen doesn't detect any of them

Expected behavior
The files should be displayed and be able to be reproduced just like AAC or other audio format file

Versions (please complete the following information):

  • BCR-GUI version: 1.5.0
  • Device: Google Pixel 7
  • Android version: 14

Does not look in subdirectories

With BCR you can specify in the filename template subdirectories, and so calls can be saved in different subdirectories. This GUI looks only at the top level folder, and doesn't show calls present in subdirectories. There should be an option to allow the recursive scan of subdirectories too.
Thanks

Entries not deleted when JSON file is missing

I have a bunch of recorded calls that where made before BCR included support for JSON files, so when I try to delete them from the list it deletes the files from the file system but it doesn't delete the entries on the app. This doesn't happen with recordings that have a JSON file associated to them. In that case I can delete them and they get deleted from both the filesystem and the list on the BCR-GUI app

Bug: always forcing 12h time format

Even though time in metadata files is in 24h format, bcr-gui will show it in 12h format.

Please add an option to change it, or better yet default the time format to the one used system wide.

[Feature Request] Navigation bar

Is your feature request related to a problem? Please describe.
Currently, the 3 pages Home, Settings, About are hidden in the 3-line menu in the upper left corner of the screen. When starting out, we always takes a beat to access one of those 3 pages. Furthermore, every time we tap search, the search bar will appear and move down a little further.

Describe the solution you'd like

  • Convert the 3 pages inside the upper left menu into Navigation Bar, according to Material You guidelines here.
  • Convert Search into new Search Bar like this.

Additional context
In the context of modern Material You design that is well suited to large screen sizes, the Navigation Bar makes it easy to operate without having to always reach up to the upper corner of the screen.

Support custom filename format

Edit: related to custom file format

I'm using right to left language on my phone to save my contacts, and I can't see any name on the records
Screenshot_20230826_201806_BCR Gui.png

Icon

Add material themed app icon

[Feature request] Color incoming and outgoing calls

Is your feature request related to a problem? Please describe.
Incoming and outgoing calls are marked with different icons but are generally the same white color.

Describe the solution you'd like
Color the incoming call icon differently from the outgoing call icon color.

Describe alternatives you've considered
It's okay to just color the arrows in each icon differently.

Additional context
The human eye distinguishes colors better than shapes. In this case, the shapes of the two icons are quite similar when the phone handle part is identical, the only difference part is the small arrow in the diagonal direction, making it more difficult to distinguish.

Recordings encoding issue

I am unable to load the recordings as the app seems to expect filenames to contain only Latin1 charset.

Screenshot_20230823-220641

Color scheme problem

Hello. Thank you very much for this beautiful program. If you use weblate, I will be happy to translate it into Turkish. My eyes get very tired due to this color scheme in both dark and light modes. Is there any chance we can find a solution to this? For example, can the text in dark mode be white rather than green? Likewise, can the background be white instead of green in bright mode?

Not accepting file output format used by bcr app

Describe the bug
I'm using the following in brc for file output format, based in bcr wiki
{date:yyyy-MM-dd @ h.mm a}[{direction}|][sim{sim_slot}|][{phone_number}|][[{contact_name}|{caller_name}|{call_log_name}]|]

When I enter this into bcr-gui, I get the following error in red letters:
Invalid regular expression: /{date:yyyy-MM-dd @ h.mm a}[(?in|out|conference)|][sim(?<sim_slot>\d+)|][(?<phone_number>[\d+- ]+|unknown)|][[(?<caller_name>.)|(?<caller_name>.)|(?<caller_name>.*)]|]/: Unmatched ')'

To Reproduce
Steps to reproduce the behavior:

  1. Go to bcr app, open
  2. Click on output, edit format, enter desired format, click ok
  3. Rename files in bcr folder manually based in new format as suggested in bcr guide
  4. Open bcr-gui, click edit next to "fire name pattern" and enter same format used in bcr app
  5. Get error message
  6. Files in bcr-gui all show a "unknown"

Expected behavior
Bcr-gui should accept the pattern and identify the files

Screenshots
If applicable, add screenshots to help explain your problem.

Versions (please complete the following information):

  • BCR-GUI version: [1.3.0]
  • BCR 1.59
  • Device: poco f3
  • Android version: crdroid A13

[Feature request] call transcripts

Is your feature request related to a problem? Please describe.
I would like to be able to search based on a transcript and quickly be able to read over a call rather then needing to listen to each individual voice recording

Describe the solution you'd like
One possible solution is to use openai whisper for voice transcripts

Maybe there could be options like only transcribe when plugged in to save battery life or maybe you can choose which model you want.

Not sure if any of these links are helpful as I am not an android developer, but I hope it helps
OpenAI whisper android library(I think its a library of some sort)
OpenAI whisper android example
OpenAI whisper voice keyboard
FUTO voice input(uses whisper)
Thread on github showing solution to get multilingual model to work
OpenAI whisper github
Main thread on whisper's github page about running it on mobile

Forward/reverse skip and scrolling does not work as intended in v0.0.16

the enhancement with the forward/reverse buttons is not working as intended. it does not forward at all and rewind mostly skips to the start or out of the player to the list.

also, this version and bcr-gui-0.0.15-release.apk have a slider on the right side that does not scroll to the very buttom of the list. i can barely delete the first entry because the trash icon is almost hidden. this was better in bcr-gui-0.0.14-release.apk without slider.

nasty thing is now i am trying to downgrade and bcr-gui-0.0.14 complaints about missing json metadata file and wont read any of the audio files .

so i reverted to bcr-gui-0.0.15. this one does not complain but it does not always show the trash icon.

[enhancement]: forward+rewind buttons

having 20min+ recordings it is difficult to repeat the last sentence you just heard for better understanding. so two more buttons with fixed or variable times to forward+rewind audio would be great. thank you.

White screen

thank you for this amazing app

just one nagging. when i open app there's a quick succession of screen colors : grey - white - then app opens in dark mode

Custom matching consultation

The date format I set in BCR is "240506" and the test in "BCR-UI">"Filename pattern editor" is as follows:
{date:year2}{date:month}{date:day}
This does not match successfully. Did I write something wrong?

question: how does app changed calendar used based on language

sorry if this is not an issue but this repo doesn't have discussions section so I had to do it this way.

this may sound stupid but I have this app installed and I have put my phone lang to Persian instead of english.

I saw that this causes this app to use Jalali calendar used in Iran instead of Gregorian calendar.
and it does this automatically ( changes dates of call to jalali and back)

what setting is used in this app that does this or is it from android itself that I never saw before ?

Unable to make immediate play on a long phone call

Describe the bug
I'm finding that I'm often denied access to phone call playback, the forward-backward sliders and play remain faded, sometimes.
Then I realized why: if i expand a phone call by viewing the details and it is very long (an hour for example) a lot of time goes by before the buttons are activated for play.
And if i go to expand another much shorter phone call the time gets longer as if the processing got stuck on the previous long call I had expanded.
Example: a 55-minute phone call will only enable play after about 60 seconds.
I don't think it's a problem with the MicroSD, if with any file manager I ask for play a phone call it's immediate.

To Reproduce

  1. Try accessing the details of long phone calls, jumping from one to the other

Expected behavior
Access to the play should be immediate, without the gui first performing some sort of scan of the audio file, I don't understand if it parses the audio file before it can play or does something else.

Versions (please complete the following information):

  • BCR-GUI version: 1.7.6
  • Device: Samsung S9 (rooted)
  • Android version: Android 10

LineageOS call app recordings format

Hello. I have some files from LineageOS's native call application, and the format is: ^{phone_number}_{date:year2}{date:month}{date:day}_{date:hours}{date:minutes}{date:seconds}. After seconds there are 3 more digits, probably milliseconds, but for me this level of accuracy is not needed. Sample filename: +48123456789_240506_225406577.amr, even if I have this person in contact book.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.