|
|
|
package org.galexander.sshd;
|
|
|
|
|
|
|
|
import android.os.Build;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.preference.CheckBoxPreference;
|
|
|
|
import android.preference.Preference;
|
|
|
|
import android.preference.PreferenceActivity;
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
public class Settings extends PreferenceActivity {
|
|
|
|
private CheckBoxPreference pref_onboot, pref_foreground;
|
|
|
|
|
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
addPreferencesFromResource(R.xml.preferences);
|
|
|
|
|
|
|
|
pref_onboot = (CheckBoxPreference)findPreference("onboot");
|
|
|
|
pref_foreground =
|
|
|
|
(CheckBoxPreference)findPreference("foreground");
|
|
|
|
|
|
|
|
Preference.OnPreferenceChangeListener l =
|
|
|
|
new Preference.OnPreferenceChangeListener() {
|
|
|
|
public boolean onPreferenceChange(Preference p,
|
|
|
|
Object v_) {
|
|
|
|
boolean v =((Boolean)v_).booleanValue();
|
|
|
|
((CheckBoxPreference)p).setChecked(v);
|
|
|
|
check();
|
|
|
|
return false;
|
|
|
|
} };
|
|
|
|
pref_onboot.setOnPreferenceChangeListener(l);
|
|
|
|
pref_foreground.setOnPreferenceChangeListener(l);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void onResume() {
|
|
|
|
super.onResume();
|
|
|
|
check();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void check() {
|
|
|
|
if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) &&
|
|
|
|
pref_onboot.isChecked() &&
|
|
|
|
!pref_foreground.isChecked()) {
|
|
|
|
pref_foreground.setChecked(true);
|
|
|
|
Toast.makeText(this,
|
|
|
|
"Android Oreo will not start a background service at boot. Forcing foreground.",
|
|
|
|
Toast.LENGTH_LONG).show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|