Compare commits
4 commits
0f581f889a
...
f092430c84
Author | SHA1 | Date | |
---|---|---|---|
f092430c84 | |||
3ba7f3e207 | |||
d8d9571476 | |||
b7b2bb0cdd |
2 changed files with 274 additions and 266 deletions
|
@ -1,31 +1,5 @@
|
|||
package com.cheogram.android;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.telecom.CallAudioState;
|
||||
import android.telecom.Connection;
|
||||
import android.telecom.ConnectionRequest;
|
||||
import android.telecom.DisconnectCause;
|
||||
import android.telecom.PhoneAccountHandle;
|
||||
import android.telecom.StatusHints;
|
||||
import android.telecom.TelecomManager;
|
||||
import android.telephony.PhoneNumberUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.intentfilter.androidpermissions.NotificationSettings;
|
||||
import com.intentfilter.androidpermissions.PermissionManager;
|
||||
import com.intentfilter.androidpermissions.models.DeniedPermissions;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
@ -33,19 +7,51 @@ import java.util.Set;
|
|||
import java.util.Stack;
|
||||
import java.util.Vector;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
import android.os.Build;
|
||||
import android.telecom.CallAudioState;
|
||||
import android.telecom.Connection;
|
||||
import android.telecom.ConnectionRequest;
|
||||
import android.telecom.DisconnectCause;
|
||||
import android.telecom.PhoneAccount;
|
||||
import android.telecom.PhoneAccountHandle;
|
||||
import android.telecom.StatusHints;
|
||||
import android.telecom.TelecomManager;
|
||||
import android.telephony.PhoneNumberUtils;
|
||||
|
||||
import android.Manifest;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.ServiceConnection;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.os.Parcel;
|
||||
import android.util.Log;
|
||||
|
||||
import com.intentfilter.androidpermissions.PermissionManager;
|
||||
import com.intentfilter.androidpermissions.NotificationSettings;
|
||||
import com.intentfilter.androidpermissions.models.DeniedPermissions;
|
||||
import io.michaelrocks.libphonenumber.android.NumberParseException;
|
||||
|
||||
import eu.siacs.conversations.R;
|
||||
import eu.siacs.conversations.entities.Account;
|
||||
import eu.siacs.conversations.services.AppRTCAudioManager;
|
||||
import eu.siacs.conversations.services.AvatarService;
|
||||
import eu.siacs.conversations.services.XmppConnectionService;
|
||||
import eu.siacs.conversations.services.XmppConnectionService.XmppConnectionBinder;
|
||||
import eu.siacs.conversations.services.XmppConnectionService;
|
||||
import eu.siacs.conversations.ui.RtpSessionActivity;
|
||||
import eu.siacs.conversations.utils.PhoneNumberUtilWrapper;
|
||||
import eu.siacs.conversations.xmpp.Jid;
|
||||
import eu.siacs.conversations.xmpp.jingle.JingleRtpConnection;
|
||||
import eu.siacs.conversations.xmpp.jingle.Media;
|
||||
import eu.siacs.conversations.xmpp.jingle.RtpEndUserState;
|
||||
import io.michaelrocks.libphonenumber.android.NumberParseException;
|
||||
|
||||
public class ConnectionService extends android.telecom.ConnectionService {
|
||||
public XmppConnectionService xmppConnectionService = null;
|
||||
|
@ -61,6 +67,7 @@ public class ConnectionService extends android.telecom.ConnectionService {
|
|||
xmppConnectionService = null;
|
||||
}
|
||||
};
|
||||
|
||||
private PermissionManager mPermissionManager;
|
||||
|
||||
@Override
|
||||
|
@ -246,7 +253,7 @@ public class ConnectionService extends android.telecom.ConnectionService {
|
|||
public void onAudioDeviceChanged(AppRTCAudioManager.AudioDevice selectedAudioDevice, Set<AppRTCAudioManager.AudioDevice> availableAudioDevices) {
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O) return;
|
||||
|
||||
switch (selectedAudioDevice) {
|
||||
switch(selectedAudioDevice) {
|
||||
case SPEAKER_PHONE:
|
||||
setAudioRoute(CallAudioState.ROUTE_SPEAKER);
|
||||
case WIRED_HEADSET:
|
||||
|
@ -314,7 +321,7 @@ public class ConnectionService extends android.telecom.ConnectionService {
|
|||
if (next.equals(";")) {
|
||||
Vector<String> v = new Vector<>(postDial);
|
||||
Collections.reverse(v);
|
||||
setPostDialWait(Joiner.on("").skipNulls().join(v));
|
||||
setPostDialWait(Joiner.on("").join(v));
|
||||
return;
|
||||
} else if (next.equals(",")) {
|
||||
sleep(2000);
|
||||
|
|
|
@ -430,8 +430,9 @@ public class NotificationService {
|
|||
|
||||
private synchronized boolean tryRingingWithDialerUI(final AbstractJingleConnection.Id id, final Set<Media> media) {
|
||||
if (mXmppConnectionService.checkSelfPermission(Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
|
||||
// We cannot always request audio permission in Dialer UI
|
||||
// e.g. when Dialer is shown over keyguard
|
||||
// We cannot request audio permission in Dialer UI
|
||||
// when Dialer is shown over keyguard, the user cannot even necessarily
|
||||
// see notifications.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue