bug fix, layout fixes
This commit is contained in:
parent
b87f04529b
commit
5290a2d475
|
@ -112,7 +112,7 @@ public class ImageCache {
|
|||
if (!files.containsKey(key)) {
|
||||
try {
|
||||
File file = new File(imageFolder, key);
|
||||
if (file.createNewFile()) {
|
||||
if ((file.exists() && file.canWrite()) || file.createNewFile()) {
|
||||
FileOutputStream output = new FileOutputStream(file);
|
||||
image.compress(Bitmap.CompressFormat.PNG, 1, output);
|
||||
output.close();
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.nuclearfog.twidda.backend.utils;
|
|||
import android.content.Context;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
|
@ -40,6 +41,7 @@ public class ErrorUtils {
|
|||
* @param exception connection exception
|
||||
* @return message string
|
||||
*/
|
||||
@NonNull
|
||||
public static String getErrorMessage(Context context, @Nullable ConnectionException exception) {
|
||||
if (exception != null) {
|
||||
switch (exception.getErrorCode()) {
|
||||
|
|
|
@ -1094,7 +1094,7 @@ public class GlobalSettings {
|
|||
String pushPublicKey = settings.getString(PUSH_PUBLIC_KEY, "");
|
||||
String pushPrivateKey = settings.getString(PUSH_PRIVATE_KEY, "");
|
||||
String pushAuthKey = settings.getString(PUSH_AUTH_KEY, "");
|
||||
boolean mentions = settings.getBoolean(PUSH_ALERT_MENTION, false);
|
||||
boolean mentions = settings.getBoolean(PUSH_ALERT_MENTION, true);
|
||||
boolean reposts = settings.getBoolean(PUSH_ALERT_REPOST, false);
|
||||
boolean favorits = settings.getBoolean(PUSH_ALERT_FAVORITE, false);
|
||||
boolean following = settings.getBoolean(PUSH_ALERT_FOLLOWING, false);
|
||||
|
|
|
@ -4,6 +4,8 @@ import android.content.ActivityNotFoundException;
|
|||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.Spannable;
|
||||
|
@ -123,6 +125,8 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
*/
|
||||
private static final int SCROLL_THRESHOLD = 10;
|
||||
|
||||
private static final int IMAGE_PLACEHOLDER_COLOR = 0x2F000000;
|
||||
|
||||
private ActivityResultLauncher<Intent> activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), this);
|
||||
private AsyncCallback<DomainResult> domainCallback = this::setDomainResult;
|
||||
private AsyncCallback<RelationResult> relationCallback = this::setRelationResult;
|
||||
|
@ -828,6 +832,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
if (settings.imagesEnabled()) {
|
||||
String bannerImageUrl = user.getBannerImageThumbnailUrl();
|
||||
String profileImageUrl = user.getProfileImageThumbnailUrl();
|
||||
Drawable placeholder = new ColorDrawable(IMAGE_PLACEHOLDER_COLOR);
|
||||
if (!bannerImageUrl.isEmpty()) {
|
||||
picasso.load(bannerImageUrl).error(R.drawable.no_banner).into(bannerImage, this);
|
||||
} else {
|
||||
|
@ -836,10 +841,13 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
}
|
||||
if (!profileImageUrl.isEmpty()) {
|
||||
Transformation roundCorner = new RoundedCornersTransformation(5, 0);
|
||||
picasso.load(profileImageUrl).transform(roundCorner).error(R.drawable.no_image).into(profileImage);
|
||||
picasso.load(profileImageUrl).transform(roundCorner).placeholder(placeholder).error(R.drawable.no_image).into(profileImage);
|
||||
} else {
|
||||
profileImage.setImageResource(0);
|
||||
profileImage.setImageDrawable(placeholder);
|
||||
}
|
||||
} else {
|
||||
Drawable placeholder = new ColorDrawable(IMAGE_PLACEHOLDER_COLOR);
|
||||
profileImage.setImageDrawable(placeholder);
|
||||
}
|
||||
// initialize emoji loading for username/description
|
||||
if (settings.imagesEnabled() && user.getEmojis().length > 0) {
|
||||
|
|
|
@ -427,9 +427,11 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
|||
}
|
||||
// show push configuration dialog
|
||||
else if (v.getId() == R.id.settings_enable_push_descr) {
|
||||
if (enablePush.isChecked()) {
|
||||
pushDialog.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -110,6 +110,13 @@ public class EmojiAdapter extends Adapter<EmojiHolder> implements OnHolderClickL
|
|||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if adapter is empty
|
||||
*/
|
||||
public boolean isEmpty() {
|
||||
return items.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Listener used to send emoji information on click
|
||||
*/
|
||||
|
|
|
@ -116,8 +116,10 @@ public class AudioPlayerDialog extends Dialog implements OnClickListener, Closea
|
|||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
if (player.isPlaying()) {
|
||||
player.pause();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -69,15 +69,24 @@ public class EmojiPicker extends BottomSheetDialog implements AsyncCallback<List
|
|||
|
||||
listView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||
listView.setAdapter(adapter);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (adapter.isEmpty()) {
|
||||
emojiLoader.execute(null, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onResult(@NonNull List<Emoji> emojis) {
|
||||
if (!emojis.isEmpty()) {
|
||||
adapter.replaceItems(emojis);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/dialog_connection_root_padding"
|
||||
tools:ignore="UseSwitchCompatOrMaterialXml">
|
||||
tools:ignore="UseSwitchCompatOrMaterialXml"
|
||||
tools:context=".ui.dialogs.ConnectionDialog">
|
||||
|
||||
<com.kyleduo.switchbutton.SwitchButton
|
||||
android:id="@+id/dialog_connection_custom_api"
|
||||
|
@ -25,8 +26,9 @@
|
|||
android:lines="1"
|
||||
android:layout_weight="1"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
android:textSize="@dimen/dialog_connection_textsize_label"
|
||||
app:layout_constraintStart_toEndOf="@id/dialog_connection_custom_api"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_connection_custom_api"
|
||||
app:layout_constraintBottom_toBottomOf="@id/dialog_connection_custom_api"
|
||||
app:layout_constraintEnd_toStartOf="@id/dialog_connection_use_v2" />
|
||||
|
||||
|
@ -49,8 +51,9 @@
|
|||
android:layout_weight="1"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
android:visibility="invisible"
|
||||
android:textSize="@dimen/dialog_connection_textsize_label"
|
||||
app:layout_constraintStart_toEndOf="@id/dialog_connection_use_v2"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_connection_use_v2"
|
||||
app:layout_constraintBottom_toBottomOf="@id/dialog_connection_use_v2"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
|
@ -66,6 +69,7 @@
|
|||
android:visibility="invisible"
|
||||
android:inputType="textPassword"
|
||||
android:importantForAutofill="no"
|
||||
android:textSize="@dimen/dialog_connection_textsize_input"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_custom_api"
|
||||
app:layout_constraintEnd_toStartOf="@id/dialog_connection_api2" />
|
||||
|
@ -82,6 +86,7 @@
|
|||
android:visibility="invisible"
|
||||
android:inputType="textPassword"
|
||||
android:importantForAutofill="no"
|
||||
android:textSize="@dimen/dialog_connection_textsize_input"
|
||||
app:layout_constraintStart_toEndOf="@id/dialog_connection_api1"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_custom_api"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
@ -103,6 +108,7 @@
|
|||
android:lines="1"
|
||||
android:layout_weight="1"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
android:textSize="@dimen/dialog_connection_textsize_label"
|
||||
app:layout_constraintStart_toEndOf="@id/dialog_connection_custom_host"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_connection_custom_host"
|
||||
app:layout_constraintBottom_toBottomOf="@id/dialog_connection_custom_host"
|
||||
|
@ -120,24 +126,11 @@
|
|||
android:visibility="invisible"
|
||||
android:inputType="textUri"
|
||||
android:importantForAutofill="no"
|
||||
android:textSize="@dimen/dialog_connection_textsize_input"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_custom_host"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/dialog_connection_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dialog_connection_button_height"
|
||||
android:text="@string/dialog_connection_apply"
|
||||
android:lines="1"
|
||||
android:padding="@dimen/dialog_connection_button_padding"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_hostname"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/dialog_connection_discard"
|
||||
style="@style/FeedbackButton" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/dialog_connection_discard"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -146,7 +139,21 @@
|
|||
android:lines="1"
|
||||
android:padding="@dimen/dialog_connection_button_padding"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
app:layout_constraintStart_toEndOf="@id/dialog_connection_confirm"
|
||||
android:textSize="@dimen/dialog_connection_textsize_button"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_hostname"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/dialog_connection_confirm"
|
||||
style="@style/FeedbackButton" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/dialog_connection_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dialog_connection_button_height"
|
||||
android:text="@string/dialog_apply"
|
||||
android:lines="1"
|
||||
android:padding="@dimen/dialog_connection_button_padding"
|
||||
android:layout_margin="@dimen/dialog_connection_layout_margin"
|
||||
android:textSize="@dimen/dialog_connection_textsize_button"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_connection_hostname"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
|
@ -220,7 +220,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dialog_poll_button_height"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/dialog_filter_button_apply"
|
||||
android:text="@string/dialog_apply"
|
||||
android:lines="1"
|
||||
android:layout_margin="@dimen/dialog_filter_margin_items_layout"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_filter_switch_hide"
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dialog_push_button_height"
|
||||
android:padding="@dimen/dialog_push_button_padding"
|
||||
android:text="@string/dialog_push_apply"
|
||||
android:text="@string/dialog_apply"
|
||||
android:layout_margin="@dimen/dialog_push_layout_margin"
|
||||
android:lines="1"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialog_push_edit_status"
|
||||
|
|
|
@ -109,7 +109,6 @@
|
|||
<string name="proxy_password">Passwort</string>
|
||||
<string name="error_dm_send">Direktnachricht konnte nicht an diesen Nutzer gesendet werden!</string>
|
||||
<string name="dialog_connection_custom_host">Benutzerdefinierter Hostname</string>
|
||||
<string name="dialog_connection_apply">anwenden</string>
|
||||
<string name="dialog_report_hint_description">zusätzliche Beschreibung</string>
|
||||
<string name="dialog_report_description_forward">an Quellinstanz weiterleiten</string>
|
||||
<string name="confirm_mute">Nutzer stummschalten?</string>
|
||||
|
@ -241,7 +240,7 @@
|
|||
<string name="error_media_init">Fehler beim Vorbreiten der Mediendateien!</string>
|
||||
<string name="menu_status_copy_text">Text</string>
|
||||
<string name="menu_add_filter">Filter erstellen</string>
|
||||
<string name="menu_status_copy_link">Status Link</string>
|
||||
<string name="menu_status_copy_link">Status-Link</string>
|
||||
<string name="menu_media_link">Medienlink</string>
|
||||
<string name="info_status_text_copied">Status Text kopiert</string>
|
||||
<string name="info_status_medialink_copied">Medienlink kopiert</string>
|
||||
|
@ -328,7 +327,7 @@
|
|||
<string name="dialog_push_new_follower">bei neuen Followern</string>
|
||||
<string name="dialog_push_follow_request">bei neuen Follow-Anfragen</string>
|
||||
<string name="dialog_push_title">Benachrichtigung</string>
|
||||
<string name="dialog_push_apply">Änderungen anwenden</string>
|
||||
<string name="dialog_apply">anwenden</string>
|
||||
<string name="dialog_report_title_user">Nutzer melden</string>
|
||||
<string name="dialog_report_category_label">Meldegrund</string>
|
||||
<string name="dialog_report_title_status">Status melden</string>
|
||||
|
@ -355,7 +354,6 @@
|
|||
<string name="dialog_filter_create">Filter erstellen</string>
|
||||
<string name="dialog_filter_name_hint">Filternamen eingeben</string>
|
||||
<string name="dialog_filter_update">Filter aktualisieren</string>
|
||||
<string name="dialog_filter_button_apply">anwenden</string>
|
||||
<string name="dialog_filter_apply">Filter anwenden für</string>
|
||||
<string name="dialog_filter_home">Home-Timeline</string>
|
||||
<string name="dialog_filter_notification">Benachrichtigungen</string>
|
||||
|
|
|
@ -241,7 +241,6 @@
|
|||
<string name="settings_key1_hint">Clave de consumidor</string>
|
||||
<string name="settings_key2_hint">Secreto de consumidor</string>
|
||||
<string name="dialog_connection_custom_host">Usar nombre de host personalizado</string>
|
||||
<string name="dialog_connection_apply">Aplicar cambios</string>
|
||||
<string name="confirm_mute">¿Silenciar usuario?</string>
|
||||
<string name="item_list_pb_desc">Perfil del dueño de la lista</string>
|
||||
<string name="list_appbar">Listas</string>
|
||||
|
@ -320,7 +319,7 @@
|
|||
<string name="dialog_push_new_follower">nuevo seguidor</string>
|
||||
<string name="dialog_push_follow_request">en solicitud para seguir</string>
|
||||
<string name="dialog_push_title">Notificación</string>
|
||||
<string name="dialog_push_apply">aplicar cambios</string>
|
||||
<string name="dialog_apply">aplicar cambios</string>
|
||||
<string name="settings_enable_push_label">habilitar notificación push\n(requiere app ntfy)</string>
|
||||
<string name="notification_favorite">%1$s ha marcado como favorito a tu estado</string>
|
||||
<string name="notification_repost">%1$s ha re-publicado tu estado</string>
|
||||
|
|
|
@ -245,7 +245,9 @@
|
|||
<dimen name="dialog_connection_button_padding">5dp</dimen>
|
||||
<dimen name="dialog_connection_layout_margin">5dp</dimen>
|
||||
<dimen name="dialog_connection_root_padding">8dp</dimen>
|
||||
<dimen name="dialog_connection_textsizte_normal">13sp</dimen>
|
||||
<dimen name="dialog_connection_textsize_input">18sp</dimen>
|
||||
<dimen name="dialog_connection_textsize_button">14sp</dimen>
|
||||
<dimen name="dialog_connection_textsize_label">12sp</dimen>
|
||||
|
||||
<!--dimens of dialog_poll.xml-->
|
||||
<dimen name="dialog_poll_list_height">200sp</dimen>
|
||||
|
@ -334,7 +336,7 @@
|
|||
<!--dimens of dialog_push-->
|
||||
<dimen name="dialog_push_title_textsize">20sp</dimen>
|
||||
<dimen name="dialog_push_label_textsize">11sp</dimen>
|
||||
<dimen name="dialog_push_button_height">28sp</dimen>
|
||||
<dimen name="dialog_push_button_height">24sp</dimen>
|
||||
<dimen name="dialog_push_button_padding">5dp</dimen>
|
||||
<dimen name="dialog_push_layout_margin">5dp</dimen>
|
||||
<dimen name="dialog_push_label_margin">10sp</dimen>
|
||||
|
|
|
@ -267,7 +267,6 @@
|
|||
<string name="settings_key1_hint">Consumer key</string>
|
||||
<string name="settings_key2_hint">Consumer secret</string>
|
||||
<string name="dialog_connection_custom_host">use custom hostname</string>
|
||||
<string name="dialog_connection_apply">apply changes</string>
|
||||
<string name="dialog_report_hint_description">additional description</string>
|
||||
<string name="dialog_report_description_forward">forward report to source instance</string>
|
||||
<string name="confirm_mute">mute user?</string>
|
||||
|
@ -351,7 +350,7 @@
|
|||
<string name="dialog_push_new_follower">new follower</string>
|
||||
<string name="dialog_push_follow_request">on follow request</string>
|
||||
<string name="dialog_push_title">Notification</string>
|
||||
<string name="dialog_push_apply">apply changes</string>
|
||||
<string name="dialog_apply">apply</string>
|
||||
<string name="dialog_report_title_user">report user</string>
|
||||
<string name="dialog_report_category_label">what to report</string>
|
||||
<string name="dialog_report_title_status">report status</string>
|
||||
|
@ -376,7 +375,6 @@
|
|||
<string name="dialog_filter_create">create filter</string>
|
||||
<string name="dialog_filter_name_hint">enter filter name</string>
|
||||
<string name="dialog_filter_update">update filter</string>
|
||||
<string name="dialog_filter_button_apply">apply</string>
|
||||
<string name="dialog_filter_apply">apply filter for</string>
|
||||
<string name="dialog_filter_home">Home timeline</string>
|
||||
<string name="dialog_filter_notification">Notifications</string>
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
<item name="android:background">@android:color/transparent</item>
|
||||
<item name="android:windowCloseOnTouchOutside">false</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:textSize">@dimen/dialog_connection_textsizte_normal</item>
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
</style>
|
||||
|
||||
|
@ -68,6 +67,7 @@
|
|||
<style name="AudioDialog" parent="Theme.AppCompat.Dialog">
|
||||
<item name="android:background">@color/player_control</item>
|
||||
<item name="android:windowMinWidthMinor">90%</item>
|
||||
<item name="android:windowMinWidthMajor">95%</item>
|
||||
<item name="android:windowCloseOnTouchOutside">false</item>
|
||||
</style>
|
||||
|
||||
|
|
Loading…
Reference in New Issue