|
|
@ -1,12 +1,18 @@ |
|
|
package com.vernu.sms; |
|
|
package com.vernu.sms; |
|
|
|
|
|
|
|
|
import androidx.appcompat.app.AppCompatActivity; |
|
|
import androidx.appcompat.app.AppCompatActivity; |
|
|
|
|
|
import androidx.core.app.ActivityCompat; |
|
|
|
|
|
import androidx.core.content.ContextCompat; |
|
|
|
|
|
|
|
|
|
|
|
import android.Manifest; |
|
|
|
|
|
import android.content.Context; |
|
|
|
|
|
import android.content.pm.PackageManager; |
|
|
import android.os.Bundle; |
|
|
import android.os.Bundle; |
|
|
import android.view.View; |
|
|
import android.view.View; |
|
|
import android.widget.Button; |
|
|
import android.widget.Button; |
|
|
import android.widget.EditText; |
|
|
import android.widget.EditText; |
|
|
import android.widget.Switch; |
|
|
import android.widget.Switch; |
|
|
|
|
|
import android.widget.Toast; |
|
|
|
|
|
|
|
|
import com.google.android.material.snackbar.Snackbar; |
|
|
import com.google.android.material.snackbar.Snackbar; |
|
|
|
|
|
|
|
|
@ -16,6 +22,8 @@ public class MainActivity extends AppCompatActivity { |
|
|
private EditText gatewayKeyEditText; |
|
|
private EditText gatewayKeyEditText; |
|
|
private Button updateKeyButton, grantSMSPermissionBtn; |
|
|
private Button updateKeyButton, grantSMSPermissionBtn; |
|
|
|
|
|
|
|
|
|
|
|
private static final int SEND_SMS_PERMISSION_REQUEST_CODE = 0; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
protected void onCreate(Bundle savedInstanceState) { |
|
|
protected void onCreate(Bundle savedInstanceState) { |
|
|
super.onCreate(savedInstanceState); |
|
|
super.onCreate(savedInstanceState); |
|
|
@ -25,14 +33,57 @@ public class MainActivity extends AppCompatActivity { |
|
|
updateKeyButton = findViewById(R.id.updateKeyButton); |
|
|
updateKeyButton = findViewById(R.id.updateKeyButton); |
|
|
grantSMSPermissionBtn = findViewById(R.id.grantSMSPermissionBtn); |
|
|
grantSMSPermissionBtn = findViewById(R.id.grantSMSPermissionBtn); |
|
|
|
|
|
|
|
|
|
|
|
if (isSMSPermissionGranted(getApplicationContext())) { |
|
|
|
|
|
grantSMSPermissionBtn.setEnabled(false); |
|
|
|
|
|
grantSMSPermissionBtn.setText("SMS Permission Granted"); |
|
|
|
|
|
} else { |
|
|
|
|
|
grantSMSPermissionBtn.setOnClickListener(new View.OnClickListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onClick(View view) { |
|
|
|
|
|
handleSMSRequestPermission(view); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
grantSMSPermissionBtn.setOnClickListener(new View.OnClickListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onClick(View view) { |
|
|
|
|
|
Snackbar.make(view, "Pls give permissions", Snackbar.LENGTH_SHORT).show(); |
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { |
|
|
|
|
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults); |
|
|
|
|
|
switch (requestCode) { |
|
|
|
|
|
case SEND_SMS_PERMISSION_REQUEST_CODE: { |
|
|
|
|
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { |
|
|
|
|
|
Toast.makeText(getApplicationContext(), "Yay! .", |
|
|
|
|
|
Toast.LENGTH_LONG).show(); |
|
|
|
|
|
} else { |
|
|
|
|
|
Toast.makeText(getApplicationContext(), |
|
|
|
|
|
"Permission Denied :(", Toast.LENGTH_LONG).show(); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void handleSMSRequestPermission(View view) { |
|
|
|
|
|
if (isSMSPermissionGranted(view.getContext())) { |
|
|
|
|
|
Snackbar.make(view, "Already got permissions", Snackbar.LENGTH_SHORT).show(); |
|
|
|
|
|
} else { |
|
|
|
|
|
if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, |
|
|
|
|
|
Manifest.permission.SEND_SMS)) { |
|
|
|
|
|
Snackbar.make(view, "PERMISSION DENIED, Pls grant SMS Permission in app settings", Snackbar.LENGTH_SHORT).show(); |
|
|
|
|
|
} else { |
|
|
|
|
|
Snackbar.make(view, "Grant SMS Permissions to continue", Snackbar.LENGTH_SHORT).show(); |
|
|
|
|
|
ActivityCompat.requestPermissions(MainActivity.this, |
|
|
|
|
|
new String[]{Manifest.permission.SEND_SMS}, |
|
|
|
|
|
SEND_SMS_PERMISSION_REQUEST_CODE); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean isSMSPermissionGranted(Context context) { |
|
|
|
|
|
return ContextCompat.checkSelfPermission(context, Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_GRANTED; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |