@Override
  public void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "Startup");
    super.onCreate(savedInstanceState);

    preferences = new Preferences(this);

    int versionCode = 0;
    try {
      versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
    } catch (NameNotFoundException e) {
      e.printStackTrace();
    }

    if (preferences.isThemeDisabled()) {
      setTheme(R.style.Theme_LameIrssiTheme);
    }

    MessageToServer.setVersion(versionCode);
    Preferences.setVersion(versionCode);

    // do initial settings
    if (preferences.getAccountName() == null
        || preferences.getGcmRegistrationId() == null
        || preferences.getGcmRegistrationIdVersion() != versionCode
        || (LicenseHelper.isPlusVersion(this) && preferences.getLicenseCount() == 0)) {
      Log.d(TAG, "Asking for initial settings");
      Intent i = new Intent(this, InitialSettingsActivity.class);
      startActivity(i);
      finish();
      return;
    }

    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    setIndeterminateProgressBarVisibility(false);

    Intent i = getIntent();
    if (i != null) {
      String intentChannelToView = i.getStringExtra("Channel");
      if (intentChannelToView != null && !preferences.isFeedViewDefault())
        channelToView = intentChannelToView;
    }

    boolean b = false;
    if (savedInstanceState != null) {
      b = savedInstanceState.getBoolean("rotated", false);
      channelToView = savedInstanceState.getString("channelToView");
    }

    IrcNotificationManager.getInstance().mainActivityOpened(this);
    startMainApp(b);
  }