Giter Club home page Giter Club logo

alibi's People

Contributors

cem256 avatar materoy avatar myzel394 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  avatar

alibi's Issues

Opus codec

Is there the possibility to use the opus audio codec? It is fully open source.

Crash when Alibi starts a new Batch

Alibi crashes after the Batch duration has expired.

--------- beginning of main
[ 08-16 16:18:15.329  6306: 6306 E/.myzel394.alibi ]
Not starting debugger since process cannot load the jdwp agent.

--------- beginning of crash
[ 08-16 16:19:18.999  6306: 6306 E/AndroidRuntime ]
FATAL EXCEPTION: main
Process: app.myzel394.alibi, PID: 6306
java.lang.IllegalStateException
	at android.media.MediaRecorder.getMaxAmplitude(Native Method)
	at d3.b.c(SourceFile:19)
	at d3.a.run(Unknown Source:12)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7918)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Samsung Galaxy a20e

LineageOS 20 (Android 13)

Always On Functionality

i see a lot of potential for this to essentially be a pocket security camera or personal evidence collector, and as such id like to have it running at low quality at all times in the background automatically, caching the last X amount of time with the option for export. this is basically how it works now, which is wonderful, just missing the auto-start. thanks for making this app !

app not responding

Hi,

I often get app not responding errors when I return to Alibi after leaving it running for a while. Usually, the app screen goes black then I see the popup and no audio appears to be recorded. If I reopen the app, it starts recording all over again.

Could you please look into this, or advise me on solutions/workarounds?

Unlabeled drawer in notifications' bar

Not full explanation, just "save" and "pausing" buttons in notifications' bar, without explicit explanations that lead to record an audio track. No hints, just neutral buttons and drawer.

Status bar

The status bar color is not unified with the top bar after sliding down the settings page.
photo_2023-08-10_17-16-51

Some improvements

Might you removing the "recording" written?

Ehm, now I have only BNB (Smart Chain), FTM and XEC. Might you add these coins in next update?

PS: the donation section is too much hidden in my opinion. Might you making it more visible?

1000094430

1000094432

Option to switch to microphone from wireless earphone.

I couldn't find any option to switch the microphone/audio source from the inbuilt microphone on my phone to the one in my wireless earphone.

Device: Realme Narzo 30A
OS: Android 11(realme ui)
Earphone used: Truke BTG Beta

This would be a really great feature as it would provide clearer audio when for example the phone is in a pocket and is walking? Or when only the earphones are connected and the phone is in a bag or something.

Can you consider adding this as a feature?

Auto Boot Reminder

I have a quick idea for a new Alibi feature:

Upon device boot, a notification will appear reminding the user that Alibi's recording has been interrupted, and offering a quick direct button to begin/resume recording.

Here is my idea implemented using MacroDroid - my work is a little sloppy, but hopefully it gets the idea across.

Screenshot_20231025-121308_One UI Home.png

I'd also love if there were toggles in the settings to switch between three modes:

No Reminder - Does not prompt the user to restart Alibi (the current behavior).
Reminder - Reminds the user via push notification that Alibi has been interrupted.
Automatic - Automatically restarted Alibi's recording upon boot, eliminating the need for any input.

Request for Option to Choose Length at Save

At the moment hitting save means I'm saving a predetermined amount of data on my phone every time, regardless of if I only need the last minute in an instance. It would be really useful I think to be able to choose how far back to save out of the recording.

I think this could also pair well with the batch duration feature already implemented, as then you could simply choose how many/which files to save.

I hope you consider this as I would find this feature very useful.

application crashes after recording starts

FATAL EXCEPTION: DefaultDispatcher-worker-2
Process: app.myzel394.alibi, PID: 26266
java.lang.IllegalArgumentException: app.myzel394.alibi: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
at android.app.PendingIntent.getActivity(PendingIntent.java:444)
at android.app.PendingIntent.getActivity(PendingIntent.java:408)
at b3.e.h(SourceFile:229)
at b3.e.k0(SourceFile:13)
at kotlinx.coroutines.flow.m.h(Unknown Source:43)
at kotlinx.coroutines.flow.m.f0(SourceFile:18)
at d5.j.h(SourceFile:35)
at d5.j.k0(SourceFile:13)
at a5.a.e0(SourceFile:28)
at a5.y.a1(SourceFile:47)
at a5.y.b1(Unknown Source:11)
at d5.l.e(Unknown Source:105)
at d5.u.f0(SourceFile:5)
at d5.t.j(SourceFile:135)
at d5.t.e(Unknown Source:0)
at n2.t.e(SourceFile:177)
at kotlinx.coroutines.flow.l.e(Unknown Source:125)
at kotlinx.coroutines.flow.l0.a(SourceFile:172)
at n2.v.h(SourceFile:81)
at n2.v.k0(SourceFile:13)
at kotlinx.coroutines.flow.g.a(SourceFile:91)
at d5.m.h(Unknown Source:46)
at d5.m.k0(SourceFile:13)
at o4.a.g1(SourceFile:5)
at a5.y.g0(Unknown Source:9)
at d5.n.g(Unknown Source:6)
at d5.e.h(SourceFile:45)
at j4.a.n(Unknown Source:8)
at a5.e0.run(Unknown Source:104)
at kotlinx.coroutines.internal.e.run(Unknown Source:11)
at kotlinx.coroutines.scheduling.i.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a.run(SourceFile:77)
Suppressed: a5.c0: [m1{Cancelling}@6322c45, Dispatchers.IO]

Crash when changing Sampling rate

Alibi crashes when i try to set the sampling rate above 9999999999 insted of showing that the number is to big. If i try to empty the input field completly, Alibi also crashes.

FATAL EXCEPTION: main Process: app.myzel394.alibi, PID: 6324 java.lang.NullPointerException at e4.b.a(SourceFile:66) at e4.b.t0(SourceFile:16) at a5.e.a(SourceFile:8) at b5.c.h(SourceFile:36) at l5.a.m(SourceFile:1) at c6.e0.run(SourceFile:1) at androidx.compose.ui.platform.s0.f(SourceFile:23) at androidx.compose.ui.platform.r0.run(SourceFile:3) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7929) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:854) Suppressed: c6.c0: [androidx.compose.ui.platform.r1@81560cd, h0.e@26dd82, m1{Cancelling}@c961c93, s0@55124d0]

Profiles

Normally I use this setup: 90 minutes of coverage and 10-minute batches.

But if I'm going to a job interview, it's better to have 60-minute batches to avoid having too many files unbundled.

Finally, when I get home, I'll set up the profile with the 10-minute batches. Again.

Switching between profiles is instant and this will make the app more usable and useful.

File chooser doesn't appear

Hello, I'm having a problem where the file picker doesn't appear after finishing a recording/ clicking on "save recording".

I have looked at the android logcat and saw no errors. I also tried reinstalling & resetting the app and it still doesn't work.

Here is a screencap of what happened:

Record_2023-12-17-14-51-12.mp4

Is this the file picker (DocumentUI) or the app at fault here?

Regards,
Notunderscore

feature req: option to not merge recording

I would like an option to not merge recordings. I do need to monitor and record a long time frame but i only need sections of it not the whole 3 hours.
Not merging the entire recording but keeping the batches in sections (preferably with a little overlapping) would be the best option for me.

Scheduled surveillance and auto save mode

I still had no idea how to make the most of this app.

Then I realized that at night it's totally useless, so I can rule out using it at night.

There are times during the day when I need "coverage" and other times when I am alone and do not need any.
Limiting the use of Alibi is also useful to save battery and preserve the health of the flash drive.

In scheduling mode I thought that the batches would save themselves, and that at a later time I would discard them as irrelevant.

I think that's a better approach than hitting save. Maybe I forget or I'm in an interview and I can't handle the phone.
It is extremely important that I can decide afterwards what is good and what is not.

Autostart triggers

It would be useful having an autostart for certain conditions:

โ€ข wifi: lose or gain a wifi local network
โ€ข mic: when environment sound overcomes X db then start recording for Y time
โ€ข gps: when I leave or gain a certain geographical aerea

And so on. Have you other triggers idea?

Up to 48 hours "max duration"

I want to choose the batches very calmly. I save by default up to two days of recordings and I only decide later what I keep and what I reject.

1000094341

add note to promt the user to check if the useage of the app is compatible with local law

My proposal is to add a small note to the start up screen, something along the lines of: "some bodies might regulate how or when you are allowed to record a conversation, please check in with your local law", since the app implies that it should be used without anyones knowledge, to provide an "alibi".

In some countries (eg. germany) it is illegal to record a conversation without consent, therefore a note like the one above would be nice to have.

I noticed you put up a message to "use the software at the users own risk" but I think this is not a really conclusive statement, since this could also apply to data security and the hardware lifespan.

Info about output file metadata

Is the output file (.ogg or what you want) fully cleared by metadata, phone model, microphone type, etc that can identify the record maker?

I didn't use Alibi yet and I am not a developer.

Consequences of continuous recording on flash nand health

Will continuous recording lead to a shorter longevity of the storage memory?

Might you force your app to always record on different, random sectors? That would help it not write the same tracks over and avoiding to burn them out (hardware side).

Quick settings button

A useful feature would be a quick settings button to save recording. This would likely be faster than opening the app, and could be done on the lock screen without unlocking the device. If holding the button opened the app, you could remove it from your home screen and app drawer, essentially "hiding" it in the quick settings.

What is batch?

Is it a minimum time interval between two records?

I would like to have the last four hours of recording available to me at all times, divided into 15 minutes of recording for each session.

How do I set up the app?

Some format/encoder combos output files with double file extensions

Examples that I've found are THREE_GPP format/Auto encoder outputting .3gp.aac files and MPEG_2_TS format/Auto encoder outputting .ts.aac files. I presume that this is unintentional and that they should be only .3gp and .ts files.

There might be more combinations when not using the Auto encoder option.

F-Droid listing

First congrats to your listing at F-Droid! At this point apps are usually removed from my repo โ€“ but your Readme still links to it. Will you replace that badge & link by F-Droid's?

Make the donation process easier (to support development)

Please add direct cryptocurrency addresses within the app. Easy tap and donate without leaving the app: I don't want going around to websites. I don't want support FIAT economy.

TRX, AVAX, ETH, LTC, BTC, XEC, BNB, SOL, BCH, ALGO, XTZ, DASH, FTM, XMR addresses available for donations (addresses have to be copyable).

1000092943

Fastlane: de-DE shortdesc too long

Currently, short_description.txt for de-de has 98 chars. The specs only allow for 80 chars, so all beyond that is being cut off. Could you please fix that (and maybe limit the field length with Crowdin)? Thanks!

Fix dir

Move cache -> internal files dir

  • Clean up files after recording

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.