package com.novoda.bonfire.navigation; import android.app.Activity; import android.content.Intent; import com.novoda.bonfire.R; import com.novoda.bonfire.channel.ChannelsActivity; import com.novoda.bonfire.channel.NewChannelActivity; import com.novoda.bonfire.channel.data.model.Channel; import com.novoda.bonfire.chat.ChatActivity; import com.novoda.bonfire.login.LoginActivity; import com.novoda.bonfire.user.UsersActivity; public class AndroidNavigator implements Navigator { private final Activity activity; public AndroidNavigator(Activity activity) { this.activity = activity; } @Override public void toChannel(Channel channel) { activity.startActivity(ChatActivity.createIntentFor(activity, channel)); } @Override public void toChannels() { activity.startActivity(new Intent(activity, ChannelsActivity.class)); } @Override public void toCreateChannel() { activity.startActivity(new Intent(activity, NewChannelActivity.class)); } @Override public void toMembersOf(Channel channel) { activity.startActivity(UsersActivity.createIntentFor(activity, channel)); } @Override public void toLogin() { Intent intent = new Intent(activity, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); activity.startActivity(intent); activity.finish(); } @Override public void toParent() { activity.finish(); } @Override public void toChannelWithClearedHistory(Channel channel) { toChannel(channel); activity.finish(); } @Override public void toShareInvite(String sharingLink) { String sharingMessage = activity.getString(R.string.send_invite); Intent sharingIntent = new Intent(Intent.ACTION_SEND); sharingIntent.setType("text/plain"); sharingIntent.putExtra(Intent.EXTRA_TEXT, activity.getString(R.string.check_out_bonfire, sharingLink)); activity.startActivity(Intent.createChooser(sharingIntent, sharingMessage)); } }