Example #1
0
 private void doCreateText() {
   Log.d(TAG, "Trying to resolve name " + mRecipient.getText().toString());
   if (recipientNo != 0) {
     new CreateTextTask().execute();
   } else {
     ConfInfo[] users = mKom.getUsers(mRecipient.getText().toString());
     ConfInfo[] confs = mKom.getConferences(mRecipient.getText().toString());
     final ConfInfo[] conferences = new ConfInfo[users.length + confs.length];
     if (users.length > 0) {
       for (int i = 0; i < users.length; i++) {
         conferences[i] = users[i];
       }
     }
     if (confs.length > 0) {
       for (int i = 0; i < confs.length; i++) {
         conferences[i + users.length] = confs[i];
       }
     }
     if (conferences != null) {
       if (conferences.length > 1) {
         Log.d(TAG, "Ambigous name");
         final CharSequence[] items = new CharSequence[conferences.length];
         for (int i = 0; i < conferences.length; i++) {
           items[i] = new String(conferences[i].getNameString());
           Log.d(TAG, "Name " + i + ":" + items[i]);
         }
         AlertDialog.Builder builder = new AlertDialog.Builder(CreateNewIM.this);
         builder.setTitle(getString(R.string.pick_a_name));
         builder.setSingleChoiceItems(
             items,
             -1,
             new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int item) {
                 Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
                 dialog.cancel();
                 recipientNo = conferences[item].confNo;
                 Log.d(
                     TAG,
                     "Selected confNo:"
                         + recipientNo
                         + ":"
                         + new String(conferences[item].getNameString()));
                 doCreateText();
               }
             });
         AlertDialog alert = builder.create();
         alert.show();
       } else if (conferences.length < 1) {
         Log.e(TAG, "No such recipient:" + mRecipient.getText().toString());
       } else {
         recipientNo = conferences[0].confNo;
         new CreateTextTask().execute();
       }
     }
   }
 }
Example #2
0
 @Override
 protected ConfInfo[] doInBackground(final Void... args) {
   try {
     switch (mLookupType) {
       case LOOKUP_USERS:
         return mKom.getSession().lookupName(mRecip, true, false);
       case LOOKUP_CONFERENCES:
         return mKom.getSession().lookupName(mRecip, false, true);
       case LOOKUP_BOTH:
         return mKom.getSession().lookupName(mRecip, true, true);
       default:
         return null;
     }
   } catch (final RpcFailure e) {
     return null;
   } catch (final IOException e) {
     return null;
   }
 }