Merged fragment pager

bug fix
This commit is contained in:
NudeDude 2019-05-10 02:39:58 +02:00
parent 6dfe7b66f7
commit 263b85892e
17 changed files with 200 additions and 335 deletions

View File

@ -12,7 +12,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import org.nuclearfog.twidda.adapter.HomePagerAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.database.GlobalSettings;
import org.nuclearfog.twidda.window.AppSettings;
import org.nuclearfog.twidda.window.LoginPage;
@ -29,7 +30,7 @@ public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSe
private static final int SETTING = 2;
private GlobalSettings settings;
private HomePagerAdapter adapter;
private FragmentAdapter adapter;
private TabLayout tab;
private ViewPager pager;
private int tabIndex = 0;
@ -48,7 +49,7 @@ public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSe
getSupportActionBar().setDisplayShowTitleEnabled(false);
settings = GlobalSettings.getInstance(this);
adapter = new HomePagerAdapter(getSupportFragmentManager());
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.HOME_TAB, 0, "");
pager.setAdapter(adapter);
pager.setOffscreenPageLimit(3);

View File

@ -0,0 +1,164 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.MessageListFragment;
import org.nuclearfog.twidda.fragment.TrendListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment.TweetType;
import org.nuclearfog.twidda.fragment.UserListFragment;
import org.nuclearfog.twidda.fragment.UserListFragment.UserType;
public class FragmentAdapter extends FragmentPagerAdapter {
public enum AdapterType {
HOME_TAB,
PROFILE_TAB,
SEARCH_TAB,
TWEET_PAGE,
MESSAGE_PAGE,
FRIENDS_PAGE,
FOLLOWER_PAGE,
RETWEETER_PAGE,
FAVOR_PAGE
}
private final Fragment[] fragments;
public FragmentAdapter(FragmentManager fManager, AdapterType mode, long id, String search) {
super(fManager);
switch (mode) {
case HOME_TAB:
Bundle home_tl = new Bundle();
Bundle ment_tl = new Bundle();
home_tl.putSerializable("mode", TweetType.HOME);
ment_tl.putSerializable("mode", TweetType.MENT);
home_tl.putBoolean("fix", true);
ment_tl.putBoolean("fix", true);
fragments = new Fragment[3];
fragments[0] = new TweetListFragment();
fragments[1] = new TrendListFragment();
fragments[2] = new TweetListFragment();
fragments[0].setArguments(home_tl);
fragments[2].setArguments(ment_tl);
break;
case PROFILE_TAB:
Bundle usr_tweet = new Bundle();
Bundle usr_favor = new Bundle();
usr_tweet.putLong("id", id);
usr_favor.putLong("id", id);
usr_tweet.putBoolean("fix", false);
usr_tweet.putBoolean("fix", false);
usr_tweet.putSerializable("mode", TweetType.USER_TWEET);
usr_favor.putSerializable("mode", TweetType.USER_FAVOR);
fragments = new Fragment[2];
fragments[0] = new TweetListFragment();
fragments[1] = new TweetListFragment();
fragments[0].setArguments(usr_tweet);
fragments[1].setArguments(usr_favor);
break;
case SEARCH_TAB:
Bundle tweetSearch = new Bundle();
Bundle userSearch = new Bundle();
tweetSearch.putString("search", search);
userSearch.putString("search", search);
tweetSearch.putSerializable("mode", TweetType.SEARCH);
userSearch.putSerializable("mode", UserType.USEARCH);
tweetSearch.putBoolean("fix", true);
userSearch.putBoolean("fix", true);
fragments = new Fragment[2];
fragments[0] = new TweetListFragment();
fragments[1] = new UserListFragment();
fragments[0].setArguments(tweetSearch);
fragments[1].setArguments(userSearch);
break;
case TWEET_PAGE:
Bundle param = new Bundle();
param.putSerializable("mode", TweetType.TWEET_ANSR);
param.putString("search", search);
param.putBoolean("fix", false);
param.putLong("id", id);
fragments = new Fragment[1];
fragments[0] = new TweetListFragment();
fragments[0].setArguments(param);
break;
case MESSAGE_PAGE:
fragments = new Fragment[1];
fragments[0] = new MessageListFragment();
break;
case FRIENDS_PAGE:
Bundle uParam = new Bundle();
uParam.putLong("id", id);
uParam.putSerializable("mode", UserType.FRIENDS);
fragments = new Fragment[1];
fragments[0] = new UserListFragment();
fragments[0].setArguments(uParam);
break;
case FOLLOWER_PAGE:
uParam = new Bundle();
uParam.putLong("id", id);
uParam.putSerializable("mode", UserType.FOLLOWS);
fragments = new Fragment[1];
fragments[0] = new UserListFragment();
fragments[0].setArguments(uParam);
break;
case RETWEETER_PAGE:
uParam = new Bundle();
uParam.putLong("id", id);
uParam.putSerializable("mode", UserType.RETWEET);
fragments = new Fragment[1];
fragments[0] = new UserListFragment();
fragments[0].setArguments(uParam);
break;
case FAVOR_PAGE:
uParam = new Bundle();
uParam.putLong("id", id);
uParam.putSerializable("mode", UserType.FAVORIT);
fragments = new Fragment[1];
fragments[0] = new UserListFragment();
fragments[0].setArguments(uParam);
break;
default:
fragments = new Fragment[0];
break;
}
}
@Override
public Fragment getItem(int index) {
return fragments[index];
}
@Override
public int getCount() {
return fragments.length;
}
public void notifySettingsChanged() {
for (Fragment fragment : fragments) {
if (fragment instanceof OnSettingsChanged)
((OnSettingsChanged) fragment).settingsChanged();
}
}
public interface OnSettingsChanged {
void settingsChanged();
}
}

