package com.novoda.bonfire.user;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import com.novoda.bonfire.BaseActivity;
import com.novoda.bonfire.Dependencies;
import com.novoda.bonfire.R;
import com.novoda.bonfire.channel.data.model.Channel;
import com.novoda.bonfire.navigation.AndroidNavigator;
import com.novoda.bonfire.user.displayer.UsersDisplayer;
import com.novoda.bonfire.user.presenter.UsersPresenter;
public class UsersActivity extends BaseActivity {
private static final String NAME_EXTRA = "channel_name_extra";
private static final String ACCESS_EXTRA = "channel_access_extra";
private UsersPresenter presenter;
public static Intent createIntentFor(Context context, Channel channel) {
Intent intent = new Intent(context, UsersActivity.class);
intent.putExtra(NAME_EXTRA, channel.getName());
intent.putExtra(ACCESS_EXTRA, channel.getAccess().name());
return intent;
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_users);
UsersDisplayer usersDisplayer = (UsersDisplayer) findViewById(R.id.users_view);
Channel channel = new Channel(
getIntent().getStringExtra(NAME_EXTRA),
Channel.Access.valueOf(getIntent().getStringExtra(ACCESS_EXTRA))
);
presenter = new UsersPresenter(
Dependencies.INSTANCE.getUserService(),
Dependencies.INSTANCE.getChannelService(),
usersDisplayer,
channel,
new AndroidNavigator(this),
Dependencies.INSTANCE.getErrorLogger(),
Dependencies.INSTANCE.getAnalytics()
);
}
@Override
protected void onStart() {
super.onStart();
presenter.startPresenting();
}
@Override
protected void onStop() {
presenter.stopPresenting();
super.onStop();
}
}