Commit graph

4706 commits

Author SHA1 Message Date
Tim Krüger
738ed94f98
Add foreground service type to MagicFirebaseMessagingService
Since SDK 31 foreground services can't start while running in
background, except for a few special cases like phone calls.

See:
 - https://developer.android.com/guide/components/foreground-services#background-start-restrictions

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-22 15:51:17 +02:00
drone
1551e7f1cb Drone: update Lint results to reflect reduced error/warning count [skip ci]
Signed-off-by: drone <drone@nextcloud.com>
2022-06-22 13:49:22 +00:00
drone
655e4ac0cd Merge commit 'f366c75f68be62d31702c5bcbe14e22548627245' 2022-06-22 13:39:24 +00:00
Nextcloud bot
a6e1a143fa
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-22 13:37:30 +00:00
Tim Krüger
f366c75f68
Add mandetory intent flags
Since SDK 31 for an 'PendingIntent' the intent flags 'FLAG_IMMUTABLE' or
'FLAG_IMMUTABLE' are mandetory.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-22 15:33:26 +02:00
Andy Scherzinger
6a1c703a92
Merge pull request #2157 from nextcloud/noid/renameUploadLocalFile
Noid/rename upload local file
2022-06-22 14:59:39 +02:00
Marcel Hibbe
79b27385b7
add string "Upload from device"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-06-22 14:47:45 +02:00
Marcel Hibbe
8c28a900be
delete string "upload local file"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-06-22 14:42:28 +02:00
Andy Scherzinger
3096d90bc6
only set intent flag for sdk>=31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-22 11:21:46 +02:00
drone
98a96ef6e4 Drone: update Lint results to reflect reduced error/warning count [skip ci]
Signed-off-by: drone <drone@nextcloud.com>
2022-06-22 09:05:58 +00:00
drone
4b67a71ff4 Merge commit '1f936cb677ed17f93fba461ae59ac84bda5e99db' 2022-06-22 09:00:28 +00:00
Andy Scherzinger
1f936cb677
migrate to sdk=31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-22 10:59:38 +02:00
Tim Krüger
6e4841ae3a
Rename 'MagicAudioManager' and 'MagicBluetoothManager'
It's not magic but WebRtc related.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-21 15:13:47 +02:00
Tim Krüger
e14f00fae7
Request 'BLUETOOTH_CONNECT' permissions
Request the 'BLUETOOTH_CONNECT' permissions if not already granted.

If the permission is be granted in this request, the
'MagicBluetoothManger' will be started.

See: #2132

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-21 15:13:40 +02:00
Nextcloud Android Bot
266034b00e Weekly 14.1.0 Alpha 10 2022-06-20 03:13:55 +00:00
Nextcloud bot
b5ba536888
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-19 04:16:32 +00:00
Andy Scherzinger
4b0748b3e2
Merge pull request #2152 from nextcloud/dependabot/gradle/com.google.android.exoplayer-exoplayer-2.18.0
Bump exoplayer from 2.17.1 to 2.18.0
2022-06-18 16:56:51 +02:00
Andy Scherzinger
205d00d443
harmonize license header in java/kt files
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:42:53 +02:00
drone
25541198fb Drone: update FindBugs results to reflect reduced error/warning count [skip ci]
Signed-off-by: drone <drone@nextcloud.com>
2022-06-18 14:41:27 +00:00
Andy Scherzinger
0b2b0cca51
Use proper Android logger
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:36:02 +02:00
Andy Scherzinger
49792ecf1e
rename blacklist/whitelist variables to include/exclude sets to reflect their collection type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:29:57 +02:00
Andy Scherzinger
61ec38dd5e
replace deprecated listener due to update to exoplayer 2.18.0
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:25:27 +02:00
dependabot[bot]
ffb1930161
Bump exoplayer from 2.17.1 to 2.18.0
Bumps [exoplayer](https://github.com/google/ExoPlayer) from 2.17.1 to 2.18.0.
- [Release notes](https://github.com/google/ExoPlayer/releases)
- [Changelog](https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md)
- [Commits](https://github.com/google/ExoPlayer/compare/r2.17.1...r2.18.0)

---
updated-dependencies:
- dependency-name: com.google.android.exoplayer:exoplayer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-18 14:12:11 +00:00
Andy Scherzinger
db5ba9763f
Merge pull request #1850 from nextcloud/dependabot/gradle/net.zetetic-android-database-sqlcipher-4.5.1
Bump android-database-sqlcipher from 3.5.9 to 4.5.1
2022-06-18 16:11:25 +02:00
drone
96f01b5514 Drone: update FindBugs results to reflect reduced error/warning count [skip ci]
Signed-off-by: drone <drone@nextcloud.com>
2022-06-18 13:43:31 +00:00
Andy Scherzinger
993e50dbdb
rename variable to reflect its collection type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:37:42 +02:00
Andy Scherzinger
34f8bb5ab7
use fixed strings where possible to limit lint score bump
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:25:11 +02:00
Andy Scherzinger
cd44de757c
code reformatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:17:08 +02:00
Andy Scherzinger
08f5274af9
add cipher migration for version 4 of sqlcipher
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 14:44:45 +02:00
Tim Krüger
dedbe40cc0
Launch 'MagicBluetoothManager' independently
This change is needed to make the 'MagicBluetoothManager' startable
after the from Android SDK 31 introduced BLUETOOTH_CONNECT is granted by
the user.

Before this change the 'MagicBluetoothManager' was only started in
'MagicAudioManager#start'. Now the new method
'MagicAudioManager#startBluetoothManager' can be used to start the
'MagicBluetoothManager'.

This change is also a preperation to fix #1309 and #2114.

See: #2132, #1309, #2124

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-17 15:51:44 +02:00
Tim Krüger
4821b02729
Add Android build switch for checking bluetooth permissions
Refactored method 'hasPermission' to 'hasNoBluetoothPermission'. The new method
respect the in SKD 31 introduced permission BLUETOOTH_CONNECT. For older SDK
versions the permission BLUETOOTH will be used.

Additionaly make methods private which need bluetooth permissions and only
called locally. For public methods which need bluetooth permissions the method
'hasNoBluetoothPermission' is called to check them.
Also add suppress lint annotation for 'MissingPermission'.

From SDK 30 to SDK 31 the bluetooth related permissions changed and it
is suggested to add the attribute 'android:maxSdkVersion="30"' to the
legacy BLUETOOTH permission in the 'AndroidManifest.xml' [1]:

> For your legacy Bluetooth-related permission declarations, set
> android:maxSdkVersion to 30. This app compatibility step helps the system
> grant your app only the Bluetooth permissions that it needs when installed
> on devices that run Android 12 or higher.

This is explicitly not done here!

During runtime (on Android 12) while starting the 'MagicBluetoothManger' the
following part in 'android.bluetooth.BluetootHeadset' constructor will be
executed and results in the previous exception:

  // Preserve legacy compatibility where apps were depending on
  // registerStateChangeCallback() performing a permissions check which
  // has been relaxed in modern platform versions
  if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.R
           && context.checkSelfPermission(android.Manifest.permission.BLUETOOTH)
                   != PackageManager.PERMISSION_GRANTED) {
     throw new SecurityException("Need BLUETOOTH permission");
 }

In the 'build.gradle' the 'targetSdkVersion 30' and 'compileSdkVersion 31' is
configured. Because the 'MagicBluetoothManager' checks for the 'targetSdkVersion'
instead of 'Build.VERSION.SDK_INT' also on a Android 12 (SDK 31) the 'BLUETOOTH'
permission is needed.

So the solution is to don't set `android:maxSdkVersion="30"' for the BLUETOOTH
permission and request the BLUETOOTH_CONNECT permission.

Resolves: #2132
See:
  [1] https://web.archive.org/web/20220416121005/https://developer.android.com/guide/topics/connectivity/bluetooth/permissions#declare-android12-or-higher

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-17 15:51:44 +02:00
dependabot[bot]
a7751124a1
Bump android-database-sqlcipher from 3.5.9 to 4.5.1
Bumps [android-database-sqlcipher](https://github.com/sqlcipher/android-database-sqlcipher) from 3.5.9 to 4.5.1.
- [Release notes](https://github.com/sqlcipher/android-database-sqlcipher/releases)
- [Commits](https://github.com/sqlcipher/android-database-sqlcipher/compare/v3.5.9...v4.5.1)

---
updated-dependencies:
- dependency-name: net.zetetic:android-database-sqlcipher
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 13:47:36 +02:00
Andy Scherzinger
2b937f5f51
Merge pull request #2151 from nextcloud/repo-sync/android-common/master
🔄 Synced file(s) with nextcloud/android-common
2022-06-17 13:23:40 +02:00
nextcloud-android-bot
12e6862ccd 🔄 Synced local '.github/workflows/' with remote 'config/workflows/'
Signed-off-by: nextcloud-android-bot <android@nextcloud.com>
2022-06-17 10:53:15 +00:00
Álvaro Brey
c9706089d6
Merge pull request #2145 from nextcloud/dependabot/gradle/okhttpVersion-4.10.0
Bump okhttpVersion from 4.9.3 to 4.10.0
2022-06-16 12:26:52 +02:00
Nextcloud bot
83fd3c85a8
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-16 04:16:12 +00:00
dependabot[bot]
3b996c43f7
Bump okhttpVersion from 4.9.3 to 4.10.0
Bumps `okhttpVersion` from 4.9.3 to 4.10.0.

Updates `okhttp` from 4.9.3 to 4.10.0
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.9.3...parent-4.10.0)

Updates `okhttp-urlconnection` from 4.9.3 to 4.10.0
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.9.3...parent-4.10.0)

Updates `logging-interceptor` from 4.9.3 to 4.10.0
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.9.3...parent-4.10.0)

---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.squareup.okhttp3:okhttp-urlconnection
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.squareup.okhttp3:logging-interceptor
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-16 01:06:55 +00:00
Marcel Hibbe
c9be148223
Merge pull request #2142 from nextcloud/bugfix/2123/continueWithoutUserStatus
fix to load conversation list (restricted user status)
2022-06-15 16:37:23 +02:00
Marcel Hibbe
c628c23557 fix to load conversation list (restricted user status)
when the user status app on server is restricted to only some groups, the capabilities for users that are excluded still contains the "user_status" capability.
For the android talk app, this caused that the conversations were not shown.
With this fix, the conversations will be loaded also if the "user_status" is mistakenly set. Additionally, the option to set the status will be hidden.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-06-15 13:45:53 +00:00
Andy Scherzinger
bb99161e63
Merge pull request #2149 from nextcloud/dependabot/gradle/com.bluelinelabs-conductor-3.1.5
Bump conductor from 3.1.4 to 3.1.5
2022-06-15 14:54:04 +02:00
Andy Scherzinger
7c360b5a93
Merge pull request #2147 from nextcloud/repo-sync/android-common/master
🔄 Synced file(s) with nextcloud/android-common
2022-06-15 14:43:33 +02:00
Nextcloud bot
7543e74d2f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-15 04:19:02 +00:00
dependabot[bot]
43853e1896
Bump conductor from 3.1.4 to 3.1.5
Bumps [conductor](https://github.com/bluelinelabs/Conductor) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/bluelinelabs/Conductor/releases)
- [Commits](https://github.com/bluelinelabs/Conductor/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: com.bluelinelabs:conductor
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 01:09:14 +00:00
Álvaro Brey
bb7e82fbcb
Use custom permission for unfiltered broadcast receiver in CallActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-14 15:51:04 +02:00
Nextcloud bot
67298a63e6
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-14 04:21:37 +00:00
nextcloud-android-bot
99a0002da8 🔄 Synced local '.github/workflows/' with remote 'config/workflows/'
Signed-off-by: nextcloud-android-bot <android@nextcloud.com>
2022-06-13 11:42:51 +00:00
Nextcloud Android Bot
d0ea659845 Weekly 14.1.0 Alpha 09 2022-06-13 03:23:43 +00:00
Nextcloud bot
1419abd101
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-12 04:21:58 +00:00
Andy Scherzinger
99b3575b43
Merge pull request #2144 from nextcloud/feat/workflow-auto-update-command-rebase.yml
Updating command-rebase.yml workflow from template
2022-06-11 19:53:13 +02:00
Nextcloud bot
cd68ddb0ed Updating command-rebase.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-11 15:42:34 +00:00