PositioningActivity.java
4.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package fr.utbm.lo53.p2017.positionningapp;
import android.os.Bundle;
import android.os.Handler;
import android.support.constraint.ConstraintLayout;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONObject;
public class PositioningActivity extends BaseActivity {
private static final String TAG = "PositioningActivity";
private ConstraintLayout start_layout;
private TextView textView;
private Animation hideAnimation;
// Instantiate the RequestQueue.
private RequestQueue queue;
private boolean isLocating = false;
// Request a string response from the provided URL.
private JsonObjectRequest stringRequest;
private final Handler handler = new Handler();
private final Runnable runnable = new Runnable() {
@Override
public void run() {
// Create request
stringRequest = new JsonObjectRequest(Request.Method.GET,
getURLSolver().locateURL(),
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
textView.setText("Response is: "+ response.toString().substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText("Error: " + error.getMessage());
Log.i(TAG, "Error during location request");
}
});
Log.v(TAG, "" + stringRequest);
queue.add(stringRequest);
handler.postDelayed(runnable, 1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_positioning);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
start_layout = (ConstraintLayout) findViewById(R.id.start_layout);
initFadeOutAndHideAnimation();
textView = (TextView) findViewById(R.id.ID_yolo);
queue = Volley.newRequestQueue(this);
}
@Override
protected void onPause() {
super.onPause();
handler.removeCallbacks(runnable);
}
@Override
protected void onResume() {
super.onResume();
if (isLocating) {
handler.post(runnable);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem item = menu.findItem(R.id.open_calibration_activity);
item.setVisible(true);
return true;
}
public void startLocating(View v) {
if (isLocating) {
return;
}
isLocating = true;
start_layout.startAnimation(hideAnimation);
handler.post(runnable);
}
private void initFadeOutAndHideAnimation() {
ImageView hiding_image = (ImageView) findViewById(R.id.hiding_image);
final float initial_alpha = hiding_image.getImageAlpha() / 255;
Animation animation = new AlphaAnimation(initial_alpha, 0);
animation.setInterpolator(new AccelerateInterpolator());
animation.setDuration(1000);
animation.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationEnd(Animation animation) {
start_layout.setVisibility(View.GONE);
}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationStart(Animation animation) {}
});
hideAnimation = animation;
}
}