mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-09 16:48:38 +01:00
bugfix
This commit is contained in:
parent
cbd97d131b
commit
fe188a4a55
@ -33,7 +33,6 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
||||
private MessageAdapter mAdapter;
|
||||
private TwitterEngine twitter;
|
||||
private TwitterException err;
|
||||
private DatabaseAdapter mData;
|
||||
private List<Message> message;
|
||||
|
||||
|
||||
@ -42,7 +41,6 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
||||
RecyclerView dm_list = context.findViewById(R.id.messagelist);
|
||||
mAdapter = (MessageAdapter) dm_list.getAdapter();
|
||||
twitter = TwitterEngine.getInstance(context);
|
||||
mData = new DatabaseAdapter(context);
|
||||
message = new ArrayList<>();
|
||||
this.mode = mode;
|
||||
}
|
||||
@ -60,22 +58,23 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
||||
@Override
|
||||
protected Void doInBackground(Long... param) {
|
||||
long messageId = -1;
|
||||
DatabaseAdapter db = new DatabaseAdapter(ui.get());
|
||||
try {
|
||||
switch (mode) {
|
||||
case GET:
|
||||
message = twitter.getMessages();
|
||||
mData.storeMessage(message);
|
||||
db.storeMessage(message);
|
||||
break;
|
||||
|
||||
case DEL:
|
||||
messageId = param[0];
|
||||
twitter.deleteMessage(messageId);
|
||||
mData.deleteDm(messageId);
|
||||
db.deleteDm(messageId);
|
||||
break;
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
if (err.getErrorCode() == 34) {
|
||||
mData.deleteDm(messageId);
|
||||
db.deleteDm(messageId);
|
||||
} else {
|
||||
this.err = err;
|
||||
failure = true;
|
||||
@ -85,7 +84,7 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
||||
Log.e("Direct Message", err.getMessage());
|
||||
failure = true;
|
||||
} finally {
|
||||
message = mData.getMessages();
|
||||
message = db.getMessages();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -41,7 +41,6 @@ public class ProfileEditor extends AsyncTask<Void, Void, Void> {
|
||||
|
||||
private WeakReference<ProfileEdit> ui;
|
||||
private TwitterEngine mTwitter;
|
||||
private DatabaseAdapter mData;
|
||||
private TwitterException err;
|
||||
private TwitterUser user;
|
||||
private Editable edit_name, edit_link, edit_bio, edit_loc;
|
||||
@ -52,7 +51,6 @@ public class ProfileEditor extends AsyncTask<Void, Void, Void> {
|
||||
public ProfileEditor(@NonNull ProfileEdit c, Mode mode) {
|
||||
ui = new WeakReference<>(c);
|
||||
mTwitter = TwitterEngine.getInstance(c);
|
||||
mData = new DatabaseAdapter(c);
|
||||
popup = new Dialog(c);
|
||||
this.mode = mode;
|
||||
|
||||
@ -106,7 +104,8 @@ public class ProfileEditor extends AsyncTask<Void, Void, Void> {
|
||||
String user_loc = edit_loc.toString();
|
||||
String user_bio = edit_bio.toString();
|
||||
user = mTwitter.updateProfile(username, user_link, user_loc, user_bio);
|
||||
mData.storeUser(user);
|
||||
DatabaseAdapter db = new DatabaseAdapter(ui.get());
|
||||
db.storeUser(user);
|
||||
|
||||
if (!image_path.trim().isEmpty())
|
||||
mTwitter.updateProfileImage(new File(image_path));
|
||||
|
@ -58,7 +58,6 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
private SimpleDateFormat sdf;
|
||||
private TwitterEngine mTwitter;
|
||||
private TwitterException err;
|
||||
private DatabaseAdapter database;
|
||||
private TwitterUser user;
|
||||
private List<Tweet> tweets, favors;
|
||||
private NumberFormat formatter;
|
||||
@ -82,7 +81,6 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
mTwitter = TwitterEngine.getInstance(context);
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||
formatter = NumberFormat.getIntegerInstance();
|
||||
database = new DatabaseAdapter(context);
|
||||
sdf = settings.getDateFormatter();
|
||||
imgEnabled = settings.getImageLoad();
|
||||
homeId = settings.getUserId();
|
||||
@ -118,19 +116,20 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
long page = 1L;
|
||||
if (args.length > 2)
|
||||
page = args[2];
|
||||
DatabaseAdapter db = new DatabaseAdapter(ui.get());
|
||||
isHome = homeId == UID;
|
||||
try {
|
||||
if (mode == Mode.LDR_PROFILE) {
|
||||
user = database.getUser(UID);
|
||||
user = db.getUser(UID);
|
||||
if (user != null) {
|
||||
tweets = database.getUserTweets(UID);
|
||||
favors = database.getUserFavs(UID);
|
||||
tweets = db.getUserTweets(UID);
|
||||
favors = db.getUserFavs(UID);
|
||||
publishProgress();
|
||||
}
|
||||
}
|
||||
user = mTwitter.getUser(UID);
|
||||
publishProgress();
|
||||
database.storeUser(user);
|
||||
db.storeUser(user);
|
||||
|
||||
if (!isHome) {
|
||||
boolean connection[] = mTwitter.getConnection(UID);
|
||||
@ -146,13 +145,13 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
if (!user.isLocked() || isFollowing || isHome) {
|
||||
if (tweets.isEmpty()) {
|
||||
tweets = mTwitter.getUserTweets(UID, 1, page);
|
||||
database.storeUserTweets(tweets);
|
||||
db.storeUserTweets(tweets);
|
||||
tweets.addAll(homeTl.getData());
|
||||
publishProgress();
|
||||
}
|
||||
if (favors.isEmpty()) {
|
||||
favors = mTwitter.getUserFavs(UID, 1, page);
|
||||
database.storeUserFavs(favors, UID);
|
||||
db.storeUserFavs(favors, UID);
|
||||
favors.addAll(homeFav.getData());
|
||||
publishProgress();
|
||||
}
|
||||
@ -165,7 +164,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
if (homeTl.getItemCount() > 0)
|
||||
sinceId = homeTl.getItemId(0);
|
||||
tweets = mTwitter.getUserTweets(UID, sinceId, page);
|
||||
database.storeUserTweets(tweets);
|
||||
db.storeUserTweets(tweets);
|
||||
tweets.addAll(homeTl.getData());
|
||||
publishProgress();
|
||||
}
|
||||
@ -177,7 +176,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
if (homeFav.getItemCount() > 0)
|
||||
sinceId = homeFav.getItemId(0);
|
||||
favors = mTwitter.getUserFavs(UID, sinceId, page);
|
||||
database.storeUserFavs(favors, UID);
|
||||
db.storeUserFavs(favors, UID);
|
||||
favors.addAll(homeFav.getData());
|
||||
publishProgress();
|
||||
}
|
||||
|
@ -39,10 +39,8 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
|
||||
private TimelineAdapter timelineAdapter, mentionAdapter;
|
||||
private TrendAdapter trendsAdapter;
|
||||
private DatabaseAdapter tweetDb;
|
||||
private List<Tweet> tweets, mention;
|
||||
private List<Trend> trends;
|
||||
|
||||
private int woeId;
|
||||
|
||||
|
||||
@ -50,7 +48,6 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
ui = new WeakReference<>(context);
|
||||
mTwitter = TwitterEngine.getInstance(context);
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||
tweetDb = new DatabaseAdapter(context);
|
||||
woeId = settings.getWoeId();
|
||||
|
||||
tweets = new ArrayList<>();
|
||||
@ -72,13 +69,14 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
protected Void doInBackground(Integer... args) {
|
||||
final int PAGE = args[0];
|
||||
long sinceId = 1L;
|
||||
DatabaseAdapter db = new DatabaseAdapter(ui.get());
|
||||
try {
|
||||
switch (mode) {
|
||||
case HOME:
|
||||
if (timelineAdapter.getItemCount() > 0)
|
||||
sinceId = timelineAdapter.getItemId(0);
|
||||
tweets = mTwitter.getHome(PAGE, sinceId);
|
||||
tweetDb.storeHomeTimeline(tweets);
|
||||
db.storeHomeTimeline(tweets);
|
||||
tweets.addAll(timelineAdapter.getData());
|
||||
publishProgress();
|
||||
break;
|
||||
@ -86,7 +84,7 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
case TRND:
|
||||
trends = mTwitter.getTrends(woeId);
|
||||
publishProgress();
|
||||
tweetDb.storeTrends(trends, woeId);
|
||||
db.storeTrends(trends, woeId);
|
||||
break;
|
||||
|
||||
case MENT:
|
||||
@ -94,14 +92,14 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
sinceId = mentionAdapter.getItemId(0);
|
||||
mention = mTwitter.getMention(PAGE, sinceId);
|
||||
mention.addAll(mentionAdapter.getData());
|
||||
tweetDb.storeMentions(mention);
|
||||
db.storeMentions(mention);
|
||||
publishProgress();
|
||||
break;
|
||||
|
||||
case DATA:
|
||||
tweets = tweetDb.getHomeTimeline();
|
||||
trends = tweetDb.getTrends(woeId);
|
||||
mention = tweetDb.getMentions();
|
||||
tweets = db.getHomeTimeline();
|
||||
trends = db.getTrends(woeId);
|
||||
mention = db.getMentions();
|
||||
publishProgress();
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
|
@ -52,7 +52,6 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
||||
private TwitterException err;
|
||||
private WeakReference<TweetDetail> ui;
|
||||
private TimelineAdapter answerAdapter;
|
||||
private DatabaseAdapter database;
|
||||
private SimpleDateFormat sdf;
|
||||
private NumberFormat formatter;
|
||||
private List<Tweet> answers;
|
||||
@ -67,7 +66,6 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||
RecyclerView replyList = context.findViewById(R.id.answer_list);
|
||||
answerAdapter = (TimelineAdapter) replyList.getAdapter();
|
||||
database = new DatabaseAdapter(context);
|
||||
sdf = settings.getDateFormatter();
|
||||
formatter = NumberFormat.getIntegerInstance();
|
||||
font_color = settings.getFontColor();
|
||||
@ -96,37 +94,38 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
||||
final long TWEETID = data[0];
|
||||
long sinceId = TWEETID;
|
||||
boolean updateStatus = false;
|
||||
DatabaseAdapter db = new DatabaseAdapter(ui.get());
|
||||
try {
|
||||
switch (mode) {
|
||||
case LOAD:
|
||||
tweet = database.getStatus(TWEETID);
|
||||
tweet = db.getStatus(TWEETID);
|
||||
if (tweet != null) {
|
||||
answers = database.getAnswers(TWEETID);
|
||||
answers = db.getAnswers(TWEETID);
|
||||
publishProgress();
|
||||
updateStatus = true;
|
||||
}
|
||||
case ANS:
|
||||
tweet = mTwitter.getStatus(TWEETID);
|
||||
if (!updateStatus)
|
||||
updateStatus = database.containStatus(TWEETID);
|
||||
updateStatus = db.containStatus(TWEETID);
|
||||
|
||||
if (mode == Mode.ANS || toggleAns) {
|
||||
if (answerAdapter.getItemCount() > 0)
|
||||
sinceId = answerAdapter.getItemId(0);
|
||||
answers = mTwitter.getAnswers(tweet.getUser().getScreenname(), TWEETID, sinceId);
|
||||
if (updateStatus && !answers.isEmpty())
|
||||
database.storeReplies(answers);
|
||||
db.storeReplies(answers);
|
||||
answers.addAll(answerAdapter.getData());
|
||||
}
|
||||
publishProgress();
|
||||
|
||||
if (updateStatus)
|
||||
database.updateStatus(tweet);
|
||||
db.updateStatus(tweet);
|
||||
break;
|
||||
|
||||
case DELETE:
|
||||
mTwitter.deleteTweet(TWEETID);
|
||||
database.removeStatus(TWEETID);
|
||||
db.removeStatus(TWEETID);
|
||||
break;
|
||||
|
||||
case RETWEET:
|
||||
@ -134,8 +133,8 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
||||
publishProgress();
|
||||
|
||||
if (!tweet.retweeted())
|
||||
database.removeRetweet(TWEETID);
|
||||
database.updateStatus(tweet);
|
||||
db.removeRetweet(TWEETID);
|
||||
db.updateStatus(tweet);
|
||||
break;
|
||||
|
||||
case FAVORITE:
|
||||
@ -143,16 +142,16 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
||||
publishProgress();
|
||||
|
||||
if (tweet.favored())
|
||||
database.storeFavorite(TWEETID);
|
||||
db.storeFavorite(TWEETID);
|
||||
else
|
||||
database.removeFavorite(TWEETID);
|
||||
db.removeFavorite(TWEETID);
|
||||
break;
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
this.err = err;
|
||||
int rCode = err.getErrorCode();
|
||||
if (rCode == 144 || rCode == 34 || rCode == 63)
|
||||
database.removeStatus(TWEETID);
|
||||
db.removeStatus(TWEETID);
|
||||
failure = true;
|
||||
} catch (Exception err) {
|
||||
if (err.getMessage() != null)
|
||||
|
@ -69,7 +69,7 @@ public class AppDatabase extends SQLiteOpenHelper {
|
||||
db.execSQL(INDX_TWEET);
|
||||
db.execSQL(INDX_FAVOR);
|
||||
}
|
||||
if(oldVersion < 4 && newVersion >=4) {
|
||||
if (oldVersion < 4 && newVersion >= 4) {
|
||||
db.execSQL(INDX_TREND);
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ public class DatabaseAdapter {
|
||||
private AppDatabase dataHelper;
|
||||
private long homeId;
|
||||
|
||||
public DatabaseAdapter(@Nullable Context context) {
|
||||
public DatabaseAdapter(Context context) {
|
||||
dataHelper = new AppDatabase(context);
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||
homeId = settings.getUserId();
|
||||
@ -663,11 +663,12 @@ public class DatabaseAdapter {
|
||||
status.put("retweetID", rtId);
|
||||
status.put("source", tweet.getSource());
|
||||
status.put("replyID", tweet.getReplyId());
|
||||
status.put("replyname", tweet.getReplyName());
|
||||
status.put("retweet", tweet.getRetweetCount());
|
||||
status.put("favorite", tweet.getFavorCount());
|
||||
status.put("retweeterID", tweet.getMyRetweetId());
|
||||
status.put("replyUserID", tweet.getReplyUserId());
|
||||
if (tweet.getReplyUserId() > 0)
|
||||
status.put("replyname", tweet.getReplyName());
|
||||
storeUser(user, db, CONFLICT_IGNORE);
|
||||
db.insertWithOnConflict("tweet", null, status, CONFLICT_REPLACE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user