From 3f82373613870888bfb8add0948a2c99e1ad5867 Mon Sep 17 00:00:00 2001 From: NudeDude Date: Fri, 16 Mar 2018 23:22:46 +0100 Subject: [PATCH] Bugfix Major Cleanup --- .../org/nuclearfog/twidda/MainActivity.java | 4 ++++ .../twidda/backend/ProfileLoader.java | 4 +++- .../twidda/backend/StatusLoader.java | 21 ++++++++++++++----- .../twidda/backend/TwitterEngine.java | 2 +- .../twidda/backend/TwitterSearch.java | 7 ++++++- .../nuclearfog/twidda/backend/UserLists.java | 10 ++++++--- .../twidda/database/TweetDatabase.java | 6 +----- .../twidda/viewadapter/TimelineRecycler.java | 7 ++++++- .../twidda/viewadapter/UserRecycler.java | 11 ++++------ .../nuclearfog/twidda/window/AppSettings.java | 2 +- .../nuclearfog/twidda/window/TweetDetail.java | 10 --------- .../nuclearfog/twidda/window/UserDetail.java | 2 ++ .../nuclearfog/twidda/window/UserProfile.java | 9 +++++--- 13 files changed, 57 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java index b9376944..13174405 100644 --- a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java +++ b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java @@ -351,9 +351,13 @@ public class MainActivity extends AppCompatActivity implements TrendDatabase trendDeck = new TrendDatabase(con); trendRc = new TrendRecycler(trendDeck, MainActivity.this); } + + boolean imageload = settings.getBoolean("image_load", true); rlRc.setColor(highlight,font_color); trendRc.setColor(background,font_color); mentRc.setColor(highlight,font_color); + rlRc.toggleImage(imageload); + mentRc.toggleImage(imageload); timelineList.setAdapter(rlRc); trendList.setAdapter(trendRc); mentionList.setAdapter(mentRc); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java index c54895bc..ef42da7a 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java @@ -91,7 +91,7 @@ public class ProfileLoader extends AsyncTask { following = Integer.toString(user.following); imageLink = user.profileImg; // bannerLink = user.bannerImg; - fullPbLink = user.fullpb; + fullPbLink = user.fullpb; Date d = new Date(user.created); dateString = "seit "+ DateFormat.getDateTimeInstance().format(d); } @@ -111,6 +111,7 @@ public class ProfileLoader extends AsyncTask { } homeTl = new TimelineRecycler(tweets,ui.get()); homeTl.setColor(highlight,font); + homeTl.toggleImage(imgEnabled); } else if(MODE == GET_FAVS) { @@ -128,6 +129,7 @@ public class ProfileLoader extends AsyncTask { } homeFav = new TimelineRecycler(favorits,ui.get()); homeFav.setColor(highlight,font); + homeFav.toggleImage(imgEnabled); } else if(MODE == ACTION_FOLLOW) { diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java index ed959604..44834daa 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java @@ -6,6 +6,7 @@ import android.content.SharedPreferences; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; +import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.RecyclerView; import android.text.SpannableStringBuilder; @@ -32,6 +33,7 @@ import org.nuclearfog.twidda.viewadapter.TimelineRecycler; import org.nuclearfog.twidda.window.ColorPreferences; import org.nuclearfog.twidda.window.TweetDetail; import org.nuclearfog.twidda.backend.listitems.*; +import org.nuclearfog.twidda.window.UserProfile; public class StatusLoader extends AsyncTask { @@ -52,7 +54,7 @@ public class StatusLoader extends AsyncTask { private String errMSG = ""; private boolean retweeted, favorited, toggleImg, verified; private boolean rtFlag = false; - private long userReply, tweetReplyID; + private long tweetReplyID, userID; private int rt, fav; private int highlight, font; @@ -97,6 +99,7 @@ public class StatusLoader extends AsyncTask { verified = tweet.verified; tweetStr = tweet.tweet; usernameStr = tweet.username; + userID = tweet.userID; scrNameStr = '@'+tweet.screenname; apiName = formatString(tweet.source); dateString = DateFormat.getDateTimeInstance().format(new Date(tweet.time)); @@ -154,9 +157,8 @@ public class StatusLoader extends AsyncTask { int err = e.getErrorCode(); if(err == 144) { // gelöscht TweetDatabase.removeStatus(ui.get(),tweetID); - errMSG = e.getMessage(); } - e.printStackTrace(); + errMSG = e.getMessage(); return ERROR; } catch(Exception err) { errMSG = err.getMessage(); @@ -171,7 +173,6 @@ public class StatusLoader extends AsyncTask { if(connect == null) return; final Context c = connect; - TextView tweet = (TextView)connect.findViewById(R.id.tweet_detailed); TextView username = (TextView)connect.findViewById(R.id.usernamedetail); TextView scrName = (TextView)connect.findViewById(R.id.scrnamedetail); @@ -230,11 +231,21 @@ public class StatusLoader extends AsyncTask { public void onClick(View v) { Intent intent = new Intent(c, TweetDetail.class); intent.putExtra("tweetID",tweetReplyID); - intent.putExtra("userID",userReply); intent.putExtra("username", repliedUsername); c.startActivity(intent); } }); + profile_img.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(ui.get(), UserProfile.class); + Bundle b = new Bundle(); + b.putLong("userID",userID); + b.putString("username", usernameStr); + intent.putExtras(b); + c.startActivity(intent); + } + }); } else if(mode == RETWEET) { String rtStr = Integer.toString(rt); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java index f229336b..fc4f8dc2 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java @@ -446,7 +446,7 @@ public class TwitterEngine { Tweet embeddedStat = getStatus(tweetID).embedded; if(embeddedStat != null) tweetID = embeddedStat.tweetID; - long[] userIds = twitter.getRetweeterIds(tweetID,load).getIDs(); + long[] userIds = twitter.getRetweeterIds(tweetID,load,cursor).getIDs(); if(userIds.length == 0) { return new ArrayList<>(); } else { diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java index 883c835d..b4318b25 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterSearch.java @@ -1,6 +1,7 @@ package org.nuclearfog.twidda.backend; import android.content.Context; +import android.content.SharedPreferences; import android.os.AsyncTask; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.RecyclerView; @@ -27,6 +28,7 @@ public class TwitterSearch extends AsyncTask { private WeakReference ui; private int background, highlight, font_color; private String error; + boolean imageload; public TwitterSearch(Context context) { ui = new WeakReference<>((SearchPage)context); @@ -37,6 +39,8 @@ public class TwitterSearch extends AsyncTask { background = mcolor.getColor(ColorPreferences.BACKGROUND); highlight = mcolor.getColor(ColorPreferences.HIGHLIGHTING); font_color = mcolor.getColor(ColorPreferences.FONT_COLOR); + SharedPreferences settings = ui.get().getSharedPreferences("settings", 0); + imageload = settings.getBoolean("image_load", true); } @Override @@ -63,7 +67,8 @@ public class TwitterSearch extends AsyncTask { } tlRc.setColor(highlight,font_color); - uAdp.setColor(background,font_color); + tlRc.toggleImage(imageload); + uAdp.toggleImage(imageload); } catch(Exception err) { error = err.getMessage(); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java b/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java index 46868fd5..49b4cec5 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/UserLists.java @@ -1,6 +1,7 @@ package org.nuclearfog.twidda.backend; import android.content.Context; +import android.content.SharedPreferences; import android.os.AsyncTask; import android.support.v7.widget.RecyclerView; import android.view.View; @@ -9,6 +10,7 @@ import android.widget.Toast; import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.viewadapter.UserRecycler; +import org.nuclearfog.twidda.window.ColorPreferences; import org.nuclearfog.twidda.window.UserDetail; import org.nuclearfog.twidda.backend.listitems.*; @@ -28,6 +30,8 @@ public class UserLists extends AsyncTask { private RecyclerView userList; private ProgressBar uProgress; private String errmsg; + private boolean imageload; + /** *@see UserDetail @@ -37,6 +41,8 @@ public class UserLists extends AsyncTask { mTwitter = TwitterEngine.getInstance(context); userList = (RecyclerView) ui.get().findViewById(R.id.userlist); uProgress = (ProgressBar) ui.get().findViewById(R.id.user_progress); + SharedPreferences settings = context.getSharedPreferences("settings", 0); + imageload = settings.getBoolean("image_load", true); } @@ -60,9 +66,7 @@ public class UserLists extends AsyncTask { List user = mTwitter.getRetweeter(id,cursor); usrAdp = new UserRecycler(user,ui.get()); } - /*else if(mode == FAVORISER) { - // GET FAV USERS TODO - }*/ + usrAdp.toggleImage(imageload); } catch(Exception err) { errmsg = "Fehler: "+err.getMessage(); diff --git a/app/src/main/java/org/nuclearfog/twidda/database/TweetDatabase.java b/app/src/main/java/org/nuclearfog/twidda/database/TweetDatabase.java index 7039b73a..c4050d19 100644 --- a/app/src/main/java/org/nuclearfog/twidda/database/TweetDatabase.java +++ b/app/src/main/java/org/nuclearfog/twidda/database/TweetDatabase.java @@ -73,7 +73,6 @@ public class TweetDatabase { "INNER JOIN tweet ON timeline.mTweetID = tweet.tweetID " + "INNER JOIN user ON tweet.userID=user.userID ORDER BY tweetID ASC"; } - else if(mode == TWEET) { SQL_GET_HOME = "SELECT * FROM user " + "INNER JOIN tweet ON tweet.userID = user.userID"+ @@ -88,10 +87,7 @@ public class TweetDatabase { if(cursor.moveToFirst()) { do { Tweet tweet = getTweet(cursor); - /* if(tweet.embedded != null) - tweetlist.add(tweet.embedded); - else*/ - tweetlist.add(tweet); + tweetlist.add(tweet); } while(cursor.moveToNext()); } cursor.close(); diff --git a/app/src/main/java/org/nuclearfog/twidda/viewadapter/TimelineRecycler.java b/app/src/main/java/org/nuclearfog/twidda/viewadapter/TimelineRecycler.java index 4e44ac30..cbbfbfd6 100644 --- a/app/src/main/java/org/nuclearfog/twidda/viewadapter/TimelineRecycler.java +++ b/app/src/main/java/org/nuclearfog/twidda/viewadapter/TimelineRecycler.java @@ -28,6 +28,7 @@ public class TimelineRecycler extends Adapter imple private List tweets; private int highlight = 0xFFFFFFFF; private int font_color = 0xFFFFFFFF; + private boolean img_ldr = true; /** * @param mListener Item Click Listener @@ -43,6 +44,10 @@ public class TimelineRecycler extends Adapter imple this.font_color = font_color; } + public void toggleImage(boolean image_load) { + img_ldr = image_load; + } + public List getData() { return tweets; @@ -82,7 +87,7 @@ public class TimelineRecycler extends Adapter imple vh.retweet.setText(retweet); vh.favorite.setText(favorit); vh.time.setText(stringTime(tweet.time)); - if(tweet.profileImg != null) { + if(img_ldr) { Picasso.with(parent.getContext()).load(tweet.profileImg).into(vh.profile); } if(tweet.verified) { diff --git a/app/src/main/java/org/nuclearfog/twidda/viewadapter/UserRecycler.java b/app/src/main/java/org/nuclearfog/twidda/viewadapter/UserRecycler.java index 8c184f73..88e415a4 100644 --- a/app/src/main/java/org/nuclearfog/twidda/viewadapter/UserRecycler.java +++ b/app/src/main/java/org/nuclearfog/twidda/viewadapter/UserRecycler.java @@ -18,8 +18,7 @@ public class UserRecycler extends RecyclerView.Adapter private List mUser; private OnItemClicked mListener; private ViewGroup parent; - private int background = 0x00000000; - private int font_color = 0xFFFFFFFF; + private boolean loadImage = true; public UserRecycler(List mUser, OnItemClicked mListener) { this.mListener = mListener; @@ -30,9 +29,8 @@ public class UserRecycler extends RecyclerView.Adapter public List getData(){return mUser; } - public void setColor(int background, int font_color) { - this.background = background; - this.font_color = font_color; + public void toggleImage(boolean image) { + loadImage = image; } @@ -52,7 +50,6 @@ public class UserRecycler extends RecyclerView.Adapter public ItemHolder onCreateViewHolder(ViewGroup parent, int index) { this.parent = parent; View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.useritem, parent,false); - v.setBackgroundColor(background); v.setOnClickListener(this); return new ItemHolder(v); } @@ -63,7 +60,7 @@ public class UserRecycler extends RecyclerView.Adapter TwitterUser user = mUser.get(index); vh.screenname.setText(user.screenname); vh.username.setText(user.username); - if(user.profileImg != null) { + if(loadImage) { Picasso.with(parent.getContext()).load(user.profileImg).into(vh.profileImg); } if(user.isVerified) { diff --git a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java index 95f3c2a5..5129b54b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java @@ -165,7 +165,7 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen @Override public void onCheckedChanged(CompoundButton b, boolean checked) { - imgEnabled = true; + imgEnabled = checked; } private void loadSettings() { diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java index 205081e1..c8337767 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java @@ -50,7 +50,6 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen Button retweet = (Button) findViewById(R.id.rt_button_detail); Button favorite = (Button) findViewById(R.id.fav_button_detail); Button delete = (Button) findViewById(R.id.delete); - ImageView pb =(ImageView) findViewById(R.id.profileimage_detail); SwipeRefreshLayout answerReload = (SwipeRefreshLayout) findViewById(R.id.answer_reload); TextView txtRt = (TextView) findViewById(R.id.no_rt_detail); TextView txtFav = (TextView) findViewById(R.id.no_fav_detail); @@ -67,7 +66,6 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen txtRt.setOnClickListener(this); date.setOnClickListener(this); delete.setOnClickListener(this); - pb.setOnClickListener(this); setContent(); } @@ -128,14 +126,6 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen alerta.setNegativeButton(R.string.no_confirm, this); alerta.show(); break; - case R.id.profileimage_detail: - intent = new Intent(getApplicationContext(), UserProfile.class); - Bundle b = new Bundle(); - b.putLong("userID",userID); - b.putString("username", username); - intent.putExtras(b); - startActivity(intent); - break; case R.id.timedetail: intent = new Intent(Intent.ACTION_VIEW); String tweetlink = "https://twitter.com/"+username+"/status/"+tweetID; diff --git a/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java b/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java index 864989a9..0673cc8b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java @@ -37,6 +37,8 @@ public class UserDetail extends AppCompatActivity implements UserRecycler.OnItem userListview.setLayoutManager(new LinearLayoutManager(getApplicationContext())); Toolbar toolbar = (Toolbar) findViewById(R.id.user_toolbar); setSupportActionBar(toolbar); + int background = ColorPreferences.getInstance(this).getColor(ColorPreferences.BACKGROUND); + userListview.setBackgroundColor(background); getUsers(); } diff --git a/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java b/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java index 6d049128..9146f88f 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java @@ -35,7 +35,7 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen private SwipeRefreshLayout homeReload, favoriteReload; private RecyclerView homeTweets, homeFavorits; private long userId; - private boolean home; + private boolean home, imageload; private String username = ""; private String currentTab = "tweets"; @@ -51,6 +51,7 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen SharedPreferences settings = getSharedPreferences("settings", 0); home = userId == settings.getLong("userID", -1); + imageload = settings.getBoolean("image_load", true); homeTweets = (RecyclerView) findViewById(R.id.ht_list); homeFavorits = (RecyclerView)findViewById(R.id.hf_list); homeTweets.setLayoutManager(new LinearLayoutManager(getApplicationContext())); @@ -181,12 +182,10 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen private void setTabs(TabHost mTab) { mTab.setup(); - // Tab #1 TabHost.TabSpec tab1 = mTab.newTabSpec("tweets"); tab1.setContent(R.id.hometweets); tab1.setIndicator("",getResources().getDrawable(R.drawable.home)); mTab.addTab(tab1); - // Tab #2 TabHost.TabSpec tab2 = mTab.newTabSpec("favorites"); tab2.setContent(R.id.homefavorits); tab2.setIndicator("",getResources().getDrawable(R.drawable.favorite)); @@ -202,6 +201,7 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen @Override public void run() { ColorPreferences mcolor = ColorPreferences.getInstance(getApplicationContext()); + int highlight = mcolor.getColor(ColorPreferences.HIGHLIGHTING); int background = mcolor.getColor(ColorPreferences.BACKGROUND); int font_color = mcolor.getColor(ColorPreferences.FONT_COLOR); @@ -215,9 +215,11 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen mFavorits = new ProfileLoader(UserProfile.this); homeTweets.setBackgroundColor(background); homeFavorits.setBackgroundColor(background); + if( userTweets.size() > 0 ) { TimelineRecycler tlRc = new TimelineRecycler(userTweets,UserProfile.this); tlRc.setColor(highlight,font_color); + tlRc.toggleImage(imageload); homeTweets.setAdapter(tlRc); } else { mTweets.execute(userId, ProfileLoader.GET_TWEETS,1L); @@ -225,6 +227,7 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen if( userFavorit.size() > 0 ) { TimelineRecycler tlRc = new TimelineRecycler(userFavorit,UserProfile.this); tlRc.setColor(highlight,font_color); + tlRc.toggleImage(imageload); homeFavorits.setAdapter(tlRc); } else { mFavorits.execute(userId, ProfileLoader.GET_FAVS,1L);