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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
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"
|
<item android:id="@+id/media_preview__forward"
|
||||||
android:title="@string/menu_forward"
|
android:title="@string/menu_forward"
|
||||||
android:icon="@drawable/ic_forward_white_24dp"
|
android:icon="@drawable/ic_forward_white_24dp"
|
||||||
|
|
|
@ -168,7 +168,6 @@
|
||||||
<string name="menu_select_all">Select all</string>
|
<string name="menu_select_all">Select all</string>
|
||||||
<string name="menu_expand">Expand</string>
|
<string name="menu_expand">Expand</string>
|
||||||
<string name="menu_edit_name">Edit name</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_name">Edit group name</string>
|
||||||
<string name="menu_edit_group_image">Edit group image</string>
|
<string name="menu_edit_group_image">Edit group image</string>
|
||||||
<string name="menu_settings">Settings</string>
|
<string name="menu_settings">Settings</string>
|
||||||
|
|
|
@ -213,7 +213,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
|
||||||
protected void onPostExecute(byte[] result) {
|
protected void onPostExecute(byte[] result) {
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
avatarBytes = result;
|
avatarBytes = result;
|
||||||
GlideApp.with(getApplicationContext())
|
GlideApp.with(CreateProfileActivity.this)
|
||||||
.load(avatarBytes)
|
.load(avatarBytes)
|
||||||
.skipMemoryCache(true)
|
.skipMemoryCache(true)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
|
|
|
@ -126,7 +126,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
|
||||||
|
|
||||||
String title;
|
String title;
|
||||||
if(isEdit()) {
|
if(isEdit()) {
|
||||||
title = getString(R.string.menu_edit_group);
|
title = getString(R.string.menu_group_name_and_image);
|
||||||
}
|
}
|
||||||
else if(verified) {
|
else if(verified) {
|
||||||
title = getString(R.string.menu_new_verified_group);
|
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();
|
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 ADDRESS_EXTRA = "address";
|
||||||
public static final String OUTGOING_EXTRA = "outgoing";
|
public static final String OUTGOING_EXTRA = "outgoing";
|
||||||
public static final String LEFT_IS_RECENT_EXTRA = "left_is_recent";
|
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 restartItem = -1;
|
||||||
|
|
||||||
|
private int editAvatarChatId = 0;
|
||||||
|
|
||||||
@SuppressWarnings("ConstantConditions")
|
@SuppressWarnings("ConstantConditions")
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle bundle, boolean ready) {
|
protected void onCreate(Bundle bundle, boolean ready) {
|
||||||
|
@ -114,6 +118,12 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
setContentView(R.layout.media_preview_activity);
|
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();
|
initializeViews();
|
||||||
initializeResources();
|
initializeResources();
|
||||||
}
|
}
|
||||||
|
@ -246,6 +256,17 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
||||||
return restartItem;
|
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() {
|
private void showOverview() {
|
||||||
if(conversationRecipient.getAddress().isDcChat()) {
|
if(conversationRecipient.getAddress().isDcChat()) {
|
||||||
Intent intent = new Intent(this, ProfileActivity.class);
|
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);
|
menu.findItem(R.id.media_preview__forward).setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (editAvatarChatId==0) {
|
||||||
|
menu.findItem(R.id.media_preview__edit).setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -346,6 +371,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
||||||
super.onOptionsItemSelected(item);
|
super.onOptionsItemSelected(item);
|
||||||
|
|
||||||
switch (item.getItemId()) {
|
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__overview: showOverview(); return true;
|
||||||
case R.id.media_preview__forward: forward(); return true;
|
case R.id.media_preview__forward: forward(); return true;
|
||||||
case R.id.save: saveToDisk(); return true;
|
case R.id.save: saveToDisk(); return true;
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
||||||
|
|
||||||
titleView = (ConversationTitleView) supportActionBar.getCustomView();
|
titleView = (ConversationTitleView) supportActionBar.getCustomView();
|
||||||
titleView.setOnBackClickedListener(view -> onBackPressed());
|
titleView.setOnBackClickedListener(view -> onBackPressed());
|
||||||
titleView.setOnAvatarClickListener(view -> onEnlargeAvatar());
|
titleView.setOnClickListener(view -> onEnlargeAvatar());
|
||||||
|
|
||||||
updateToolbar();
|
updateToolbar();
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
|
||||||
if (chatId != 0) {
|
if (chatId != 0) {
|
||||||
inflater.inflate(R.menu.profile_chat, menu);
|
inflater.inflate(R.menu.profile_chat, menu);
|
||||||
if (chatIsGroup) {
|
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();
|
profileImagePath = dcContext.getContact(contactId).getProfileImage();
|
||||||
|
|
||||||
profileImageUri = Uri.fromFile(new File(profileImagePath));
|
profileImageUri = Uri.fromFile(new File(profileImagePath));
|
||||||
Context ctx = getBaseContext();
|
|
||||||
String type = "image/" + profileImagePath.substring(profileImagePath.lastIndexOf(".") +1);
|
String type = "image/" + profileImagePath.substring(profileImagePath.lastIndexOf(".") +1);
|
||||||
|
|
||||||
Intent intent = new Intent(ctx, MediaPreviewActivity.class);
|
Intent intent = new Intent(this, MediaPreviewActivity.class);
|
||||||
intent.setDataAndType(profileImageUri, type);
|
intent.setDataAndType(profileImageUri, type);
|
||||||
ctx.startActivity(intent);
|
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() {
|
public void onEditName() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue