mirror of https://github.com/M66B/NetGuard.git
Disable use hosts switch if no hosts file
This commit is contained in:
parent
59decdbdae
commit
d7c2d64280
|
@ -180,6 +180,7 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
// Handle hosts
|
// Handle hosts
|
||||||
Preference pref_hosts = screen.findPreference("hosts");
|
Preference pref_hosts = screen.findPreference("hosts");
|
||||||
Preference pref_block_domains = screen.findPreference("use_hosts");
|
Preference pref_block_domains = screen.findPreference("use_hosts");
|
||||||
|
pref_block_domains.setEnabled(new File(getCacheDir(), "hosts.txt").exists());
|
||||||
|
|
||||||
if (Util.isPlayStoreInstall(this)) {
|
if (Util.isPlayStoreInstall(this)) {
|
||||||
PreferenceCategory pref_backup = (PreferenceCategory) screen.findPreference("category_backup");
|
PreferenceCategory pref_backup = (PreferenceCategory) screen.findPreference("category_backup");
|
||||||
|
@ -393,10 +394,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
.create().show();
|
.create().show();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ("use_hosts".equals(name)) {
|
} else if ("use_hosts".equals(name))
|
||||||
SinkholeService.reload(null, "setting changed", this);
|
SinkholeService.reload(null, "setting changed", this);
|
||||||
|
|
||||||
} else if ("auto_enable".equals(name))
|
else if ("auto_enable".equals(name))
|
||||||
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_auto, prefs.getString(name, "0")));
|
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_auto, prefs.getString(name, "0")));
|
||||||
|
|
||||||
else if ("screen_delay".equals(name))
|
else if ("screen_delay".equals(name))
|
||||||
|
@ -540,7 +541,8 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
handleImport(data);
|
handleImport(data);
|
||||||
|
|
||||||
} else if (requestCode == REQUEST_HOSTS) {
|
} else if (requestCode == REQUEST_HOSTS) {
|
||||||
handleHosts(resultCode == RESULT_OK ? data : null);
|
if (resultCode == RESULT_OK && data != null)
|
||||||
|
handleHosts(data);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "Unknown activity result request=" + requestCode);
|
Log.w(TAG, "Unknown activity result request=" + requestCode);
|
||||||
|
@ -609,12 +611,7 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
@Override
|
@Override
|
||||||
protected Throwable doInBackground(Object... objects) {
|
protected Throwable doInBackground(Object... objects) {
|
||||||
File hosts = new File(getCacheDir(), "hosts.txt");
|
File hosts = new File(getCacheDir(), "hosts.txt");
|
||||||
if (data == null) {
|
|
||||||
// TODO user confirmation
|
|
||||||
if (hosts.exists())
|
|
||||||
hosts.delete();
|
|
||||||
return null;
|
|
||||||
} else {
|
|
||||||
FileOutputStream out = null;
|
FileOutputStream out = null;
|
||||||
InputStream in = null;
|
InputStream in = null;
|
||||||
try {
|
try {
|
||||||
|
@ -651,13 +648,13 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Throwable ex) {
|
protected void onPostExecute(Throwable ex) {
|
||||||
if (ex == null) {
|
if (ex == null) {
|
||||||
Toast.makeText(ActivitySettings.this, R.string.msg_completed, Toast.LENGTH_LONG).show();
|
Toast.makeText(ActivitySettings.this, R.string.msg_completed, Toast.LENGTH_LONG).show();
|
||||||
SinkholeService.reload(null, "hosts", ActivitySettings.this);
|
SinkholeService.reload(null, "hosts", ActivitySettings.this);
|
||||||
|
getPreferenceScreen().findPreference("use_hosts").setEnabled(true);
|
||||||
} else
|
} else
|
||||||
Toast.makeText(ActivitySettings.this, ex.toString(), Toast.LENGTH_LONG).show();
|
Toast.makeText(ActivitySettings.this, ex.toString(), Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue