This commit is contained in:
NudeDude 2018-09-20 14:46:47 +02:00
parent 8238917fe4
commit 6beb9b5db5
10 changed files with 55 additions and 55 deletions

2
.idea/misc.xml generated
View File

@ -25,7 +25,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -59,8 +59,6 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
super.onCreate(savedInstanceState);
setContentView(R.layout.page_main);
settings = GlobalSettings.getInstance(this);
timelineList = findViewById(R.id.tl_list);
trendList = findViewById(R.id.tr_list);
mentionList = findViewById(R.id.m_list);
@ -90,19 +88,13 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
tabhost.addTab(tab3);
timelineList.setLayoutManager(new LinearLayoutManager(this));
timelineList.setHasFixedSize(true);
timelineAdapter = new TimelineAdapter(this);
timelineList.setAdapter(timelineAdapter);
trendList.setLayoutManager(new LinearLayoutManager(this));
trendList.setHasFixedSize(true);
trendsAdapter = new TrendAdapter(this);
trendList.setAdapter(trendsAdapter);
mentionList.setLayoutManager(new LinearLayoutManager(this));
timelineList.setHasFixedSize(true);
trendList.setHasFixedSize(true);
mentionList.setHasFixedSize(true);
mentionAdapter = new TimelineAdapter(this);
mentionList.setAdapter(mentionAdapter);
settings = GlobalSettings.getInstance(this);
lastTab = tabhost.getCurrentView();
tabhost.setOnTabChangedListener(this);
@ -118,23 +110,27 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
if (!settings.getLogin()) {
Intent i = new Intent(this, LoginPage.class);
startActivityForResult(i, LOGIN);
}
if (home == null || settingChanged) {
} else if (home == null || settingChanged) {
root.setBackgroundColor(settings.getBackgroundColor());
timelineAdapter = new TimelineAdapter(this);
trendsAdapter = new TrendAdapter(this);
mentionAdapter = new TimelineAdapter(this);
timelineAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
timelineAdapter.toggleImage(settings.loadImages());
trendsAdapter.setColor(settings.getFontColor());
mentionAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
mentionAdapter.toggleImage(settings.loadImages());
timelineAdapter.notifyDataSetChanged();
trendsAdapter.notifyDataSetChanged();
mentionAdapter.notifyDataSetChanged();
if (!settingChanged) {
home = new MainPage(this);
home.execute(MainPage.DATA, 1);
} else {
settingChanged = false;
}
timelineList.setAdapter(timelineAdapter);
trendList.setAdapter(trendsAdapter);
mentionList.setAdapter(mentionAdapter);
home = new MainPage(this);
home.execute(MainPage.DATA, 1);
settingChanged = false;
}
}
@ -286,7 +282,6 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
@Override
public void onItemClick(ViewGroup parent, int position) {
if (parent.getId() == R.id.tl_list && !timelineReload.isRefreshing()) {
TimelineAdapter timelineAdapter = (TimelineAdapter) timelineList.getAdapter();
if (timelineAdapter != null) {
Tweet tweet = timelineAdapter.getData().get(position);
if (tweet.embedded != null)
@ -298,9 +293,8 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
startActivity(intent);
}
} else if (parent.getId() == R.id.tr_list && !trendReload.isRefreshing()) {
TrendAdapter trendAdapter = (TrendAdapter) trendList.getAdapter();
if (trendAdapter != null) {
String search = trendAdapter.getData().get(position).trend;
if (trendsAdapter != null) {
String search = trendsAdapter.getData().get(position).trend;
Intent intent = new Intent(this, SearchPage.class);
if (!search.startsWith("#"))
search = '\"' + search + '\"';
@ -308,7 +302,6 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
startActivity(intent);
}
} else if (parent.getId() == R.id.m_list && !mentionReload.isRefreshing()) {
TimelineAdapter mentionAdapter = (TimelineAdapter) mentionList.getAdapter();
if (mentionAdapter != null) {
Tweet tweet = mentionAdapter.getData().get(position);
if (tweet.embedded != null)

View File

@ -83,9 +83,9 @@ public class MainPage extends AsyncTask<Integer, Integer, Integer> {
} else if (MODE == MENT) {
if (mentionAdapter.getItemCount() != 0)
sinceId = mentionAdapter.getItemId(0);
tweets = mTwitter.getMention(PAGE, sinceId);
mention = mTwitter.getMention(PAGE, sinceId);
publishProgress(MENT);
tweetDb.storeMentions(tweets);
tweetDb.storeMentions(mention);
} else {
tweets = tweetDb.getHomeTimeline();
publishProgress(HOME);

View File

@ -24,7 +24,7 @@ public class MessageLoader extends AsyncTask<Void, Void, Boolean> {
private MessageAdapter mAdapter;
private TwitterEngine twitter;
private DatabaseAdapter mData;
private List<Message> msg;
private List<Message> message;
private String errorMsg = "E MessageLoader: ";
private int returnCode = 0;
@ -34,7 +34,7 @@ public class MessageLoader extends AsyncTask<Void, Void, Boolean> {
RecyclerView dm_list = context.findViewById(R.id.messagelist);
mAdapter = (MessageAdapter) dm_list.getAdapter();
twitter = TwitterEngine.getInstance(context);
msg = new ArrayList<>();
message = new ArrayList<>();
mData = new DatabaseAdapter(context);
}
@ -43,14 +43,14 @@ public class MessageLoader extends AsyncTask<Void, Void, Boolean> {
protected Boolean doInBackground(Void... param) {
try {
if (mAdapter.getItemCount() > 0) {
msg = twitter.getMessages();
mData.storeMessage(msg);
msg = mData.getMessages();
message = twitter.getMessages();
mData.storeMessage(message);
message = mData.getMessages();
} else {
msg = mData.getMessages();
if (msg.size() == 0) {
msg = twitter.getMessages();
mData.storeMessage(msg);
message = mData.getMessages();
if (message.isEmpty()) {
message = twitter.getMessages();
mData.storeMessage(message);
}
}
} catch (TwitterException err) {
@ -72,7 +72,7 @@ public class MessageLoader extends AsyncTask<Void, Void, Boolean> {
if (ui.get() == null) return;
if (success) {
mAdapter.setData(msg);
mAdapter.setData(message);
mAdapter.notifyDataSetChanged();
} else {
switch (returnCode) {

View File

@ -141,21 +141,21 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
publishProgress(GET_USER);
} else {
boolean access = (!user.isLocked || isFollowing);
if ((MODE == GET_TWEETS || homeTl.getItemCount() == 0) && access) {
if (homeTl.getItemCount() > 0)
sinceId = homeTl.getItemId(0);
tweets = mTwitter.getUserTweets(UID, sinceId, page);
database.storeUserTweets(tweets);
publishProgress(GET_TWEETS);
}
publishProgress(GET_TWEETS);
if ((MODE == GET_FAVORS || homeFav.getItemCount() == 0) && access) {
if (homeFav.getItemCount() > 0)
sinceId = homeFav.getItemId(0);
favors = mTwitter.getUserFavs(UID, sinceId, page);
database.storeUserFavs(favors, UID);
publishProgress(GET_FAVORS);
}
publishProgress(GET_FAVORS);
}
} catch (TwitterException err) {
returnCode = err.getErrorCode();

View File

@ -80,14 +80,15 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
try {
if (MODE == LOAD) {
tweet = database.getStatus(TWEETID);
answers = database.getAnswers(TWEETID);
if (tweet != null)
if (database.containStatus(TWEETID) && answerAdapter.getItemCount() == 0) {
tweet = database.getStatus(TWEETID);
answers = database.getAnswers(TWEETID);
publishProgress();
}
tweet = mTwitter.getStatus(TWEETID);
if (!answers.isEmpty())
sinceId = answers.get(0).tweetID;
if (answerAdapter.getItemCount() > 0)
sinceId = answerAdapter.getItemId(0);
answers = mTwitter.getAnswers(tweet.user.screenname, TWEETID, sinceId);
publishProgress();
@ -109,21 +110,21 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
} else if (MODE == FAVORITE) {
tweet = mTwitter.favorite(TWEETID);
if (tweet.favorized) {
if (tweet.favorized)
database.storeFavorite(TWEETID);
} else {
else
database.removeFavorite(TWEETID);
}
publishProgress();
}
} catch (TwitterException err) {
returnCode = err.getErrorCode();
if (returnCode == 144)
database.removeStatus(TWEETID);
else
errMsg += err.getMessage();
return ERROR;
} catch (Exception err) {
err.printStackTrace();
errMsg += err.getMessage();

View File

@ -81,6 +81,10 @@ public class TwitterEngine {
return mTwitter;
}
public static void destroyInstance() {
mTwitter = null;
}
/**
* Request Registration Website
*

View File

@ -63,9 +63,8 @@ public class TwitterSearch extends AsyncTask<String, Integer, Boolean> {
}
} catch (TwitterException err) {
returnCode = err.getErrorCode();
if (returnCode > 0 && returnCode != 420) {
if (returnCode > 0 && returnCode != 420)
errMsg += err.getMessage();
}
return false;
} catch (Exception err) {
errMsg += err.getMessage();

View File

@ -24,6 +24,7 @@ import com.flask.colorpicker.OnColorChangedListener;
import com.flask.colorpicker.builder.ColorPickerDialogBuilder;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.TwitterEngine;
import org.nuclearfog.twidda.database.GlobalSettings;
import org.nuclearfog.twidda.viewadapter.WorldIdAdapter;
@ -169,6 +170,7 @@ public class AppSettings extends AppCompatActivity implements OnClickListener,
@Override
public void onClick(DialogInterface dialog, int which) {
settings.logout();
TwitterEngine.destroyInstance();
deleteDatabase("database.db");
finish();
}

View File

@ -2,6 +2,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:background="@color/DarkBlue"
android:gravity="center"
android:orientation="vertical">