Search in sources :

Example 1 with NativeCallManager

use of com.voipgrid.vialer.call.NativeCallManager in project vialer-android by VoIPGRID.

the class SipService method onCreate.

@Override
public void onCreate() {
    super.onCreate();
    mHandler = new Handler();
    mToneGenerator = new ToneGenerator(AudioManager.STREAM_VOICE_CALL, SipConstants.RINGING_VOLUME);
    mSipBroadcaster = new SipBroadcaster(this);
    mPreferences = new Preferences(this);
    mRemoteLogger = new RemoteLogger(SipService.class).enableConsoleLogging();
    mNativeCallManager = new NativeCallManager((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE));
    mRemoteLogger.d("onCreate");
    IntentFilter filter = new IntentFilter();
    filter.addAction(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
    registerReceiver(phoneStateReceiver, filter);
    // Create runnable to check if the SipService is still in use.
    mCheckServiceHandler = new Handler();
    mCheckServiceRunnable = new Runnable() {

        @Override
        public void run() {
            // Check if the service is being used after 10 seconds and shutdown the service
            // if required.
            checkServiceBeingUsed();
            mCheckServiceHandler.postDelayed(this, mCheckServiceUsedTimer);
        }
    };
    mCheckServiceHandler.postDelayed(mCheckServiceRunnable, mCheckServiceUsedTimer);
    PhoneAccount phoneAccount = new JsonStorage<PhoneAccount>(this).get(PhoneAccount.class);
    if (phoneAccount != null) {
        // Try to load PJSIP library.
        mSipConfig = new SipConfig(this, phoneAccount);
        try {
            mSipConfig.initLibrary();
        } catch (SipConfig.LibraryInitFailedException e) {
            stopSelf();
        }
    } else {
        // User has no sip account so destroy the service.
        mRemoteLogger.w("No sip account when trying to create service");
        stopSelf();
    }
}
Also used : IntentFilter(android.content.IntentFilter) Handler(android.os.Handler) NativeCallManager(com.voipgrid.vialer.call.NativeCallManager) ToneGenerator(com.voipgrid.vialer.dialer.ToneGenerator) PhoneAccount(com.voipgrid.vialer.api.models.PhoneAccount) TelephonyManager(android.telephony.TelephonyManager) RemoteLogger(com.voipgrid.vialer.logging.RemoteLogger) Preferences(com.voipgrid.vialer.Preferences)

Aggregations

IntentFilter (android.content.IntentFilter)1 Handler (android.os.Handler)1 TelephonyManager (android.telephony.TelephonyManager)1 Preferences (com.voipgrid.vialer.Preferences)1 PhoneAccount (com.voipgrid.vialer.api.models.PhoneAccount)1 NativeCallManager (com.voipgrid.vialer.call.NativeCallManager)1 ToneGenerator (com.voipgrid.vialer.dialer.ToneGenerator)1 RemoteLogger (com.voipgrid.vialer.logging.RemoteLogger)1