1
1
package com .codificador .mocklocationdetector ;
2
2
3
3
import androidx .appcompat .app .AppCompatActivity ;
4
+ import androidx .core .app .ActivityCompat ;
5
+ import androidx .core .content .ContextCompat ;
4
6
7
+ import android .Manifest ;
8
+ import android .content .pm .PackageManager ;
9
+ import android .location .Location ;
5
10
import android .os .Bundle ;
11
+ import android .widget .TextView ;
12
+
13
+ import com .google .android .gms .location .FusedLocationProviderClient ;
14
+ import com .google .android .gms .location .LocationServices ;
15
+ import com .google .android .gms .tasks .OnSuccessListener ;
6
16
7
17
public class MainActivity extends AppCompatActivity {
8
18
19
+ TextView textView ;
20
+ static final int REQUEST_CODE = 111 ;
21
+
9
22
@ Override
10
23
protected void onCreate (Bundle savedInstanceState ) {
11
24
super .onCreate (savedInstanceState );
12
25
setContentView (R .layout .activity_main );
26
+ textView = findViewById (R .id .textView );
27
+ permissionCheck ();
28
+ }
29
+
30
+ private void permissionCheck (){
31
+ if (ContextCompat .checkSelfPermission (this , Manifest .permission .ACCESS_FINE_LOCATION )
32
+ != PackageManager .PERMISSION_GRANTED )
33
+ {
34
+ ActivityCompat .requestPermissions (this ,
35
+ new String []{Manifest .permission .ACCESS_FINE_LOCATION },
36
+ REQUEST_CODE );
37
+ return ;
38
+ }
39
+ }
40
+
41
+ @ Override
42
+ protected void onResume () {
43
+ super .onResume ();
44
+ getCurrentLocation ();
45
+ }
46
+
47
+ public void getCurrentLocation () {
48
+ FusedLocationProviderClient fusedLocationClient = LocationServices .getFusedLocationProviderClient (this );
49
+ fusedLocationClient .getLastLocation ().addOnSuccessListener (new OnSuccessListener <Location >() {
50
+ @ Override
51
+ public void onSuccess (Location location ) {
52
+ if (location != null ) {
53
+ boolean isMock = location .isFromMockProvider ();
54
+ if (isMock ){
55
+ textView .setTextColor (getResources ().getColor (R .color .colorAccent ));
56
+ textView .setText ("MOCKED LOCATION" );
57
+ }
58
+ else {
59
+ textView .setTextColor (getResources ().getColor (R .color .colorPrimary ));
60
+ textView .setText ("Location from System Provider" );
61
+ }
62
+ }
63
+ }
64
+ });
13
65
}
14
- }
66
+ }
0 commit comments