Skip to content

Instantly share code, notes, and snippets.

View larkintuckerllc's full-sized avatar

John Tucker larkintuckerllc

View GitHub Profile
@larkintuckerllc
larkintuckerllc / MainActivity.java
Created December 1, 2017 15:08
How-to Dagger 2 with Android: Part 3 - 4
...
loginButton.setOnClickListener((v) -> {
String login = loginEditText.getText().toString().trim();
if (login.matches("")) {
return;
}
Credentials credentials = MyApplication
.plusAuthComponent()
.getCredentials();
credentials.setLogin(login);
@larkintuckerllc
larkintuckerllc / Main2Activity.java
Created December 1, 2017 15:16
How-to Dagger 2 with Android: Part 3 - 5
...
@Inject Credentials mCredentials;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyApplication.getAuthComponent().inject(this);
...
@larkintuckerllc
larkintuckerllc / MainActivity3.java
Created December 1, 2017 15:19
How-to Dagger 2 with Android: Part 3 - 6
...
logoutButton.setOnClickListener((v) -> {
MyApplication.clearAuthComponent();
startActivity(new Intent(this, MainActivity.class));
finish();
});
...
@larkintuckerllc
larkintuckerllc / AuthScope.java
Last active December 1, 2017 15:35
How-to Dagger 2 with Android: Part 3 - 7
...
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthScope {
}
@larkintuckerllc
larkintuckerllc / AuthModule.java
Created December 1, 2017 15:37
How-to Dagger 2 with Android: Part 3 - 8
...
@Module
public class AuthModule {
@Provides
@AuthScope
static public Credentials provideCredentials(Greeting greeting) {
...
@larkintuckerllc
larkintuckerllc / AuthComponent.java
Created December 1, 2017 15:38
How-to Dagger 2 with Android: Part 3 - 9
...
@AuthScope
public interface AuthComponent {
...
@larkintuckerllc
larkintuckerllc / CredentialsImpl.java
Created December 1, 2017 15:54
How-to Dagger 2 with Android: Part 3 - 10
...
public class CredentialsImpl implements Credentials {
private String mLogin;
private Greeting mGreeting;
CredentialsImpl(Greeting greeting) {
mGreeting = greeting;
}
@larkintuckerllc
larkintuckerllc / AuthModule.java
Created December 1, 2017 15:58
How-to Dagger 2 with Android: Part 3 - 11
...
@Provides
@AuthScope
static public Credentials provideCredentials(Greeting greeting) {
return new CredentialsImpl(greeting);
}
...
@larkintuckerllc
larkintuckerllc / AuthComponent.java
Created December 1, 2017 16:03
How-to Dagger 2 with Android: Part 3 - 12
...
@Subcomponent(modules = AuthModule.class)
@AuthScope
public interface AuthComponent {
...
@larkintuckerllc
larkintuckerllc / AppComponent.java
Created December 1, 2017 16:05
How-to Dagger 2 with Android: Part 3 - 13
...
@Singleton
@Component(modules = AppModule.class)
public interface AppComponent {
AuthComponent plusAuthComponent();
...