req call perms
This commit is contained in:
parent
c8f9061a2c
commit
e3db48a1c4
1 changed files with 24 additions and 4 deletions
|
|
@ -22,6 +22,7 @@ import android.support.v7.preference.Preference;
|
|||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
import android.support.v7.preference.PreferenceManager;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.SwitchPreferenceCompat;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.SeekBar;
|
||||
|
|
@ -60,9 +61,12 @@ import java.util.List;
|
|||
public class SettingsActivity extends AppCompatSettingsThemeActivity implements PreferenceFragmentCompat.OnPreferenceDisplayDialogCallback {
|
||||
|
||||
public static final int RESULT_STORAGE = 1;
|
||||
public static final int RESULT_CALL = 2;
|
||||
|
||||
Handler handler = new Handler();
|
||||
|
||||
public static String[] PREMS = new String[]{Manifest.permission.READ_PHONE_STATE};
|
||||
|
||||
public static <T> T[] removeElement(Class<T> c, T[] aa, int i) {
|
||||
List<T> ll = Arrays.asList(aa);
|
||||
ll = new ArrayList<>(ll);
|
||||
|
|
@ -273,6 +277,19 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements
|
|||
bluetooth.setVisible(false);
|
||||
}
|
||||
bindPreferenceSummaryToValue(bluetooth);
|
||||
|
||||
Preference p = pm.findPreference(MainApplication.PREFERENCE_CALL);
|
||||
p.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
boolean b = (boolean) newValue;
|
||||
if (b) {
|
||||
if (!Storage.permitted(GeneralPreferenceFragment.this, PREMS, RESULT_CALL))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -295,22 +312,25 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements
|
|||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
|
||||
StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(MainApplication.PREFERENCE_STORAGE);
|
||||
|
||||
switch (requestCode) {
|
||||
case RESULT_STORAGE:
|
||||
s.onRequestPermissionsResult(permissions, grantResults);
|
||||
break;
|
||||
case RESULT_CALL:
|
||||
SwitchPreferenceCompat p = (SwitchPreferenceCompat) findPreference(MainApplication.PREFERENCE_CALL);
|
||||
if (!Storage.permitted(getContext(), PREMS))
|
||||
p.setChecked(false);
|
||||
else
|
||||
p.setChecked(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(MainApplication.PREFERENCE_STORAGE);
|
||||
|
||||
switch (requestCode) {
|
||||
case RESULT_STORAGE:
|
||||
s.onActivityResult(resultCode, data);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue