directmessage bug fix, layout fix

This commit is contained in:
nuclearfog 2022-01-16 19:08:57 +01:00
parent 1c25c7006d
commit 9b8c298af8
No known key found for this signature in database
GPG Key ID: AA0271FBE406DB98
10 changed files with 24 additions and 26 deletions

View File

@ -369,9 +369,8 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
// open tweet media
else if (v.getId() == R.id.tweet_media_attach) {
// convert links to uri
Uri[] links = clickedTweet.getMediaLinks();
Intent mediaIntent = new Intent(this, MediaViewer.class);
mediaIntent.putExtra(KEY_MEDIA_URI, links);
mediaIntent.putExtra(KEY_MEDIA_URI, clickedTweet.getMediaLinks());
switch (clickedTweet.getMediaType()) {
case Tweet.MIME_PHOTO:
mediaIntent.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMAGE);

View File

@ -14,11 +14,8 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView.Adapter;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.squareup.picasso.Picasso;
import org.nuclearfog.twidda.adapter.holder.Footer;
import org.nuclearfog.twidda.adapter.holder.ImageItem;
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
import org.nuclearfog.twidda.adapter.holder.ImageHolder;
import org.nuclearfog.twidda.database.GlobalSettings;
import java.util.ArrayList;
@ -42,14 +39,12 @@ public class ImageAdapter extends Adapter<ViewHolder> {
private static final int LOADING = 1;
private OnImageClickListener itemClickListener;
private GlobalSettings settings;
private Picasso picasso;
private List<Uri> imageUri = new ArrayList<>(5);
private boolean loading = false;
private boolean saveImg = true;
private boolean enableSaveButton = true;
/**
* @param itemClickListener click listener
@ -57,7 +52,6 @@ public class ImageAdapter extends Adapter<ViewHolder> {
public ImageAdapter(Context context, OnImageClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
this.settings = GlobalSettings.getInstance(context);
picasso = PicassoBuilder.get(context);
}
/**
@ -88,7 +82,7 @@ public class ImageAdapter extends Adapter<ViewHolder> {
* disable save button on images
*/
public void disableSaveButton() {
saveImg = false;
enableSaveButton = false;
}
/**
@ -121,7 +115,7 @@ public class ImageAdapter extends Adapter<ViewHolder> {
@Override
public ViewHolder onCreateViewHolder(@NonNull final ViewGroup parent, int viewType) {
if (viewType == PICTURE) {
final ImageItem item = new ImageItem(parent, settings);
final ImageHolder item = new ImageHolder(parent, settings);
item.preview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@ -131,7 +125,7 @@ public class ImageAdapter extends Adapter<ViewHolder> {
}
}
});
if (saveImg) {
if (enableSaveButton) {
item.saveButton.setVisibility(VISIBLE);
item.saveButton.setOnClickListener(new OnClickListener() {
@Override
@ -152,10 +146,10 @@ public class ImageAdapter extends Adapter<ViewHolder> {
@Override
public void onBindViewHolder(@NonNull ViewHolder vh, int index) {
if (vh instanceof ImageItem) {
ImageItem item = (ImageItem) vh;
if (vh instanceof ImageHolder) {
ImageHolder item = (ImageHolder) vh;
Uri uri = imageUri.get(index);
picasso.load(uri).into(item.preview);
item.preview.setImageURI(uri);
}
}

View File

@ -18,7 +18,7 @@ import org.nuclearfog.twidda.database.GlobalSettings;
* @author nuclearfog
* @see org.nuclearfog.twidda.adapter.ImageAdapter
*/
public class ImageItem extends ViewHolder {
public class ImageHolder extends ViewHolder {
public final ImageView preview;
public final ImageButton saveButton;
@ -26,7 +26,7 @@ public class ImageItem extends ViewHolder {
/**
* @param parent Parent view from adapter
*/
public ImageItem(ViewGroup parent, GlobalSettings settings) {
public ImageHolder(ViewGroup parent, GlobalSettings settings) {
super(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_image, parent, false));
// get views
CardView cardBackground = (CardView) itemView;

View File

@ -15,6 +15,7 @@ import org.nuclearfog.twidda.backend.utils.StringTools;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.WeakReference;
@ -78,7 +79,7 @@ public class ImageLoader extends AsyncTask<Uri, Uri, Boolean> {
return true;
} catch (TwitterException err) {
this.err = err;
} catch (Exception exception) {
} catch (IOException exception) {
exception.printStackTrace();
}
return false;

View File

@ -4,6 +4,7 @@ import android.os.AsyncTask;
import org.nuclearfog.twidda.activities.MediaActivity;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.ref.WeakReference;
@ -45,7 +46,7 @@ public class ImageSaver extends AsyncTask<Object, Void, Boolean> {
return true;
}
}
} catch (Exception err) {
} catch (IOException err) {
err.printStackTrace();
}
return false;

View File

@ -157,7 +157,7 @@ public class MessageFragment extends ListFragment implements OnItemSelected, OnC
case MEDIA:
if (message.getMedia() != null) {
Intent mediaIntent = new Intent(requireContext(), MediaViewer.class);
mediaIntent.putExtra(KEY_MEDIA_URI, message.getMedia());
mediaIntent.putExtra(KEY_MEDIA_URI, new Uri[]{message.getMedia()});
mediaIntent.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMAGE);
startActivity(mediaIntent);
}

View File

@ -135,6 +135,7 @@
android:layout_height="@dimen/dmitem_button_media_height"
android:visibility="gone"
android:contentDescription="@string/directmessage_media_button"
android:layout_margin="@dimen/dmitem_button_media_margin"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@+id/dm_button_barrier"
app:layout_constraintEnd_toEndOf="parent"

View File

@ -1,22 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_margin="@dimen/imageitem_layout_margin"
style="@style/CardViewStyle">
<ImageView
android:id="@+id/item_image_preview"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:contentDescription="@string/image_preview"
android:scaleType="fitCenter" />
android:scaleType="fitStart"
android:adjustViewBounds="true"/>
<ImageButton
android:id="@+id/item_image_save"
android:layout_width="@dimen/imageitem_button_size"
android:layout_height="@dimen/imageitem_button_size"
android:visibility="invisible"
android:visibility="gone"
android:padding="@dimen/imageitem_drawable_padding"
android:layout_margin="@dimen/imageitem_button_margin"
android:layout_gravity="top|end"

View File

@ -25,7 +25,7 @@
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone"
android:visibility="invisible"
android:layout_margin="@dimen/mediapage_preview_margin"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"

View File

@ -121,6 +121,7 @@
<dimen name="dmitem_icon_size">16sp</dimen>
<dimen name="dmitem_button_media_width">48dp</dimen>
<dimen name="dmitem_button_media_height">30dp</dimen>
<dimen name="dmitem_button_media_margin">10dp</dimen>
<!--dimens of page_login.xml-->
<dimen name="loginpage_toolbar_height">@dimen/toolbar_height</dimen>