Search in sources :

Example 1 with ImApp

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

the class OnboardingActivity method setAvatar.

private void setAvatar(Bitmap bmp, OnboardingAccount account) {
    RoundedAvatarDrawable avatar = new RoundedAvatarDrawable(bmp);
    mImageAvatar.setImageDrawable(avatar);
    final ImApp app = ((ImApp) getApplication());
    try {
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.JPEG, 90, stream);
        byte[] avatarBytesCompressed = stream.toByteArray();
        String avatarHash = "nohash";
        DatabaseUtils.insertAvatarBlob(getContentResolver(), Imps.Avatars.CONTENT_URI, account.providerId, account.accountId, avatarBytesCompressed, avatarHash, account.username + '@' + account.domain);
    } catch (Exception e) {
        Log.w(ImApp.LOG_TAG, "error loading image bytes", e);
    }
}
Also used : ImApp(org.awesomeapp.messenger.ImApp) RoundedAvatarDrawable(org.awesomeapp.messenger.ui.widgets.RoundedAvatarDrawable) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException)

Example 2 with ImApp

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

the class AccountFragment method onCreateView.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    mApp = ((ImApp) getActivity().getApplication());
    mProviderId = mApp.getDefaultProviderId();
    mAccountId = mApp.getDefaultAccountId();
    mUserAddress = mApp.getDefaultUsername();
    mUserKey = mApp.getDefaultOtrKey();
    mNickname = Imps.Account.getNickname(getContext().getContentResolver(), mAccountId);
    mView = inflater.inflate(R.layout.awesome_fragment_account, container, false);
    if (!TextUtils.isEmpty(mUserAddress)) {
        mConn = mApp.getConnection(mProviderId, mAccountId);
        // make sure any whitespace is removed
        mUserAddress = mUserAddress.trim();
        mTvNickname = (TextView) mView.findViewById(R.id.tvNickname);
        TextView tvUsername = (TextView) mView.findViewById(R.id.edtName);
        tvUsername.setOnLongClickListener(new View.OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
                ClipData clip = ClipData.newPlainText(getActivity().getString(R.string.app_name), mUserAddress);
                clipboard.setPrimaryClip(clip);
                Toast.makeText(getActivity(), R.string.action_copied, Toast.LENGTH_SHORT).show();
                return true;
            }
        });
        mTvPassword = (TextView) mView.findViewById(R.id.edtPass);
        mTvPassword.setText(DEFAULT_PASSWORD_TEXT);
        View btnShowPassword = mView.findViewById(R.id.btnShowPass);
        btnShowPassword.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                if (mTvPassword.getText().toString().equals(DEFAULT_PASSWORD_TEXT))
                    mTvPassword.setText(getAccountPassword(mProviderId));
                else
                    mTvPassword.setText(DEFAULT_PASSWORD_TEXT);
            }
        });
        View btnEditAccountNickname = mView.findViewById(R.id.edit_account_nickname);
        btnEditAccountNickname.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                showChangeNickname();
            }
        });
        View btnEditAccountPassword = mView.findViewById(R.id.edit_account_password);
        btnEditAccountPassword.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                showChangePassword();
            }
        });
        mIvAvatar = (ImageView) mView.findViewById(R.id.imageAvatar);
        mIvAvatar.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                startAvatarTaker();
            }
        });
        try {
            Drawable avatar = DatabaseUtils.getAvatarFromAddress(mApp.getContentResolver(), mUserAddress, ImApp.DEFAULT_AVATAR_WIDTH, ImApp.DEFAULT_AVATAR_HEIGHT, false);
            if (avatar != null)
                mIvAvatar.setImageDrawable(avatar);
        } catch (Exception e) {
            Log.w(ImApp.LOG_TAG, "error getting avatar", e);
        }
        tvUsername.setText(mUserAddress);
        mTvNickname.setText(mNickname);
        setFingerprints();
    }
    return mView;
}
Also used : ClipboardManager(android.content.ClipboardManager) Drawable(android.graphics.drawable.Drawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) ImApp(org.awesomeapp.messenger.ImApp) TextView(android.widget.TextView) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) CropImageView(com.theartofdev.edmodo.cropper.CropImageView) ClipData(android.content.ClipData) RemoteException(android.os.RemoteException) IOException(java.io.IOException)

Example 3 with ImApp

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

the class AddContactActivity method setupActions.

