/*******************************************************************************
* Created by Carlos Yaconi
* Copyright 2015 Prey Inc. All rights reserved.
* License: GPLv3
* Full license at "/LICENSE"
******************************************************************************/
package com.prey.activities;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.support.v4.app.ActivityCompat;
import com.prey.PreyConfig;
import com.prey.PreyEmail;
import com.prey.PreyLogger;
import com.prey.PreyPermission;
import com.prey.PreyStatus;
import com.prey.R;
import com.prey.backwardcompatibility.FroyoSupport;
public class PreyConfigurationSMSActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences_sms);
PreyStatus.getInstance().setPreyConfigurationActivityResume(true);
try {
CheckBoxPreference pSMS= (CheckBoxPreference)findPreference("PREFS_SMS_COMMAND");
PreyConfig preyConfig = PreyConfig.getPreyConfig(getApplicationContext());
PreyLogger.i("preyConfig.isSmsCommand:"+preyConfig.isSmsCommand());
pSMS.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
CheckBoxPreference pSMS = (CheckBoxPreference) findPreference("PREFS_SMS_COMMAND");
PreyLogger.i("preyConfig.newValue:" + newValue);
boolean value=((Boolean) newValue).booleanValue();
PreyConfig.getPreyConfig(getApplicationContext()).setSmsCommand(value);
pSMS.setChecked(value);
pSMS.setDefaultValue(value);
if(value){
requestPermission();;
}
return false;
}
});
if (!preyConfig.isSmsCommand()) {
pSMS.setChecked(false);
pSMS.setDefaultValue(false);
}else{
pSMS.setChecked(true);
pSMS.setDefaultValue(true);
}
} catch (Exception e) {
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
@Override
protected void onResume() {
super.onResume();
}
private void requestPermission(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
if(!PreyPermission.canAccessSendSms(this)||!PreyPermission.canAccessReceiveSms(this)||!PreyPermission.canAccessReadSms(this)){
ActivityCompat.requestPermissions(this, INITIAL_PERMS, REQUEST_PERMISSIONS);
}
}
}
@Override
public void onBackPressed() {
Intent intent = new Intent(getApplicationContext(), PreyConfigurationActivity.class);
startActivity(intent);
}
@Override
protected void onPause() {
super.onPause();
}
private static final int REQUEST_PERMISSIONS = 5;
private static final String[] INITIAL_PERMS={
Manifest.permission.SEND_SMS,
Manifest.permission.RECEIVE_SMS,
Manifest.permission.READ_SMS
};
}