@Override
 public void onBackPressed() {
   Fragment fragment = getFragmentManager().findFragmentByTag(CONVERSATION_CALL_FRAGMENT);
   if (fragment == null) {
     super.onBackPressed();
     logoutSession();
   }
 }
 @Override
 protected void onResume() {
   if (currentSession == null) {
     addOpponentsFragment();
   }
   super.onResume();
   networkConnectionChecker.registerListener(this);
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    opponentsList = DataHolder.getUsers();

    Log.d(TAG, "Activity. Thread id: " + Thread.currentThread().getId());

    if (savedInstanceState == null) {
      addOpponentsFragment();
    }

    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
    sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
    initQBRTCClient();
    initAudioManager();
    initWiFiManagerListener();

    initPingListener(); // comment if you don't want to start pinging server in background by alarm
                        // manager

    ringtonePlayer = new RingtonePlayer(this, R.raw.beep);
    connectionView = (LinearLayout) View.inflate(this, R.layout.connection_popup, null);
  }
 @Override
 protected void onDestroy() {
   super.onDestroy();
   opponentsList = null;
   OpponentsAdapter.i = 0;
 }
 @Override
 protected void onStop() {
   super.onStop();
 }
 @Override
 protected void onPause() {
   super.onPause();
   networkConnectionChecker.unregisterListener(this);
 }