Skip to content

Commit d0feec0

Browse files
authored
Cumulative update to align with v0.0.7 server capabilities. (#19)
1 parent 9069957 commit d0feec0

File tree

133 files changed

+3134
-2728
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+3134
-2728
lines changed

AndroidClient/lint-baseline.xml

Lines changed: 103 additions & 125 deletions
Large diffs are not rendered by default.

AndroidClient/src/main/AndroidManifest.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
66
<uses-permission android:name="android.permission.INTERNET" />
77
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
8+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
9+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
10+
811
<!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
912
<uses-permission android:name="android.permission.CAMERA" />-->
1013
<uses-permission
@@ -94,6 +97,7 @@
9497
<activity android:name=".context.user.activity.UserSubscriptionsActivity" />
9598
<activity android:name=".context.image.activity.UploadUserImageActivity" />
9699
<activity android:name=".context.image.activity.UploadEventImageActivity" />
100+
<activity android:name=".context.profile.activity.NewEventOnMapActivity" />
97101

98102
<meta-data
99103
android:name="com.google.android.gms.version"
@@ -105,6 +109,7 @@
105109
<service
106110
android:name=".context.network.service.SocketIOService"
107111
android:enabled="true"
112+
android:foregroundServiceType="remoteMessaging"
108113
android:exported="false" />
109114
<service
110115
android:name=".context.gps.service.LocationTrackerService"

AndroidClient/src/main/java/com/tom/meeter/App.java

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
import com.tom.meeter.context.auth.DaggerAuthComponent;
1010
import com.tom.meeter.context.event.DaggerEventComponent;
1111
import com.tom.meeter.context.event.EventComponent;
12-
import com.tom.meeter.context.image.DaggerImageComponent;
13-
import com.tom.meeter.context.image.ImageComponent;
14-
import com.tom.meeter.context.token.DaggerTokenComponent;
15-
import com.tom.meeter.context.token.TokenComponent;
1612
import com.tom.meeter.context.user.DaggerUserComponent;
1713
import com.tom.meeter.context.user.UserComponent;
1814

@@ -21,8 +17,6 @@ public class App extends Application {
2117
private static final String TAG = App.class.getCanonicalName();
2218
private AppComponent component;
2319
private AuthComponent authComponent;
24-
private TokenComponent tokenComponent;
25-
private ImageComponent imageComponent;
2620
private EventComponent eventComponent;
2721
private UserComponent userComponent;
2822

@@ -31,16 +25,15 @@ public void onCreate() {
3125
super.onCreate();
3226
logMethod(TAG, this);
3327

28+
component = buildComponent();
29+
3430
/* Independent */
35-
tokenComponent = buildTokenComponent();
3631
authComponent = buildAuthComponent();
37-
imageComponent = buildImageComponent();
3832

3933
/* Dependent */
4034
eventComponent = buildEventComponent();
4135
userComponent = buildUserComponent();
4236

43-
component = buildComponent();
4437

4538
createNotificationChannel(this);
4639
}
@@ -53,46 +46,28 @@ public void onTerminate() {
5346

5447
protected AppComponent buildComponent() {
5548
return DaggerAppComponent.builder()
56-
.tokenComponent(tokenComponent)
57-
.imageComponent(imageComponent)
58-
.authComponent(authComponent)
59-
.eventComponent(eventComponent)
60-
.userComponent(userComponent)
6149
.application(this)
6250
.build();
6351
}
6452

6553
protected AuthComponent buildAuthComponent() {
6654
return DaggerAuthComponent.builder()
6755
.application(this)
68-
.build();
69-
}
70-
71-
protected TokenComponent buildTokenComponent() {
72-
return DaggerTokenComponent.builder()
73-
.application(this)
74-
.build();
75-
}
76-
77-
protected ImageComponent buildImageComponent() {
78-
return DaggerImageComponent.builder()
79-
.application(this)
56+
.appComponent(component)
8057
.build();
8158
}
8259

8360
protected EventComponent buildEventComponent() {
8461
return DaggerEventComponent.builder()
8562
.application(this)
86-
.tokenComponent(tokenComponent)
87-
.imageComponent(imageComponent)
63+
.appComponent(component)
8864
.build();
8965
}
9066

9167
protected UserComponent buildUserComponent() {
9268
return DaggerUserComponent.builder()
9369
.application(this)
94-
.tokenComponent(tokenComponent)
95-
.imageComponent(imageComponent)
70+
.appComponent(component)
9671
.build();
9772
}
9873

@@ -104,18 +79,10 @@ public AuthComponent getAuthComponent() {
10479
return authComponent;
10580
}
10681

107-
public TokenComponent getTokenComponent() {
108-
return tokenComponent;
109-
}
110-
11182
public EventComponent getEventComponent() {
11283
return eventComponent;
11384
}
11485

115-
public ImageComponent getImageComponent() {
116-
return imageComponent;
117-
}
118-
11986
public UserComponent getUserComponent() {
12087
return userComponent;
12188
}

AndroidClient/src/main/java/com/tom/meeter/AppComponent.java

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,58 @@
22

33
import android.app.Application;
44

5-
import com.tom.meeter.context.auth.AuthComponent;
6-
import com.tom.meeter.context.event.EventComponent;
7-
import com.tom.meeter.context.image.ImageComponent;
5+
import com.tom.meeter.context.event.service.EventService;
6+
import com.tom.meeter.context.image.ImageDownloader;
7+
import com.tom.meeter.context.image.activity.BaseUploadActivity;
8+
import com.tom.meeter.context.launcher.Launcher;
89
import com.tom.meeter.context.profile.activity.ProfileActivity;
910
import com.tom.meeter.context.profile.activity.SettingsActivity;
1011
import com.tom.meeter.context.profile.activity.SubscribersActivity;
1112
import com.tom.meeter.context.profile.activity.SubscriptionsActivity;
1213
import com.tom.meeter.context.profile.fragment.ActiveEventsFragment;
14+
import com.tom.meeter.context.profile.fragment.CreateEventFragment;
1315
import com.tom.meeter.context.profile.fragment.GoogleMapsFragment;
1416
import com.tom.meeter.context.profile.fragment.ProfileEventsFragment;
1517
import com.tom.meeter.context.profile.fragment.ProfileFragment;
16-
import com.tom.meeter.context.token.TokenComponent;
17-
import com.tom.meeter.context.user.UserComponent;
18-
import com.tom.meeter.infrastructure.injection.viewmodel.ViewModelModule;
18+
import com.tom.meeter.context.token.service.TokenService;
19+
import com.tom.meeter.context.user.service.UserService;
20+
21+
import javax.inject.Singleton;
1922

2023
import dagger.BindsInstance;
2124
import dagger.Component;
2225

2326
@Component(
2427
modules = {
2528
AppModule.class,
26-
ViewModelModule.class
27-
},
28-
dependencies = {
29-
TokenComponent.class,
30-
AuthComponent.class,
31-
ImageComponent.class,
32-
33-
EventComponent.class,
34-
UserComponent.class
29+
TokenModule.class,
30+
ImageModule.class,
31+
UserModule.class,
32+
EventModule.class
3533
})
36-
@AppScope
34+
@Singleton
3735
public interface AppComponent {
3836

39-
@Component.Builder
40-
interface Builder {
37+
TokenService provideTokenService();
4138

42-
@BindsInstance
43-
Builder application(Application application);
39+
ImageDownloader provideImageDownloader();
4440

45-
Builder authComponent(AuthComponent authComponent);
41+
UserService provideUserService();
4642

47-
Builder tokenComponent(TokenComponent tokenComponent);
43+
EventService provideEventService();
4844

49-
Builder eventComponent(EventComponent eventComponent);
5045

51-
Builder imageComponent(ImageComponent imageComponent);
46+
@Component.Builder
47+
interface Builder {
5248

53-
Builder userComponent(UserComponent userComponent);
49+
@BindsInstance
50+
Builder application(Application application);
5451

5552
AppComponent build();
5653
}
5754

55+
void inject(Launcher launcher);
56+
5857
void inject(ProfileActivity profileActivity);
5958

6059
void inject(SettingsActivity settingsActivity);
@@ -71,4 +70,8 @@ interface Builder {
7170

7271
void inject(SubscriptionsActivity subscriptionsActivity);
7372

73+
void inject(BaseUploadActivity baseUploadActivity);
74+
75+
void inject(CreateEventFragment createEventFragment);
76+
7477
}

AndroidClient/src/main/java/com/tom/meeter/AppModule.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
import com.fasterxml.jackson.databind.json.JsonMapper;
1414
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
1515
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
16-
import com.tom.meeter.context.profile.event.database.EventDao;
17-
import com.tom.meeter.context.profile.event.database.EventDatabase;
16+
import com.tom.meeter.context.profile.repository.event.database.EventDao;
17+
import com.tom.meeter.context.profile.repository.event.database.EventDatabase;
18+
import com.tom.meeter.context.profile.repository.user.database.UserDao;
19+
import com.tom.meeter.context.profile.repository.user.database.UserDatabase;
1820
import com.tom.meeter.context.profile.service.ProfileService;
1921
import com.tom.meeter.context.profile.settings.service.SettingsService;
20-
import com.tom.meeter.context.profile.user.database.UserDao;
21-
import com.tom.meeter.context.profile.user.database.UserDatabase;
2222
import com.tom.meeter.infrastructure.http.HttpClient;
2323

2424
import java.util.TimeZone;
@@ -27,6 +27,8 @@
2727
import java.util.concurrent.ThreadPoolExecutor;
2828
import java.util.concurrent.TimeUnit;
2929

30+
import javax.inject.Singleton;
31+
3032
import dagger.Module;
3133
import dagger.Provides;
3234
import retrofit2.Retrofit;
@@ -41,7 +43,7 @@ public AppModule() {
4143
Log.d(TAG, "Configuring AppModule...");
4244
}
4345

44-
@AppScope
46+
@Singleton
4547
@NonNull
4648
@Provides
4749
public ProfileService provideProfileService(Application app) {
@@ -59,7 +61,7 @@ public ProfileService provideProfileService(Application app) {
5961
.create(ProfileService.class);
6062
}
6163

62-
@AppScope
64+
@Singleton
6365
@NonNull
6466
@Provides
6567
public UserDatabase provideUserDb(Application app) {
@@ -68,22 +70,22 @@ public UserDatabase provideUserDb(Application app) {
6870
.build();
6971
}
7072

71-
@AppScope
73+
@Singleton
7274
@NonNull
7375
@Provides
7476
public UserDao provideUserDao(UserDatabase userDatabase) {
7577
return userDatabase.userDao();
7678
}
7779

78-
@AppScope
80+
@Singleton
7981
@NonNull
8082
@Provides
8183
public Executor provideExecutor() {
8284
return new ThreadPoolExecutor(4, 8, 1000, TimeUnit.SECONDS,
8385
new ArrayBlockingQueue<>(15, false));
8486
}
8587

86-
@AppScope
88+
@Singleton
8789
@NonNull
8890
@Provides
8991
public EventDatabase provideEventDb(Application app) {
@@ -92,14 +94,14 @@ public EventDatabase provideEventDb(Application app) {
9294
.build();
9395
}
9496

95-
@AppScope
97+
@Singleton
9698
@NonNull
9799
@Provides
98100
public EventDao provideEventDao(EventDatabase eventDatabase) {
99101
return eventDatabase.eventDao();
100102
}
101103

102-
@AppScope
104+
@Singleton
103105
@NonNull
104106
@Provides
105107
public SettingsService provideSettingsService(Application app) {
@@ -111,7 +113,7 @@ public SettingsService provideSettingsService(Application app) {
111113
.create(SettingsService.class);
112114
}
113115

114-
@AppScope
116+
@Singleton
115117
@NonNull
116118
@Provides
117119
public HttpClient provideHttpClient(Application app) {

AndroidClient/src/main/java/com/tom/meeter/context/event/EventModule.java renamed to AndroidClient/src/main/java/com/tom/meeter/EventModule.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tom.meeter.context.event;
1+
package com.tom.meeter;
22

33
import static com.tom.meeter.infrastructure.common.Globals.getServerPath;
44
import static com.tom.meeter.infrastructure.common.InfrastructureHelper.logMethod;
@@ -16,6 +16,8 @@
1616

1717
import java.util.TimeZone;
1818

19+
import javax.inject.Singleton;
20+
1921
import dagger.Module;
2022
import dagger.Provides;
2123
import retrofit2.Retrofit;
@@ -30,7 +32,7 @@ public EventModule() {
3032
logMethod(TAG, this);
3133
}
3234

33-
@EventScope
35+
@Singleton
3436
@NonNull
3537
@Provides
3638
public EventService provideEventService(Application app) {

AndroidClient/src/main/java/com/tom/meeter/context/image/ImageModule.java renamed to AndroidClient/src/main/java/com/tom/meeter/ImageModule.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tom.meeter.context.image;
1+
package com.tom.meeter;
22

33
import static com.tom.meeter.infrastructure.common.Globals.getServerPath;
44
import static com.tom.meeter.infrastructure.common.InfrastructureHelper.logMethod;
@@ -7,6 +7,7 @@
77

88
import androidx.annotation.NonNull;
99

10+
import com.tom.meeter.context.image.ImageDownloader;
1011
import com.tom.meeter.context.image.service.ImageService;
1112

1213
import javax.inject.Singleton;

AndroidClient/src/main/java/com/tom/meeter/context/token/TokenModule.java renamed to AndroidClient/src/main/java/com/tom/meeter/TokenModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tom.meeter.context.token;
1+
package com.tom.meeter;
22

33
import static com.tom.meeter.infrastructure.common.Globals.getServerPath;
44
import static com.tom.meeter.infrastructure.common.InfrastructureHelper.logMethod;

AndroidClient/src/main/java/com/tom/meeter/context/user/UserModule.java renamed to AndroidClient/src/main/java/com/tom/meeter/UserModule.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tom.meeter.context.user;
1+
package com.tom.meeter;
22

33
import static com.tom.meeter.infrastructure.common.Globals.getServerPath;
44
import static com.tom.meeter.infrastructure.common.InfrastructureHelper.logMethod;
@@ -14,6 +14,8 @@
1414

1515
import java.util.TimeZone;
1616

17+
import javax.inject.Singleton;
18+
1719
import dagger.Module;
1820
import dagger.Provides;
1921
import retrofit2.Retrofit;
@@ -28,7 +30,7 @@ public UserModule() {
2830
logMethod(TAG, this);
2931
}
3032

31-
@UserScope
33+
@Singleton
3234
@NonNull
3335
@Provides
3436
public UserService provideUserService(Application app) {

0 commit comments

Comments
 (0)