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();
}
}
Aggregations