Blame view

app/src/main/java/tonio/noa/Hygiene4Activity.java 4.99 KB
b66e4091   aarnaude   ajout activités d...
1
2
3
4
  package tonio.noa;
  
  import android.content.ClipData;
  import android.content.Intent;
427a4dcd   aarnaude   ajout texttospeec...
5
  import android.graphics.Color;
b66e4091   aarnaude   ajout activités d...
6
7
8
9
10
  import android.os.Build;
  import android.os.Bundle;
  import android.view.DragEvent;
  import android.view.MotionEvent;
  import android.view.View;
427a4dcd   aarnaude   ajout texttospeec...
11
  import android.widget.ImageView;
4fbbe27a   aarnaude   ajout de la fonct...
12
  import android.widget.TextView;
b66e4091   aarnaude   ajout activités d...
13
14
15
16
17
18
19
20
21
22
23
24
  
  /**
   * Created by psyk on 24/01/18.
   */
  
  public class Hygiene4Activity extends MyPlayActivity implements View.OnTouchListener, View.OnDragListener {
  
      private int win_counter = 0;
      private boolean done = false;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
b66e4091   aarnaude   ajout activités d...
25
          super.onCreate(savedInstanceState);
2db7566f   aarnaude   modification de M...
26
          lanceConsigne("Tu peux m'aider ?\nPrépare mes affaires de toilette.");
b66e4091   aarnaude   ajout activités d...
27
28
29
30
31
32
33
      }
  
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
  
          setContentView(R.layout.hygiene4_display);
  
4fbbe27a   aarnaude   ajout de la fonct...
34
35
36
37
38
          TextView txtV = findViewById(R.id.cons_hyg4);
          smallCons = "Met les affaires de toilettes dans la trousse de toilette.";
          txtV.setText(smallCons);
          setTts();
  
b66e4091   aarnaude   ajout activités d...
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
          findViewById(R.id.snail).setOnTouchListener(this);
          findViewById(R.id.towel).setOnTouchListener(this);
          findViewById(R.id.elephant).setOnTouchListener(this);
          findViewById(R.id.bmw).setOnTouchListener(this);
          findViewById(R.id.toothpaste).setOnTouchListener(this);
          findViewById(R.id.blue_toothbrush_pic).setOnTouchListener(this);
          findViewById(R.id.trumpet).setOnTouchListener(this);
          findViewById(R.id.soap).setOnTouchListener(this);
          findViewById(R.id.shampoo).setOnTouchListener(this);
  
          findViewById(R.id.anchor_toilet_bag).setOnDragListener(this);
          findViewById(R.id.snail).setOnDragListener(this);
          findViewById(R.id.towel).setOnDragListener(this);
          findViewById(R.id.elephant).setOnDragListener(this);
          findViewById(R.id.bmw).setOnDragListener(this);
          findViewById(R.id.toothpaste).setOnDragListener(this);
          findViewById(R.id.blue_toothbrush_pic).setOnDragListener(this);
          findViewById(R.id.trumpet).setOnDragListener(this);
          findViewById(R.id.soap).setOnDragListener(this);
          findViewById(R.id.shampoo).setOnDragListener(this);
      }
  
      @Override
      public boolean onTouch(View view, MotionEvent event) {
          if (event.getAction() == MotionEvent.ACTION_DOWN) {
  
              View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
              ClipData data = ClipData.newPlainText("id", view.getResources().getResourceEntryName(view.getId()));
  
              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                  view.startDragAndDrop(data, shadowBuilder, view, 0);
              } else {
                  view.startDrag(data, shadowBuilder, view, 0);
              }
              return true;
          } else
              return false;
      }
  
      @Override
      public boolean onDrag(View v, DragEvent event) {
          switch (event.getAction()) {
              // signal for the start of a drag and drop operation
              case DragEvent.ACTION_DRAG_STARTED:
                  // do nothing
                  break;
  
              // the drag point has entered the bounding box of the View
              case DragEvent.ACTION_DRAG_ENTERED:
                  // do nothing
                  break;
  
              // the user has moved the drag shadow outside the bounding box of the View
              case DragEvent.ACTION_DRAG_EXITED:
                  // do nothing
                  break;
  
              // the drag and drop operation has concluded
              case DragEvent.ACTION_DRAG_ENDED:
                  if (win_counter == 5 && !done) {
                      done = true;
                      bravoPage(v);
                  }
                  break;
  
              //drag shadow has been released,the drag point is within the bounding box of the View
              case DragEvent.ACTION_DROP:
                  //handle the dragged view being dropped over a target view
                  View view = (View) event.getLocalState();
                  if (v == findViewById(R.id.anchor_toilet_bag)) {
                      if (view == findViewById(R.id.towel)
                              || view == findViewById(R.id.toothpaste)
                              || view == findViewById(R.id.blue_toothbrush_pic)
                              || view == findViewById(R.id.shampoo)
                              || view == findViewById(R.id.soap)) {
                          //stop displaying the view where it was before it was dragged
                          view.setVisibility(View.INVISIBLE);
                          win_counter++;
c9866333   aarnaude   ajout scènes thèm...
117
118
119
120
                      } else {
                          ImageView imageV = (ImageView) view;
                          imageV.setColorFilter(Color.GRAY);
                          view.setEnabled(false);
b66e4091   aarnaude   ajout activités d...
121
                      }
b66e4091   aarnaude   ajout activités d...
122
                  }
c9866333   aarnaude   ajout scènes thèm...
123
  
b66e4091   aarnaude   ajout activités d...
124
125
126
127
128
129
130
131
                  break;
          }
          return true;
      }
  
  
      @Override
      protected void next() {
c9866333   aarnaude   ajout scènes thèm...
132
          startActivity(new Intent(this, Hygiene5Activity.class));
b66e4091   aarnaude   ajout activités d...
133
134
      }
  }