diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/v2/TwitterV2.java b/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/v2/TwitterV2.java
index 2dc4b5a4..526d9204 100644
--- a/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/v2/TwitterV2.java
+++ b/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/v2/TwitterV2.java
@@ -1,7 +1,6 @@
package org.nuclearfog.twidda.backend.api.twitter.v2;
import android.content.Context;
-import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
@@ -231,9 +230,10 @@ public class TwitterV2 extends TwitterV1 {
try {
Status item = new TweetV2(data.getJSONObject(i), userMap, mediaMap, pollMap, locationMap, host, null);
tweets.add(item);
- } catch (JSONException e) {
+ } catch (JSONException exception) {
+ // skip tweet
if (BuildConfig.DEBUG) {
- Log.w("tweet-v2", e);
+ exception.printStackTrace();
}
}
}
@@ -273,9 +273,10 @@ public class TwitterV2 extends TwitterV1 {
for (int i = 0; i < array.length(); i++) {
try {
users.add(new UserV2(array.getJSONObject(i), homeId));
- } catch (JSONException err) {
+ } catch (JSONException exception) {
if (BuildConfig.DEBUG) {
- Log.w("user-v2", err);
+ // skip user
+ exception.printStackTrace();
}
}
}
diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/PollUpdate.java b/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/PollUpdate.java
index 36f8682a..0963d6f8 100644
--- a/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/PollUpdate.java
+++ b/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/PollUpdate.java
@@ -37,6 +37,9 @@ public class PollUpdate implements Serializable {
*/
public PollUpdate(Poll poll) {
multipleChoice = poll.multipleChoiceEnabled();
+ if (System.currentTimeMillis() < poll.getEndTime()) {
+ duration = (int) (poll.getEndTime() - System.currentTimeMillis());
+ }
for (Poll.Option option : poll.getOptions()) {
options.add(option.getTitle());
}
diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/StatusUpdate.java b/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/StatusUpdate.java
index cc429268..8263e834 100644
--- a/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/StatusUpdate.java
+++ b/app/src/main/java/org/nuclearfog/twidda/backend/helper/update/StatusUpdate.java
@@ -130,26 +130,9 @@ public class StatusUpdate implements Serializable, Closeable {
mediaKeys.add(media.getKey());
previews.add(media.getUrl());
}
- switch (status.getMedia()[0].getMediaType()) {
- case Media.GIF:
- attachment = MEDIA_GIF;
- if (instance != null && mediaKeys.size() == instance.getGifLimit())
- attachmentLimitReached = true;
- break;
-
- case Media.PHOTO:
- attachment = MEDIA_IMAGE;
- if (instance != null && mediaKeys.size() == instance.getImageLimit())
- attachmentLimitReached = true;
- break;
-
- case Media.VIDEO:
- attachment = MEDIA_VIDEO;
- if (instance != null && mediaKeys.size() == instance.getVideoLimit())
- attachmentLimitReached = true;
- break;
- }
}
+ // fixme it's not possible to add more media items when editing a status
+ attachmentLimitReached = true;
}
/**
diff --git a/app/src/main/java/org/nuclearfog/twidda/notification/PushNotificationReceiver.java b/app/src/main/java/org/nuclearfog/twidda/notification/PushNotificationReceiver.java
index 6154e536..b019977a 100644
--- a/app/src/main/java/org/nuclearfog/twidda/notification/PushNotificationReceiver.java
+++ b/app/src/main/java/org/nuclearfog/twidda/notification/PushNotificationReceiver.java
@@ -19,7 +19,6 @@ public class PushNotificationReceiver extends MessagingReceiver {
@Override
public void onMessage(@NonNull Context context, @NonNull byte[] message, @NonNull String instance) {
- super.onMessage(context, message, instance);
GlobalSettings settings = GlobalSettings.getInstance(context);
if (settings.pushEnabled()) {
// todo add manual synchonization
@@ -29,7 +28,6 @@ public class PushNotificationReceiver extends MessagingReceiver {
@Override
public void onNewEndpoint(@NonNull Context context, @NonNull String endpoint, @NonNull String instance) {
- super.onNewEndpoint(context, endpoint, instance);
PushUpdater pushUpdater = new PushUpdater(context);
PushUpdate update = new PushUpdate(instance);
pushUpdater.execute(update, null);
diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/activities/StatusEditor.java b/app/src/main/java/org/nuclearfog/twidda/ui/activities/StatusEditor.java
index 9a7a9308..d960eb94 100644
--- a/app/src/main/java/org/nuclearfog/twidda/ui/activities/StatusEditor.java
+++ b/app/src/main/java/org/nuclearfog/twidda/ui/activities/StatusEditor.java
@@ -31,6 +31,7 @@ import org.nuclearfog.twidda.backend.utils.ErrorUtils;
import org.nuclearfog.twidda.config.GlobalSettings;
import org.nuclearfog.twidda.model.Emoji;
import org.nuclearfog.twidda.model.Instance;
+import org.nuclearfog.twidda.model.Media;
import org.nuclearfog.twidda.model.Status;
import org.nuclearfog.twidda.ui.adapter.IconAdapter;
import org.nuclearfog.twidda.ui.adapter.IconAdapter.OnMediaClickListener;
@@ -165,12 +166,10 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
if (editStatus) {
statusUpdate.setStatus(status);
statusText.append(status.getText());
- int mediaType = statusUpdate.getAttachmentType();
- if (mediaType != StatusUpdate.EMPTY) {
- for (int i = 0 ; i < statusUpdate.getMediaKeys().length ; i++) {
- addMedia(mediaType);
- }
+ for (Media media : status.getMedia()) {
+ addMedia(media.getMediaType());
}
+ mediaBtn.setVisibility(View.GONE);
} else {
statusUpdate.addReplyStatusId(status.getId());
statusUpdate.setVisibility(status.getVisibility());
@@ -415,18 +414,22 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
*/
private void addMedia(int mediaType) {
switch (mediaType) {
+ case Media.PHOTO:
case StatusUpdate.MEDIA_IMAGE:
adapter.addImageItem();
break;
+ case Media.GIF:
case StatusUpdate.MEDIA_GIF:
adapter.addGifItem();
break;
+ case Media.VIDEO:
case StatusUpdate.MEDIA_VIDEO:
adapter.addVideoItem();
break;
+ case Media.AUDIO:
case StatusUpdate.MEDIA_AUDIO:
adapter.addAudioItem();
break;
diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/PollDialog.java b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/PollDialog.java
index 2f34f42e..710b1528 100644
--- a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/PollDialog.java
+++ b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/PollDialog.java
@@ -127,6 +127,16 @@ public class PollDialog extends Dialog implements OnClickListener {
optionAdapter.replaceItems(poll.getOptions());
multiple_choice.setCheckedImmediately(poll.multipleChoiceEnabled());
hide_votes.setCheckedImmediately(poll.hideTotalVotes());
+ if (poll.getDuration() > 86400000L) {
+ durationInput.setText(Long.toString(Math.round(poll.getDuration() / 86400000d)));
+ timeUnitSelector.setSelection(2);
+ } else if (poll.getDuration() > 3600000L) {
+ durationInput.setText(Long.toString(Math.round(poll.getDuration() / 3600000d)));
+ timeUnitSelector.setSelection(1);
+ } else if (poll.getDuration() > 60000L) {
+ durationInput.setText(Long.toString(Math.round(poll.getDuration() / 60000d)));
+ timeUnitSelector.setSelection(0);
+ }
this.poll = poll;
} else {
this.poll = new PollUpdate();
diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/WebPushDialog.java b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/WebPushDialog.java
index 30da1f37..852856ff 100644
--- a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/WebPushDialog.java
+++ b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/WebPushDialog.java
@@ -80,10 +80,6 @@ public class WebPushDialog extends Dialog implements OnCheckedChangeListener, On
case WebPush.POLICY_FOLLOWER:
policySelector.setSelection(2);
break;
-
- case WebPush.POLICY_NONE:
- policySelector.setSelection(3);
- break;
}
AppStyles.setTheme(root);
@@ -155,10 +151,6 @@ public class WebPushDialog extends Dialog implements OnCheckedChangeListener, On
case 2:
update.setPolicy(WebPush.POLICY_FOLLOWER);
break;
-
- case 3:
- update.setPolicy(WebPush.POLICY_NONE);
- break;
}
}
}
diff --git a/app/src/main/res/layout/dialog_push.xml b/app/src/main/res/layout/dialog_push.xml
index b5293efd..a0715b9a 100644
--- a/app/src/main/res/layout/dialog_push.xml
+++ b/app/src/main/res/layout/dialog_push.xml
@@ -39,6 +39,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_mention"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_mention"
app:layout_constraintTop_toTopOf="@id/dialog_push_mention"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_mention"
@@ -57,6 +58,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_repost"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_repost"
app:layout_constraintTop_toTopOf="@id/dialog_push_repost"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_repost"
@@ -75,6 +77,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_favorite"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_favorite"
app:layout_constraintTop_toTopOf="@id/dialog_push_favorite"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_favorite"
@@ -93,6 +96,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_poll_finished"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_poll"
app:layout_constraintTop_toTopOf="@id/dialog_push_poll"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_poll"
@@ -111,6 +115,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_new_follower"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_follow"
app:layout_constraintTop_toTopOf="@id/dialog_push_follow"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_follow"
@@ -129,6 +134,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_follow_request"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_follow_request"
app:layout_constraintTop_toTopOf="@id/dialog_push_follow_request"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_follow_request"
@@ -147,6 +153,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_new_status"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_new_status"
app:layout_constraintTop_toTopOf="@id/dialog_push_new_status"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_new_status"
@@ -165,6 +172,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/dialog_push_edit_status"
+ android:layout_marginStart="@dimen/dialog_push_label_margin"
app:layout_constraintStart_toEndOf="@id/dialog_push_edit_status"
app:layout_constraintTop_toTopOf="@id/dialog_push_edit_status"
app:layout_constraintBottom_toBottomOf="@id/dialog_push_edit_status"
diff --git a/app/src/main/res/values-de-rDE/arrays.xml b/app/src/main/res/values-de-rDE/arrays.xml
index 24eeb000..e67f9a85 100644
--- a/app/src/main/res/values-de-rDE/arrays.xml
+++ b/app/src/main/res/values-de-rDE/arrays.xml
@@ -18,7 +18,6 @@
- Alles anzeigen
- nur Following
- nur Follower
- - deaktivieren
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 05e29725..d3496b2c 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -75,7 +75,6 @@
- show all
- Following only
- Followers only
- - disabled
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 123ff67a..76212153 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -321,6 +321,7 @@
28sp
5dp
5dp
+ 10sp
5dp
22sp