v1.7.3 layout fix, performance improvement, update dependency

This commit is contained in:
nuclearfog 2020-03-18 15:04:57 +01:00
parent 36ac684ba3
commit 23eb7a9c66
No known key found for this signature in database
GPG Key ID: ED35E22099354A64
28 changed files with 68 additions and 98 deletions

View File

@ -8,8 +8,8 @@ android {
applicationId 'org.nuclearfog.twidda' applicationId 'org.nuclearfog.twidda'
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 29 targetSdkVersion 29
versionCode 10 versionCode 11
versionName '1.7.2' versionName '1.7.3'
vectorDrawables.useSupportLibrary true vectorDrawables.useSupportLibrary true
} }
@ -44,5 +44,5 @@ dependencies {
implementation 'com.squareup.picasso:picasso:2.71828' implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.github.QuadFlask:colorpicker:0.0.13' implementation 'com.github.QuadFlask:colorpicker:0.0.13'
implementation 'com.github.nuclearfog:ZoomView:1.0.2' implementation 'com.github.nuclearfog:ZoomView:1.0.2'
implementation 'com.github.nuclearfog:Tagger:2.1' implementation 'com.github.nuclearfog:Tagger:2.2'
} }

View File

@ -106,7 +106,7 @@ public class AppSettings extends AppCompatActivity implements OnClickListener, O
fontSpinner.setAdapter(fontAdapter); fontSpinner.setAdapter(fontAdapter);
fontSpinner.setSelection(settings.getFont()); fontSpinner.setSelection(settings.getFont());
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
toggleImg.setChecked(settings.getImageLoad()); toggleImg.setChecked(settings.getImageLoad());
toggleAns.setChecked(settings.getAnswerLoad()); toggleAns.setChecked(settings.getAnswerLoad());
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());

View File

@ -38,7 +38,7 @@ public class DirectMessage extends AppCompatActivity {
GlobalSettings settings = GlobalSettings.getInstance(this); GlobalSettings settings = GlobalSettings.getInstance(this);
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
} }

View File

@ -49,7 +49,7 @@ public class ListDetail extends AppCompatActivity implements OnTabSelectedListen
getSupportActionBar().setTitle(name); getSupportActionBar().setTitle(name);
GlobalSettings settings = GlobalSettings.getInstance(this); GlobalSettings settings = GlobalSettings.getInstance(this);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
adapter = new FragmentAdapter(getSupportFragmentManager(), LISTCONTENT_PAGE, id, ""); adapter = new FragmentAdapter(getSupportFragmentManager(), LISTCONTENT_PAGE, id, "");
pager.setAdapter(adapter); pager.setAdapter(adapter);

View File

@ -60,7 +60,7 @@ public class LoginPage extends AppCompatActivity implements OnClickListener {
btnVeri.setTypeface(settings.getFontFace()); btnVeri.setTypeface(settings.getFontFace());
pin.setTypeface(settings.getFontFace()); pin.setTypeface(settings.getFontFace());
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
} }

View File

@ -63,7 +63,7 @@ public class MessagePopup extends AppCompatActivity implements OnClickListener {
GlobalSettings settings = GlobalSettings.getInstance(this); GlobalSettings settings = GlobalSettings.getInstance(this);
root.setBackgroundColor(settings.getPopupColor()); root.setBackgroundColor(settings.getPopupColor());
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
receiver.append(addtion); receiver.append(addtion);
send.setOnClickListener(this); send.setOnClickListener(this);

View File

@ -73,7 +73,7 @@ public class ProfileEditor extends AppCompatActivity implements OnClickListener
if (getSupportActionBar() != null) if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.page_profile_edior); getSupportActionBar().setTitle(R.string.page_profile_edior);
GlobalSettings settings = GlobalSettings.getInstance(this); GlobalSettings settings = GlobalSettings.getInstance(this);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
txtImg.setOnClickListener(this); txtImg.setOnClickListener(this);
pb_image.setOnClickListener(this); pb_image.setOnClickListener(this);

View File

@ -132,11 +132,10 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setDisplayShowTitleEnabled(false);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username); FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
tweetLoc.setMovementMethod(LinkMovementMethod.getInstance()); tweetLoc.setMovementMethod(LinkMovementMethod.getInstance());
tweetText.setMovementMethod(LinkMovementMethod.getInstance()); tweetText.setMovementMethod(LinkMovementMethod.getInstance());
tweetText.setLinkTextColor(settings.getHighlightColor()); tweetText.setLinkTextColor(settings.getHighlightColor());
tweetText.setTextColor(settings.getFontColor());
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
pager.setOffscreenPageLimit(1); pager.setOffscreenPageLimit(1);
pager.setAdapter(adapter); pager.setAdapter(adapter);

View File

@ -104,7 +104,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
mediaPath = new LinkedList<>(); mediaPath = new LinkedList<>();
GlobalSettings settings = GlobalSettings.getInstance(this); GlobalSettings settings = GlobalSettings.getInstance(this);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
root.setBackgroundColor(settings.getPopupColor()); root.setBackgroundColor(settings.getPopupColor());
tweetText.append(addition); tweetText.append(addition);

View File

@ -78,6 +78,6 @@ public class UserDetail extends AppCompatActivity {
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.SUBSCRIBER_PAGE, id, ""); adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.SUBSCRIBER_PAGE, id, "");
pager.setAdapter(adapter); pager.setAdapter(adapter);
} }
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
} }
} }

View File

@ -39,7 +39,7 @@ public class UserList extends AppCompatActivity {
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), LIST_PAGE, userId, ""); FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), LIST_PAGE, userId, "");
pager.setAdapter(adapter); pager.setAdapter(adapter);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
root.setBackgroundColor(settings.getBackgroundColor()); root.setBackgroundColor(settings.getBackgroundColor());
} }
} }

View File

@ -127,7 +127,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
if (getSupportActionBar() != null) if (getSupportActionBar() != null)
getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setDisplayShowTitleEnabled(false);
FontTool.setViewFont(root, settings.getFontFace()); FontTool.setViewFont(settings, root);
bioTxt.setMovementMethod(LinkMovementMethod.getInstance()); bioTxt.setMovementMethod(LinkMovementMethod.getInstance());
tab.setSelectedTabIndicatorColor(settings.getHighlightColor()); tab.setSelectedTabIndicatorColor(settings.getHighlightColor());
bioTxt.setLinkTextColor(settings.getHighlightColor()); bioTxt.setLinkTextColor(settings.getHighlightColor());
@ -143,6 +143,8 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
favorTabTxt.setTextSize(10); favorTabTxt.setTextSize(10);
tweetTabTxt.setTypeface(settings.getFontFace()); tweetTabTxt.setTypeface(settings.getFontFace());
favorTabTxt.setTypeface(settings.getFontFace()); favorTabTxt.setTypeface(settings.getFontFace());
tweetTabTxt.setTextColor(settings.getFontColor());
favorTabTxt.setTextColor(settings.getFontColor());
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.PROFILE_TAB, userId, ""); adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.PROFILE_TAB, userId, "");
pager.setOffscreenPageLimit(2); pager.setOffscreenPageLimit(2);

View File

