Skip to content

Instantly share code, notes, and snippets.

@hitherejoe
Created May 28, 2017 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hitherejoe/12b75b6ab5e0238d04305033b429b22b to your computer and use it in GitHub Desktop.
Save hitherejoe/12b75b6ab5e0238d04305033b429b22b to your computer and use it in GitHub Desktop.
@NonNull
@MainThread
public <T extends ViewModel> T get(@NonNull String key, @NonNull Class<T> modelClass) {
ViewModel viewModel = mViewModelStore.get(key);
if (modelClass.isInstance(viewModel)) {
//noinspection unchecked
return (T) viewModel;
} else {
//noinspection StatementWithEmptyBody
if (viewModel != null) {
// TODO: log a warning.
}
}
viewModel = mFactory.create(modelClass);
mViewModelStore.put(key, viewModel);
//noinspection unchecked
return (T) viewModel;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment