changed icon coloring algorithm, added error code, fixed possible bugs, added comments

This commit is contained in:
nuclearfog 2021-01-29 18:46:13 +01:00
parent ad12086cb6
commit c5222942b7
No known key found for this signature in database
GPG Key ID: D5490E4A81F97B14
9 changed files with 29 additions and 24 deletions

View File

@ -2,6 +2,7 @@ package org.nuclearfog.twidda.activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Intent; import android.content.Intent;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
@ -68,11 +69,12 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList
private ViewPager pager; private ViewPager pager;
private View root; private View root;
static { static {
// Enable vector drawable support for API 16 to 21 // Enable vector drawable support for API 16 to 21
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
} }
}
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {

View File

@ -34,7 +34,7 @@ import java.text.NumberFormat;
import jp.wasabeef.picasso.transformations.RoundedCornersTransformation; import jp.wasabeef.picasso.transformations.RoundedCornersTransformation;
import static android.graphics.PorterDuff.Mode.SRC_ATOP; import static android.graphics.PorterDuff.Mode.SRC_IN;
import static android.view.View.GONE; import static android.view.View.GONE;
import static android.view.View.INVISIBLE; import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE; import static android.view.View.VISIBLE;
@ -291,7 +291,7 @@ public class ListAdapter extends Adapter<ViewHolder> {
private void colorIcons() { private void colorIcons() {
for (Drawable icon : icons) { for (Drawable icon : icons) {
icon.setColorFilter(settings.getIconColor(), SRC_ATOP); icon.setColorFilter(settings.getIconColor(), SRC_IN);
} }
} }

View File

@ -34,7 +34,7 @@ import java.util.List;
import jp.wasabeef.picasso.transformations.RoundedCornersTransformation; import jp.wasabeef.picasso.transformations.RoundedCornersTransformation;
import static android.graphics.PorterDuff.Mode.SRC_ATOP; import static android.graphics.PorterDuff.Mode.SRC_IN;
import static androidx.recyclerview.widget.RecyclerView.NO_POSITION; import static androidx.recyclerview.widget.RecyclerView.NO_POSITION;
import static org.nuclearfog.twidda.backend.utils.StringTools.getTimeString; import static org.nuclearfog.twidda.backend.utils.StringTools.getTimeString;
@ -63,7 +63,7 @@ public class MessageAdapter extends Adapter<ViewHolder> {
int resId = drawables.getResourceId(index, 0); int resId = drawables.getResourceId(index, 0);
icons[index] = AppCompatResources.getDrawable(context, resId); icons[index] = AppCompatResources.getDrawable(context, resId);
if (icons[index] != null) { if (icons[index] != null) {
icons[index].setColorFilter(settings.getIconColor(), SRC_ATOP); icons[index].setColorFilter(settings.getIconColor(), SRC_IN);
} }
} }
drawables.recycle(); drawables.recycle();

View File

@ -37,7 +37,7 @@ import java.util.List;
import jp.wasabeef.picasso.transformations.RoundedCornersTransformation; import jp.wasabeef.picasso.transformations.RoundedCornersTransformation;
import static android.graphics.PorterDuff.Mode.SRC_ATOP; import static android.graphics.PorterDuff.Mode.SRC_IN;
import static android.view.View.INVISIBLE; import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE; import static android.view.View.VISIBLE;
import static androidx.recyclerview.widget.RecyclerView.NO_ID; import static androidx.recyclerview.widget.RecyclerView.NO_ID;
@ -337,12 +337,12 @@ public class TweetAdapter extends Adapter<ViewHolder> {
* set color filter for icons * set color filter for icons
*/ */
private void setIconColors() { private void setIconColors() {
icons[0].setColorFilter(settings.getIconColor(), SRC_ATOP); icons[0].setColorFilter(settings.getIconColor(), SRC_IN);
icons[1].setColorFilter(settings.getIconColor(), SRC_ATOP); icons[1].setColorFilter(settings.getIconColor(), SRC_IN);
icons[2].setColorFilter(settings.getIconColor(), SRC_ATOP); icons[2].setColorFilter(settings.getIconColor(), SRC_IN);
icons[3].setColorFilter(Color.GREEN, SRC_ATOP); icons[3].setColorFilter(Color.GREEN, SRC_IN);
icons[4].setColorFilter(settings.getIconColor(), SRC_ATOP); icons[4].setColorFilter(settings.getIconColor(), SRC_IN);
icons[5].setColorFilter(Color.YELLOW, SRC_ATOP); icons[5].setColorFilter(Color.YELLOW, SRC_IN);
} }
/** /**

View File

@ -33,7 +33,7 @@ import java.text.NumberFormat;
import jp.wasabeef.picasso.transformations.RoundedCornersTransformation; import jp.wasabeef.picasso.transformations.RoundedCornersTransformation;
import static android.graphics.PorterDuff.Mode.SRC_ATOP; import static android.graphics.PorterDuff.Mode.SRC_IN;
import static android.view.View.GONE; import static android.view.View.GONE;
import static android.view.View.INVISIBLE; import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE; import static android.view.View.VISIBLE;
@ -304,7 +304,7 @@ public class UserAdapter extends Adapter<ViewHolder> {
*/ */
private void setIconColor() { private void setIconColor() {
for (Drawable icon : icons) { for (Drawable icon : icons) {
icon.setColorFilter(settings.getIconColor(), SRC_ATOP); icon.setColorFilter(settings.getIconColor(), SRC_IN);
} }
} }

View File

@ -108,6 +108,7 @@ public class EngineException extends Exception {
errorType = ErrorType.NO_DM_TO_USER; errorType = ErrorType.NO_DM_TO_USER;
break; break;
case 215: // Invalid API keys
case 261: case 261:
errorType = ErrorType.ERROR_API_ACCESS_DENIED; errorType = ErrorType.ERROR_API_ACCESS_DENIED;
break; break;

View File

@ -14,7 +14,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Creates a https proxy connection for all connections * Creates a https proxy connection for all connections except Twitter4J
* *
* @author nuclearfog * @author nuclearfog
*/ */
@ -32,7 +32,6 @@ class ProxySetup {
ProxyConnection proxyConnection; ProxyConnection proxyConnection;
ProxyAuthenticator proxyLogin; ProxyAuthenticator proxyLogin;
if (settings.isProxyEnabled()) { if (settings.isProxyEnabled()) {
proxyConnection = new ProxyConnection(settings); proxyConnection = new ProxyConnection(settings);
} else { } else {

View File

@ -11,6 +11,8 @@ import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.SSLSocketFactory;
/** /**
* Enable Experimental TLS 1.2 support for devices lower than android 21
*
* @author fkrauthan * @author fkrauthan
* @see <a href="https://gist.githubusercontent.com/fkrauthan/ac8624466a4dee4fd02f/raw/309efc30e31c96a932ab9d19bf4d73b286b00573/TLSSocketFactory.java"/> * @see <a href="https://gist.githubusercontent.com/fkrauthan/ac8624466a4dee4fd02f/raw/309efc30e31c96a932ab9d19bf4d73b286b00573/TLSSocketFactory.java"/>
*/ */

View File

@ -37,7 +37,9 @@ import jp.wasabeef.picasso.transformations.BlurTransformation;
import jp.wasabeef.picasso.transformations.CropTransformation; import jp.wasabeef.picasso.transformations.CropTransformation;
import static android.graphics.Bitmap.Config.ARGB_8888; import static android.graphics.Bitmap.Config.ARGB_8888;
import static android.graphics.PorterDuff.Mode.SRC_ATOP; import static android.graphics.PorterDuff.Mode.SRC_IN;
import static jp.wasabeef.picasso.transformations.CropTransformation.GravityHorizontal.CENTER;
import static jp.wasabeef.picasso.transformations.CropTransformation.GravityVertical.TOP;
/** /**
* Class to set up all TetView preferences * Class to set up all TetView preferences
@ -212,7 +214,7 @@ public final class AppStyles {
public static void setProgressColor(ProgressBar circle, int color) { public static void setProgressColor(ProgressBar circle, int color) {
Drawable icon = circle.getIndeterminateDrawable(); Drawable icon = circle.getIndeterminateDrawable();
if (icon != null) { if (icon != null) {
icon.setColorFilter(new PorterDuffColorFilter(color, SRC_ATOP)); icon.setColorFilter(new PorterDuffColorFilter(color, SRC_IN));
} }
} }
@ -236,8 +238,8 @@ public final class AppStyles {
* @param seekBar seek bar to color * @param seekBar seek bar to color
*/ */
public static void setSeekBarColor(GlobalSettings settings, SeekBar seekBar) { public static void setSeekBarColor(GlobalSettings settings, SeekBar seekBar) {
seekBar.getProgressDrawable().setColorFilter(new PorterDuffColorFilter(settings.getHighlightColor(), SRC_ATOP)); seekBar.getProgressDrawable().setColorFilter(new PorterDuffColorFilter(settings.getHighlightColor(), SRC_IN));
seekBar.getThumb().setColorFilter(new PorterDuffColorFilter(settings.getIconColor(), SRC_ATOP)); seekBar.getThumb().setColorFilter(new PorterDuffColorFilter(settings.getIconColor(), SRC_IN));
} }
/** /**
@ -306,8 +308,7 @@ public final class AppStyles {
Bitmap image = ((BitmapDrawable) background.getDrawable()).getBitmap(); Bitmap image = ((BitmapDrawable) background.getDrawable()).getBitmap();
BlurTransformation blur = new BlurTransformation(background.getContext(), 5); BlurTransformation blur = new BlurTransformation(background.getContext(), 5);
CropTransformation crop = new CropTransformation(image.getWidth(), (int) (image.getWidth() / toolbarRatio), CropTransformation crop = new CropTransformation(image.getWidth(), (int) (image.getWidth() / toolbarRatio), CENTER, TOP);
CropTransformation.GravityHorizontal.CENTER, CropTransformation.GravityVertical.TOP);
Bitmap result = blur.transform(crop.transform(image.copy(ARGB_8888, true))); Bitmap result = blur.transform(crop.transform(image.copy(ARGB_8888, true)));
toolbarBackground.setImageBitmap(result); toolbarBackground.setImageBitmap(result);
@ -321,7 +322,7 @@ public final class AppStyles {
*/ */
private static void setDrawableColor(@Nullable Drawable drawable, int color) { private static void setDrawableColor(@Nullable Drawable drawable, int color) {
if (drawable != null) { if (drawable != null) {
drawable.mutate().setColorFilter(new PorterDuffColorFilter(color, SRC_ATOP)); drawable.mutate().setColorFilter(new PorterDuffColorFilter(color, SRC_IN));
} }
} }
} }