Skip to content
Merged
14 changes: 7 additions & 7 deletions AndroidClient/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<application
android:name=".App"
android:allowBackup="true"
android:icon="@drawable/ic_meeter_lr"
android:icon="@drawable/meeter_new_logo_512x512"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/MyMaterialTheme"
Expand All @@ -57,7 +57,7 @@
android:value=".context.launcher.Launcher" />
</activity>
<activity
android:name=".context.profile.activity.ProfileActivity"
android:name=".context.profile.component.activity.ProfileActivity"
android:label="@string/profile_activity_label"
android:parentActivityName=".context.auth.activity.LoginActivity">
<meta-data
Expand All @@ -74,9 +74,9 @@
</activity>

<activity
android:name=".context.profile.activity.SettingsActivity"
android:name=".context.profile.component.activity.SettingsActivity"
android:label="Settings"
android:parentActivityName=".context.profile.activity.ProfileActivity" />
android:parentActivityName=".context.profile.component.activity.ProfileActivity" />

<activity
android:name=".context.user.activity.UserActivity"
Expand All @@ -91,13 +91,13 @@

<activity android:name=".context.event.activity.EventLocationMapActivity" />
<activity android:name=".context.event.activity.EventOnMapActivity" />
<activity android:name=".context.profile.activity.SubscribersActivity" />
<activity android:name=".context.profile.activity.SubscriptionsActivity" />
<activity android:name=".context.profile.component.activity.SubscribersActivity" />
<activity android:name=".context.profile.component.activity.SubscriptionsActivity" />
<activity android:name=".context.user.activity.UserSubscribersActivity" />
<activity android:name=".context.user.activity.UserSubscriptionsActivity" />
<activity android:name=".context.image.activity.UploadUserImageActivity" />
<activity android:name=".context.image.activity.UploadEventImageActivity" />
<activity android:name=".context.profile.activity.NewEventOnMapActivity" />
<activity android:name=".context.profile.component.activity.NewEventOnMapActivity" />

<meta-data
android:name="com.google.android.gms.version"
Expand Down
3 changes: 3 additions & 0 deletions AndroidClient/src/main/assets/app.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ server.io_proto=ws
map.events_area=1000
map.track_user=true

#Events
events.visible_statuses=PUBLISHED,SCHEDULED,STARTED,PAUSED,RESUMED,FINISHED

#Location section
#meters
location.distance=10
Expand Down
15 changes: 15 additions & 0 deletions AndroidClient/src/main/java/com/tom/meeter/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import com.tom.meeter.context.auth.DaggerAuthComponent;
import com.tom.meeter.context.event.DaggerEventComponent;
import com.tom.meeter.context.event.EventComponent;
import com.tom.meeter.context.profile.DaggerProfileComponent;
import com.tom.meeter.context.profile.ProfileComponent;
import com.tom.meeter.context.user.DaggerUserComponent;
import com.tom.meeter.context.user.UserComponent;

