directmessage bug fix, layout fix
This commit is contained in:
parent
1c25c7006d
commit
9b8c298af8
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue