package tk.wasdennnoch.androidn_ify.ui.emergency.edit; import android.Manifest; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; public class LaunchEditInfoActivity extends Activity { private static final int PERMISSIONS_REQUEST = 500; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); checkPermissions(); } private void checkPermissions() { if (hasPerm(Manifest.permission.READ_CONTACTS) && hasPerm(Manifest.permission.CALL_PHONE)) { startEditActivity(); } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.CALL_PHONE}, PERMISSIONS_REQUEST); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case PERMISSIONS_REQUEST: { if (grantResults.length > 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { startEditActivity(); } else { finish(); } } } } private boolean hasPerm(String perm) { return ContextCompat.checkSelfPermission(this, perm) == PackageManager.PERMISSION_GRANTED; } private void startEditActivity() { finish(); startActivity(new Intent(this, EditInfoActivity.class)); } }