DialogProgressWiFiDirectViewModel.java 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package com.epson.mobilephone.common.wifidirect;
  2. import android.arch.lifecycle.MutableLiveData;
  3. import android.arch.lifecycle.ViewModel;
  4. import java.util.ArrayDeque;
  5. import java.util.Deque;
  6. public class DialogProgressWiFiDirectViewModel extends ViewModel {
  7. public static final String DO_DISMISS = "do_dismiss";
  8. public static final String DO_SHOW = "do_show";
  9. private final MutableLiveData<Deque<String[]>> mJob = new MutableLiveData<>();
  10. private final Deque<String[]> mQueue = new ArrayDeque();
  11. public void doShow(String str) {
  12. mQueue.offer(new String[]{str, "do_show"});
  13. mJob.postValue(mQueue);
  14. }
  15. public void doDismiss(String str) {
  16. mQueue.offer(new String[]{str, "do_dismiss"});
  17. mJob.postValue(mQueue);
  18. }
  19. public MutableLiveData<Deque<String[]>> getDialogJob() {
  20. return mJob;
  21. }
  22. public String[] checkQueue() {
  23. String[] poll = mQueue.poll();
  24. if (poll != null) {
  25. mJob.postValue(mQueue);
  26. }
  27. return poll;
  28. }
  29. }