Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from chenxiaolong:master #2

Merged
merged 112 commits into from
Nov 23, 2022
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Jul 27, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

EleoXDA and others added 30 commits July 24, 2022 07:29
Update Turkish translations
Fixed line 39
Update Russian translations
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
minSdkVersion is 28.
The feature was removed in version 1.11 because Android has no way of
reporting the native sample rate without actually starting a recording.
Andd to start a recording with a good buffer size, the sample rate is
required, leading to a catch-22.

Issue: #110

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
README.md: Remove mention of native sample rate
Bump dependencies and Gradle Wrapper, update Polish translation
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
…ails

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Fix crash when receiving call from a private number
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
FIX: Russian days one, other -> one, few, many
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Bump Gradle Wrapper to 7.5.1
chenxiaolong and others added 28 commits October 9, 2022 15:25
On older Samsung firmware, the telephony framework fails to notify
InCallService implementations about call disconnections. This doesn't
just happen with BCR. It affects Samsung's own apps too, like Knox's
InCallServiceImpl.

Due to this bug, none of the following callbacks are called when a call
ends:

* Call.Callback.onStateChanged with Call.STATE_DISCONNECTING or
  Call.STATE_DISCONNECTED
* Call.Callback.onCallDestroyed
* InCallService.onCallRemoved

However, it does happen to call Call.Callback.onDetailsChanged when the
call state transitions to Call.STATE_DISCONNECTED (which doesn't happen
with AOSP).

This commit reworks RecorderInCallService to keep track of calls better
in the face of these firmware bugs. A call's lifetime begins when
InCallService.onCallAdded is called and ends when either
InCallService.onCallRemoved is called or the state is
Call.STATE_DISCONNECTING or Call.STATE_DISCONNECTED in any other
callback.

This should work on both well-behaved firmware, like AOSP, and buggy
firmware, like Samsung's OneUI.

Issue: #143

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
RecorderInCallService: Improve end-of-call detection
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
On Samsung devices, when a call ends, AudioRecord.read() blocks until
another call becomes active, which prevents recordings from stopping at
the correct time. This behavior does not happen in AOSP.

To work around this, use non-blocking reads with a sleep interval of the
AudioRecord minimum buffer size. This gives the recording loop a chance
to check if recording has been cancelled.

Issue: #143

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
RecorderThread: Use non-blocking reads from AudioRecord
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
build: update all dependencies, add buildToolsVersion
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
build.gradle.kts: Avoid breaking gradle's laziness where possible
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
This commit adds a new notification that fires when a call recording
completes successfully. It's associated with a new notification channel
so it can be disabled without affecting other notifications.

The notification has two action buttons: open and share. Both of these
do as their name implies and do not dismiss the notification. Clicking
on the notification text behaves like open, except the notification is
dismissed.

The open and share options require a custom ContentProvider because it's
not possible to grant the target app permissions to a SAF URI. BCR's
RecorderProvider is very minimal and just wraps SAF's provider for the
openFile, getType, and query operations.

Also, manual action from the user is required for the new open and share
options to work. Previously, BCR only requested persistent write
permissions to the output directory. This makes it impossible for
RecorderProvider to access the recording that was just created. This
commit updates the output directory permission logic to also request
persistent read permissions, but the user will have to reset the output
directory to the default and then select the desired directory again.

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Send notification when a call recording completes
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
README.md: Add note about erofs volumes being read-only
@pull pull bot merged commit 5f11abf into blackpjotr:master Nov 23, 2022
pull bot pushed a commit that referenced this pull request Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants