diff options
Diffstat (limited to 'src/de/blinkt/openvpn/fragments/GeneralSettings.java')
-rw-r--r-- | src/de/blinkt/openvpn/fragments/GeneralSettings.java | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/src/de/blinkt/openvpn/fragments/GeneralSettings.java b/src/de/blinkt/openvpn/fragments/GeneralSettings.java deleted file mode 100644 index 2e486dfe..00000000 --- a/src/de/blinkt/openvpn/fragments/GeneralSettings.java +++ /dev/null @@ -1,123 +0,0 @@ -package de.blinkt.openvpn.fragments; -import java.io.File; - -import android.app.AlertDialog; -import android.app.AlertDialog.Builder; -import android.app.Dialog; -import android.content.DialogInterface; -import android.content.DialogInterface.OnClickListener; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.os.Build; -import android.os.Bundle; -import android.preference.CheckBoxPreference; -import android.preference.Preference; -import android.preference.Preference.OnPreferenceClickListener; -import android.preference.PreferenceCategory; -import android.preference.PreferenceFragment; -import de.blinkt.openvpn.R; -import de.blinkt.openvpn.api.ExternalAppDatabase; - -public class GeneralSettings extends PreferenceFragment implements OnPreferenceClickListener, OnClickListener { - - private ExternalAppDatabase mExtapp; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.general_settings); - - - PreferenceCategory devHacks = (PreferenceCategory) findPreference("device_hacks"); - - - Preference loadtun = findPreference("loadTunModule"); - if(!isTunModuleAvailable()) { - loadtun.setEnabled(false); - devHacks.removePreference(loadtun); - } - - CheckBoxPreference cm9hack = (CheckBoxPreference) findPreference("useCM9Fix"); - if (!cm9hack.isChecked() && (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1)) { - devHacks.removePreference(cm9hack); - } - - mExtapp = new ExternalAppDatabase(getActivity()); - Preference clearapi = findPreference("clearapi"); - clearapi.setOnPreferenceClickListener(this); - - - if(devHacks.getPreferenceCount()==0) - getPreferenceScreen().removePreference(devHacks); - - setClearApiSummary(); - } - - private void setClearApiSummary() { - Preference clearapi = findPreference("clearapi"); - - if(mExtapp.getExtAppList().isEmpty()) { - clearapi.setEnabled(false); - clearapi.setSummary(R.string.no_external_app_allowed); - } else { - clearapi.setEnabled(true); - clearapi.setSummary(getString(R.string.allowed_apps,getExtAppList(", "))); - } - } - - private String getExtAppList(String delim) { - ApplicationInfo app; - PackageManager pm = getActivity().getPackageManager(); - - String applist=null; - for (String packagename : mExtapp.getExtAppList()) { - try { - app = pm.getApplicationInfo(packagename, 0); - if (applist==null) - applist = ""; - else - applist += delim; - applist+=app.loadLabel(pm); - - } catch (NameNotFoundException e) { - // App not found. Remove it from the list - mExtapp.removeApp(packagename); - } - } - - return applist; - } - - private boolean isTunModuleAvailable() { - // Check if the tun module exists on the file system - return new File("/system/lib/modules/tun.ko").length() > 10; - } - - @Override - public boolean onPreferenceClick(Preference preference) { - if(preference.getKey().equals("clearapi")){ - Builder builder = new AlertDialog.Builder(getActivity()); - builder.setPositiveButton(R.string.clear, this); - builder.setNegativeButton(android.R.string.cancel, null); - builder.setMessage(getString(R.string.clearappsdialog,getExtAppList("\n"))); - builder.show(); - } - - return true; - } - - @Override - public void onClick(DialogInterface dialog, int which) { - if( which == Dialog.BUTTON_POSITIVE){ - mExtapp.clearAllApiApps(); - setClearApiSummary(); - } - } - - - -}
\ No newline at end of file |