diff options
author | Mario Danic <mario@lovelyhq.com> | 2018-08-17 22:57:24 +0300 |
---|---|---|
committer | Mario Danic <mario@lovelyhq.com> | 2018-08-17 22:57:24 +0300 |
commit | 5948aaec0ad23fff03420ac64ccfb8e54e8b1a84 (patch) | |
tree | b3149f3cecce03be5de928e0e0e8e9aed58ef2eb | |
parent | b7a47b397278edcf8a55b45129604a353d86e67c (diff) |
Fix #286, Fix #288, Fix #289v3.0.0beta7
Signed-off-by: Mario Danic <mario@lovelyhq.com>
5 files changed, 32 insertions, 14 deletions
diff --git a/app/build.gradle b/app/build.gradle index 9cf2159bf..79189fb11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,8 +15,8 @@ android { targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - versionCode 57 - versionName "3.0.0beta6" + versionCode 58 + versionName "3.0.0beta7" flavorDimensions "default" renderscriptTargetApi 19 diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java index 0f9638d91..0cead971f 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java @@ -24,7 +24,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; -import android.media.AudioManager; +import android.media.AudioAttributes; import android.media.MediaPlayer; import android.net.Uri; import android.os.Build; @@ -328,7 +328,9 @@ public class CallNotificationController extends BaseController { if (ringtoneUri != null) { mediaPlayer = MediaPlayer.create(getApplicationContext(), ringtoneUri); mediaPlayer.setLooping(true); - mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING); + AudioAttributes audioAttributes = new AudioAttributes.Builder().setContentType(AudioAttributes + .CONTENT_TYPE_SONIFICATION).setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build(); + mediaPlayer.setAudioAttributes(audioAttributes); mediaPlayer.start(); } } @@ -343,14 +345,14 @@ public class CallNotificationController extends BaseController { VibrationEffect vibrationEffect; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (vibrator.hasAmplitudeControl()) { - vibrationEffect = VibrationEffect.createWaveform(vibratePattern, amplitudes, 0); + vibrationEffect = VibrationEffect.createWaveform(vibratePattern, amplitudes, -1); vibrator.vibrate(vibrationEffect); } else { - vibrationEffect = VibrationEffect.createWaveform(vibratePattern, 0); + vibrationEffect = VibrationEffect.createWaveform(vibratePattern, -1); vibrator.vibrate(vibrationEffect); } } else { - vibrator.vibrate(vibratePattern, 0); + vibrator.vibrate(vibratePattern, -1); } } diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java index d2511b11b..04388e5b8 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java @@ -205,6 +205,12 @@ public class ContactsController extends BaseController implements SearchView.OnQ FlipView.resetLayoutAnimationDelay(true, 1000L); FlipView.stopLayoutAnimation(); + currentUser = userUtils.getCurrentUser(); + + if (currentUser != null) { + ncApi = ApplicationWideApiHolder.getInstance().getNcApiInstanceForAccountId(currentUser.getId(), null); + credentials = ApiUtils.getCredentials(currentUser.getUserId(), currentUser.getToken()); + } if (adapter == null) { adapter = new FlexibleAdapter<>(contactItems, getActivity(), false); @@ -212,9 +218,6 @@ public class ContactsController extends BaseController implements SearchView.OnQ currentUser = userUtils.getCurrentUser(); if (currentUser != null) { - ncApi = ApplicationWideApiHolder.getInstance().getNcApiInstanceForAccountId(currentUser.getId(), null); - credentials = ApiUtils.getCredentials(currentUser.getUserId(), currentUser.getToken()); - fetchData(true); } } diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java index ead2bd78f..cf968b455 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -152,17 +152,19 @@ public class ConversationsListController extends BaseController implements Searc getActionBar().show(); } + currentUser = userUtils.getCurrentUser(); + + if (currentUser != null) { + ncApi = ApplicationWideApiHolder.getInstance().getNcApiInstanceForAccountId(currentUser.getId(), null); + credentials = ApiUtils.getCredentials(currentUser.getUserId(), currentUser.getToken()); + } if (adapter == null) { adapter = new FlexibleAdapter<>(callItems, getActivity(), false); - currentUser = userUtils.getCurrentUser(); if (currentUser != null) { shouldUseLastMessageLayout = currentUser.hasSpreedCapabilityWithName("last-room-activity"); - ncApi = ApplicationWideApiHolder.getInstance().getNcApiInstanceForAccountId(currentUser.getId(), null); - credentials = ApiUtils.getCredentials(currentUser.getUserId(), currentUser.getToken()); - fetchData(false); } } diff --git a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java index a1d157419..882274691 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java @@ -27,6 +27,7 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.media.AudioAttributes; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; @@ -328,6 +329,16 @@ public class NotificationWorker extends Worker { DoNotDisturbUtils.shouldPlaySound()) { MediaPlayer mediaPlayer = MediaPlayer.create(context, soundUri); mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); + AudioAttributes.Builder audioAttributesBuilder = new AudioAttributes.Builder().setContentType + (AudioAttributes.CONTENT_TYPE_SONIFICATION); + + if (decryptedPushMessage.getType().equals("chat")) { + audioAttributesBuilder.setUsage(AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT); + } else { + audioAttributesBuilder.setUsage(AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST); + } + + mediaPlayer.setAudioAttributes(audioAttributesBuilder.build()); mediaPlayer.start(); mediaPlayer.setOnCompletionListener(MediaPlayer::release); } |