public void onCreate() { super.onCreate(); Log.m11091e("dddd", "Call SipLibService onCreate"); Log.m11095i(START_LINPHONE_LOGS); this.mNM = (NotificationManager) getSystemService("notification"); LinphoneManager.createAndStart(this, this); this.mWifiManager = (WifiManager) getSystemService("wifi"); if (Version.sdkAboveOrEqual(12)) { startWifiLock(); } instance = this; if (Version.sdkStrictlyBelow(5)) { try { getClass().getMethod("setForeground", mSetFgSign); } catch (Throwable e) { Log.m11090e(e, "Couldn't find foreground method"); } } else { try { getClass().getMethod("startForeground", mStartFgSign); getClass().getMethod("stopForeground", mStopFgSign); } catch (Throwable e2) { Log.m11090e(e2, "Couldn't find startGoreground or stopForeground"); } } if (!this.mTestDelayElapsed) { this.mHandler.postDelayed(new C27971(), 5000); } this.mKeepAlivePendingIntent = PendingIntent.getBroadcast( this, IC_LEVEL_ORANGE, new Intent(this, KeepAliveHandler.class), 1073741824); ((AlarmManager) getSystemService("alarm")) .setRepeating(2, SystemClock.elapsedRealtime() + 1000, 60000, this.mKeepAlivePendingIntent); }
public synchronized void onDestroy() { instance = null; LinphoneManager.destroy(); if (Version.sdkAboveOrEqual(12)) { this.mWifiLock.release(); } ((AlarmManager) getSystemService("alarm")).cancel(this.mKeepAlivePendingIntent); super.onDestroy(); }
public void onCallStateChanged(LinphoneCall linphoneCall, State state, String str) { if (instance == null) { Log.m11095i("Service not ready, discarding call state change to ", state.toString()); return; } if (state == State.IncomingReceived) { onIncomingReceived(); } if (state == State.CallUpdatedByRemote) { boolean videoEnabled = linphoneCall.getRemoteParams().getVideoEnabled(); boolean videoEnabled2 = linphoneCall.getCurrentParamsCopy().getVideoEnabled(); boolean shouldAutomaticallyAcceptVideoRequests = LinphonePreferences.instance().shouldAutomaticallyAcceptVideoRequests(); if (!(!videoEnabled || videoEnabled2 || shouldAutomaticallyAcceptVideoRequests || LinphoneManager.getLc().isInConference())) { try { LinphoneManager.getLc().deferCallUpdate(linphoneCall); } catch (Throwable e) { C1104b.m6368b((Object) this, e); } } } if (state == State.StreamsRunning) { if (getResources().getBoolean(C1134b.enable_call_notification)) {} if (Version.sdkAboveOrEqual(12)) { this.mWifiLock.acquire(); } } else if (getResources().getBoolean(C1134b.enable_call_notification)) { } if ((state == State.CallEnd || state == State.Error) && LinphoneManager.getLc().getCallsNb() < 1 && Version.sdkAboveOrEqual(12)) { this.mWifiLock.release(); } this.mHandler.post(new C28015(linphoneCall, state, str)); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); instance = this; getWindow() .addFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); setContentView(R.layout.incall); isTransferAllowed = getApplicationContext().getResources().getBoolean(R.bool.allow_transfers); isSpeakerEnabled = LinphoneManager.getLcIfManagerNotDestroyedOrNull().isSpeakerEnabled(); if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30)) { if (!BluetoothManager.getInstance().isBluetoothHeadsetAvailable()) { BluetoothManager.getInstance().initBluetooth(); } else { isSpeakerEnabled = false; } } isAnimationDisabled = getApplicationContext().getResources().getBoolean(R.bool.disable_animations) || !LinphonePreferences.instance().areAnimationsEnabled(); mListener = new LinphoneCoreListenerBase() { @Override public void callState( LinphoneCore lc, final LinphoneCall call, LinphoneCall.State state, String message) { if (LinphoneManager.getLc().getCallsNb() == 0) { finish(); return; } if (state == State.IncomingReceived) { startIncomingCallActivity(); return; } if (state == State.StreamsRunning) { LinphoneManager.getLc().enableSpeaker(isSpeakerEnabled); isMicMuted = LinphoneManager.getLc().isMicMuted(); enableAndRefreshInCallActions(); if (status != null) { status.refreshStatusItems(call); } } refreshInCallActions(); refreshCallList(getResources()); if (state == State.CallUpdatedByRemote) { acceptCallUpdate(); return; } transfer.setEnabled(LinphoneManager.getLc().getCurrentCall() != null); } }; if (findViewById(R.id.fragmentContainer) != null) { initUI(); if (LinphoneManager.getLc().getCallsNb() > 0) { LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; if (LinphoneUtils.isCallEstablished(call)) { enableAndRefreshInCallActions(); } } if (savedInstanceState != null) { // Fragment already created, no need to create it again (else it will generate a memory leak // with duplicated fragments) isSpeakerEnabled = savedInstanceState.getBoolean("Speaker"); isMicMuted = savedInstanceState.getBoolean("Mic"); refreshInCallActions(); return; } audioCallFragment = new AudioCallFragment(); if (BluetoothManager.getInstance().isBluetoothHeadsetAvailable()) { BluetoothManager.getInstance().routeAudioToBluetooth(); } audioCallFragment.setArguments(getIntent().getExtras()); getSupportFragmentManager() .beginTransaction() .add(R.id.fragmentContainer, audioCallFragment) .commitAllowingStateLoss(); } }