View File

@ -1,63 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.TrendListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment.TweetType;
public class HomePagerAdapter extends FragmentPagerAdapter {
private static final int COUNT = 3;
private final Fragment[] fragments;
private static final Bundle HOME_TL = new Bundle();
private static final Bundle MENT_TL = new Bundle();
static {
HOME_TL.putSerializable("mode", TweetType.HOME);
MENT_TL.putSerializable("mode", TweetType.MENT);
HOME_TL.putBoolean("fix", true);
MENT_TL.putBoolean("fix", true);
}
public HomePagerAdapter(FragmentManager fm) {
super(fm);
fragments = new Fragment[COUNT];
fragments[0] = new TweetListFragment();
fragments[1] = new TrendListFragment();
fragments[2] = new TweetListFragment();
fragments[0].setArguments(HOME_TL);
fragments[2].setArguments(MENT_TL);
}
@Override
public Fragment getItem(int position) {
return fragments[position];
}
@Override
public int getCount() {
return COUNT;
}
public void notifySettingsChanged() {
for (Fragment fragment : fragments) {
if (fragment instanceof OnSettingsChanged)
((OnSettingsChanged) fragment).settingsChanged();
}
}
public interface OnSettingsChanged {
void settingsChanged();
}
}

View File

@ -1,32 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.MessageListFragment;
public class MessagePagerAdapter extends FragmentPagerAdapter {
private final int COUNT = 1;
private final Fragment[] fragments;
public MessagePagerAdapter(FragmentManager fm) {
super(fm);
fragments = new Fragment[COUNT];
fragments[0] = new MessageListFragment();
}
@Override
public Fragment getItem(int position) {
return fragments[position];
}
@Override
public int getCount() {
return COUNT;
}
}

View File

@ -1,49 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.TweetListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment.TweetType;
public class ProfilePagerAdapter extends FragmentPagerAdapter {
private static final int COUNT = 2;
private final Fragment[] fragments;
public ProfilePagerAdapter(FragmentManager fm, long userId) {
super(fm);
Bundle usr_tweet = new Bundle();
Bundle usr_favor = new Bundle();
usr_tweet.putLong("id", userId);
usr_favor.putLong("id", userId);
usr_tweet.putBoolean("fix", false);
usr_tweet.putBoolean("fix", false);
usr_tweet.putSerializable("mode", TweetType.USER_TWEET);
usr_favor.putSerializable("mode", TweetType.USER_FAVOR);
fragments = new Fragment[COUNT];
fragments[0] = new TweetListFragment();
fragments[1] = new TweetListFragment();
fragments[0].setArguments(usr_tweet);
fragments[1].setArguments(usr_favor);
}
@Override
public Fragment getItem(int position) {
return fragments[position];
}
@Override
public int getCount() {
return COUNT;
}
}

View File

@ -1,48 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.TweetListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment.TweetType;
import org.nuclearfog.twidda.fragment.UserListFragment;
import org.nuclearfog.twidda.fragment.UserListFragment.UserType;
public class SearchPagerAdapter extends FragmentPagerAdapter {
private static final int COUNT = 2;
private final Fragment[] fragments;
public SearchPagerAdapter(FragmentManager fm, String search) {
super(fm);
fragments = new Fragment[COUNT];
fragments[0] = new TweetListFragment();
fragments[1] = new UserListFragment();
Bundle tweetSearch = new Bundle();
Bundle userSearch = new Bundle();
tweetSearch.putString("search", search);
userSearch.putString("search", search);
tweetSearch.putSerializable("mode", TweetType.SEARCH);
userSearch.putSerializable("mode", UserType.USEARCH);
tweetSearch.putBoolean("fix", true);
userSearch.putBoolean("fix", true);
fragments[0].setArguments(tweetSearch);
fragments[1].setArguments(userSearch);
}
@Override
public Fragment getItem(int i) {
return fragments[i];
}
public int getCount() {
return COUNT;
}
}

