Search in sources :

Example 16 with ImApp

use of org.awesomeapp.messenger.ImApp in project Zom-Android by zom.

the class AccountListItem method init.

public void init(Activity activity, Cursor c, boolean showLongName, SignInManager signInManager) {
    mActivity = activity;
    mResolver = mActivity.getContentResolver();
    mSignInManager = signInManager;
    mShowLongName = showLongName;
    mProviderIdColumn = c.getColumnIndexOrThrow(Imps.Provider._ID);
    mSignInSwitch = (CompoundButton) findViewById(R.id.statusSwitch);
    mProviderName = (TextView) findViewById(R.id.providerName);
    mLoginName = (TextView) findViewById(R.id.loginName);
    mActiveAccountIdColumn = c.getColumnIndexOrThrow(Imps.Provider.ACTIVE_ACCOUNT_ID);
    mActiveAccountUserNameColumn = c.getColumnIndexOrThrow(Imps.Provider.ACTIVE_ACCOUNT_USERNAME);
    mAccountPresenceStatusColumn = c.getColumnIndexOrThrow(Imps.Provider.ACCOUNT_PRESENCE_STATUS);
    mAccountConnectionStatusColumn = c.getColumnIndexOrThrow(Imps.Provider.ACCOUNT_CONNECTION_STATUS);
    mActiveAccountNickNameColumn = c.getColumnIndexOrThrow(Imps.Provider.ACTIVE_ACCOUNT_NICKNAME);
    setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(mActivity, AccountSettingsActivity.class);
            intent.putExtra(ImServiceConstants.EXTRA_INTENT_PROVIDER_ID, mProviderId);
            intent.putExtra(ImServiceConstants.EXTRA_INTENT_ACCOUNT_ID, mAccountId);
            mActivity.startActivity(intent);
        }
    });
    setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            ImApp app = (ImApp) mActivity.getApplication();
            app.setDefaultAccount(mProviderId, mAccountId);
            Snackbar.make(v, "Default account changed", Snackbar.LENGTH_LONG).show();
            return true;
        }
    });
    if (mSignInSwitch != null) {
        mSignInSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked)
                    mSignInManager.signIn(mProviderId, mAccountId);
                else
                    mSignInManager.signOut(mProviderId, mAccountId);
                mUserChanged = true;
            }
        });
    }
}
Also used : Intent(android.content.Intent) ImApp(org.awesomeapp.messenger.ImApp) TextView(android.widget.TextView) View(android.view.View) CompoundButton(android.widget.CompoundButton)

Example 17 with ImApp

use of org.awesomeapp.messenger.ImApp in project Zom-Android by zom.

the class ContactsListFragment method archiveContact.

private static void archiveContact(Activity activity, String address, int contactType, long providerId, long accountId) {
    try {
        IImConnection mConn;
        ImApp app = ((ImApp) activity.getApplication());
        mConn = app.getConnection(providerId, accountId);
        // then delete the contact from our list
        IContactListManager manager = mConn.getContactListManager();
        int res = manager.archiveContact(address, contactType, true);
        if (res != ImErrorInfo.NO_ERROR) {
        // mHandler.showAlert(R.string.error,
        // ErrorResUtils.getErrorRes(getResources(), res, address));
        }
    } catch (RemoteException re) {
    }
}
Also used : IImConnection(org.awesomeapp.messenger.service.IImConnection) ImApp(org.awesomeapp.messenger.ImApp) IContactListManager(org.awesomeapp.messenger.service.IContactListManager) RemoteException(android.os.RemoteException) Paint(android.graphics.Paint)

Example 18 with ImApp

use of org.awesomeapp.messenger.ImApp in project Zom-Android by zom.

the class AccountFragment method setAvatar.

private void setAvatar(Bitmap bmp) {
    BitmapDrawable avatar = new BitmapDrawable(bmp);
    mIvAvatar.setImageDrawable(avatar);
    final ImApp app = ((ImApp) getActivity().getApplication());
    try {
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.JPEG, 90, stream);
        byte[] avatarBytesCompressed = stream.toByteArray();
        String avatarHash = "nohash";
        int rowsUpdated = DatabaseUtils.updateAvatarBlob(getActivity().getContentResolver(), Imps.Avatars.CONTENT_URI, avatarBytesCompressed, mUserAddress);
        if (rowsUpdated <= 0)
            DatabaseUtils.insertAvatarBlob(getActivity().getContentResolver(), Imps.Avatars.CONTENT_URI, mProviderId, mAccountId, avatarBytesCompressed, avatarHash, mUserAddress);
        if (mConn != null) {
            try {
                // this will also trigger an update of the avatar
                mConn.changeNickname(mTvNickname.getText().toString());
            } catch (RemoteException e) {
            }
        }
    } catch (Exception e) {
        Log.w(ImApp.LOG_TAG, "error loading image bytes", e);
    }
}
Also used : ImApp(org.awesomeapp.messenger.ImApp) BitmapDrawable(android.graphics.drawable.BitmapDrawable) ByteArrayOutputStream(java.io.ByteArrayOutputStream) RemoteException(android.os.RemoteException) RemoteException(android.os.RemoteException) IOException(java.io.IOException)

Example 19 with ImApp

use of org.awesomeapp.messenger.ImApp in project Zom-Android by zom.

the class ServicesActivity method onBotClicked.

@Override
public void onBotClicked(final String jid, final String nickname) {
    ImApp app = (ImApp) getApplication();
    final ProgressDialog dialog;
    dialog = new ProgressDialog(this);
    dialog.setMessage(getString(R.string.upgrade_progress_action));
    dialog.setCancelable(true);
    dialog.show();
    new AddContactAsyncTask(app.getDefaultProviderId(), app.getDefaultAccountId(), app) {

        @Override
        protected void onPostExecute(Integer response) {
            super.onPostExecute(response);
            if (dialog.isShowing()) {
                dialog.dismiss();
            }
            Intent intent = new Intent(ServicesActivity.this, MainActivity.class);
            intent.putExtra("username", jid);
            startActivity(intent);
            finish();
        }
    }.execute(jid, null, nickname);
}
Also used : AddContactAsyncTask(org.awesomeapp.messenger.tasks.AddContactAsyncTask) ImApp(org.awesomeapp.messenger.ImApp) Intent(android.content.Intent) MainActivity(org.awesomeapp.messenger.MainActivity) ProgressDialog(android.app.ProgressDialog)

Example 20 with ImApp

use of org.awesomeapp.messenger.ImApp in project Zom-Android by zom.

the class OnboardingActivity method onActivityResult.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    ImApp mApp = (ImApp) getApplication();
    mApp.initAccountInfo();
    if (resultCode == RESULT_OK) {
        if (requestCode == OnboardingManager.REQUEST_SCAN) {
            showInviteScreen();
            ArrayList<String> resultScans = data.getStringArrayListExtra("result");
            for (String resultScan : resultScans) {
                try {
                    // parse each string and if they are for a new user then add the user
                    OnboardingManager.DecodedInviteLink diLink = OnboardingManager.decodeInviteLink(resultScan);
                    new AddContactAsyncTask(mNewAccount.providerId, mNewAccount.accountId, mApp).execute(diLink.username, diLink.fingerprint, diLink.nickname);
                // if they are for a group chat, then add the group
                } catch (Exception e) {
                    Log.w(ImApp.LOG_TAG, "error parsing QR invite link", e);
                }
            }
            if (resultScans.size() > 0) {
                showMainScreen();
            }
        } else if (requestCode == OnboardingManager.REQUEST_CHOOSE_AVATAR) {
            Uri imageUri = getPickImageResultUri(data);
            if (imageUri == null)
                return;
            // (CropImageView)view.findViewById(R.id.CropImageView);
            mCropImageView = new CropImageView(OnboardingActivity.this);
            mCropImageView.setAspectRatio(1, 1);
            mCropImageView.setFixedAspectRatio(true);
            mCropImageView.setCropShape(CropImageView.CropShape.OVAL);
            try {
                Bitmap bmpThumbnail = SecureMediaStore.getThumbnailFile(OnboardingActivity.this, imageUri, 512);
                mCropImageView.setImageBitmap(bmpThumbnail);
                // Use the Builder class for convenient dialog construction
                android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(OnboardingActivity.this);
                builder.setView(mCropImageView).setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int id) {
                        setAvatar(mCropImageView.getCroppedImage(), mNewAccount);
                        showInviteScreen();
                        delete(mOutputFileUri);
                    }
                }).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int id) {
                        // User cancelled the dialog
                        delete(mOutputFileUri);
                    }
                });
                // Create the AlertDialog object and return it
                android.support.v7.app.AlertDialog dialog = builder.create();
                dialog.show();
                ;
            } catch (IOException ioe) {
                Log.e(ImApp.LOG_TAG, "couldn't load avatar", ioe);
            }
        }
    }
}
Also used : AlertDialog(android.app.AlertDialog) AddContactAsyncTask(org.awesomeapp.messenger.tasks.AddContactAsyncTask) DialogInterface(android.content.DialogInterface) ImApp(org.awesomeapp.messenger.ImApp) IOException(java.io.IOException) Uri(android.net.Uri) IOException(java.io.IOException) Bitmap(android.graphics.Bitmap) OnClickListener(android.view.View.OnClickListener) CropImageView(com.theartofdev.edmodo.cropper.CropImageView)

Aggregations

ImApp (org.awesomeapp.messenger.ImApp)21 RemoteException (android.os.RemoteException)10 IImConnection (org.awesomeapp.messenger.service.IImConnection)8 IContactListManager (org.awesomeapp.messenger.service.IContactListManager)6 IOException (java.io.IOException)5 Activity (android.app.Activity)4 Intent (android.content.Intent)4 View (android.view.View)4 Cursor (android.database.Cursor)3 Paint (android.graphics.Paint)3 TextView (android.widget.TextView)3 XmppAddress (org.awesomeapp.messenger.plugin.xmpp.XmppAddress)3 IChatSession (org.awesomeapp.messenger.service.IChatSession)3 BitmapDrawable (android.graphics.drawable.BitmapDrawable)2 CropImageView (com.theartofdev.edmodo.cropper.CropImageView)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 Contact (org.awesomeapp.messenger.model.Contact)2 Imps (org.awesomeapp.messenger.provider.Imps)2 AddContactAsyncTask (org.awesomeapp.messenger.tasks.AddContactAsyncTask)2 AlertDialog (android.app.AlertDialog)1