aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/SettingsActivity.java
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2018-01-01 02:06:37 -0600
committerSamuel Holland <samuel@sholland.org>2018-01-06 04:09:29 -0600
commit609194fae2332e6f2ccd7a4464bfa492ad661a6f (patch)
tree96a7cd9846a093dfcdacfef285b0a4d77000edf0 /app/src/main/java/com/wireguard/android/SettingsActivity.java
parentRename package widgets -> widget (diff)
downloadwireguard-android-609194fae2332e6f2ccd7a4464bfa492ad661a6f.tar.xz
wireguard-android-609194fae2332e6f2ccd7a4464bfa492ad661a6f.zip
Serviceless rewrite, part 1
Signed-off-by: Samuel Holland <samuel@sholland.org>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/SettingsActivity.java')
-rw-r--r--app/src/main/java/com/wireguard/android/SettingsActivity.java103
1 files changed, 0 insertions, 103 deletions
diff --git a/app/src/main/java/com/wireguard/android/SettingsActivity.java b/app/src/main/java/com/wireguard/android/SettingsActivity.java
deleted file mode 100644
index 70912a48..00000000
--- a/app/src/main/java/com/wireguard/android/SettingsActivity.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.wireguard.android;
-
-import android.app.Activity;
-import android.app.FragmentTransaction;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-
-import com.wireguard.android.backends.RootShell;
-
-public class SettingsActivity extends Activity {
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final FragmentTransaction transaction = getFragmentManager().beginTransaction();
- final SettingsFragment fragment = new SettingsFragment();
- fragment.setArguments(getIntent().getExtras());
- transaction.replace(android.R.id.content, fragment).commit();
- }
-
- public static class SettingsFragment extends PreferenceFragment {
- @Override
- public void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.preferences);
- if (getArguments() != null && getArguments().getBoolean("showQuickTile"))
- ((ConfigListPreference) findPreference("primary_config")).show();
-
- final Preference installTools = findPreference("install_cmd_line_tools");
- installTools.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
- public boolean onPreferenceClick(Preference preference) {
- new ToolsInstaller(installTools).execute();
- return true;
- }
- });
- }
- }
-
- private static class ToolsInstaller extends AsyncTask<Void, Void, Integer> {
- Preference installTools;
-
- public ToolsInstaller(Preference installTools) {
- this.installTools = installTools;
- installTools.setEnabled(false);
- installTools.setSummary(installTools.getContext().getString(R.string.install_cmd_line_tools_progress));
- }
-
- private static final String[][] libraryNamedExecutables = {
- { "libwg.so", "wg" },
- { "libwg-quick.so", "wg-quick" }
- };
-
- @Override
- protected Integer doInBackground(final Void... voids) {
- final Context context = installTools.getContext();
- final String libDir = context.getApplicationInfo().nativeLibraryDir;
- final StringBuilder cmd = new StringBuilder();
-
- cmd.append("set -ex;");
-
- for (final String[] libraryNamedExecutable : libraryNamedExecutables) {
- final String arg1 = "'" + libDir + "/" + libraryNamedExecutable[0] + "'";
- final String arg2 = "'/system/xbin/" + libraryNamedExecutable[1] + "'";
-
- cmd.append(String.format("cmp -s %s %s && ", arg1, arg2));
- }
- cmd.append("exit 114;");
-
- cmd.append("trap 'mount -o ro,remount /system' EXIT;");
- cmd.append("mount -o rw,remount /system;");
-
- for (final String[] libraryNamedExecutable : libraryNamedExecutables) {
- final String arg1 = "'" + libDir + "/" + libraryNamedExecutable[0] + "'";
- final String arg2 = "'/system/xbin/" + libraryNamedExecutable[1] + "'";
- cmd.append(String.format("cp %s %s; chmod 755 %s;", arg1, arg2, arg2));
- }
-
- return new RootShell(context).run(null, cmd.toString());
- }
-
- @Override
- protected void onPostExecute(final Integer ret) {
- final Context context = installTools.getContext();
- String status;
-
- switch (ret) {
- case 0:
- status = context.getString(R.string.install_cmd_line_tools_success);
- break;
- case 114 /* OsConstants.EALREADY */:
- status = context.getString(R.string.install_cmd_line_tools_already);
- break;
- default:
- status = context.getString(R.string.install_cmd_line_tools_failure);
- break;
- }
- installTools.setSummary(status);
- installTools.setEnabled(true);
- }
- }
-}