mirror of
https://github.com/M66B/NetGuard.git
synced 2025-02-24 15:21:19 +00:00
Move setup to post create
This commit is contained in:
parent
e0fc528054
commit
433113e18e
2 changed files with 59 additions and 52 deletions
|
@ -87,6 +87,65 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
getSupportActionBar().setTitle(R.string.menu_settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
super.onPostCreate(savedInstanceState);
|
||||
PreferenceFragment frag = (PreferenceFragment) getFragmentManager().findFragmentById(android.R.id.content);
|
||||
PreferenceScreen screen = frag.getPreferenceScreen();
|
||||
|
||||
// Handle export
|
||||
Preference pref_export = screen.findPreference("export");
|
||||
pref_export.setEnabled(getIntentCreateDocument().resolveActivity(getPackageManager()) != null);
|
||||
pref_export.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
startActivityForResult(getIntentCreateDocument(), ActivitySettings.REQUEST_EXPORT);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// Handle import
|
||||
Preference pref_import = screen.findPreference("import");
|
||||
pref_import.setEnabled(getIntentCreateDocument().resolveActivity(getPackageManager()) != null);
|
||||
pref_import.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
startActivityForResult(getIntentOpenDocument(), ActivitySettings.REQUEST_IMPORT);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// Handle technical info
|
||||
pref_technical = screen.findPreference("technical");
|
||||
if (Util.isDebuggable(this)) {
|
||||
pref_technical.setEnabled(INTENT_VPN_SETTINGS.resolveActivity(this.getPackageManager()) != null);
|
||||
pref_technical.setIntent(INTENT_VPN_SETTINGS);
|
||||
}
|
||||
pref_technical.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
updateTechnicalInfo();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
updateTechnicalInfo();
|
||||
|
||||
// Handle devices without telephony
|
||||
if (!Util.hasTelephony(this)) {
|
||||
PreferenceCategory defaults = (PreferenceCategory) screen.findPreference("category_defaults");
|
||||
defaults.removePreference(screen.findPreference("whitelist_other"));
|
||||
defaults.removePreference(screen.findPreference("screen_other"));
|
||||
defaults.removePreference(screen.findPreference("whitelist_roaming"));
|
||||
|
||||
PreferenceCategory options = (PreferenceCategory) screen.findPreference("category_options");
|
||||
options.removePreference(screen.findPreference("use_metered"));
|
||||
options.removePreference(screen.findPreference("unmetered_2g"));
|
||||
options.removePreference(screen.findPreference("unmetered_3g"));
|
||||
options.removePreference(screen.findPreference("unmetered_4g"));
|
||||
options.removePreference(screen.findPreference("national_roaming"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
@ -157,56 +216,6 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
}
|
||||
}
|
||||
|
||||
public void setup(PreferenceScreen screen) {
|
||||
Preference pref_export = screen.findPreference("export");
|
||||
pref_export.setEnabled(getIntentCreateDocument().resolveActivity(getPackageManager()) != null);
|
||||
pref_export.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
startActivityForResult(getIntentCreateDocument(), ActivitySettings.REQUEST_EXPORT);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
Preference pref_import = screen.findPreference("import");
|
||||
pref_import.setEnabled(getIntentCreateDocument().resolveActivity(getPackageManager()) != null);
|
||||
pref_import.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
startActivityForResult(getIntentOpenDocument(), ActivitySettings.REQUEST_IMPORT);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
pref_technical = screen.findPreference("technical");
|
||||
if (Util.isDebuggable(this)) {
|
||||
pref_technical.setEnabled(INTENT_VPN_SETTINGS.resolveActivity(this.getPackageManager()) != null);
|
||||
pref_technical.setIntent(INTENT_VPN_SETTINGS);
|
||||
}
|
||||
pref_technical.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
updateTechnicalInfo();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
updateTechnicalInfo();
|
||||
|
||||
if (!Util.hasTelephony(this)) {
|
||||
PreferenceCategory defaults = (PreferenceCategory) screen.findPreference("category_defaults");
|
||||
defaults.removePreference(screen.findPreference("whitelist_other"));
|
||||
defaults.removePreference(screen.findPreference("screen_other"));
|
||||
defaults.removePreference(screen.findPreference("whitelist_roaming"));
|
||||
|
||||
PreferenceCategory options = (PreferenceCategory) screen.findPreference("category_options");
|
||||
options.removePreference(screen.findPreference("use_metered"));
|
||||
options.removePreference(screen.findPreference("unmetered_2g"));
|
||||
options.removePreference(screen.findPreference("unmetered_3g"));
|
||||
options.removePreference(screen.findPreference("unmetered_4g"));
|
||||
options.removePreference(screen.findPreference("national_roaming"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@TargetApi(Build.VERSION_CODES.M)
|
||||
public void onSharedPreferenceChanged(SharedPreferences prefs, String name) {
|
||||
|
|
|
@ -28,7 +28,5 @@ public class FragmentSettings extends PreferenceFragment {
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
|
||||
((ActivitySettings) getActivity()).setup(getPreferenceScreen());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue