From f6469ddb48ec7e81192f99c4adda1726f22621b8 Mon Sep 17 00:00:00 2001 From: WipedLifePotato Date: Sun, 10 Mar 2024 17:15:59 +0700 Subject: [PATCH] Setting activity --- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 6 + .../purplei2p/i2pd/MyPreferenceActivity.java | 62 ++++++++++ .../org/purplei2p/i2pd/SettingsActivity.java | 14 ++- app/src/main/res/layout/activity_settings.xml | 12 ++ app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/preferences_i2pd.xml | 109 +++++++++++------- 8 files changed, 162 insertions(+), 44 deletions(-) create mode 100644 app/src/main/java/org/purplei2p/i2pd/MyPreferenceActivity.java diff --git a/app/build.gradle b/app/build.gradle index f5858d8..c752c86 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,6 +5,7 @@ plugins { dependencies { implementation 'androidx.core:core:1.9.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + //implementation 'org.ini4j:ini4j:0.5.4' } android { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9e2edce..96b0034 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -74,5 +74,11 @@ android:name="android.support.PARENT_ACTIVITY" android:value="org.purplei2p.i2pd.I2PDPermsAskerActivity" /> + + + diff --git a/app/src/main/java/org/purplei2p/i2pd/MyPreferenceActivity.java b/app/src/main/java/org/purplei2p/i2pd/MyPreferenceActivity.java new file mode 100644 index 0000000..34570c9 --- /dev/null +++ b/app/src/main/java/org/purplei2p/i2pd/MyPreferenceActivity.java @@ -0,0 +1,62 @@ +package org.purplei2p.i2pd; + +import android.os.Bundle; +import android.preference.CheckBoxPreference; +import android.preference.EditTextPreference; +import android.preference.ListPreference; +import android.preference.PreferenceActivity; + +public class MyPreferenceActivity extends PreferenceActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.preferences_i2pd); + + // Main Category + ListPreference logLevel = (ListPreference) findPreference("logLevelPreference"); + CheckBoxPreference ipv4Enable = (CheckBoxPreference) findPreference("ipv4EnablePreference"); + CheckBoxPreference ipv6Enable = (CheckBoxPreference) findPreference("ipv6EnablePreference"); + EditTextPreference portPreference = (EditTextPreference) findPreference("portPreference"); + ListPreference bandwidthPreference = (ListPreference) findPreference("bandwidthPreference"); + CheckBoxPreference noTransitPreference = (CheckBoxPreference) findPreference("noTransitPreference"); + CheckBoxPreference floodfillPreference = (CheckBoxPreference) findPreference("floodfillPreference"); + CheckBoxPreference ssuPreference = (CheckBoxPreference) findPreference("ssuPreference"); + + // NTCP2 Category + CheckBoxPreference ntcp2Enable = (CheckBoxPreference) findPreference("ntcp2EnablePreference"); + CheckBoxPreference ntcp2Publish = (CheckBoxPreference) findPreference("ntcp2PublishPreference"); + + // Web Console Category + CheckBoxPreference webConsoleEnable = (CheckBoxPreference) findPreference("webConsoleEnablePreference"); + EditTextPreference webConsoleAddress = (EditTextPreference) findPreference("webConsoleAddressPreference"); + EditTextPreference webConsolePort = (EditTextPreference) findPreference("webConsolePortPreference"); + CheckBoxPreference webConsoleAuth = (CheckBoxPreference) findPreference("webConsoleAuthPreference"); + EditTextPreference webConsoleUser = (EditTextPreference) findPreference("webConsoleUserPreference"); + EditTextPreference webConsolePassword = (EditTextPreference) findPreference("webConsolePasswordPreference"); + + // HTTP Proxy Category + CheckBoxPreference httpProxyEnable = (CheckBoxPreference) findPreference("httpProxyEnablePreference"); + EditTextPreference httpProxyAddress = (EditTextPreference) findPreference("httpProxyAddressPreference"); + EditTextPreference httpProxyPort = (EditTextPreference) findPreference("httpProxyPortPreference"); + EditTextPreference httpProxyKeys = (EditTextPreference) findPreference("httpProxyKeysPreference"); + + // SOCKS Proxy Category + CheckBoxPreference socksProxyEnable = (CheckBoxPreference) findPreference("socksProxyEnablePreference"); + EditTextPreference socksProxyAddress = (EditTextPreference) findPreference("socksProxyAddressPreference"); + EditTextPreference socksProxyPort = (EditTextPreference) findPreference("socksProxyPortPreference"); + EditTextPreference socksProxyKeys = (EditTextPreference) findPreference("socksProxyKeysPreference"); + + // SAM Category + CheckBoxPreference samEnable = (CheckBoxPreference) findPreference("samEnablePreference"); + EditTextPreference samAddress = (EditTextPreference) findPreference("samAddressPreference"); + EditTextPreference samPort = (EditTextPreference) findPreference("samPortPreference"); + + // UPnP Category + CheckBoxPreference upnpEnable = (CheckBoxPreference) findPreference("upnpEnablePreference"); + EditTextPreference upnpForwardName = (EditTextPreference) findPreference("upnpForwardNamePreference"); + + // Limits Category + EditTextPreference transitTunnelEdit = (EditTextPreference) findPreference("transitTunnelPreference"); + } +} diff --git a/app/src/main/java/org/purplei2p/i2pd/SettingsActivity.java b/app/src/main/java/org/purplei2p/i2pd/SettingsActivity.java index 43d9b1a..7f215ab 100644 --- a/app/src/main/java/org/purplei2p/i2pd/SettingsActivity.java +++ b/app/src/main/java/org/purplei2p/i2pd/SettingsActivity.java @@ -11,8 +11,12 @@ import android.os.Bundle; import android.provider.Settings; import android.util.Log; import android.view.MenuItem; +import android.view.View; +import android.widget.Button; import android.widget.CompoundButton; import android.widget.Switch; + + import java.io.File; import java.util.List; import java.util.Objects; @@ -21,7 +25,6 @@ import java.util.Objects; //import org.purplei2p.i2pd.iniedotr.IniEditor; public class SettingsActivity extends Activity { - //protected IniEditor iniedit = new IniEditor(); private String TAG = "i2pdSrvcSettings"; private File cacheDir; public static String onBootFileName = "/onBoot"; // just file, empty, if exist the do autostart, if not then no. @@ -83,9 +86,16 @@ public class SettingsActivity extends Activity { setContentView(R.layout.activity_settings); Objects.requireNonNull(getActionBar()).setDisplayHomeAsUpEnabled(true); Switch autostart_switch = findViewById(R.id.autostart_enable); - + Button openPreferences = findViewById(R.id.OpenPreferences); cacheDir = getApplicationContext().getCacheDir(); File onBoot = new File(cacheDir.getAbsolutePath() + onBootFileName); + openPreferences.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(SettingsActivity.this, MyPreferenceActivity.class); + startActivity(intent); + } + }); autostart_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // do something, the isChecked will be diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index c44b456..f2e5a61 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -28,6 +28,18 @@ android:layout_width="match_parent" android:layout_height="1dp" android:background="?android:attr/listDivider" /> + + + +