mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-06 03:49:58 +02:00
Merge pull request #1400 from deltachat/tweak-avatars
fix opening avatar-preview
This commit is contained in:
commit
2c6a966e8c
6 changed files with 39 additions and 9 deletions
|
@ -1,6 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item android:id="@+id/media_preview__edit"
|
||||
android:title="@string/menu_group_name_and_image"
|
||||
android:icon="@drawable/ic_create_white_24dp"
|
||||
app:showAsAction="always"/>
|
||||
<item android:id="@+id/media_preview__forward"
|
||||
android:title="@string/menu_forward"
|
||||
android:icon="@drawable/ic_forward_white_24dp"
|
||||
|
|
|
@ -168,7 +168,6 @@
|
|||
<string name="menu_select_all">Select all</string>
|
||||
<string name="menu_expand">Expand</string>
|
||||
<string name="menu_edit_name">Edit name</string>
|
||||
<string name="menu_edit_group_name_and_image">Edit group name and image</string>
|
||||
<string name="menu_edit_group_name">Edit group name</string>
|
||||
<string name="menu_edit_group_image">Edit group image</string>
|
||||
<string name="menu_settings">Settings</string>
|
||||
|
|
|
@ -213,7 +213,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
|
|||
protected void onPostExecute(byte[] result) {
|
||||
if (result != null) {
|
||||
avatarBytes = result;
|
||||
GlideApp.with(getApplicationContext())
|
||||
GlideApp.with(CreateProfileActivity.this)
|
||||
.load(avatarBytes)
|
||||
.skipMemoryCache(true)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
|
|
|
@ -126,7 +126,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
|
|||
|
||||
String title;
|
||||
if(isEdit()) {
|
||||
title = getString(R.string.menu_edit_group);
|
||||
title = getString(R.string.menu_group_name_and_image);
|
||||
}
|
||||
else if(verified) {
|
||||
title = getString(R.string.menu_new_verified_group);
|
||||
|
|
|
@ -78,6 +78,8 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
|
||||
private final static String TAG = MediaPreviewActivity.class.getSimpleName();
|
||||
|
||||
public static final String ACTIVITY_TITLE_EXTRA = "activity_title";
|
||||
public static final String EDIT_AVATAR_CHAT_ID = "avatar_for_chat_id";
|
||||
public static final String ADDRESS_EXTRA = "address";
|
||||
public static final String OUTGOING_EXTRA = "outgoing";
|
||||
public static final String LEFT_IS_RECENT_EXTRA = "left_is_recent";
|
||||
|
@ -101,6 +103,8 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
|
||||
private int restartItem = -1;
|
||||
|
||||
private int editAvatarChatId = 0;
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Override
|
||||
protected void onCreate(Bundle bundle, boolean ready) {
|
||||
|
@ -114,6 +118,12 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
setContentView(R.layout.media_preview_activity);
|
||||
|
||||
editAvatarChatId = getIntent().getIntExtra(EDIT_AVATAR_CHAT_ID, 0);
|
||||
@Nullable String title = getIntent().getStringExtra(ACTIVITY_TITLE_EXTRA);
|
||||
if (title!=null) {
|
||||
getSupportActionBar().setTitle(title);
|
||||
}
|
||||
|
||||
initializeViews();
|
||||
initializeResources();
|
||||
}
|
||||
|
@ -246,6 +256,17 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
return restartItem;
|
||||
}
|
||||
|
||||
private void editAvatar() {
|
||||
Intent intent = new Intent(this, GroupCreateActivity.class);
|
||||
intent.putExtra(GroupCreateActivity.EDIT_GROUP_CHAT_ID, editAvatarChatId);
|
||||
if (dcContext.getChat(editAvatarChatId).isVerified()) {
|
||||
intent.putExtra(GroupCreateActivity.GROUP_CREATE_VERIFIED_EXTRA, true);
|
||||
}
|
||||
startActivity(intent);
|
||||
finish(); // avoid the need to update the enlarged-avatar
|
||||
}
|
||||
|
||||
|
||||
private void showOverview() {
|
||||
if(conversationRecipient.getAddress().isDcChat()) {
|
||||
Intent intent = new Intent(this, ProfileActivity.class);
|
||||
|
@ -338,6 +359,10 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
menu.findItem(R.id.media_preview__forward).setVisible(false);
|
||||
}
|
||||
|
||||
if (editAvatarChatId==0) {
|
||||
menu.findItem(R.id.media_preview__edit).setVisible(false);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -346,6 +371,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
|||
super.onOptionsItemSelected(item);
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.media_preview__edit: editAvatar(); return true;
|
||||
case R.id.media_preview__overview: showOverview(); return true;
|
||||
case R.id.media_preview__forward: forward(); return true;
|
||||
case R.id.save: saveToDisk(); return true;
|
||||
|
|
|
@ -98,7 +98,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
|||
|
||||
titleView = (ConversationTitleView) supportActionBar.getCustomView();
|
||||
titleView.setOnBackClickedListener(view -> onBackPressed());
|
||||
titleView.setOnAvatarClickListener(view -> onEnlargeAvatar());
|
||||
titleView.setOnClickListener(view -> onEnlargeAvatar());
|
||||
|
||||
updateToolbar();
|
||||
|
||||
|
@ -118,7 +118,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
|||
if (chatId != 0) {
|
||||
inflater.inflate(R.menu.profile_chat, menu);
|
||||
if (chatIsGroup) {
|
||||
menu.findItem(R.id.edit_name).setTitle(R.string.menu_edit_group_name_and_image);
|
||||
menu.findItem(R.id.edit_name).setTitle(R.string.menu_group_name_and_image);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -401,12 +401,13 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
|||
profileImagePath = dcContext.getContact(contactId).getProfileImage();
|
||||
|
||||
profileImageUri = Uri.fromFile(new File(profileImagePath));
|
||||
Context ctx = getBaseContext();
|
||||
String type = "image/" + profileImagePath.substring(profileImagePath.lastIndexOf(".") +1);
|
||||
|
||||
Intent intent = new Intent(ctx, MediaPreviewActivity.class);
|
||||
intent.setDataAndType(profileImageUri, type);
|
||||
ctx.startActivity(intent);
|
||||
Intent intent = new Intent(this, MediaPreviewActivity.class);
|
||||
intent.setDataAndType(profileImageUri, type);
|
||||
intent.putExtra(MediaPreviewActivity.ACTIVITY_TITLE_EXTRA, getString(isContactProfile() ? R.string.pref_profile_photo : R.string.group_avatar));
|
||||
intent.putExtra(MediaPreviewActivity.EDIT_AVATAR_CHAT_ID, chatIsGroup ? chatId : 0); // shows edit-button, might be 0 for a contact-profile
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public void onEditName() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue