diff --git a/app/build.gradle b/app/build.gradle index 543d30aa..4b9141e8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 diff --git a/app/src/main/java/org/nuclearfog/twidda/activity/MediaViewer.java b/app/src/main/java/org/nuclearfog/twidda/activity/MediaViewer.java index d4f7b9c7..b9929718 100644 --- a/app/src/main/java/org/nuclearfog/twidda/activity/MediaViewer.java +++ b/app/src/main/java/org/nuclearfog/twidda/activity/MediaViewer.java @@ -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); diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/FontAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/FontAdapter.java index 8a9ce82b..a699a254 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/FontAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/FontAdapter.java @@ -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 { diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java index baf09ea8..92c20798 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java @@ -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 { 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; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java index d59293c6..53bfe52d 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java @@ -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 { 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; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java index 7bb420ed..abbab228 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java @@ -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 { private List 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; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java index 3633dc9b..decbd24b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java @@ -40,7 +40,7 @@ public class TrendAdapter extends Adapter { private List trends = new ArrayList<>(); - public TrendAdapter(TrendClickListener itemClickListener, GlobalSettings settings) { + public TrendAdapter(GlobalSettings settings, TrendClickListener itemClickListener) { this.itemClickListener = itemClickListener; this.settings = settings; } diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java index 952e0c65..663d9bb5 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java @@ -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 { 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 { 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; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java index 8cda30ad..c5160e94 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java @@ -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 { 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; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/engine/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/engine/TwitterEngine.java index 05a9d7fe..e9c4f3ee 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/engine/TwitterEngine.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/engine/TwitterEngine.java @@ -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()) { diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java index 513b0983..bbdcd2a1 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java @@ -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; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java index 07376497..59b824ce 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java @@ -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; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java index 2f744f5e..4b02af2a 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java @@ -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; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java index 3e3d60a6..3b14c352 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java @@ -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; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/UserListFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/UserListFragment.java index 1713f7a0..e7fe0920 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/UserListFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/UserListFragment.java @@ -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; } diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 783d7409..b180b719 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -187,4 +187,5 @@ Zu viele Nutzer Erwähnungen! Fehler, API Schlüssel veraltet, bitte App aktualisieren! Ortung läuft, bitte warten. + Twitter Regeln: \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index b5580640..eb39dc5d 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -34,7 +34,7 @@ 12sp 18sp 12sp - 8 + 6 48dp @@ -71,7 +71,7 @@ 5dp 12sp 12sp - 16sp + 14sp 5dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f23f16d0..558a4c64 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -102,7 +102,7 @@ change profile image https://support.twitter.com/articles/18311-the-twitter-rules https://help.twitter.com/rules-and-policies/twitter-api - The Twitter rules: + The Twitter rules: User removed from list