V 1.8.11, layout fix, adapter fix

This commit is contained in:
nuclearfog 2021-02-05 12:13:24 +01:00
parent ce4d24e3b1
commit 72e5778047
No known key found for this signature in database
GPG Key ID: D5490E4A81F97B14
18 changed files with 45 additions and 50 deletions

View File

@ -9,8 +9,8 @@ android {
applicationId 'org.nuclearfog.twidda'
minSdkVersion 16
targetSdkVersion 30
versionCode 34
versionName '1.8.10'
versionCode 35
versionName '1.8.11'
// limiting language support for smaller APK size
resConfigs 'en', 'de-rDE'
vectorDrawables.useSupportLibrary true

View File

@ -100,12 +100,12 @@ public class MediaViewer extends MediaActivity implements OnImageClickListener,
zoomImage = findViewById(R.id.image_full);
videoView = findViewById(R.id.video_view);
videoController = new MediaController(this);
adapter = new ImageAdapter(getApplicationContext(), this);
videoView.setZOrderOnTop(true);
videoView.setOnPreparedListener(this);
videoView.setOnErrorListener(this);
GlobalSettings settings = GlobalSettings.getInstance(this);
adapter = new ImageAdapter(settings, this);
AppStyles.setProgressColor(media_progress, settings.getHighlightColor());
mediaLinks = getIntent().getStringArrayExtra(KEY_MEDIA_LINK);

View File

@ -49,10 +49,10 @@ public class FontAdapter extends BaseAdapter {
@Override
public View getView(final int pos, View view, ViewGroup parent) {
public View getView(int pos, View view, ViewGroup parent) {
TextView tv;
String name = names[pos];
final Typeface font = fonts[pos];
Typeface font = fonts[pos];
if (view instanceof TextView)
tv = (TextView) view;
else {

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
@ -50,14 +49,10 @@ public class ImageAdapter extends Adapter<ViewHolder> {
private boolean loading = false;
private boolean saveImg = true;
/**
* Create an adapter for image previews
*
* @param itemClickListener Click listener for images
*/
public ImageAdapter(Context context, OnImageClickListener itemClickListener) {
public ImageAdapter(GlobalSettings settings, OnImageClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
settings = GlobalSettings.getInstance(context);
this.settings = settings;
}
/**

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@ -68,9 +67,9 @@ public class ListAdapter extends Adapter<ViewHolder> {
private int loadingIndex = NO_LOADING;
public ListAdapter(Context context, ListClickListener listener) {
public ListAdapter(GlobalSettings settings, ListClickListener listener) {
this.listener = listener;
this.settings = GlobalSettings.getInstance(context);
this.settings = settings;
}
/**

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter;
import android.content.Context;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
@ -50,9 +49,9 @@ public class MessageAdapter extends Adapter<ViewHolder> {
private List<Message> messages = new ArrayList<>();
public MessageAdapter(Context context, OnItemSelected itemClickListener) {
public MessageAdapter(GlobalSettings settings, OnItemSelected itemClickListener) {
this.itemClickListener = itemClickListener;
settings = GlobalSettings.getInstance(context);
this.settings = settings;
}
/**

View File

@ -40,7 +40,7 @@ public class TrendAdapter extends Adapter<ViewHolder> {
private List<Trend> trends = new ArrayList<>();
public TrendAdapter(TrendClickListener itemClickListener, GlobalSettings settings) {
public TrendAdapter(GlobalSettings settings, TrendClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
this.settings = settings;
}

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter;
import android.content.Context;
import android.graphics.Color;
import android.text.Spanned;
import android.view.LayoutInflater;
@ -65,7 +64,7 @@ public class TweetAdapter extends Adapter<ViewHolder> {
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;
@ -77,9 +76,9 @@ public class TweetAdapter extends Adapter<ViewHolder> {
private int loadingIndex = NO_INDEX;
public TweetAdapter(Context context, TweetClickListener itemClickListener) {
public TweetAdapter(GlobalSettings settings, TweetClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
settings = GlobalSettings.getInstance(context);
this.settings = settings;
}
/**

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@ -68,12 +67,12 @@ public class UserAdapter extends Adapter<ViewHolder> {
private boolean userRemovable = false;
/**
* @param context application context
* @param settings app settings
* @param itemClickListener click listener
*/
public UserAdapter(Context context, UserClickListener itemClickListener) {
public UserAdapter(GlobalSettings settings, UserClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
settings = GlobalSettings.getInstance(context);
this.settings = settings;
}
/**

View File

@ -3,6 +3,7 @@ package org.nuclearfog.twidda.backend.engine;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Build;
import androidx.annotation.Nullable;
@ -79,22 +80,24 @@ public class TwitterEngine {
* Initialize Twitter4J instance
*/
private void initTwitter() {
// check for TLS 1.2 support and activate it
try {
boolean tlsEnabled = false;
SSLParameters param = SSLContext.getDefault().getDefaultSSLParameters();
String[] protocols = param.getProtocols();
for (String protocol : protocols) {
if (protocol.equals("TLSv1.2") || protocol.equals("TLSv1.3")) {
tlsEnabled = true;
break;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
// check for TLS 1.2 support and activate it
try {
boolean tlsEnabled = false;
SSLParameters param = SSLContext.getDefault().getDefaultSSLParameters();
String[] protocols = param.getProtocols();
for (String protocol : protocols) {
if (protocol.equals("TLSv1.2") || protocol.equals("TLSv1.3")) {
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();
if (settings.isCustomApiSet()) {

View File

@ -179,7 +179,7 @@ public class MessageFragment extends ListFragment implements OnItemSelected, OnD
@Override
protected MessageAdapter initAdapter() {
adapter = new MessageAdapter(requireContext(), this);
adapter = new MessageAdapter(settings, this);
return adapter;
}

View File

@ -59,7 +59,7 @@ public class TrendFragment extends ListFragment implements TrendClickListener {
@Override
protected TrendAdapter initAdapter() {
adapter = new TrendAdapter(this, settings);
adapter = new TrendAdapter(settings, this);
return adapter;
}

View File

@ -156,7 +156,7 @@ public class TweetFragment extends ListFragment implements TweetClickListener {
@Override
protected TweetAdapter initAdapter() {
adapter = new TweetAdapter(requireContext(), this);
adapter = new TweetAdapter(settings, this);
return adapter;
}

View File

@ -172,7 +172,7 @@ public class UserFragment extends ListFragment implements UserClickListener,
@Override
protected UserAdapter initAdapter() {
adapter = new UserAdapter(requireContext(), this);
adapter = new UserAdapter(settings, this);
adapter.enableDeleteButton(delUser);
return adapter;
}

View File

@ -178,7 +178,7 @@ public class UserListFragment extends ListFragment implements ListClickListener
@Override
protected ListAdapter initAdapter() {
adapter = new ListAdapter(requireContext(), this);
adapter = new ListAdapter(settings, this);
return adapter;
}

View File

@ -187,4 +187,5 @@
<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="info_location_pending">Ortung läuft, bitte warten.</string>
<string name="app_info_twitter_rules">Twitter Regeln:</string>
</resources>

View File

@ -34,7 +34,7 @@
<dimen name="tweet_textsize_small">12sp</dimen>
<dimen name="tweet_textsize">18sp</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-->
<dimen name="profile_toolbar_height">48dp</dimen>
@ -71,7 +71,7 @@
<dimen name="tweetitem_padding_drawable">5dp</dimen>
<dimen name="tweetitem_textsize_button">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-->
<dimen name="trenditem_layout_padding">5dp</dimen>

View File

@ -102,7 +102,7 @@
<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_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 -->
<string name="info_user_removed">User removed from list</string>