V 1.8.11, layout fix, adapter fix
This commit is contained in:
parent
ce4d24e3b1
commit
72e5778047
@ -9,8 +9,8 @@ android {
|
|||||||
applicationId 'org.nuclearfog.twidda'
|
applicationId 'org.nuclearfog.twidda'
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
versionCode 34
|
versionCode 35
|
||||||
versionName '1.8.10'
|
versionName '1.8.11'
|
||||||
// limiting language support for smaller APK size
|
// limiting language support for smaller APK size
|
||||||
resConfigs 'en', 'de-rDE'
|
resConfigs 'en', 'de-rDE'
|
||||||
vectorDrawables.useSupportLibrary true
|
vectorDrawables.useSupportLibrary true
|
||||||
|
@ -100,12 +100,12 @@ public class MediaViewer extends MediaActivity implements OnImageClickListener,
|
|||||||
zoomImage = findViewById(R.id.image_full);
|
zoomImage = findViewById(R.id.image_full);
|
||||||
videoView = findViewById(R.id.video_view);
|
videoView = findViewById(R.id.video_view);
|
||||||
videoController = new MediaController(this);
|
videoController = new MediaController(this);
|
||||||
adapter = new ImageAdapter(getApplicationContext(), this);
|
|
||||||
videoView.setZOrderOnTop(true);
|
videoView.setZOrderOnTop(true);
|
||||||
videoView.setOnPreparedListener(this);
|
videoView.setOnPreparedListener(this);
|
||||||
videoView.setOnErrorListener(this);
|
videoView.setOnErrorListener(this);
|
||||||
|
|
||||||
GlobalSettings settings = GlobalSettings.getInstance(this);
|
GlobalSettings settings = GlobalSettings.getInstance(this);
|
||||||
|
adapter = new ImageAdapter(settings, this);
|
||||||
AppStyles.setProgressColor(media_progress, settings.getHighlightColor());
|
AppStyles.setProgressColor(media_progress, settings.getHighlightColor());
|
||||||
|
|
||||||
mediaLinks = getIntent().getStringArrayExtra(KEY_MEDIA_LINK);
|
mediaLinks = getIntent().getStringArrayExtra(KEY_MEDIA_LINK);
|
||||||
|
@ -49,10 +49,10 @@ public class FontAdapter extends BaseAdapter {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getView(final int pos, View view, ViewGroup parent) {
|
public View getView(int pos, View view, ViewGroup parent) {
|
||||||
TextView tv;
|
TextView tv;
|
||||||
String name = names[pos];
|
String name = names[pos];
|
||||||
final Typeface font = fonts[pos];
|
Typeface font = fonts[pos];
|
||||||
if (view instanceof TextView)
|
if (view instanceof TextView)
|
||||||
tv = (TextView) view;
|
tv = (TextView) view;
|
||||||
else {
|
else {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package org.nuclearfog.twidda.adapter;
|
package org.nuclearfog.twidda.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -50,14 +49,10 @@ public class ImageAdapter extends Adapter<ViewHolder> {
|
|||||||
private boolean loading = false;
|
private boolean loading = false;
|
||||||
private boolean saveImg = true;
|
private boolean saveImg = true;
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an adapter for image previews
|
public ImageAdapter(GlobalSettings settings, OnImageClickListener itemClickListener) {
|
||||||
*
|
|
||||||
* @param itemClickListener Click listener for images
|
|
||||||
*/
|
|
||||||
public ImageAdapter(Context context, OnImageClickListener itemClickListener) {
|
|
||||||
this.itemClickListener = itemClickListener;
|
this.itemClickListener = itemClickListener;
|
||||||
settings = GlobalSettings.getInstance(context);
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package org.nuclearfog.twidda.adapter;
|
package org.nuclearfog.twidda.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
@ -68,9 +67,9 @@ public class ListAdapter extends Adapter<ViewHolder> {
|
|||||||
private int loadingIndex = NO_LOADING;
|
private int loadingIndex = NO_LOADING;
|
||||||
|
|
||||||
|
|
||||||
public ListAdapter(Context context, ListClickListener listener) {
|
public ListAdapter(GlobalSettings settings, ListClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
this.settings = GlobalSettings.getInstance(context);
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package org.nuclearfog.twidda.adapter;
|
package org.nuclearfog.twidda.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -50,9 +49,9 @@ public class MessageAdapter extends Adapter<ViewHolder> {
|
|||||||
private List<Message> messages = new ArrayList<>();
|
private List<Message> messages = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public MessageAdapter(Context context, OnItemSelected itemClickListener) {
|
public MessageAdapter(GlobalSettings settings, OnItemSelected itemClickListener) {
|
||||||
this.itemClickListener = itemClickListener;
|
this.itemClickListener = itemClickListener;
|
||||||
settings = GlobalSettings.getInstance(context);
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,7 +40,7 @@ public class TrendAdapter extends Adapter<ViewHolder> {
|
|||||||
private List<Trend> trends = new ArrayList<>();
|
private List<Trend> trends = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public TrendAdapter(TrendClickListener itemClickListener, GlobalSettings settings) {
|
public TrendAdapter(GlobalSettings settings, TrendClickListener itemClickListener) {
|
||||||
this.itemClickListener = itemClickListener;
|
this.itemClickListener = itemClickListener;
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package org.nuclearfog.twidda.adapter;
|
package org.nuclearfog.twidda.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -65,7 +64,7 @@ public class TweetAdapter extends Adapter<ViewHolder> {
|
|||||||
private static final int VIEW_GAP = 1;
|
private static final int VIEW_GAP = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Threshold to set up a placeholder
|
* Minimum count of new Tweets to insert a placeholder.
|
||||||
*/
|
*/
|
||||||
private static final int MIN_COUNT = 2;
|
private static final int MIN_COUNT = 2;
|
||||||
|
|
||||||
@ -77,9 +76,9 @@ public class TweetAdapter extends Adapter<ViewHolder> {
|
|||||||
private int loadingIndex = NO_INDEX;
|
private int loadingIndex = NO_INDEX;
|
||||||
|
|
||||||
|
|
||||||
public TweetAdapter(Context context, TweetClickListener itemClickListener) {
|
public TweetAdapter(GlobalSettings settings, TweetClickListener itemClickListener) {
|
||||||
this.itemClickListener = itemClickListener;
|
this.itemClickListener = itemClickListener;
|
||||||
settings = GlobalSettings.getInstance(context);
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package org.nuclearfog.twidda.adapter;
|
package org.nuclearfog.twidda.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
@ -68,12 +67,12 @@ public class UserAdapter extends Adapter<ViewHolder> {
|
|||||||
private boolean userRemovable = false;
|
private boolean userRemovable = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param context application context
|
* @param settings app settings
|
||||||
* @param itemClickListener click listener
|
* @param itemClickListener click listener
|
||||||
*/
|
*/
|
||||||
public UserAdapter(Context context, UserClickListener itemClickListener) {
|
public UserAdapter(GlobalSettings settings, UserClickListener itemClickListener) {
|
||||||
this.itemClickListener = itemClickListener;
|
this.itemClickListener = itemClickListener;
|
||||||
settings = GlobalSettings.getInstance(context);
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,6 +3,7 @@ package org.nuclearfog.twidda.backend.engine;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
@ -79,22 +80,24 @@ public class TwitterEngine {
|
|||||||
* Initialize Twitter4J instance
|
* Initialize Twitter4J instance
|
||||||
*/
|
*/
|
||||||
private void initTwitter() {
|
private void initTwitter() {
|
||||||
// check for TLS 1.2 support and activate it
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||||
try {
|
// check for TLS 1.2 support and activate it
|
||||||
boolean tlsEnabled = false;
|
try {
|
||||||
SSLParameters param = SSLContext.getDefault().getDefaultSSLParameters();
|
boolean tlsEnabled = false;
|
||||||
String[] protocols = param.getProtocols();
|
SSLParameters param = SSLContext.getDefault().getDefaultSSLParameters();
|
||||||
for (String protocol : protocols) {
|
String[] protocols = param.getProtocols();
|
||||||
if (protocol.equals("TLSv1.2") || protocol.equals("TLSv1.3")) {
|
for (String protocol : protocols) {
|
||||||
tlsEnabled = true;
|
if (protocol.equals("TLSv1.2") || protocol.equals("TLSv1.3")) {
|
||||||
break;
|
tlsEnabled = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!tlsEnabled) {
|
||||||
|
HttpsURLConnection.setDefaultSSLSocketFactory(new TLSSocketFactory());
|
||||||
|
}
|
||||||
|
} catch (Exception err) {
|
||||||
|
err.printStackTrace();
|
||||||
}
|
}
|
||||||
if (!tlsEnabled) {
|
|
||||||
HttpsURLConnection.setDefaultSSLSocketFactory(new TLSSocketFactory());
|
|
||||||
}
|
|
||||||
} catch (Exception err) {
|
|
||||||
err.printStackTrace();
|
|
||||||
}
|
}
|
||||||
ConfigurationBuilder builder = new ConfigurationBuilder();
|
ConfigurationBuilder builder = new ConfigurationBuilder();
|
||||||
if (settings.isCustomApiSet()) {
|
if (settings.isCustomApiSet()) {
|
||||||
|
@ -179,7 +179,7 @@ public class MessageFragment extends ListFragment implements OnItemSelected, OnD
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MessageAdapter initAdapter() {
|
protected MessageAdapter initAdapter() {
|
||||||
adapter = new MessageAdapter(requireContext(), this);
|
adapter = new MessageAdapter(settings, this);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public class TrendFragment extends ListFragment implements TrendClickListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TrendAdapter initAdapter() {
|
protected TrendAdapter initAdapter() {
|
||||||
adapter = new TrendAdapter(this, settings);
|
adapter = new TrendAdapter(settings, this);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ public class TweetFragment extends ListFragment implements TweetClickListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TweetAdapter initAdapter() {
|
protected TweetAdapter initAdapter() {
|
||||||
adapter = new TweetAdapter(requireContext(), this);
|
adapter = new TweetAdapter(settings, this);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ public class UserFragment extends ListFragment implements UserClickListener,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected UserAdapter initAdapter() {
|
protected UserAdapter initAdapter() {
|
||||||
adapter = new UserAdapter(requireContext(), this);
|
adapter = new UserAdapter(settings, this);
|
||||||
adapter.enableDeleteButton(delUser);
|
adapter.enableDeleteButton(delUser);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ public class UserListFragment extends ListFragment implements ListClickListener
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ListAdapter initAdapter() {
|
protected ListAdapter initAdapter() {
|
||||||
adapter = new ListAdapter(requireContext(), this);
|
adapter = new ListAdapter(settings, this);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,4 +187,5 @@
|
|||||||
<string name="error_mention_exceed">Zu viele Nutzer Erwähnungen!</string>
|
<string name="error_mention_exceed">Zu viele Nutzer Erwähnungen!</string>
|
||||||
<string name="error_api_key_expired">Fehler, API Schlüssel veraltet, bitte App aktualisieren!</string>
|
<string name="error_api_key_expired">Fehler, API Schlüssel veraltet, bitte App aktualisieren!</string>
|
||||||
<string name="info_location_pending">Ortung läuft, bitte warten.</string>
|
<string name="info_location_pending">Ortung läuft, bitte warten.</string>
|
||||||
|
<string name="app_info_twitter_rules">Twitter Regeln:</string>
|
||||||
</resources>
|
</resources>
|
@ -34,7 +34,7 @@
|
|||||||
<dimen name="tweet_textsize_small">12sp</dimen>
|
<dimen name="tweet_textsize_small">12sp</dimen>
|
||||||
<dimen name="tweet_textsize">18sp</dimen>
|
<dimen name="tweet_textsize">18sp</dimen>
|
||||||
<dimen name="tweet_textsize_locale">12sp</dimen>
|
<dimen name="tweet_textsize_locale">12sp</dimen>
|
||||||
<integer name="tweet_test_max_lines">8</integer>
|
<integer name="tweet_test_max_lines">6</integer>
|
||||||
|
|
||||||
<!--dimens of page_profile.xml-->
|
<!--dimens of page_profile.xml-->
|
||||||
<dimen name="profile_toolbar_height">48dp</dimen>
|
<dimen name="profile_toolbar_height">48dp</dimen>
|
||||||
@ -71,7 +71,7 @@
|
|||||||
<dimen name="tweetitem_padding_drawable">5dp</dimen>
|
<dimen name="tweetitem_padding_drawable">5dp</dimen>
|
||||||
<dimen name="tweetitem_textsize_button">12sp</dimen>
|
<dimen name="tweetitem_textsize_button">12sp</dimen>
|
||||||
<dimen name="tweetitem_textsize_date">12sp</dimen>
|
<dimen name="tweetitem_textsize_date">12sp</dimen>
|
||||||
<dimen name="tweetitem_icon_size">16sp</dimen>
|
<dimen name="tweetitem_icon_size">14sp</dimen>
|
||||||
|
|
||||||
<!--dimens of item_trend.xml-->
|
<!--dimens of item_trend.xml-->
|
||||||
<dimen name="trenditem_layout_padding">5dp</dimen>
|
<dimen name="trenditem_layout_padding">5dp</dimen>
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
<string name="descr_add_profile_image">change profile image</string>
|
<string name="descr_add_profile_image">change profile image</string>
|
||||||
<string name="app_info_twitter_link_1" translatable="false">https://support.twitter.com/articles/18311-the-twitter-rules</string>
|
<string name="app_info_twitter_link_1" translatable="false">https://support.twitter.com/articles/18311-the-twitter-rules</string>
|
||||||
<string name="app_info_twitter_link_2" translatable="false">https://help.twitter.com/rules-and-policies/twitter-api</string>
|
<string name="app_info_twitter_link_2" translatable="false">https://help.twitter.com/rules-and-policies/twitter-api</string>
|
||||||
<string name="app_info_twitter_rules" translatable="false">The Twitter rules:</string>
|
<string name="app_info_twitter_rules">The Twitter rules:</string>
|
||||||
|
|
||||||
<!-- toast messages to inform user -->
|
<!-- toast messages to inform user -->
|
||||||
<string name="info_user_removed">User removed from list</string>
|
<string name="info_user_removed">User removed from list</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user