Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.logger;
- import android.Manifest;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.content.pm.PackageManager;
- import android.os.Build;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.core.app.ActivityCompat;
- import androidx.core.content.ContextCompat;
- public class MainActivity extends AppCompatActivity {
- private static final String TAG = "PROVERA";
- private TextView textView;
- Button btn_startService;
- Button btn_stopService;
- private BroadcastReceiver broadcastReceiver;
- private TextView netView;
- static final int PERMISSION_READ_STATE = 123;
- @Override
- protected void onResume() {
- super.onResume();
- Intent intent = new Intent(this, FileService.class);
- String input = intent.getStringExtra("netspeed");
- if (broadcastReceiver == null) {
- broadcastReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- textView.append("\n" + intent.getExtras().get("coordinates"));
- netView.append("\n" + intent.getExtras().get("netspeed"));
- }
- };
- registerReceiver(broadcastReceiver, new IntentFilter("location_update"));
- }
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if(broadcastReceiver != null){
- unregisterReceiver(broadcastReceiver);
- }
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- btn_startService = findViewById(R.id.button_start);
- btn_stopService = findViewById(R.id.button_stop);
- textView = findViewById(R.id.textView);
- netView = findViewById(R.id.textViewNet);
- // if (shouldAskPermissions()) {
- // askPermissions();
- // }
- if(!(runtime_permissions()&&isPermissionGrantedForStorage()&&isPermissionForSimCard()))
- enable_buttons();
- }
- private void enable_buttons() {
- btn_startService.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent i =new Intent(getApplicationContext(), FileService.class);
- startService(i);
- }
- });
- btn_stopService.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent i = new Intent(getApplicationContext(), FileService.class);
- stopService(i);
- }
- });
- }
- private boolean runtime_permissions() {
- 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){
- requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},100);
- return true;
- }
- return false;
- }
- public boolean isPermissionForSimCard(){
- int permissionCheck = ContextCompat.checkSelfPermission(this,Manifest.permission.READ_PHONE_STATE);
- if(permissionCheck == PackageManager.PERMISSION_GRANTED){
- return true;
- } else {
- ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_PHONE_STATE},
- PERMISSION_READ_STATE);
- return false;
- }
- }
- public boolean isPermissionGrantedForStorage() {
- if (Build.VERSION.SDK_INT >= 23) {
- if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
- == PackageManager.PERMISSION_GRANTED) {
- Log.v(TAG,"Permission is granted");
- return true;
- } else {
- Log.v(TAG,"Permission is revoked");
- ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
- return false;
- }
- }
- else {
- //permission is automatically granted on sdk<23 upon installation
- Log.v(TAG,"Permission is granted");
- return true;
- }
- }
- protected boolean shouldAskPermissions() {
- return (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1);
- }
- protected void askPermissions() {
- String[] permissions = {
- "android.permission.READ_EXTERNAL_STORAGE",
- "android.permission.WRITE_EXTERNAL_STORAGE"
- };
- int requestCode = 200;
- requestPermissions(permissions, requestCode);
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- if(requestCode == 100){
- if(grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED){
- enable_buttons();
- }
- else{
- runtime_permissions();
- }
- }
- if(requestCode == 1){
- if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
- enable_buttons();
- }
- else{
- isPermissionGrantedForStorage();
- Toast.makeText(this,
- "You don't have requiired",
- Toast.LENGTH_SHORT).show();
- }
- }
- if(requestCode == 123){
- if(grantResults.length >= 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
- enable_buttons();
- } else {
- isPermissionForSimCard();
- Toast.makeText(this,
- "You don't have requiired",
- Toast.LENGTH_SHORT).show();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement