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;
}
});
}
}
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) {
}
}
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);
}
}
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);
}
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);
}
}
}
}
Aggregations