Add Privacy and Security Settings

This commit is contained in:
0w0@0w0.pw authored and seven332 committed 2018-02-11 13:20:18 +08:00
1 parent 7a02103e05
commit b3a23ad4e8
19 files changed
+170 -12

No files matched your search

@@ -575,6 +575,19 @@ public class Settings {
putInt(KEY_SCREEN_LIGHTNESS, value);
}
/********************
****** Privacy and Security
********************/
public static final String KEY_SEC_SECURITY = "enabled_secure";
public static final boolean VALUE_SEC_SECURITY = false;
public static boolean getEnabledSecurity() {
return getBoolean(KEY_SEC_SECURITY, VALUE_SEC_SECURITY);
}
public static void putEnabledSecurity(boolean value) {
putBoolean(KEY_READING_FULLSCREEN, value);
}
/********************
****** Download
********************/
@@ -23,10 +23,12 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ripple.Ripple;
import com.hippo.widget.DirExplorer;
import com.hippo.yorozuya.ViewUtils;
@@ -149,4 +151,15 @@ public class DirPickerActivity extends ToolbarActivity
mPath.setText(dir.getPath());
}
}
@Override
protected void onResume() {
super.onResume();
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
}
@@ -407,6 +407,12 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
if (mGLRootView != null) {
mGLRootView.onResume();
}
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
@Override
@@ -19,9 +19,11 @@ package com.hippo.ehviewer.ui;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.MenuItem;
import android.view.WindowManager;
import android.webkit.WebView;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
public class LicenseActivity extends ToolbarActivity {
@@ -59,4 +61,15 @@ public class LicenseActivity extends ToolbarActivity {
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onResume() {
super.onResume();
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
}
@@ -36,6 +36,7 @@ import android.text.TextUtils;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -392,6 +393,13 @@ public final class MainActivity extends StageActivity
super.onResume();
setNavCheckedItem(mNavCheckedItem);
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
@Override
@@ -22,6 +22,7 @@ import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.CheckBox;
import com.hippo.ehviewer.R;
@@ -108,4 +109,15 @@ public class SetSecurityActivity extends ToolbarActivity implements View.OnClick
finish();
}
}
@Override
protected void onResume() {
super.onResume();
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
}
@@ -30,14 +30,17 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ListAdapter;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.fragment.AboutFragment;
import com.hippo.ehviewer.ui.fragment.AdvancedFragment;
import com.hippo.ehviewer.ui.fragment.DownloadFragment;
import com.hippo.ehviewer.ui.fragment.EhFragment;
import com.hippo.ehviewer.ui.fragment.ReadFragment;
import com.hippo.ehviewer.ui.fragment.SecFragment;
import com.hippo.util.DrawableManager;
import java.lang.reflect.Field;
@@ -53,6 +56,7 @@ public final class SettingsActivity extends EhPreferenceActivity {
DownloadFragment.class.getName(),
AdvancedFragment.class.getName(),
AboutFragment.class.getName(),
SecFragment.class.getName(),
};
private class FakeLayoutInflater extends LayoutInflater {
@@ -195,4 +199,15 @@ public final class SettingsActivity extends EhPreferenceActivity {
super.onActivityResult(requestCode, resultCode, data);
}
}
@Override
protected void onResume() {
super.onResume();
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
}
@@ -32,6 +32,7 @@ import android.support.v7.app.AlertDialog;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.JsPromptResult;
@@ -43,6 +44,7 @@ import android.widget.EditText;
import android.widget.TextView;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.client.EhCookieStore;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.widget.ProgressView;
@@ -248,4 +250,15 @@ public class UConfigActivity extends ToolbarActivity {
return true;
}
}
@Override
protected void onResume() {
super.onResume();
if(Settings.getEnabledSecurity()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
}
@@ -42,7 +42,6 @@ public class AdvancedFragment extends PreferenceFragment implements Preference.O
private static final String KEY_DUMP_LOGCAT = "dump_logcat";
private static final String KEY_CLEAR_MEMORY_CACHE = "clear_memory_cache";
private static final String KEY_PATTERN_PROTECTION = "pattern_protection";
private static final String KEY_EXPORT_DATA = "export_data";
private static final String KEY_IMPORT_DATA = "import_data";
@@ -65,11 +64,6 @@ public class AdvancedFragment extends PreferenceFragment implements Preference.O
@Override
public void onResume() {
super.onResume();
Preference patternProtection = findPreference(KEY_PATTERN_PROTECTION);
patternProtection.setSummary(TextUtils.isEmpty(Settings.getSecurity()) ?
R.string.settings_advanced_pattern_protection_not_set :
R.string.settings_advanced_pattern_protection_set);
}
@Override
@@ -0,0 +1,30 @@
package com.hippo.ehviewer.ui.fragment;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.text.TextUtils;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
/**
* Created by Mo10 on 2018/2/10.
*/
public class SecFragment extends PreferenceFragment {
private static final String KEY_PATTERN_PROTECTION = "pattern_protection";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.secure_settings);
}
@Override
public void onResume() {
super.onResume();
Preference patternProtection = findPreference(KEY_PATTERN_PROTECTION);
patternProtection.setSummary(TextUtils.isEmpty(Settings.getSecurity()) ?
R.string.settings_advanced_pattern_protection_not_set :
R.string.settings_advanced_pattern_protection_set);
}
}
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="?attr/colorPrimary"
android:pathData="M12,1L3,5v6c0,5.55 3.84,10.74 9,12 5.16,-1.26 9,-6.45 9,-12L21,5l-9,-4zM12,11.99h7c-0.53,4.12 -3.28,7.79 -7,8.94L12,12L5,12L5,6.3l7,-3.11v8.8z"/>
</vector>
+3
View File
@@ -617,5 +617,8 @@
<string name="error_password_cannot_empty">La contraseña no puede estar vacía</string>
<string name="error_something_wrong_happened">Ocurrió algo malo</string>
<string name="dialog_archive_title">H@H Downloader</string>
<string name="settings_sec">Privacidad y seguridad</string>
<string name="settings_sec_secure">Captura de pantalla no permitida</string>
<string name="settings_sec_secure_summary">Si está habilitado, no puede tomar capturas de pantalla de la aplicación, y el sistema no mostrará el contenido de la aplicación en el selector de tareas</string>
</resources>
@@ -627,5 +627,8 @@
<string name="download_archive_failure">无法下载压缩包</string>
<string name="archive">压缩包</string>
<string name="download_archive_failure_no_hath">下载压缩包需要 H@H 客户端</string>
<string name="settings_sec">隐私和安全</string>
<string name="settings_sec_secure">不允许屏幕抓取</string>
<string name="settings_sec_secure_summary">启用后,将不能截取该应用的屏幕截图,同时,将不会在系统任务切换器中显示该应用的内容预览\n\n重新启动应用以生效此更改</string>
</resources>
@@ -627,5 +627,8 @@
<string name="download_archive_failure">無法下載壓縮包</string>
<string name="archive">壓縮包</string>
<string name="download_archive_failure_no_hath">下載壓縮包需要 H@H 客户端</string>
<string name="settings_sec">隱私和安全</string>
<string name="settings_sec_secure">不允許荧幕抓取</string>
<string name="settings_sec_secure_summary">啟用後,將不能截取該應用的螢幕截圖,同時,將不會在系統任務切換器中顯示該應用的內容預覽\n\n重新啟動應用以生效此更改</string>
</resources>
@@ -627,5 +627,8 @@
<string name="download_archive_failure">下載失敗</string>
<string name="archive">壓縮檔</string>
<string name="download_archive_failure_no_hath">下載壓縮檔需要 H@H 客戶端</string>
<string name="settings_sec">隱私和安全</string>
<string name="settings_sec_secure">不允許荧幕抓取</string>
<string name="settings_sec_secure_summary">啟用後,將不能截取該應用的螢幕截圖,同時,將不會在系統任務切換器中顯示該應用的內容預覽\n\n重新啟動應用以生效此更改</string>
</resources>
+3
View File
@@ -678,5 +678,8 @@
<string name="download_archive_failure">Failed to download archive</string>
<string name="archive">Archive</string>
<string name="download_archive_failure_no_hath">Need H@H client for archive download</string>
<string name="settings_sec">Privacy and Security</string>
<string name="settings_sec_secure">Not Allowed Screen Capture</string>
<string name="settings_sec_secure_summary">If enabled, you cannot take screenshots of the app, and the system will not display app contents in the task switcher\n\nNeed to restart the app for this to take effect</string>
</resources>
@@ -48,12 +48,6 @@
app:entryValues="@array/read_cache_size_entry_values"
android:defaultValue="160"/>
<com.hippo.preference.ActivityPreference
xmlns:app="http://schemas.android.com/apk/res-auto"
android:key="pattern_protection"
android:title="@string/settings_advanced_pattern_protection_title"
app:activity="com.hippo.ehviewer.ui.SetSecurityActivity"/>
<Preference
android:key="export_data"
android:title="@string/settings_advanced_export_data"
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.hippo.preference.ActivityPreference
xmlns:app="http://schemas.android.com/apk/res-auto"
android:key="pattern_protection"
android:title="@string/settings_advanced_pattern_protection_title"
app:activity="com.hippo.ehviewer.ui.SetSecurityActivity"/>
<com.hippo.preference.SwitchPreference
android:key="enabled_secure"
android:title="@string/settings_sec_secure"
app:summaryOn="@string/settings_sec_secure_summary"
app:summaryOff="@string/settings_sec_secure_summary"
android:defaultValue="false"/>
</PreferenceScreen>
@@ -33,6 +33,11 @@
android:title="@string/settings_download"
android:icon="@drawable/v_download_primary_x24"/>
<header
android:fragment="com.hippo.ehviewer.ui.fragment.SecFragment"
android:title="@string/settings_sec"
android:icon="@drawable/v_sec_primary_x24"/>
<header
android:fragment="com.hippo.ehviewer.ui.fragment.AdvancedFragment"
android:title="@string/settings_advanced"