private void setupActions() {
    View btnInviteSms = findViewById(R.id.btnInviteSMS);
    btnInviteSms.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ImApp app = ((ImApp) getApplication());
            String nickname = app.getDefaultNickname();
            if (nickname == null)
                nickname = new XmppAddress(app.getDefaultUsername()).getUser();
            String inviteString = OnboardingManager.generateInviteMessage(AddContactActivity.this, nickname, app.getDefaultUsername(), app.getDefaultOtrKey());
            OnboardingManager.inviteSMSContact(AddContactActivity.this, null, inviteString);
        }
    });
    View btnInviteShare = findViewById(R.id.btnInviteShare);
    btnInviteShare.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ImApp app = ((ImApp) getApplication());
            String nickname = app.getDefaultNickname();
            if (nickname == null)
                nickname = new XmppAddress(app.getDefaultUsername()).getUser();
            String inviteString = OnboardingManager.generateInviteMessage(AddContactActivity.this, nickname, app.getDefaultUsername(), app.getDefaultOtrKey());
            OnboardingManager.inviteShare(AddContactActivity.this, inviteString);
        }
    });
    View btnInviteQR = findViewById(R.id.btnInviteScan);
    btnInviteQR.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (hasCameraPermission()) {
                ImApp app = ((ImApp) getApplication());
                try {
                    String xmppLink = OnboardingManager.generateXmppLink(app.getDefaultUsername(), app.getDefaultOtrKey());
                    OnboardingManager.inviteScan(AddContactActivity.this, xmppLink);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    });
}
Also used : XmppAddress(org.awesomeapp.messenger.plugin.xmpp.XmppAddress) ImApp(org.awesomeapp.messenger.ImApp) IOException(java.io.IOException) View(android.view.View) TextView(android.widget.TextView)

Example 4 with ImApp

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

the class ContactListItem method declineSubscription.

void declineSubscription() {
    ImApp app = ((ImApp) ((Activity) getContext()).getApplication());
    IImConnection mConn = app.getConnection(mHolder.mProviderId, mHolder.mAccountId);
    if (mConn != null) {
        try {
            IContactListManager manager = mConn.getContactListManager();
            manager.declineSubscription(new Contact(new XmppAddress(address), nickname, Imps.Contacts.TYPE_NORMAL));
            app.dismissChatNotification(mHolder.mProviderId, address);
            manager.removeContact(address);
        } catch (RemoteException e) {
            // mHandler.showServiceErrorAlert(e.getLocalizedMessage());
            LogCleaner.error(ImApp.LOG_TAG, "decline sub error", e);
        }
    }
}
Also used : IImConnection(org.awesomeapp.messenger.service.IImConnection) XmppAddress(org.awesomeapp.messenger.plugin.xmpp.XmppAddress) Activity(android.app.Activity) ImApp(org.awesomeapp.messenger.ImApp) IContactListManager(org.awesomeapp.messenger.service.IContactListManager) RemoteException(android.os.RemoteException) Contact(org.awesomeapp.messenger.model.Contact)

Example 5 with ImApp

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

the class ContactListItem method approveSubscription.

/*
    private String queryGroupMembers(ContentResolver resolver, long groupId) {
        String[] projection = { Imps.GroupMembers.NICKNAME };
        Uri uri = ContentUris.withAppendedId(Imps.GroupMembers.CONTENT_URI, groupId);
        Cursor c = resolver.query(uri, projection, null, null, null);
        StringBuilder buf = new StringBuilder();
        if (c != null) {
            while (c.moveToNext()) {
                buf.append(c.getString(0));
                                                Imps.Avatars.DATA
                if (!c.isLast()) {
                    buf.append(',');
                }
            }
        }
        c.close();

        return buf.toString();
    }*/
void approveSubscription() {
    ImApp app = ((ImApp) ((Activity) getContext()).getApplication());
    IImConnection mConn = app.getConnection(mHolder.mProviderId, mHolder.mAccountId);
    if (mConn != null) {
        try {
            IContactListManager manager = mConn.getContactListManager();
            manager.approveSubscription(new Contact(new XmppAddress(address), nickname, Imps.Contacts.TYPE_NORMAL));
        } catch (RemoteException e) {
            // mHandler.showServiceErrorAlert(e.getLocalizedMessage());
            LogCleaner.error(ImApp.LOG_TAG, "approve sub error", e);
        }
    }
}
Also used : IImConnection(org.awesomeapp.messenger.service.IImConnection) XmppAddress(org.awesomeapp.messenger.plugin.xmpp.XmppAddress) Activity(android.app.Activity) ImApp(org.awesomeapp.messenger.ImApp) IContactListManager(org.awesomeapp.messenger.service.IContactListManager) RemoteException(android.os.RemoteException) Contact(org.awesomeapp.messenger.model.Contact)

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