summaryrefslogtreecommitdiffstats
path: root/app/src
diff options
context:
space:
mode:
authorstom79 <tschneider.ac@gmail.com>2018-09-23 17:50:10 +0200
committerstom79 <tschneider.ac@gmail.com>2018-09-23 17:50:10 +0200
commit94c23c9238b75db64c5cabfff70f80cd6ffa4b1b (patch)
tree01757588f2acbf93a031ea1ab7c17d3ec2ecf520 /app/src
parent0b6b2fe9d27f54b42d87c67c1387254e533e9ea2 (diff)
Fit preview images in a grid
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java9
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveMissingFeedsAsyncTask.java3
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java125
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java1
4 files changed, 72 insertions, 66 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java
index 0668597c2..07d20c655 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java
@@ -1161,6 +1161,7 @@ public abstract class BaseMainActivity extends BaseActivity
b.putString("accountId", extras.getString(INTENT_TARGETED_ACCOUNT));
intentShow.putExtras(b);
startActivity(intentShow);
+
}
}else if( extras.getInt(INTENT_ACTION) == HOME_TIMELINE_INTENT){
changeUser(BaseMainActivity.this, userIdIntent, true); //Connects the account which is related to the notification
@@ -1184,6 +1185,10 @@ public abstract class BaseMainActivity extends BaseActivity
startActivity(myIntent);
}else if (extras.getInt(INTENT_ACTION) == SEARCH_REMOTE) {
String url = extras.getString(SEARCH_URL);
+ intent.replaceExtras(new Bundle());
+ intent.setAction("");
+ intent.setData(null);
+ intent.setFlags(0);
if( url == null)
return;
Matcher matcher;
@@ -1258,6 +1263,10 @@ public abstract class BaseMainActivity extends BaseActivity
}
}else if (Intent.ACTION_VIEW.equals(action)) {
String url = intent.getDataString();
+ intent.replaceExtras(new Bundle());
+ intent.setAction("");
+ intent.setData(null);
+ intent.setFlags(0);
if( url == null)
return;
Matcher matcher;
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveMissingFeedsAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveMissingFeedsAsyncTask.java
index 47533f8f6..902828191 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveMissingFeedsAsyncTask.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveMissingFeedsAsyncTask.java
@@ -59,9 +59,6 @@ public class RetrieveMissingFeedsAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
- boolean connectectedToInternet = Helper.isConnectedToInternet(contextReference.get(),Helper.getLiveInstance(contextReference.get()));
- if(!connectectedToInternet)
- return null;
API api = new API(this.contextReference.get());
List<fr.gouv.etalab.mastodon.client.Entities.Status> tempStatus;
APIResponse apiResponse = null;
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java
index e9e3a784f..b8d850c8d 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java
@@ -479,68 +479,69 @@ public class Account implements Parcelable {
final int[] i = {0};
for (final Emojis emoji : emojis) {
fields = account.getFields();
- if( !((Activity) context).isFinishing())
- Glide.with(context)
- .asBitmap()
- .load(emoji.getUrl())
- .into(new SimpleTarget<Bitmap>() {
- @Override
- public void onResourceReady(@NonNull Bitmap resource, Transition<? super Bitmap> transition) {
- final String targetedEmoji = ":" + emoji.getShortcode() + ":";
-
- if (noteSpan != null && noteSpan.toString().contains(targetedEmoji)) {
- //emojis can be used several times so we have to loop
- for (int startPosition = -1; (startPosition = noteSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
- final int endPosition = startPosition + targetedEmoji.length();
- if(endPosition <= noteSpan.toString().length() && endPosition >= startPosition)
- noteSpan.setSpan(
- new ImageSpan(context,
- Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
- (int) Helper.convertDpToPixel(20, context), false)), startPosition,
- endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- }
- }
- if (displayNameSpan != null && displayNameSpan.toString().contains(targetedEmoji)) {
- //emojis can be used several times so we have to loop
- for (int startPosition = -1; (startPosition = displayNameSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
- final int endPosition = startPosition + targetedEmoji.length();
- if(endPosition <= displayNameSpan.toString().length() && endPosition >= startPosition)
- displayNameSpan.setSpan(
- new ImageSpan(context,
- Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
- (int) Helper.convertDpToPixel(20, context), false)), startPosition,
- endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- }
- }
- Iterator it = fieldsSpan.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry pair = (Map.Entry)it.next();
- SpannableString fieldSpan = (SpannableString) pair.getValue();
- if (fieldSpan.toString().contains(targetedEmoji)) {
- //emojis can be used several times so we have to loop
- for (int startPosition = -1; (startPosition = fieldSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
- final int endPosition = startPosition + targetedEmoji.length();
- if(endPosition <= fieldSpan.toString().length() && endPosition >= startPosition)
- fieldSpan.setSpan(
- new ImageSpan(context,
- Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
- (int) Helper.convertDpToPixel(20, context), false)), startPosition,
- endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- }
- fieldsSpan.put((String)pair.getKey(), fieldSpan);
- }
- }
-
- i[0]++;
- if( i[0] == (emojis.size())) {
- if( noteSpan != null)
- account.setNoteSpan(noteSpan);
- account.setFieldsSpan(fieldsSpan);
- if( listener != null)
- listener.onRetrieveEmojiAccount(account);
- }
- }
- });
+ try {
+ Glide.with(context)
+ .asBitmap()
+ .load(emoji.getUrl())
+ .into(new SimpleTarget<Bitmap>() {
+ @Override
+ public void onResourceReady(@NonNull Bitmap resource, Transition<? super Bitmap> transition) {
+ final String targetedEmoji = ":" + emoji.getShortcode() + ":";
+
+ if (noteSpan != null && noteSpan.toString().contains(targetedEmoji)) {
+ //emojis can be used several times so we have to loop
+ for (int startPosition = -1; (startPosition = noteSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
+ final int endPosition = startPosition + targetedEmoji.length();
+ if (endPosition <= noteSpan.toString().length() && endPosition >= startPosition)
+ noteSpan.setSpan(
+ new ImageSpan(context,
+ Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
+ (int) Helper.convertDpToPixel(20, context), false)), startPosition,
+ endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+ }
+ if (displayNameSpan != null && displayNameSpan.toString().contains(targetedEmoji)) {
+ //emojis can be used several times so we have to loop
+ for (int startPosition = -1; (startPosition = displayNameSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
+ final int endPosition = startPosition + targetedEmoji.length();
+ if (endPosition <= displayNameSpan.toString().length() && endPosition >= startPosition)
+ displayNameSpan.setSpan(
+ new ImageSpan(context,
+ Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
+ (int) Helper.convertDpToPixel(20, context), false)), startPosition,
+ endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+ }
+ Iterator it = fieldsSpan.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry pair = (Map.Entry) it.next();
+ SpannableString fieldSpan = (SpannableString) pair.getValue();
+ if (fieldSpan.toString().contains(targetedEmoji)) {
+ //emojis can be used several times so we have to loop
+ for (int startPosition = -1; (startPosition = fieldSpan.toString().indexOf(targetedEmoji, startPosition + 1)) != -1; startPosition++) {
+ final int endPosition = startPosition + targetedEmoji.length();
+ if (endPosition <= fieldSpan.toString().length() && endPosition >= startPosition)
+ fieldSpan.setSpan(
+ new ImageSpan(context,
+ Bitmap.createScaledBitmap(resource, (int) Helper.convertDpToPixel(20, context),
+ (int) Helper.convertDpToPixel(20, context), false)), startPosition,
+ endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+ fieldsSpan.put((String) pair.getKey(), fieldSpan);
+ }
+ }
+
+ i[0]++;
+ if (i[0] == (emojis.size())) {
+ if (noteSpan != null)
+ account.setNoteSpan(noteSpan);
+ account.setFieldsSpan(fieldsSpan);
+ if (listener != null)
+ listener.onRetrieveEmojiAccount(account);
+ }
+ }
+ });
+ }catch (Exception ignored){}
}
}
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
index cb5c9a6c8..79418a32a 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
@@ -442,7 +442,6 @@ public class Helper {
* Check if the user is connected to Internet
* @return boolean
*/
- @SuppressWarnings("unused")
public static boolean isConnectedToInternet(Context context, String instance) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if( cm == null)