@ -126,7 +126,7 @@ public class ImageAdapter extends Adapter<ImageAdapter.ImageHolder> {
} }
class ImageHolder extends ViewHolder { static class ImageHolder extends ViewHolder {
final View view; final View view;
ImageHolder(View view) { ImageHolder(View view) {

View File

@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.squareup.picasso.Picasso; import com.squareup.picasso.Picasso;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.FontTool;
import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.helper.StringTools;
import org.nuclearfog.twidda.backend.items.TwitterList; import org.nuclearfog.twidda.backend.items.TwitterList;
import org.nuclearfog.twidda.backend.items.TwitterUser; import org.nuclearfog.twidda.backend.items.TwitterUser;
@ -89,17 +90,8 @@ public class ListAdapter extends Adapter<ListAdapter.ListHolder> {
public ListHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ListHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false); View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false);
final ListHolder vh = new ListHolder(v); final ListHolder vh = new ListHolder(v);
vh.title.setTextColor(settings.getFontColor()); FontTool.setViewFont(settings, v);
vh.ownername.setTextColor(settings.getFontColor());
vh.description.setTextColor(settings.getFontColor());
vh.createdAt.setTextColor(settings.getFontColor());
vh.title.setTypeface(settings.getFontFace());
vh.ownername.setTypeface(settings.getFontFace());
vh.description.setTypeface(settings.getFontFace());
vh.createdAt.setTypeface(settings.getFontFace());
vh.memberCount.setTypeface(settings.getFontFace());
vh.subscriberCount.setTypeface(settings.getFontFace());
vh.followList.setTypeface(settings.getFontFace());
vh.pb_image.setOnClickListener(new OnClickListener() { vh.pb_image.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -189,7 +181,7 @@ public class ListAdapter extends Adapter<ListAdapter.ListHolder> {
} }
class ListHolder extends ViewHolder { static class ListHolder extends ViewHolder {
final ImageView pb_image; final ImageView pb_image;
final Button followList, deleteList; final Button followList, deleteList;
final TextView title, ownername, description, createdAt; final TextView title, ownername, description, createdAt;

View File

@ -19,6 +19,7 @@ import com.squareup.picasso.Picasso;
import org.nuclearfog.tag.Tagger; import org.nuclearfog.tag.Tagger;
import org.nuclearfog.tag.Tagger.OnTagClickListener; import org.nuclearfog.tag.Tagger.OnTagClickListener;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.FontTool;
import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.helper.StringTools;
import org.nuclearfog.twidda.backend.items.Message; import org.nuclearfog.twidda.backend.items.Message;
import org.nuclearfog.twidda.backend.items.TwitterUser; import org.nuclearfog.twidda.backend.items.TwitterUser;
@ -83,6 +84,8 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
public MessageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public MessageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_dm, parent, false); View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_dm, parent, false);
final MessageHolder vh = new MessageHolder(view); final MessageHolder vh = new MessageHolder(view);
FontTool.setViewFont(settings, view);
vh.message.setMovementMethod(LinkMovementMethod.getInstance()); vh.message.setMovementMethod(LinkMovementMethod.getInstance());
vh.answer.setOnClickListener(new View.OnClickListener() { vh.answer.setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -127,24 +130,13 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
text = Tagger.makeTextWithLinks(message.getText(), settings.getHighlightColor(), itemClickListener.get()); text = Tagger.makeTextWithLinks(message.getText(), settings.getHighlightColor(), itemClickListener.get());
else else
text = Tagger.makeTextWithLinks(message.getText(), settings.getHighlightColor()); text = Tagger.makeTextWithLinks(message.getText(), settings.getHighlightColor());
vh.message.setText(text); vh.message.setText(text);
vh.username.setText(sender.getUsername()); vh.username.setText(sender.getUsername());
vh.screenname.setText(sender.getScreenname()); vh.screenname.setText(sender.getScreenname());
vh.createdAt.setText(StringTools.getTimeString(message.getTime())); vh.createdAt.setText(StringTools.getTimeString(message.getTime()));
vh.receivername.setText(message.getReceiver().getScreenname()); vh.receivername.setText(message.getReceiver().getScreenname());
vh.message.setTypeface(settings.getFontFace());
vh.username.setTypeface(settings.getFontFace());
vh.screenname.setTypeface(settings.getFontFace());
vh.receivername.setTypeface(settings.getFontFace());
vh.createdAt.setTypeface(settings.getFontFace());
vh.answer.setTypeface(settings.getFontFace());
vh.delete.setTypeface(settings.getFontFace());
vh.message.setTextColor(settings.getFontColor());
vh.username.setTextColor(settings.getFontColor());
vh.screenname.setTextColor(settings.getFontColor());
vh.receivername.setTextColor(settings.getFontColor());
vh.createdAt.setTextColor(settings.getFontColor());
vh.message.setLinkTextColor(settings.getHighlightColor());
if (sender.isVerified()) if (sender.isVerified())
vh.username.setCompoundDrawablesWithIntrinsicBounds(R.drawable.verify, 0, 0, 0); vh.username.setCompoundDrawablesWithIntrinsicBounds(R.drawable.verify, 0, 0, 0);
else else
@ -158,7 +150,7 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
} }
class MessageHolder extends ViewHolder { static class MessageHolder extends ViewHolder {
final ImageView profile_img; final ImageView profile_img;
final TextView username; final TextView username;
final TextView screenname; final TextView screenname;

View File

@ -1,7 +1,6 @@
package org.nuclearfog.twidda.adapter; package org.nuclearfog.twidda.adapter;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Typeface;
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;
@ -14,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter;
import androidx.recyclerview.widget.RecyclerView.ViewHolder; import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.FontTool;
import org.nuclearfog.twidda.backend.items.TwitterTrend; import org.nuclearfog.twidda.backend.items.TwitterTrend;
import org.nuclearfog.twidda.database.GlobalSettings; import org.nuclearfog.twidda.database.GlobalSettings;
@ -73,6 +73,8 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trend, parent, false); View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trend, parent, false);
final ItemHolder vh = new ItemHolder(v); final ItemHolder vh = new ItemHolder(v);
FontTool.setViewFont(settings, v);
v.setOnClickListener(new OnClickListener() { v.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -89,15 +91,7 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
@Override @Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
Typeface font = settings.getFontFace();
int color = settings.getFontColor();
TwitterTrend trend = trends.get(index); TwitterTrend trend = trends.get(index);
vh.pos.setTextColor(color);
vh.name.setTextColor(color);
vh.vol.setTextColor(color);
vh.pos.setTypeface(font);
vh.name.setTypeface(font);
vh.vol.setTypeface(font);
vh.pos.setText(trend.getRankStr()); vh.pos.setText(trend.getRankStr());
vh.name.setText(trend.getName()); vh.name.setText(trend.getName());
if (trend.hasRangeInfo()) { if (trend.hasRangeInfo()) {
@ -111,7 +105,7 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
} }
class ItemHolder extends ViewHolder { static class ItemHolder extends ViewHolder {
final TextView name, pos, vol; final TextView name, pos, vol;
ItemHolder(View v) { ItemHolder(View v) {

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.adapter; package org.nuclearfog.twidda.adapter;
import android.graphics.Typeface;
import android.text.Spanned; import android.text.Spanned;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -18,6 +17,7 @@ import com.squareup.picasso.Picasso;
import org.nuclearfog.tag.Tagger; import org.nuclearfog.tag.Tagger;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.FontTool;
import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.helper.StringTools;
import org.nuclearfog.twidda.backend.items.Tweet; import org.nuclearfog.twidda.backend.items.Tweet;
import org.nuclearfog.twidda.backend.items.TwitterUser; import org.nuclearfog.twidda.backend.items.TwitterUser;
@ -90,6 +90,8 @@ public class TweetAdapter extends Adapter<TweetAdapter.ItemHolder> {
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tweet, parent, false); View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tweet, parent, false);
final ItemHolder vh = new ItemHolder(v); final ItemHolder vh = new ItemHolder(v);
FontTool.setViewFont(settings, v);
v.setOnClickListener(new OnClickListener() { v.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -107,8 +109,6 @@ public class TweetAdapter extends Adapter<TweetAdapter.ItemHolder> {
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
Tweet tweet = tweets.get(index); Tweet tweet = tweets.get(index);
TwitterUser user = tweet.getUser(); TwitterUser user = tweet.getUser();
Typeface font = settings.getFontFace();
int color = settings.getFontColor();
if (tweet.getEmbeddedTweet() != null) { if (tweet.getEmbeddedTweet() != null) {
String retweeter = "RT " + user.getScreenname(); String retweeter = "RT " + user.getScreenname();
@ -118,17 +118,6 @@ public class TweetAdapter extends Adapter<TweetAdapter.ItemHolder> {
} else { } else {
vh.retweeter.setText(""); vh.retweeter.setText("");
} }
vh.username.setTypeface(font);
vh.screenname.setTypeface(font);
vh.tweet.setTypeface(font);
vh.retweet.setTypeface(font);
vh.favorite.setTypeface(font);
vh.time.setTypeface(font);
vh.retweeter.setTypeface(font);
vh.username.setTextColor(color);
vh.screenname.setTextColor(color);
vh.tweet.setTextColor(color);
vh.time.setTextColor(color);
Spanned text = Tagger.makeTextWithLinks(tweet.getTweet(), settings.getHighlightColor()); Spanned text = Tagger.makeTextWithLinks(tweet.getTweet(), settings.getHighlightColor());
vh.tweet.setText(text); vh.tweet.setText(text);
vh.username.setText(user.getUsername()); vh.username.setText(user.getUsername());
@ -158,7 +147,7 @@ public class TweetAdapter extends Adapter<TweetAdapter.ItemHolder> {
vh.profile.setImageResource(0); vh.profile.setImageResource(0);
} }
class ItemHolder extends ViewHolder { static class ItemHolder extends ViewHolder {
final TextView username, screenname, tweet, retweet; final TextView username, screenname, tweet, retweet;
final TextView favorite, retweeter, time; final TextView favorite, retweeter, time;
final ImageView profile; final ImageView profile;

View File

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.squareup.picasso.Picasso; import com.squareup.picasso.Picasso;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.FontTool;
import org.nuclearfog.twidda.backend.items.TwitterUser; import org.nuclearfog.twidda.backend.items.TwitterUser;
import org.nuclearfog.twidda.database.GlobalSettings; import org.nuclearfog.twidda.database.GlobalSettings;
@ -63,6 +64,8 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user, parent, false); View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user, parent, false);
final ItemHolder vh = new ItemHolder(v); final ItemHolder vh = new ItemHolder(v);
FontTool.setViewFont(settings, v);
v.setOnClickListener(new OnClickListener() { v.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -80,10 +83,6 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
@Override @Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
TwitterUser user = users.get(index); TwitterUser user = users.get(index);
vh.username.setTextColor(settings.getFontColor());
vh.screenname.setTextColor(settings.getFontColor());
vh.username.setTypeface(settings.getFontFace());
vh.screenname.setTypeface(settings.getFontFace());
vh.username.setText(user.getUsername()); vh.username.setText(user.getUsername());
vh.screenname.setText(user.getScreenname()); vh.screenname.setText(user.getScreenname());
if (settings.getImageLoad()) { if (settings.getImageLoad()) {
@ -102,7 +101,7 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
} }
class ItemHolder extends ViewHolder { static class ItemHolder extends ViewHolder {
final ImageView profileImg; final ImageView profileImg;
final TextView username, screenname; final TextView username, screenname;

View File

@ -964,7 +964,7 @@ public class TwitterEngine {
/** /**
* Internal Exception * Internal Exception
*/ */
public class EngineException extends Exception { public static class EngineException extends Exception {
private static final int FILENOTFOUND = 600; private static final int FILENOTFOUND = 600;
private static final int TOKENNOTSET = 601; private static final int TOKENNOTSET = 601;

View File

@ -1,10 +1,11 @@
package org.nuclearfog.twidda.backend.helper; package org.nuclearfog.twidda.backend.helper;
import android.graphics.Typeface;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.database.GlobalSettings;
/** /**
* Class for converting all fonts in a view * Class for converting all fonts in a view
*/ */
@ -12,19 +13,21 @@ public abstract class FontTool {
/** /**
* Set fonts to all text elements in a view * Set fonts to all text elements in a view
* * @param settings current font settings
* @param v Root view containing views * @param v Root view containing views
* @param font Font type
*/ */
public static void setViewFont(View v, Typeface font) { public static void setViewFont(GlobalSettings settings, View v) {
if (v instanceof ViewGroup) { if (v instanceof ViewGroup) {
ViewGroup group = (ViewGroup) v; ViewGroup group = (ViewGroup) v;
for (int pos = 0; pos < group.getChildCount(); pos++) { for (int pos = 0; pos < group.getChildCount(); pos++) {
View child = group.getChildAt(pos); View child = group.getChildAt(pos);
if (child instanceof ViewGroup) if (child instanceof ViewGroup)
setViewFont(child, font); setViewFont(settings, child);
else if (child instanceof TextView) else if (child instanceof TextView) {
((TextView) child).setTypeface(font); TextView tv = (TextView) child;
tv.setTypeface(settings.getFontFace());
tv.setTextColor(settings.getFontColor());
}
} }
} }
} }

View File

@ -61,7 +61,7 @@ public class TrendFragment extends Fragment implements OnRefreshListener, TrendC
if (trendTask == null) if (trendTask == null)
load(); load();
if (notifyChange) { if (notifyChange) {
adapter.notifyDataSetChanged(); list.setAdapter(adapter); // re-initialize List
notifyChange = false; notifyChange = false;
load(); load();
} }

View File

@ -90,7 +90,7 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC
if (tweetTask == null) if (tweetTask == null)
load(); load();
if (notifyChange) { if (notifyChange) {
adapter.notifyDataSetChanged(); list.setAdapter(adapter); // re-initialize List
notifyChange = false; notifyChange = false;
} }
reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());

View File

@ -63,13 +63,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/listitem_margin"
android:layout_marginEnd="@dimen/listitem_margin"
android:text="@string/list_created" />
<TextView <TextView
android:id="@+id/list_createdat" android:id="@+id/list_createdat"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -47,19 +47,21 @@
android:id="@+id/color_background" android:id="@+id/color_background"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_color"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:singleLine="true"
android:text="@string/background" /> android:text="@string/background" />
<Button <Button
android:id="@+id/color_font" android:id="@+id/color_font"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_color"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:includeFontPadding="false" android:includeFontPadding="false"
android:singleLine="true"
android:text="@string/font" android:text="@string/font"
android:textColor="@android:color/black" /> android:textColor="@android:color/black" />
@ -75,18 +77,20 @@
android:id="@+id/color_popup" android:id="@+id/color_popup"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_color"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:singleLine="true"
android:text="@string/popup" /> android:text="@string/popup" />
<Button <Button
android:id="@+id/highlight_color" android:id="@+id/highlight_color"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_color"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:singleLine="true"
android:text="@string/highlight" /> android:text="@string/highlight" />
</LinearLayout> </LinearLayout>
@ -201,20 +205,22 @@
android:id="@+id/delete_db" android:id="@+id/delete_db"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_data"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/button" android:background="@drawable/button"
android:singleLine="true"
android:text="@string/delete_database" /> android:text="@string/delete_database" />
<Button <Button
android:id="@+id/logout" android:id="@+id/logout"
style="@style/Widget.AppCompat.Button.Borderless" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/button_dm" android:layout_height="@dimen/button_settings_data"
android:layout_margin="@dimen/button_margin" android:layout_margin="@dimen/button_margin"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/button" android:background="@drawable/button"
android:singleLine="true"
android:text="@string/logout" /> android:text="@string/logout" />
</LinearLayout> </LinearLayout>

View File

@ -55,7 +55,7 @@
<string name="logout">ausloggen</string> <string name="logout">ausloggen</string>
<string name="pin_verification_failed">PIN verifizierung fehlgeschlagen!</string> <string name="pin_verification_failed">PIN verifizierung fehlgeschlagen!</string>
<string name="answer">Antworten</string> <string name="answer">Antworten</string>
<string name="delete_dm">löschen..</string> <string name="delete_dm">löschen</string>
<string name="yes_confirm">Ja</string> <string name="yes_confirm">Ja</string>
<string name="no_confirm">Nein</string> <string name="no_confirm">Nein</string>
<string name="confirm_cancel_tweet">Tweet verwerfen?</string> <string name="confirm_cancel_tweet">Tweet verwerfen?</string>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="halftrancparency">#40000000</color> <color name="halftrancparency">#40000000</color>
<color name="darktrancparency">#80000000</color>
<color name="brighttrancparency">#afffffff</color> <color name="brighttrancparency">#afffffff</color>
</resources> </resources>

View File

@ -42,6 +42,8 @@
<integer name="text_bio_lines">5</integer> <integer name="text_bio_lines">5</integer>
<dimen name="button_dm">40dp</dimen> <dimen name="button_dm">40dp</dimen>
<dimen name="button_settings_color">40dp</dimen>
<dimen name="button_settings_data">30dp</dimen>
<dimen name="button_load">48dp</dimen> <dimen name="button_load">48dp</dimen>
<dimen name="button_margin">5dp</dimen> <dimen name="button_margin">5dp</dimen>
<dimen name="button_padding">5dp</dimen> <dimen name="button_padding">5dp</dimen>

View File

@ -62,7 +62,7 @@
<string name="logout">log out!</string> <string name="logout">log out!</string>
<string name="pin_verification_failed">PIN verification failed!</string> <string name="pin_verification_failed">PIN verification failed!</string>
<string name="answer">answer</string> <string name="answer">answer</string>
<string name="delete_dm">delete..</string> <string name="delete_dm">delete</string>
<string name="yes_confirm">Yes</string> <string name="yes_confirm">Yes</string>
<string name="no_confirm">No</string> <string name="no_confirm">No</string>
<string name="confirm_unfollow">unfollow user?</string> <string name="confirm_unfollow">unfollow user?</string>