diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
index 7175e5ea..b33745c4 100644
--- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
+++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
@@ -296,7 +296,6 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
Picasso.with(this)
.load(account.avatar)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.into(avatar);
Picasso.with(this)
.load(account.header)
diff --git a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java
index 6f766ea1..90948ab4 100644
--- a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java
+++ b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java
@@ -1715,7 +1715,6 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
Picasso.with(context)
.load(account.avatar)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.transform(new RoundedTransformation(7, 0))
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.java b/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.java
index 455dcc64..ba6e4c30 100644
--- a/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.java
+++ b/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.java
@@ -179,7 +179,6 @@ public class EditProfileActivity extends BaseActivity {
Picasso.with(avatar.getContext())
.load(me.avatar)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.into(avatar);
Picasso.with(header.getContext())
.load(me.header)
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/AccountViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/AccountViewHolder.java
index f6a5b228..4262f905 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/AccountViewHolder.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/AccountViewHolder.java
@@ -37,7 +37,6 @@ class AccountViewHolder extends RecyclerView.ViewHolder {
Picasso.with(context)
.load(account.avatar)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/BlocksAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/BlocksAdapter.java
index f4e70fa7..c1153d1d 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/BlocksAdapter.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/BlocksAdapter.java
@@ -97,7 +97,6 @@ public class BlocksAdapter extends AccountAdapter {
username.setText(formattedUsername);
Picasso.with(avatar.getContext())
.load(account.avatar)
- .error(R.drawable.avatar_error)
.placeholder(R.drawable.avatar_default)
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/FollowRequestsAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/FollowRequestsAdapter.java
index c4578e52..bd7efb45 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/FollowRequestsAdapter.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/FollowRequestsAdapter.java
@@ -99,7 +99,6 @@ public class FollowRequestsAdapter extends AccountAdapter {
username.setText(formattedUsername);
Picasso.with(avatar.getContext())
.load(account.avatar)
- .error(R.drawable.avatar_error)
.placeholder(R.drawable.avatar_default)
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/MutesAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/MutesAdapter.java
index e7719775..a9dfd93c 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/MutesAdapter.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/MutesAdapter.java
@@ -82,7 +82,6 @@ public class MutesAdapter extends AccountAdapter {
username.setText(formattedUsername);
Picasso.with(avatar.getContext())
.load(account.avatar)
- .error(R.drawable.avatar_error)
.placeholder(R.drawable.avatar_default)
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java
index 934a2e40..1f34057f 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java
@@ -224,7 +224,6 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
.fit()
.transform(new RoundedTransformation(7, 0))
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.into(avatar);
}
@@ -306,7 +305,6 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
Picasso.with(context)
.load(statusAvatarUrl)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.transform(new RoundedTransformation(7, 0))
.into(statusAvatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
index 279773a4..aa75c589 100644
--- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
+++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
@@ -111,7 +111,6 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
Picasso.with(avatar.getContext())
.load(url)
.placeholder(R.drawable.avatar_default)
- .error(R.drawable.avatar_error)
.transform(new RoundedTransformation(7, 0))
.into(avatar);
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java
index 1a5a6612..30830195 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java
@@ -15,6 +15,9 @@
package com.keylesspalace.tusky.fragment;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
@@ -271,6 +274,13 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_status_link_to)));
return true;
}
+ case R.id.status_copy_link: {
+ ClipboardManager clipboard = (ClipboardManager)
+ getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
+ ClipData clip = ClipData.newPlainText(null, statusUrl);
+ clipboard.setPrimaryClip(clip);
+ return true;
+ }
case R.id.status_mute: {
mute(accountId);
return true;
diff --git a/app/src/main/res/drawable/avatar_default.png b/app/src/main/res/drawable/avatar_default.png
index 78f78948..88462d68 100644
Binary files a/app/src/main/res/drawable/avatar_default.png and b/app/src/main/res/drawable/avatar_default.png differ
diff --git a/app/src/main/res/drawable/avatar_error.png b/app/src/main/res/drawable/avatar_error.png
deleted file mode 100644
index dcb8d62c..00000000
Binary files a/app/src/main/res/drawable/avatar_error.png and /dev/null differ
diff --git a/app/src/main/res/menu/status_more.xml b/app/src/main/res/menu/status_more.xml
index 95581c8f..627b3cce 100644
--- a/app/src/main/res/menu/status_more.xml
+++ b/app/src/main/res/menu/status_more.xml
@@ -12,6 +12,8 @@
android:title="@string/status_share_content"/>
+
- Annuler
Demandes de follow
Utilisateurs muets
+ Copier le lien
+
Partager l’URL de votre pouet avec…
Partager le pouet avec…
Téléchargement de %1$s
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7e327ced..0b5a373b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -100,8 +100,11 @@
Reject
Search
Drafts
+
Downloading %1$s
+ Copy the link
+
Share toot URL to…
Share toot to…