View File

@ -1,39 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.fragment.TweetListFragment;
import org.nuclearfog.twidda.fragment.TweetListFragment.TweetType;
public class TweetPagerAdapter extends FragmentPagerAdapter {
private Fragment[] fragments;
public TweetPagerAdapter(FragmentManager fm, long id, String name) {
super(fm);
Bundle param = new Bundle();
param.putSerializable("mode", TweetType.TWEET_ANSR);
param.putString("search", name);
param.putBoolean("fix", false);
param.putLong("id", id);
fragments = new Fragment[1];
fragments[0] = new TweetListFragment();
fragments[0].setArguments(param);
}
@Override
public Fragment getItem(int pos) {
return fragments[pos];
}
@Override
public int getCount() {
return fragments.length;
}
}

View File

@ -1,64 +0,0 @@
package org.nuclearfog.twidda.adapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.fragment.UserListFragment;
import org.nuclearfog.twidda.fragment.UserListFragment.UserType;
public class UserPagerAdapter extends FragmentPagerAdapter {
public enum Mode {
FOLLOWERS,
FOLLOWING,
RETWEETER,
FAVORS
}
private static final int COUNT = 1;
private final Fragment[] fragments;
public UserPagerAdapter(FragmentManager fm, Mode mode, long id) {
super(fm);
Bundle param = new Bundle();
fragments = new Fragment[COUNT];
fragments[0] = new UserListFragment();
switch (mode) {
case FOLLOWERS:
param.putSerializable("mode", UserType.FOLLOWS);
break;
case FOLLOWING:
param.putSerializable("mode", UserType.FRIENDS);
break;
case RETWEETER:
param.putSerializable("mode", UserType.RETWEET);
break;
case FAVORS:
param.putSerializable("mode", UserType.FAVORIT);
break;
default:
if (BuildConfig.DEBUG)
throw new AssertionError("mode failure");
break;
}
param.putLong("id", id);
fragments[0].setArguments(param);
}
@Override
public Fragment getItem(int pos) {
return fragments[pos];
}
@Override
public int getCount() {
return COUNT;
}
}

View File