Expand All @@ -19,6 +21,7 @@ public class App extends Application {
private AuthComponent authComponent;
private EventComponent eventComponent;
private UserComponent userComponent;
private ProfileComponent profileComponent;

@Override
public void onCreate() {
Expand All @@ -32,6 +35,7 @@ public void onCreate() {

/* Dependent */
eventComponent = buildEventComponent();
profileComponent = buildProfileComponent();
userComponent = buildUserComponent();


Expand Down Expand Up @@ -71,6 +75,13 @@ protected UserComponent buildUserComponent() {
.build();
}

protected ProfileComponent buildProfileComponent() {
return DaggerProfileComponent.builder()
.application(this)
.appComponent(component)
.build();
}

public AppComponent getComponent() {
return component;
}
Expand All @@ -86,4 +97,8 @@ public EventComponent getEventComponent() {
public UserComponent getUserComponent() {
return userComponent;
}

public ProfileComponent getProfileComponent() {
return profileComponent;
}
}
39 changes: 3 additions & 36 deletions AndroidClient/src/main/java/com/tom/meeter/AppComponent.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,11 @@

import android.app.Application;

import com.tom.meeter.context.event.service.EventService;
import com.tom.meeter.context.image.ImageDownloader;
import com.tom.meeter.context.image.activity.BaseUploadActivity;
import com.tom.meeter.context.launcher.Launcher;
import com.tom.meeter.context.profile.activity.ProfileActivity;
import com.tom.meeter.context.profile.activity.SettingsActivity;
import com.tom.meeter.context.profile.activity.SubscribersActivity;
import com.tom.meeter.context.profile.activity.SubscriptionsActivity;
import com.tom.meeter.context.profile.fragment.ActiveEventsFragment;
import com.tom.meeter.context.profile.fragment.CreateEventFragment;
import com.tom.meeter.context.profile.fragment.GoogleMapsFragment;
import com.tom.meeter.context.profile.fragment.ProfileEventsFragment;
import com.tom.meeter.context.profile.fragment.ProfileFragment;
import com.tom.meeter.context.token.service.TokenService;
import com.tom.meeter.context.user.service.UserService;
import com.tom.meeter.infrastructure.components.UserLoader;

import javax.inject.Singleton;

Expand All @@ -27,9 +17,7 @@
modules = {
AppModule.class,
TokenModule.class,
ImageModule.class,
UserModule.class,
EventModule.class
ImageModule.class
})
@Singleton
public interface AppComponent {
Expand All @@ -38,10 +26,7 @@ public interface AppComponent {

ImageDownloader provideImageDownloader();

UserService provideUserService();

EventService provideEventService();

UserLoader provideUserLoader();

@Component.Builder
interface Builder {
Expand All @@ -54,24 +39,6 @@ interface Builder {

void inject(Launcher launcher);

void inject(ProfileActivity profileActivity);

void inject(SettingsActivity settingsActivity);

void inject(ProfileFragment profileFragment);

void inject(GoogleMapsFragment googleMapsFragment);

void inject(ActiveEventsFragment activeEventsFragment);

void inject(ProfileEventsFragment profileEventsFragment);

void inject(SubscribersActivity subscribersActivity);

void inject(SubscriptionsActivity subscriptionsActivity);

void inject(BaseUploadActivity baseUploadActivity);

void inject(CreateEventFragment createEventFragment);

}
98 changes: 9 additions & 89 deletions AndroidClient/src/main/java/com/tom/meeter/AppModule.java
Original file line number Diff line number Diff line change
@@ -1,122 +1,42 @@
package com.tom.meeter;

import static com.tom.meeter.infrastructure.common.Globals.getServerPath;
import static com.tom.meeter.infrastructure.common.InfrastructureHelper.logMethod;
import static com.tom.meeter.infrastructure.common.RetrofitBuilder.createBuilder;

import android.app.Application;
import android.util.Log;

import androidx.annotation.NonNull;
import androidx.room.Room;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.tom.meeter.context.profile.repository.event.database.EventDao;
import com.tom.meeter.context.profile.repository.event.database.EventDatabase;
import com.tom.meeter.context.profile.repository.user.database.UserDao;
import com.tom.meeter.context.profile.repository.user.database.UserDatabase;
import com.tom.meeter.context.profile.service.ProfileService;
import com.tom.meeter.context.profile.settings.service.SettingsService;
import com.tom.meeter.infrastructure.common.RetrofitBuilder;
import com.tom.meeter.infrastructure.components.UserLoader;
import com.tom.meeter.infrastructure.http.HttpClient;

import java.util.TimeZone;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

import javax.inject.Singleton;

import dagger.Module;
import dagger.Provides;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;

@Module
public class AppModule {

private static final String TAG = AppModule.class.getCanonicalName();

public AppModule() {
Log.d(TAG, "Configuring AppModule...");
}

@Singleton
@NonNull
@Provides
public ProfileService provideProfileService(Application app) {
return new Retrofit.Builder()
.baseUrl(getServerPath(app))
.addConverterFactory(JacksonConverterFactory.create(
JsonMapper.builder()
.addModule(new JavaTimeModule())
.addModule(new Jdk8Module())
.serializationInclusion(JsonInclude.Include.NON_NULL)
.build()
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.setTimeZone(TimeZone.getDefault())))
.build()
.create(ProfileService.class);
}

@Singleton
@NonNull
@Provides
public UserDatabase provideUserDb(Application app) {
return Room.databaseBuilder(app, UserDatabase.class, "user.db")
.fallbackToDestructiveMigration()
.build();
logMethod(TAG, this);
}

@Singleton
@NonNull
@Provides
public UserDao provideUserDao(UserDatabase userDatabase) {
return userDatabase.userDao();
}

@Singleton
@NonNull
@Provides
public Executor provideExecutor() {
return new ThreadPoolExecutor(4, 8, 1000, TimeUnit.SECONDS,
new ArrayBlockingQueue<>(15, false));
}

@Singleton
@NonNull
@Provides
public EventDatabase provideEventDb(Application app) {
return Room.databaseBuilder(app, EventDatabase.class, "event.db")
.fallbackToDestructiveMigration()
.build();
}

@Singleton
@NonNull
@Provides
public EventDao provideEventDao(EventDatabase eventDatabase) {
return eventDatabase.eventDao();
}

@Singleton
@NonNull
@Provides
public SettingsService provideSettingsService(Application app) {
return new Retrofit.Builder()
.baseUrl(getServerPath(app))
.addConverterFactory(JacksonConverterFactory.create())
//.addConverterFactory(GsonConverterFactory.create())
.build()
.create(SettingsService.class);
public HttpClient provideHttpClient(Application app) {
return new HttpClient(getServerPath(app));
}

@Singleton
@NonNull
@Provides
public HttpClient provideHttpClient(Application app) {
return new HttpClient(getServerPath(app));
public UserLoader provideUserLoader(Application app) {
return createBuilder(app, RetrofitBuilder.jtm).create(UserLoader.class);
}
}
53 changes: 0 additions & 53 deletions AndroidClient/src/main/java/com/tom/meeter/EventModule.java

This file was deleted.

2 changes: 0 additions & 2 deletions AndroidClient/src/main/java/com/tom/meeter/TokenModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import dagger.Provides;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
//import retrofit2.converter.gson.GsonConverterFactory;

@Module
public class TokenModule {
Expand All @@ -33,7 +32,6 @@ public TokenService providesTokenService(Application app) {
return new Retrofit.Builder()
.baseUrl(getServerPath(app))
.addConverterFactory(JacksonConverterFactory.create())
//.addConverterFactory(GsonConverterFactory.create())
.build()
.create(TokenService.class);
}
Expand Down
Loading