@Override
  protected void onStart() {
    super.onStart();
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity);
    this.useSubject = preferences.getBoolean("use_subject_in_muc", true);
    // Log.i("hemant", "invite intent recieved" + getIntent().getAction());
    String inviteUser = "";
    // if (getIntent().getExtras() != null)
    // inviteUser = getIntent().getExtras().getString("Inviteuser");
    //
    inviteIntent = "invite".equals(getIntent().getAction());
    if (inviteIntent) {
      contactsHeader.setVisibility(View.GONE);
      actionMode = contactsView.startActionMode(actionModeCallback);
      createGroupButton.setVisibility(View.GONE);
      search.setVisibility(View.GONE);
      return;
    }

    // if (!inviteIntent
    // && ConversationActivity.INVITE_STRING
    // .equalsIgnoreCase("invite")) {
    // contactsHeader.setVisibility(View.GONE);
    // actionMode = contactsView.startActionMode(actionModeCallback);
    // createGroupButton.setVisibility(View.GONE);
    // search.setVisibility(View.GONE);
    // //ConversationActivity.INVITE_STRING = "";
    // }
    // else if (inviteUser.equals("invite")) {
    // contactsHeader.setVisibility(View.GONE);
    // actionMode = contactsView.startActionMode(actionModeCallback);
    // createGroupButton.setVisibility(View.GONE);
    // search.setVisibility(View.GONE);
    // }
  }
 @Override
 public void onActionModeFinished(ActionMode mode) {
   super.onActionModeFinished(mode);
   if (inviteIntent) {
     finish();
   } else {
     this.isActionMode = false;
     contactsView.clearChoices();
     contactsView.requestLayout();
     contactsView.post(
         new Runnable() {
           @Override
           public void run() {
             contactsView.setChoiceMode(ListView.CHOICE_MODE_NONE);
           }
         });
     search.setEnabled(true);
   }
 }
 @Override
 public void onActionModeStarted(ActionMode mode) {
   super.onActionModeStarted(mode);
   this.isActionMode = true;
   search.setEnabled(false);
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_new_conversation);

    contactsHeader = (TextView) findViewById(R.id.contacts_header);
    createGroupButton = (Button) findViewById(R.id.button_conversation);
    search = (EditText) findViewById(R.id.new_conversation_search);
    search.addTextChangedListener(
        new TextWatcher() {

          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count) {
            searchString = search.getText().toString();
            updateAggregatedContacts();
          }

          @Override
          public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

          }

          @Override
          public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            // TODO Auto-generated method stub

          }
        });

    contactsView = (ListView) findViewById(R.id.contactList);
    contactsAdapter =
        new ArrayAdapter<Contact>(getApplicationContext(), R.layout.contact, aggregatedContacts) {
          @Override
          public View getView(int position, View view, ViewGroup parent) {
            LayoutInflater inflater =
                (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            Contact contact = getItem(position);
            if (view == null) {
              view = (View) inflater.inflate(R.layout.contact, null);
            }

            ((TextView) view.findViewById(R.id.contact_display_name))
                .setText(getItem(position).getDisplayName());
            TextView contactJid = (TextView) view.findViewById(R.id.contact_jid);
            contactJid.setText(contact.getJid());
            ImageView imageView = (ImageView) view.findViewById(R.id.contact_photo);
            imageView.setImageBitmap(
                UIHelper.getContactPicture(contact, 48, this.getContext(), false));
            return view;
          }
        };
    contactsView.setAdapter(contactsAdapter);
    contactsView.setMultiChoiceModeListener(actionModeCallback);
    contactsView.setOnItemClickListener(
        new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> arg0, final View view, int pos, long arg3) {
            if (!isActionMode) {
              Contact clickedContact = aggregatedContacts.get(pos);
              startConversation(clickedContact);
              // startConference();
            } else {
              actionMode.invalidate();
            }
          }
        });
    contactsView.setOnItemLongClickListener(this.onLongClickListener);
  }
  @Override
  protected void onCreate(final Bundle savedInstanceState) {
    if (getResources().getBoolean(R.bool.portrait_only)) {
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome);
    final ActionBar ab = getActionBar();
    if (ab != null) {
      ab.setDisplayShowHomeEnabled(false);
      ab.setDisplayHomeAsUpEnabled(false);
    }

    // check if there is a backed up database --
    if (hasStoragePermission(REQUEST_READ_EXTERNAL_STORAGE)) {
      BackupAvailable();
    }

    final Button ImportDatabase = (Button) findViewById(R.id.import_database);
    final TextView ImportText = (TextView) findViewById(R.id.import_text);

    if (BackupAvailable()) {
      ImportDatabase.setVisibility(View.VISIBLE);
      ImportText.setVisibility(View.VISIBLE);
    }

    ImportDatabase.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            enterPasswordDialog();
          }
        });

    final Button createAccount = (Button) findViewById(R.id.create_account);
    createAccount.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            Intent intent = new Intent(WelcomeActivity.this, MagicCreateActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            startActivity(intent);
          }
        });
    final Button useOwnProvider = (Button) findViewById(R.id.use_existing_account);
    useOwnProvider.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            List<Account> accounts = xmppConnectionService.getAccounts();
            Intent intent = new Intent(WelcomeActivity.this, EditAccountActivity.class);
            if (accounts.size() == 1) {
              intent.putExtra("jid", accounts.get(0).getJid().toBareJid().toString());
              intent.putExtra("init", true);
            } else if (accounts.size() >= 1) {
              intent = new Intent(WelcomeActivity.this, ManageAccountActivity.class);
            }
            startActivity(intent);
          }
        });
  }