Account timelines
This commit is contained in:
@@ -21,14 +21,12 @@ import me.grishka.appkit.Nav;
|
||||
import me.grishka.appkit.api.SimpleCallback;
|
||||
|
||||
public class HomeTimelineFragment extends StatusListFragment{
|
||||
private String accountID;
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity){
|
||||
super.onAttach(activity);
|
||||
setTitle(R.string.app_name);
|
||||
setHasOptionsMenu(true);
|
||||
accountID=getArguments().getString("account");
|
||||
loadData();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
|
||||
import org.joinmastodon.android.api.requests.accounts.GetAccountStatuses;
|
||||
import org.joinmastodon.android.model.Account;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.parceler.Parcels;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.grishka.appkit.api.SimpleCallback;
|
||||
|
||||
public class ProfileFragment extends StatusListFragment{
|
||||
private Account user;
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity){
|
||||
super.onAttach(activity);
|
||||
user=Parcels.unwrap(getArguments().getParcelable("profileAccount"));
|
||||
setTitle("@"+user.acct);
|
||||
loadData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLoadData(int offset, int count){
|
||||
String maxID;
|
||||
if(offset>0 && !preloadedData.isEmpty())
|
||||
maxID=preloadedData.get(preloadedData.size()-1).id;
|
||||
else if(offset>0 && !data.isEmpty())
|
||||
maxID=data.get(data.size()-1).id;
|
||||
else
|
||||
maxID=null;
|
||||
currentRequest=new GetAccountStatuses(user.id, maxID, null, count)
|
||||
.setCallback(new SimpleCallback<>(this){
|
||||
@Override
|
||||
public void onSuccess(List<Status> result){
|
||||
onDataLoaded(result, !result.isEmpty());
|
||||
}
|
||||
})
|
||||
.exec(accountID);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.joinmastodon.android.model.Status;
|
||||
@@ -19,7 +20,8 @@ import me.grishka.appkit.views.UsableRecyclerView;
|
||||
|
||||
public abstract class StatusListFragment extends BaseRecyclerFragment<Status>{
|
||||
protected ArrayList<StatusDisplayItem> displayItems=new ArrayList<>();
|
||||
private DisplayItemsAdapter adapter;
|
||||
protected DisplayItemsAdapter adapter;
|
||||
protected String accountID;
|
||||
|
||||
public StatusListFragment(){
|
||||
super(20);
|
||||
@@ -30,11 +32,17 @@ public abstract class StatusListFragment extends BaseRecyclerFragment<Status>{
|
||||
return adapter=new DisplayItemsAdapter();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity){
|
||||
super.onAttach(activity);
|
||||
accountID=getArguments().getString("account");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAppendItems(List<Status> items){
|
||||
super.onAppendItems(items);
|
||||
for(Status s:items){
|
||||
displayItems.addAll(StatusDisplayItem.buildItems(this, s));
|
||||
displayItems.addAll(StatusDisplayItem.buildItems(this, s, accountID));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +56,7 @@ public abstract class StatusListFragment extends BaseRecyclerFragment<Status>{
|
||||
data.addAll(0, items);
|
||||
int offset=0;
|
||||
for(Status s:items){
|
||||
List<StatusDisplayItem> toAdd=StatusDisplayItem.buildItems(this, s);
|
||||
List<StatusDisplayItem> toAdd=StatusDisplayItem.buildItems(this, s, accountID);
|
||||
displayItems.addAll(offset, toAdd);
|
||||
offset+=toAdd.size();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user