Optimizations
changed to RecyclerView
This commit is contained in:
NudeDude 2018-03-05 23:58:55 +01:00
parent 902d89af5f
commit e3d90d9a11
2 changed files with 21 additions and 8 deletions

View File

@ -67,7 +67,7 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
switch (MODE) {
case HOME:
timelineAdapter = (TimelineRecycler) timelineList.getAdapter();
if(timelineAdapter != null && timelineAdapter.getItemCount() != 0) {
if(timelineAdapter != null && timelineAdapter.getItemCount() > 0) {
id = timelineAdapter.getItemId(0);
timelineAdapter.getData().insert(mTwitter.getHome(page,id),true);
} else {
@ -77,6 +77,10 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
break;
case TRND:
trendsAdapter = (TrendRecycler) trendList.getAdapter();
if(trendsAdapter != null && trendsAdapter.getItemCount() > 0)
trendsAdapter.getData().setTrends( mTwitter.getTrends(woeid) );
else
trendsAdapter = new TrendRecycler(new TrendDatabase(mTwitter.getTrends(woeid),context),(MainActivity)context);
break;
@ -112,7 +116,11 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
case TRND:
trendRefresh.setRefreshing(false);
if(trendList.getAdapter().getItemCount() == 0) {
trendList.setAdapter(trendsAdapter);
} else {
trendsAdapter.notifyDataSetChanged();
}
break;
case MENT:

View File

@ -18,15 +18,13 @@ public class TrendDatabase {
private List<String> trendName;
private List<String> trendLink;
private List<Integer> trendpos;
private Trends trends;
private int size = 0;
private int size;
private Context c;
public TrendDatabase(Trends trends, Context c) {
this.trends = trends;
this.c = c;
init();
setup();
setup(trends);
store();
}
@ -36,6 +34,12 @@ public class TrendDatabase {
load();
}
public void setTrends(Trends trends) {
init();
setup(trends);
store();
}
public String getTrendname(int pos){ return trendName.get(pos); }
public String getTrendlink(int pos){return trendLink.get(pos);}
public String getTrendpos(int pos){ return Integer.toString(trendpos.get(pos))+"."; }
@ -78,13 +82,14 @@ public class TrendDatabase {
}
private void init() {
size = 0;
dataHelper = AppDatabase.getInstance(c);
trendpos = new ArrayList<>();
trendName = new ArrayList<>();
trendLink = new ArrayList<>();
}
private void setup() {
private void setup(Trends trends) {
SharedPreferences settings = c.getSharedPreferences("settings", 0);
SharedPreferences.Editor e = settings.edit();
e.putString("location", trends.getLocation().getName()).apply();