use of com.klinker.android.twitter.adapters.PeopleArrayAdapter in project Talon-for-Twitter by klinker24.
the class PeopleSearch method getPeople.
public void getPeople() {
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
ResponseList<User> usersResponse = twitter.getUserSuggestions(slug);
users.clear();
for (User i : usersResponse) {
users.add(i);
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new PeopleArrayAdapter(context, users);
listView.setAdapter(adapter);
listView.setVisibility(View.VISIBLE);
spinner.setVisibility(View.GONE);
}
});
} catch (Exception e) {
e.printStackTrace();
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
}
}).start();
}
use of com.klinker.android.twitter.adapters.PeopleArrayAdapter in project Talon-for-Twitter by klinker24.
the class ProfileFragment method getFollowing.
public void getFollowing(final User user, final AsyncListView listView) {
spinner.setVisibility(View.VISIBLE);
canRefresh = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
PagableResponseList<User> friendsPaging;
try {
friendsPaging = twitter.getFriendsList(user.getId(), currentFollowing, 100);
} catch (OutOfMemoryError e) {
return;
}
for (int i = 0; i < friendsPaging.size(); i++) {
following.add(friendsPaging.get(i));
Log.v("friends_list", friendsPaging.get(i).getName());
}
if (friendsPaging.size() > 17) {
hasMore = true;
} else {
hasMore = false;
}
currentFollowing = friendsPaging.getNextCursor();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
if (followingAdapter == null) {
followingAdapter = new PeopleArrayAdapter(context, following);
listView.setAdapter(followingAdapter);
} else {
followingAdapter.notifyDataSetChanged();
}
if (settings.roundContactImages) {
ImageUtils.loadSizedCircleImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache, 96);
} else {
ImageUtils.loadImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache);
}
String url = user.getProfileBannerURL();
ImageUtils.loadImage(context, background, url, mCache);
canRefresh = true;
spinner.setVisibility(View.GONE);
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
try {
if (user != null && user.isProtected()) {
Toast.makeText(context, getResources().getString(R.string.protected_account), Toast.LENGTH_SHORT).show();
if (settings.roundContactImages) {
ImageUtils.loadSizedCircleImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache, 96);
} else {
ImageUtils.loadImage(context, profilePicture, user.getOriginalProfileImageURL(), mCache);
}
String url = user.getProfileBannerURL();
ImageUtils.loadImage(context, background, url, mCache);
} else {
Toast.makeText(context, getResources().getString(R.string.error_loading_timeline), Toast.LENGTH_SHORT).show();
}
spinner.setVisibility(View.GONE);
} catch (Exception e) {
// fragment not attached
}
canRefresh = false;
hasMore = false;
}
});
}
}
}).start();
}
use of com.klinker.android.twitter.adapters.PeopleArrayAdapter in project Talon-for-Twitter by klinker24.
the class UserSearchFragment method doUserSearch.
public void doUserSearch(final String mQuery) {
listView.setVisibility(View.GONE);
spinner.setVisibility(View.VISIBLE);
hasMore = true;
canRefresh = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
ResponseList<User> result = twitter.searchUsers(mQuery, userPage);
userPage++;
if (result.size() < 18) {
hasMore = false;
canRefresh = false;
}
users = new ArrayList<User>();
for (User u : result) {
users.add(u);
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
peopleAdapter = new PeopleArrayAdapter(context, users, onlyProfile);
listView.setAdapter(peopleAdapter);
listView.setVisibility(View.VISIBLE);
spinner.setVisibility(View.GONE);
canRefresh = true;
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
spinner.setVisibility(View.GONE);
}
});
hasMore = false;
canRefresh = true;
}
}
}).start();
}
use of com.klinker.android.twitter.adapters.PeopleArrayAdapter in project Talon-for-Twitter by klinker24.
the class ProfileFragment method setUpUI.
public void setUpUI(boolean fromAddon, View listHeader, View layout) {
TextView mstatement;
TextView mscreenname;
AsyncListView mlistView;
ImageView mheader;
if (fromAddon) {
try {
Resources res = context.getPackageManager().getResourcesForApplication(settings.addonThemePackage);
spinner = (ProgressBar) listHeader.findViewById(res.getIdentifier("progress_bar", "id", settings.addonThemePackage));
verified = (TextView) listHeader.findViewById(res.getIdentifier("verified_text", "id", settings.addonThemePackage));
tweetsBtn = (Button) listHeader.findViewById(res.getIdentifier("tweets", "id", settings.addonThemePackage));
followersBtn = (Button) listHeader.findViewById(res.getIdentifier("followers", "id", settings.addonThemePackage));
followingBtn = (Button) listHeader.findViewById(res.getIdentifier("following", "id", settings.addonThemePackage));
background = (ImageView) listHeader.findViewById(res.getIdentifier("background_image", "id", settings.addonThemePackage));
profilePicture = (ImageView) listHeader.findViewById(res.getIdentifier("profile_pic", "id", settings.addonThemePackage));
mstatement = (TextView) listHeader.findViewById(res.getIdentifier("user_statement", "id", settings.addonThemePackage));
mscreenname = (TextView) listHeader.findViewById(res.getIdentifier("username", "id", settings.addonThemePackage));
mlistView = (AsyncListView) layout.findViewById(R.id.listView);
mheader = (ImageView) listHeader.findViewById(res.getIdentifier("background_image", "id", settings.addonThemePackage));
} catch (Exception e) {
spinner = (ProgressBar) listHeader.findViewById(R.id.progress_bar);
verified = (TextView) listHeader.findViewById(R.id.verified_text);
tweetsBtn = (Button) listHeader.findViewById(R.id.tweets);
followersBtn = (Button) listHeader.findViewById(R.id.followers);
followingBtn = (Button) listHeader.findViewById(R.id.following);
background = (ImageView) listHeader.findViewById(R.id.background_image);
profilePicture = (ImageView) listHeader.findViewById(R.id.profile_pic);
mstatement = (TextView) listHeader.findViewById(R.id.user_statement);
mscreenname = (TextView) listHeader.findViewById(R.id.username);
mlistView = (AsyncListView) layout.findViewById(R.id.listView);
mheader = (ImageView) listHeader.findViewById(R.id.background_image);
}
} else {
spinner = (ProgressBar) listHeader.findViewById(R.id.progress_bar);
verified = (TextView) listHeader.findViewById(R.id.verified_text);
tweetsBtn = (Button) listHeader.findViewById(R.id.tweets);
followersBtn = (Button) listHeader.findViewById(R.id.followers);
followingBtn = (Button) listHeader.findViewById(R.id.following);
background = (ImageView) listHeader.findViewById(R.id.background_image);
profilePicture = (ImageView) listHeader.findViewById(R.id.profile_pic);
mstatement = (TextView) listHeader.findViewById(R.id.user_statement);
mscreenname = (TextView) listHeader.findViewById(R.id.username);
mlistView = (AsyncListView) layout.findViewById(R.id.listView);
mheader = (ImageView) listHeader.findViewById(R.id.background_image);
}
final TextView statement = mstatement;
final TextView screenname = mscreenname;
final AsyncListView listView = mlistView;
final ImageView header = mheader;
spinner.setVisibility(View.VISIBLE);
statement.setTextSize(settings.textSize);
screenname.setTextSize(settings.textSize + 1);
getData(statement, listView);
screenname.setText("@" + screenName);
tweetsBtn.setText(getResources().getString(R.string.tweets));
tweetsBtn.setTextSize(settings.textSize - 1);
tweetsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (current != BTN_TWEET) {
current = BTN_TWEET;
currentFollowing = -1;
currentFollowers = -1;
hasMore = true;
listView.setItemManager(builder.build());
listView.setAdapter(timelineAdapter);
getTimeline(thisUser, listView);
}
}
});
followersBtn.setText(getResources().getString(R.string.followers));
followersBtn.setTextSize(settings.textSize - 1);
followersBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (current != BTN_FOLLOWERS) {
current = BTN_FOLLOWERS;
hasMore = false;
listView.setItemManager(null);
listView.setAdapter(followersAdapter);
getFollowers(thisUser, listView);
}
}
});
followingBtn.setText(getResources().getString(R.string.following));
followingBtn.setTextSize(settings.textSize - 1);
followingBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (current != BTN_FOLLOWING) {
current = BTN_FOLLOWING;
hasMore = false;
listView.setItemManager(null);
listView.setAdapter(new PeopleArrayAdapter(context, following));
getFollowing(thisUser, listView);
}
}
});
background.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (spinner.getVisibility() == View.GONE && thisUser != null) {
startActivity(new Intent(context, PhotoViewerActivity.class).putExtra("url", thisUser.getProfileBannerURL()));
} else {
// it isn't ready to be opened just yet
}
}
});
profilePicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (spinner.getVisibility() == View.GONE) {
try {
startActivity(new Intent(context, PhotoViewerActivity.class).putExtra("url", thisUser.getOriginalProfileImageURL()).putExtra("from_cache", false));
} catch (Exception e) {
// this user doesn't exist...
}
} else {
// it isn't ready to be opened just yet
}
}
});
canRefresh = false;
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
final int lastItem = firstVisibleItem + visibleItemCount;
if (lastItem == totalItemCount && hasMore) {
// Last item is fully visible.
if (current == BTN_FOLLOWING && canRefresh) {
getFollowing(thisUser, listView);
} else if (current == BTN_FOLLOWERS && canRefresh) {
getFollowers(thisUser, listView);
} else if (current == BTN_TWEET && canRefresh) {
getTimeline(thisUser, listView);
}
canRefresh = false;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
canRefresh = true;
}
}, 4000);
}
if (visibleItemCount == 0)
return;
if (firstVisibleItem != 0)
return;
if (settings.translateProfileHeader) {
header.setTranslationY(-listView.getChildAt(0).getTop() / 2);
}
}
});
}
use of com.klinker.android.twitter.adapters.PeopleArrayAdapter in project Talon-for-Twitter by klinker24.
the class ProfileFragment method getFollowers.
public void getFollowers(final User user, final AsyncListView listView) {
spinner.setVisibility(View.VISIBLE);
canRefresh = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
try {
if (followingIds == null && user.getId() == settings.myId) {
long currCursor = -1;
IDs idObject;
int rep = 0;
do {
// gets 5000 ids at a time
idObject = twitter.getFriendsIDs(settings.myId, currCursor);
long[] lIds = idObject.getIDs();
followingIds = new ArrayList<Long>();
for (int i = 0; i < lIds.length; i++) {
followingIds.add(lIds[i]);
}
rep++;
} while ((currCursor = idObject.getNextCursor()) != 0 && rep < 3);
}
} catch (Throwable t) {
followingIds = null;
}
PagableResponseList<User> friendsPaging = twitter.getFollowersList(user.getId(), currentFollowers, 100);
for (int i = 0; i < friendsPaging.size(); i++) {
followers.add(friendsPaging.get(i));
}
if (friendsPaging.size() > 17) {
hasMore = true;
} else {
hasMore = false;
}
currentFollowers = friendsPaging.getNextCursor();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
if (followersAdapter == null) {
if (followingIds == null) {
// we will do a normal array adapter
followersAdapter = new PeopleArrayAdapter(context, followers);
} else {
followersAdapter = new FollowersArrayAdapter(context, followers, followingIds);
}
listView.setAdapter(followersAdapter);
} else {
followersAdapter.notifyDataSetChanged();
}
if (settings.roundContactImages) {
ImageUtils.loadSizedCircleImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache, 96);
} else {
ImageUtils.loadImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache);
}
String url = user.getProfileBannerURL();
ImageUtils.loadImage(context, background, url, mCache);
canRefresh = true;
spinner.setVisibility(View.GONE);
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
if (user != null && user.isProtected()) {
Toast.makeText(context, getResources().getString(R.string.protected_account), Toast.LENGTH_SHORT).show();
if (settings.roundContactImages) {
ImageUtils.loadSizedCircleImage(context, profilePicture, thisUser.getOriginalProfileImageURL(), mCache, 96);
} else {
ImageUtils.loadImage(context, profilePicture, user.getOriginalProfileImageURL(), mCache);
}
String url = user.getProfileBannerURL();
ImageUtils.loadImage(context, background, url, mCache);
} else {
Toast.makeText(context, getResources().getString(R.string.error_loading_timeline), Toast.LENGTH_SHORT).show();
}
spinner.setVisibility(View.GONE);
canRefresh = false;
hasMore = false;
}
});
}
}
}).start();
}
Aggregations