mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-03-01 05:48:23 +03:00
Start of settings menu
This commit is contained in:
parent
2b8de41221
commit
6d5714cb79
14 changed files with 106 additions and 47 deletions
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
|
@ -35,4 +35,6 @@ dependencies {
|
||||||
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
||||||
implementation 'com.android.support:support-vector-drawable:26.1.0'
|
implementation 'com.android.support:support-vector-drawable:26.1.0'
|
||||||
implementation 'com.android.support:support-v4:26.1.0'
|
implementation 'com.android.support:support-v4:26.1.0'
|
||||||
|
implementation 'com.android.support:preference-v7:26.1.0'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,6 @@ import android.support.v4.app.FragmentActivity;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class MainActivity extends FragmentActivity {
|
public class MainActivity extends FragmentActivity {
|
||||||
|
|
||||||
private final FragmentManager fragmentManager = getSupportFragmentManager();
|
private final FragmentManager fragmentManager = getSupportFragmentManager();
|
||||||
|
|
|
@ -3,23 +3,25 @@ package us.spotco.malwarescanner;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple {@link Fragment} subclass.
|
* A simple {@link Fragment} subclass.
|
||||||
*/
|
*/
|
||||||
public class SettingsFragment extends Fragment {
|
public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
|
|
||||||
public SettingsFragment() {
|
public SettingsFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
||||||
return inflater.inflate(R.layout.fragment_settings, container, false);
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
|
setPreferencesFromResource(R.xml.fragment_settings, rootKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFf44336"
|
android:fillColor="#FFf44336"
|
||||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM4,12c0,-4.42 3.58,-8 8,-8 1.85,0 3.55,0.63 4.9,1.69L5.69,16.9C4.63,15.55 4,13.85 4,12zM12,20c-1.85,0 -3.55,-0.63 -4.9,-1.69L18.31,7.1C19.37,8.45 20,10.15 20,12c0,4.42 -3.58,8 -8,8z"/>
|
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM4,12c0,-4.42 3.58,-8 8,-8 1.85,0 3.55,0.63 4.9,1.69L5.69,16.9C4.63,15.55 4,13.85 4,12zM12,20c-1.85,0 -3.55,-0.63 -4.9,-1.69L18.31,7.1C19.37,8.45 20,10.15 20,12c0,4.42 -3.58,8 -8,8z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFC107"
|
android:fillColor="#FFFFC107"
|
||||||
android:pathData="M12,10c-3.86,0 -7,3.14 -7,7h2c0,-2.76 2.24,-5 5,-5s5,2.24 5,5h2c0,-3.86 -3.14,-7 -7,-7zM12,6C5.93,6 1,10.93 1,17h2c0,-4.96 4.04,-9 9,-9s9,4.04 9,9h2c0,-6.07 -4.93,-11 -11,-11z"/>
|
android:pathData="M12,10c-3.86,0 -7,3.14 -7,7h2c0,-2.76 2.24,-5 5,-5s5,2.24 5,5h2c0,-3.86 -3.14,-7 -7,-7zM12,6C5.93,6 1,10.93 1,17h2c0,-4.96 4.04,-9 9,-9s9,4.04 9,9h2c0,-6.07 -4.93,-11 -11,-11z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FF673AB7"
|
android:fillColor="#FF673AB7"
|
||||||
android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/>
|
android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FF2196F3"
|
android:fillColor="#FF2196F3"
|
||||||
android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z"/>
|
android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context="us.spotco.malwarescanner.SettingsFragment">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/title_settings" />
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/ic_launcher_background"/>
|
<background android:drawable="@color/ic_launcher_background" />
|
||||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/ic_launcher_background"/>
|
<background android:drawable="@color/ic_launcher_background" />
|
||||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
|
@ -1,12 +1,31 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Hypatia</string>
|
<string name="app_name">Hypatia</string>
|
||||||
|
|
||||||
|
<!-- START MainActivity -->
|
||||||
<string name="title_activity_main">Hypatia</string>
|
<string name="title_activity_main">Hypatia</string>
|
||||||
<string name="title_scanner">Scanner</string>
|
<string name="title_scanner">Scanner</string>
|
||||||
<string name="title_log">History</string>
|
<string name="title_log">History</string>
|
||||||
<string name="title_databases">Databases</string>
|
<string name="title_databases">Databases</string>
|
||||||
<string name="title_settings">Settings</string>
|
<string name="title_settings">Settings</string>
|
||||||
|
<!-- END MainActivity -->
|
||||||
|
|
||||||
<!-- TODO: Remove or change this placeholder text -->
|
<!-- START SettingsFragment -->
|
||||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
<string name="settings_category_scanner_realtime">Realtime Scanner</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_system">Scan /system</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_system_summary">Monitor system files</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_internal">Scan Internal storage</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_internal_summary">Monitor files on internal storage</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_external">Scan External storage</string>
|
||||||
|
<string name="settings_pref_scanner_realtime_path_external_summary">Monitor files on external storage</string>
|
||||||
|
|
||||||
|
<string name="settings_category_optimizations">Optimizations</string>
|
||||||
|
<string name="settings_pref_optimizations_database_hash_length">Max hash length</string>
|
||||||
|
<string name="settings_pref_optimizations_database_hash_length_summary">Memory savings at risk of increased false positives</string>
|
||||||
|
<string name="settings_pref_optimizations_database_trim">Trim variant names</string>
|
||||||
|
<string name="settings_pref_optimizations_database_trim_summary">Memory savings at cost of detailed detection names</string>
|
||||||
|
|
||||||
|
<string name="settings_category_network">Network</string>
|
||||||
|
<string name="settings_pref_network_tor">Onion Routing</string>
|
||||||
|
<string name="settings_pref_network_tor_summary">Perform all network requests over Tor</string>
|
||||||
|
<!-- END SettingsFragment -->
|
||||||
</resources>
|
</resources>
|
|
@ -6,6 +6,7 @@
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppTheme.NoActionBar">
|
<style name="AppTheme.NoActionBar">
|
||||||
|
|
49
app/src/main/res/xml/fragment_settings.xml
Normal file
49
app/src/main/res/xml/fragment_settings.xml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context="us.spotco.malwarescanner.SettingsFragment">
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_category_scanner_realtime">
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="scanner_realtime_path_system"
|
||||||
|
android:title="@string/settings_pref_scanner_realtime_path_system"
|
||||||
|
android:summary="@string/settings_pref_scanner_realtime_path_system_summary"
|
||||||
|
android:defaultValue="false" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="scanner_realtime_path_internal"
|
||||||
|
android:title="@string/settings_pref_scanner_realtime_path_internal"
|
||||||
|
android:summary="@string/settings_pref_scanner_realtime_path_internal_summary"
|
||||||
|
android:defaultValue="true" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="scanner_realtime_path_external"
|
||||||
|
android:title="@string/settings_pref_scanner_realtime_path_external"
|
||||||
|
android:summary="@string/settings_pref_scanner_realtime_path_external_summary"
|
||||||
|
android:defaultValue="true" />
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_category_optimizations">
|
||||||
|
<EditTextPreference
|
||||||
|
android:key="database_hash_length"
|
||||||
|
android:title="@string/settings_pref_optimizations_database_hash_length"
|
||||||
|
android:summary="@string/settings_pref_optimizations_database_hash_length_summary"
|
||||||
|
android:defaultValue="12"
|
||||||
|
android:inputType="number" />
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="database_trim_variants"
|
||||||
|
android:title="@string/settings_pref_optimizations_database_trim"
|
||||||
|
android:summary="@string/settings_pref_optimizations_database_trim_summary"
|
||||||
|
android:defaultValue="false" />
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_category_network">
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="network_use_tor"
|
||||||
|
android:title="@string/settings_pref_network_tor"
|
||||||
|
android:summary="@string/settings_pref_network_tor_summary"
|
||||||
|
android:defaultValue="false" />
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
</PreferenceScreen>
|
Loading…
Add table
Reference in a new issue