@ -46,8 +46,8 @@ public class Tweet {
String api = status.getSource();
api = api.substring(api.indexOf('>') + 1);
api = api.substring(0, api.indexOf('<'));
source = api;
if (status.getRetweetedStatus() != null)
embedded = new Tweet(status.getRetweetedStatus());
else
@ -217,12 +217,10 @@ public class Tweet {
*/
private String[] getMediaLinks(Status status) {
MediaEntity[] mediaEntities = status.getMediaEntities();
String medialinks[] = new String[mediaEntities.length];
byte i = 0;
for (MediaEntity media : mediaEntities) {
medialinks[i++] = media.getMediaURLHttps();
}
return medialinks;
String[] medias = new String[mediaEntities.length];
for (int i = 0; i < medias.length; i++)
medias[i] = mediaEntities[i].getMediaURLHttps();
return medias;
}
/**
@ -244,11 +242,8 @@ public class Tweet {
private String getText(Status status) {
URLEntity entities[] = status.getURLEntities();
StringBuilder tweet = new StringBuilder(status.getText());
for (int i = entities.length - 1; i >= 0; i--) {
URLEntity entity = entities[i];
tweet.replace(entity.getStart(), entity.getEnd(), entity.getExpandedURL());
}
for (int i = entities.length - 1; i >= 0; i--)
tweet.replace(entities[i].getStart(), entities[i].getEnd(), entities[i].getExpandedURL());
return tweet.toString();
}
}

View File

@ -14,7 +14,7 @@ import android.view.View;
import android.view.ViewGroup;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.HomePagerAdapter.OnSettingsChanged;
import org.nuclearfog.twidda.adapter.FragmentAdapter.OnSettingsChanged;
import org.nuclearfog.twidda.adapter.OnItemClickListener;
import org.nuclearfog.twidda.adapter.TrendAdapter;
import org.nuclearfog.twidda.database.GlobalSettings;

View File

@ -15,7 +15,7 @@ import android.view.ViewGroup;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.HomePagerAdapter.OnSettingsChanged;
import org.nuclearfog.twidda.adapter.FragmentAdapter.OnSettingsChanged;
import org.nuclearfog.twidda.adapter.OnItemClickListener;
import org.nuclearfog.twidda.adapter.TweetAdapter;
import org.nuclearfog.twidda.backend.items.Tweet;

View File

@ -10,7 +10,8 @@ import android.view.MenuItem;
import android.view.View;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.MessagePagerAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -30,7 +31,7 @@ public class DirectMessage extends AppCompatActivity {
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.directmessage);
MessagePagerAdapter adapter = new MessagePagerAdapter(getSupportFragmentManager());
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.MESSAGE_PAGE, 0, "");
pager.setOffscreenPageLimit(1);
pager.setAdapter(adapter);

View File

@ -17,7 +17,6 @@ import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.MessageUpload;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -39,10 +38,7 @@ public class MessagePopup extends AppCompatActivity implements OnClickListener {
String username = "";
Bundle param = getIntent().getExtras();
if (param != null) {
if (param.containsKey("username"))
username = param.getString("username");
} else if (BuildConfig.DEBUG) {
throw new AssertionError();
username = param.getString("username");
}
View root = findViewById(R.id.dm_popup);

View File

@ -14,7 +14,8 @@ import android.view.View;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.SearchPagerAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -50,7 +51,7 @@ public class SearchPage extends AppCompatActivity implements OnTabSelectedListen
root.setBackgroundColor(settings.getBackgroundColor());
tab.setSelectedTabIndicatorColor(settings.getHighlightColor());
SearchPagerAdapter adapter = new SearchPagerAdapter(getSupportFragmentManager(), search);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.SEARCH_TAB, 0, search);
tab.setupWithViewPager(pager);
tab.addOnTabSelectedListener(this);
pager.setAdapter(adapter);

View File

@ -25,7 +25,8 @@ import org.nuclearfog.tag.Tagger.OnTagClickListener;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.MainActivity;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.TweetPagerAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.backend.StatusLoader;
import org.nuclearfog.twidda.backend.StatusLoader.Mode;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -79,7 +80,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
getSupportActionBar().setDisplayShowTitleEnabled(false);
GlobalSettings settings = GlobalSettings.getInstance(this);
TweetPagerAdapter adapter = new TweetPagerAdapter(getSupportFragmentManager(), tweetID, username);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username);
mConnect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
tweetTxt.setMovementMethod(ScrollingMovementMethod.getInstance());

View File

@ -8,14 +8,14 @@ import android.view.View;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.UserPagerAdapter;
import org.nuclearfog.twidda.adapter.UserPagerAdapter.Mode;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.database.GlobalSettings;
public class UserDetail extends AppCompatActivity {
public enum UserType {
FOLLOWING,
FRIENDS,
FOLLOWERS,
RETWEETS,
FAVORITS,
@ -37,7 +37,7 @@ public class UserDetail extends AppCompatActivity {
throw new AssertionError();
}
UserPagerAdapter adapter;
FragmentAdapter adapter;
View root = findViewById(R.id.user_view);
ViewPager pager = findViewById(R.id.user_pager);
Toolbar toolbar = findViewById(R.id.user_toolbar);
@ -47,28 +47,28 @@ public class UserDetail extends AppCompatActivity {
setSupportActionBar(toolbar);
switch (mode) {
case FOLLOWING:
case FRIENDS:
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.following);
adapter = new UserPagerAdapter(getSupportFragmentManager(), Mode.FOLLOWING, id);
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FRIENDS_PAGE, id, "");
pager.setAdapter(adapter);
break;
case FOLLOWERS:
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.follower);
adapter = new UserPagerAdapter(getSupportFragmentManager(), Mode.FOLLOWERS, id);
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FOLLOWER_PAGE, id, "");
pager.setAdapter(adapter);
break;
case RETWEETS:
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.retweet);
adapter = new UserPagerAdapter(getSupportFragmentManager(), Mode.RETWEETER, id);
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.RETWEETER_PAGE, id, "");
pager.setAdapter(adapter);
break;
case FAVORITS:
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(R.string.favorite);
adapter = new UserPagerAdapter(getSupportFragmentManager(), Mode.FAVORS, id);
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FAVOR_PAGE, id, "");
pager.setAdapter(adapter);
break;
default:

View File

@ -21,7 +21,8 @@ import android.widget.TextView;
import org.nuclearfog.tag.Tagger.OnTagClickListener;
import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.ProfilePagerAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
import org.nuclearfog.twidda.backend.ProfileLoader;
import org.nuclearfog.twidda.backend.ProfileLoader.Mode;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -82,7 +83,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener, O
icons[0] = inflater.inflate(R.layout.tab_tw, null);
icons[1] = inflater.inflate(R.layout.tab_fa, null);
ProfilePagerAdapter adapter = new ProfilePagerAdapter(getSupportFragmentManager(), userId);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.PROFILE_TAB, userId, "");
pager.setOffscreenPageLimit(2);
pager.setAdapter(adapter);
tab.setupWithViewPager(pager);
@ -264,7 +265,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener, O
case R.id.following:
Intent following = new Intent(this, UserDetail.class);
following.putExtra("ID", userId);
following.putExtra("mode", UserDetail.UserType.FOLLOWING);
following.putExtra("mode", UserDetail.UserType.FRIENDS);
startActivity(following);
break;