mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 05:39:53 +01:00
Reduce visibility, remove unnecessary rethrow.
This commit is contained in:
@@ -21,6 +21,7 @@ import android.arch.lifecycle.ViewModelProvider;
|
|||||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
@@ -28,13 +29,13 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
public class ViewModelFactory implements ViewModelProvider.Factory {
|
class ViewModelFactory implements ViewModelProvider.Factory {
|
||||||
|
|
||||||
private final Map<Class<? extends ViewModel>, Provider<ViewModel>> creators;
|
private final Map<Class<? extends ViewModel>, Provider<ViewModel>> creators;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ViewModelFactory(
|
ViewModelFactory(Map<Class<? extends ViewModel>,
|
||||||
Map<Class<? extends ViewModel>, Provider<ViewModel>> creators) {
|
Provider<ViewModel>> creators) {
|
||||||
this.creators = creators;
|
this.creators = creators;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,8 +43,8 @@ public class ViewModelFactory implements ViewModelProvider.Factory {
|
|||||||
public <T extends ViewModel> T create(Class<T> modelClass) {
|
public <T extends ViewModel> T create(Class<T> modelClass) {
|
||||||
Provider<? extends ViewModel> creator = creators.get(modelClass);
|
Provider<? extends ViewModel> creator = creators.get(modelClass);
|
||||||
if (creator == null) {
|
if (creator == null) {
|
||||||
for (Map.Entry<Class<? extends ViewModel>, Provider<ViewModel>> entry : creators
|
for (Entry<Class<? extends ViewModel>, Provider<ViewModel>> entry :
|
||||||
.entrySet()) {
|
creators.entrySet()) {
|
||||||
if (modelClass.isAssignableFrom(entry.getKey())) {
|
if (modelClass.isAssignableFrom(entry.getKey())) {
|
||||||
creator = entry.getValue();
|
creator = entry.getValue();
|
||||||
break;
|
break;
|
||||||
@@ -54,12 +55,8 @@ public class ViewModelFactory implements ViewModelProvider.Factory {
|
|||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"unknown model class " + modelClass);
|
"unknown model class " + modelClass);
|
||||||
}
|
}
|
||||||
try {
|
//noinspection unchecked
|
||||||
//noinspection unchecked
|
return (T) creator.get();
|
||||||
return (T) creator.get();
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user