Skip to content

Instantly share code, notes, and snippets.

View catalinghita8's full-sized avatar

Catalin Ghita catalinghita8

View GitHub Profile
@Module
public abstract class ActivityBindingModule {
@ActivityScoped
@ContributesAndroidInjector(modules = {QuakesModule.class})
abstract QuakesActivity ratesActivity();
}
@ActivityScoped
public class MessageFragment extends DaggerFragment implements BaseView {
private TextView mMessageTextView;
private MessageViewModel mViewModel;
@Inject
ViewModelProvider.Factory viewModelFactory;
@Inject
@Module
public abstract class MessageModule {
@FragmentScoped
@ContributesAndroidInjector
abstract MessageFragment messageFragment();
}
@AppScoped
public class MessageViewModel extends ViewModel{
@NonNull
private final MessageRepository mRepository;
@Inject
public MessageViewModel(@NonNull MessageRepository repository) {
this.mRepository = repository;
}
@AppScoped
public class MessageViewModelFactory implements ViewModelProvider.Factory {
private final Map<Class<? extends ViewModel>, Provider<ViewModel>> creators;
@Inject
public MessageViewModelFactory(Map<Class<? extends ViewModel>, Provider<ViewModel>> creators) {
this.creators = creators;
}
@SuppressWarnings("unchecked")
@Module
public abstract class ViewModelModule {
@Binds
@IntoMap
@ViewModelKey(MessageViewModel.class)
abstract ViewModel bindMessageViewModel(MessageViewModel messageViewModel);
@Binds
@AppScoped
abstract ViewModelProvider.Factory bindViewModelFactory(MessageViewModelFactory factory);
public class MessageUiModel {
private final String mMessageText;
public MessageUiModel(String messageText) {
this.mMessageText = messageText;
}
public String getMessageText() {
return mMessageText;
@AppScoped
public class MessageRepository {
@Inject
public MessageRepository() {
}
@NonNull
public String getData(){
return "Hello Medium!";
}
private fun promptSpeechInput() {
val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
intent.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
)
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, activity?.application?.packageName?: "")
speechRecognizer?.startListening(intent)
}
private var speechRecognizer: SpeechRecognizer? = null
...
private fun listenToSpeechInput() {
speechRecognizer = SpeechRecognizer.createSpeechRecognizer(context)
speechRecognizer?.setRecognitionListener(object: RecognitionListener {
...
override fun onResults(p0: Bundle?) {
speechRecognizer?.stopListening()