Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.57 KB | None | 0 0
  1. package com.example.logger;
  2.  
  3. import android.Manifest;
  4. import android.content.BroadcastReceiver;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.IntentFilter;
  8. import android.content.pm.PackageManager;
  9. import android.os.Build;
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.TextView;
  15. import android.widget.Toast;
  16.  
  17. import androidx.annotation.NonNull;
  18. import androidx.appcompat.app.AppCompatActivity;
  19. import androidx.core.app.ActivityCompat;
  20. import androidx.core.content.ContextCompat;
  21.  
  22.  
  23. public class MainActivity extends AppCompatActivity {
  24.  
  25. private static final String TAG = "PROVERA";
  26. private TextView textView;
  27. Button btn_startService;
  28. Button btn_stopService;
  29. private BroadcastReceiver broadcastReceiver;
  30. private TextView netView;
  31.  
  32.  
  33. static final int PERMISSION_READ_STATE = 123;
  34.  
  35. @Override
  36. protected void onResume() {
  37. super.onResume();
  38. Intent intent = new Intent(this, FileService.class);
  39.  
  40.  
  41. String input = intent.getStringExtra("netspeed");
  42.  
  43.  
  44. if (broadcastReceiver == null) {
  45. broadcastReceiver = new BroadcastReceiver() {
  46. @Override
  47. public void onReceive(Context context, Intent intent) {
  48. textView.append("\n" + intent.getExtras().get("coordinates"));
  49. netView.append("\n" + intent.getExtras().get("netspeed"));
  50.  
  51.  
  52. }
  53.  
  54.  
  55. };
  56. registerReceiver(broadcastReceiver, new IntentFilter("location_update"));
  57. }
  58. }
  59.  
  60. @Override
  61. protected void onDestroy() {
  62. super.onDestroy();
  63.  
  64. if(broadcastReceiver != null){
  65. unregisterReceiver(broadcastReceiver);
  66. }
  67. }
  68.  
  69. @Override
  70. protected void onCreate(Bundle savedInstanceState) {
  71. super.onCreate(savedInstanceState);
  72. setContentView(R.layout.activity_main);
  73.  
  74. btn_startService = findViewById(R.id.button_start);
  75. btn_stopService = findViewById(R.id.button_stop);
  76. textView = findViewById(R.id.textView);
  77. netView = findViewById(R.id.textViewNet);
  78.  
  79.  
  80.  
  81.  
  82. // if (shouldAskPermissions()) {
  83. // askPermissions();
  84. // }
  85.  
  86.  
  87.  
  88.  
  89. if(!(runtime_permissions()&&isPermissionGrantedForStorage()&&isPermissionForSimCard()))
  90. enable_buttons();
  91.  
  92.  
  93. }
  94.  
  95. private void enable_buttons() {
  96. btn_startService.setOnClickListener(new View.OnClickListener() {
  97. @Override
  98. public void onClick(View view) {
  99. Intent i =new Intent(getApplicationContext(), FileService.class);
  100.  
  101. startService(i);
  102. }
  103. });
  104.  
  105. btn_stopService.setOnClickListener(new View.OnClickListener() {
  106. @Override
  107. public void onClick(View view) {
  108.  
  109. Intent i = new Intent(getApplicationContext(), FileService.class);
  110. stopService(i);
  111.  
  112. }
  113. });
  114. }
  115.  
  116.  
  117.  
  118. private boolean runtime_permissions() {
  119. if(Build.VERSION.SDK_INT >= 23 && ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){
  120.  
  121. requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},100);
  122.  
  123. return true;
  124. }
  125. return false;
  126. }
  127.  
  128. public boolean isPermissionForSimCard(){
  129. int permissionCheck = ContextCompat.checkSelfPermission(this,Manifest.permission.READ_PHONE_STATE);
  130.  
  131. if(permissionCheck == PackageManager.PERMISSION_GRANTED){
  132. return true;
  133. } else {
  134. ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_PHONE_STATE},
  135. PERMISSION_READ_STATE);
  136. return false;
  137. }
  138.  
  139. }
  140.  
  141. public boolean isPermissionGrantedForStorage() {
  142. if (Build.VERSION.SDK_INT >= 23) {
  143. if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
  144. == PackageManager.PERMISSION_GRANTED) {
  145. Log.v(TAG,"Permission is granted");
  146. return true;
  147. } else {
  148.  
  149. Log.v(TAG,"Permission is revoked");
  150. ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
  151. return false;
  152. }
  153. }
  154. else {
  155. //permission is automatically granted on sdk<23 upon installation
  156. Log.v(TAG,"Permission is granted");
  157. return true;
  158. }
  159. }
  160.  
  161. protected boolean shouldAskPermissions() {
  162. return (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1);
  163. }
  164.  
  165. protected void askPermissions() {
  166. String[] permissions = {
  167. "android.permission.READ_EXTERNAL_STORAGE",
  168. "android.permission.WRITE_EXTERNAL_STORAGE"
  169. };
  170. int requestCode = 200;
  171. requestPermissions(permissions, requestCode);
  172. }
  173.  
  174.  
  175.  
  176. @Override
  177. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  178. super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  179. if(requestCode == 100){
  180. if(grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED){
  181. enable_buttons();
  182. }
  183. else{
  184. runtime_permissions();
  185.  
  186.  
  187.  
  188. }
  189. }
  190.  
  191. if(requestCode == 1){
  192. if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
  193. enable_buttons();
  194. }
  195. else{
  196. isPermissionGrantedForStorage();
  197. Toast.makeText(this,
  198. "You don't have requiired",
  199. Toast.LENGTH_SHORT).show();
  200. }
  201. }
  202.  
  203. if(requestCode == 123){
  204. if(grantResults.length >= 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
  205. enable_buttons();
  206. } else {
  207. isPermissionForSimCard();
  208. Toast.makeText(this,
  209. "You don't have requiired",
  210. Toast.LENGTH_SHORT).show();
  211. }
  212.  
  213. }
  214. }
  215.  
  216.  
  217.  
  218.  
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement