Skip to content

Commit ad652bb

Browse files
author
Daniel Novak
committed
Java 1.7
1 parent 9ab7695 commit ad652bb

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

library/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ android {
1111
versionCode 1
1212
versionName "1.0"
1313
}
14+
compileOptions {
15+
sourceCompatibility JavaVersion.VERSION_1_7
16+
targetCompatibility JavaVersion.VERSION_1_7
17+
}
1418
buildTypes {
1519
release {
1620
runProguard false

library/src/main/java/eu/inloop/viewmodel/ViewModelService.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
public class ViewModelService {
88

99
private static volatile ViewModelService sInstance;
10-
public final ConcurrentHashMap<String, AbstractViewModel<? extends IView>> mViewModelCache;
10+
private final ConcurrentHashMap<String, AbstractViewModel<? extends IView>> mViewModelCache;
1111

1212
@NonNull
1313
public static ViewModelService getInstance() {
@@ -22,7 +22,7 @@ public static ViewModelService getInstance() {
2222
}
2323

2424
private ViewModelService() {
25-
mViewModelCache = new ConcurrentHashMap<String, AbstractViewModel<? extends IView>>();
25+
mViewModelCache = new ConcurrentHashMap<>();
2626
}
2727

2828
public boolean remove(String key) {
@@ -33,25 +33,25 @@ public static class ViewModelWrapper<T extends IView> {
3333
public final AbstractViewModel<T> viewModel;
3434
public final boolean wasCreated;
3535

36-
private ViewModelWrapper(AbstractViewModel<T> mViewModel, boolean mWasCreated) {
36+
private ViewModelWrapper(@NonNull AbstractViewModel<T> mViewModel, boolean mWasCreated) {
3737
this.viewModel = mViewModel;
3838
this.wasCreated = mWasCreated;
3939
}
4040
}
4141

42-
public synchronized <T extends IView> ViewModelWrapper<T> getViewModel(String key, Class<? extends AbstractViewModel<T>> viewModelClass) {
42+
@SuppressWarnings("unchecked")
43+
@NonNull
44+
public synchronized <T extends IView> ViewModelWrapper<T> getViewModel(@NonNull String key, @NonNull Class<? extends AbstractViewModel<T>> viewModelClass) {
4345
AbstractViewModel<T> instance = (AbstractViewModel<T>) mViewModelCache.get(key);
4446
if (instance != null) {
45-
return new ViewModelWrapper<T>(instance, false);
47+
return new ViewModelWrapper<>(instance, false);
4648
}
4749

4850
try {
4951
instance = viewModelClass.newInstance();
5052
mViewModelCache.put(key, instance);
51-
return new ViewModelWrapper<T>(instance, true);
52-
} catch (InstantiationException e) {
53-
throw new RuntimeException(e);
54-
} catch (IllegalAccessException e) {
53+
return new ViewModelWrapper<>(instance, true);
54+
} catch (InstantiationException | IllegalAccessException e) {
5555
throw new RuntimeException(e);
5656
}
5757
}

0 commit comments

Comments
 (0)