Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-04-01 15:27:37 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2021-04-01 15:29:04 +0300
commit9c425e291a1f01fc6eb779939eb0e49ee29c6077 (patch)
tree3a2fc3a026c2773f0a2c65e838843d4b362a525b /app/src/main/java
parent0003e8babb04dbed5c267b004c8d3fb72eee6858 (diff)
Fix #1098 Prevent screen capture
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java9
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java15
2 files changed, 15 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
index 7ce7206b..7a58282f 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
@@ -3,14 +3,15 @@ package it.niedermann.owncloud.notes;
import android.app.KeyguardManager;
import android.content.Context;
import android.content.Intent;
-import android.os.Build;
import android.os.Bundle;
import android.util.Log;
+import android.view.WindowManager;
import androidx.annotation.Nullable;
+import androidx.preference.PreferenceManager;
-import it.niedermann.owncloud.notes.exception.ExceptionHandler;
import it.niedermann.owncloud.notes.branding.BrandedActivity;
+import it.niedermann.owncloud.notes.exception.ExceptionHandler;
public abstract class LockedActivity extends BrandedActivity {
@@ -25,6 +26,10 @@ public abstract class LockedActivity extends BrandedActivity {
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
+ if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_prevent_screen_capture), false)) {
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
+ }
+
if (isTaskRoot()) {
askToUnlock();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
index 4a890be0..8ba4eebd 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
@@ -12,13 +12,13 @@ import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
+import it.niedermann.owncloud.notes.NotesApplication;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.branding.Branded;
import it.niedermann.owncloud.notes.branding.BrandedSwitchPreference;
import it.niedermann.owncloud.notes.branding.BrandingUtil;
import it.niedermann.owncloud.notes.persistence.SyncWorker;
import it.niedermann.owncloud.notes.shared.util.DeviceCredentialUtil;
-import it.niedermann.owncloud.notes.NotesApplication;
import static it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateNoteListWidgets;
@@ -31,6 +31,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
private BrandedSwitchPreference wifiOnlyPref;
private BrandedSwitchPreference brandingPref;
private BrandedSwitchPreference gridViewPref;
+ private BrandedSwitchPreference preventScreenCapturePref;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -70,16 +71,15 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
Log.e(TAG, "Could not find preference with key: \"" + getString(R.string.pref_key_branding) + "\"");
}
+ preventScreenCapturePref = findPreference(getString(R.string.pref_key_prevent_screen_capture));
+ if (preventScreenCapturePref == null) {
+ Log.e(TAG, "Could not find \"" + getString(R.string.pref_key_prevent_screen_capture) + "\"-preference.");
+ }
+
lockPref = findPreference(getString(R.string.pref_key_lock));
if (lockPref != null) {
if (!DeviceCredentialUtil.areCredentialsAvailable(requireContext())) {
lockPref.setVisible(false);
- Preference securityCategory = findPreference(getString(R.string.pref_category_security));
- if (securityCategory != null) {
- securityCategory.setVisible(false);
- } else {
- Log.e(TAG, "Could not find preference " + getString(R.string.pref_category_security));
- }
} else {
lockPref.setOnPreferenceChangeListener((preference, newValue) -> {
NotesApplication.setLockedPreference((Boolean) newValue);
@@ -134,5 +134,6 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
wifiOnlyPref.applyBrand(mainColor, textColor);
brandingPref.applyBrand(mainColor, textColor);
gridViewPref.applyBrand(mainColor, textColor);
+ preventScreenCapturePref.applyBrand(mainColor, textColor);
}
}