Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. package app.dogo.com.dogo_android.view.main_screen.clicker;
  2.  
  3.  
  4. import android.annotation.SuppressLint;
  5. import android.os.Bundle;
  6. import android.support.annotation.NonNull;
  7. import android.view.LayoutInflater;
  8. import android.view.Menu;
  9. import android.view.MenuItem;
  10. import android.view.MotionEvent;
  11. import android.view.View;
  12. import android.view.ViewGroup;
  13. import android.view.animation.Animation;
  14. import android.view.animation.AnimationUtils;
  15. import android.widget.ImageView;
  16.  
  17. import app.dogo.com.dogo_android.R;
  18. import app.dogo.com.dogo_android.databinding.FragmentClickerBinding;
  19. import app.dogo.com.dogo_android.enums.DialogTags;
  20. import app.dogo.com.dogo_android.enums.FragmentTags;
  21. import app.dogo.com.dogo_android.util.base_classes.BaseNavFragment;
  22. import app.dogo.com.dogo_android.util.base_classes.BaseViewModel;
  23. import app.dogo.com.dogo_android.viewModel.main_screen.clicker.ClickerViewModel;
  24.  
  25. public class ClickerFragment extends BaseNavFragment {
  26.  
  27. FragmentClickerBinding binding;
  28. ClickerViewModel vm;
  29.  
  30. @Override
  31. public Class<? extends BaseViewModel> getViewModelClass() {
  32. return ClickerViewModel.class;
  33. }
  34.  
  35. @Override
  36. public String getTitle() {
  37. return getResources().getString(R.string.clicker);
  38. }
  39.  
  40. @Override
  41. public FragmentTags getFragmentTag() {
  42. return FragmentTags.CLICKER_FRAGMENT;
  43. }
  44.  
  45. @SuppressLint("ClickableViewAccessibility")
  46. @Override
  47. public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
  48. Bundle savedInstanceState) {
  49. // Inflate the layout for this fragment
  50. binding = FragmentClickerBinding.inflate(inflater, container, false);
  51. vm = (ClickerViewModel) getViewModel();
  52. binding.setVm(vm);
  53. binding.setNavigator(getNavigator());
  54. vm.getButtonState().observe(this, aBoolean -> {
  55. if (aBoolean != null && aBoolean) {
  56. binding.clickerOnGroup.setVisibility(View.VISIBLE);
  57. binding.ratilai.setVisibility(View.VISIBLE);
  58. binding.clickerOffGroup.setVisibility(View.GONE);
  59. ImageView imageView = binding.ratilai;
  60. Animation a = AnimationUtils.loadAnimation(imageView.getContext(), R.anim.scale_animation);
  61.  
  62. a.setAnimationListener(new Animation.AnimationListener() {
  63. @Override
  64. public void onAnimationStart(Animation animation) {
  65.  
  66. }
  67.  
  68. @Override
  69. public void onAnimationEnd(Animation animation) {
  70. ImageView imageView = binding.ratilai;
  71. imageView.setVisibility(View.GONE);
  72. }
  73.  
  74. @Override
  75. public void onAnimationRepeat(Animation animation) {
  76.  
  77. }
  78. });
  79. imageView.startAnimation(a);
  80.  
  81. } else {
  82. binding.clickerOnGroup.setVisibility(View.GONE);
  83. binding.clickerOffGroup.setVisibility(View.VISIBLE);
  84.  
  85. }
  86. });
  87. binding.container.setOnTouchListener((v, event) -> {
  88. switch(event.getAction()) {
  89. case MotionEvent.ACTION_DOWN:
  90. vm.buttonPressed(getNavigator());
  91. return true;
  92. }
  93. return false;
  94. });
  95. return binding.getRoot();
  96. }
  97.  
  98. @Override
  99. public boolean onOptionsItemSelected(MenuItem item) {
  100. switch (item.getItemId()) {
  101. case R.id.action_help:
  102. switchFragment(FragmentTags.CLICKER_HELP_FRAGMENT);
  103. return true;
  104. case R.id.action_sound_choose:
  105. getNavigator().callDialog(DialogTags.SELECT_CLICKER_DIALOG_FRAGMENT);
  106. return true;
  107. default:
  108. return super.onOptionsItemSelected(item);
  109. }
  110. }
  111.  
  112. @Override
  113. public boolean setupMenuItemsVisibility(Menu menu) {
  114. menu.findItem(R.id.action_help).setVisible(true);
  115. menu.findItem(R.id.action_sound_choose).setVisible(true);
  116. return true;
  117. }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement