diff options
author | jrizzoli <joey@cyanogenmoditalia.it> | 2016-02-05 14:30:14 +0100 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2016-02-06 20:55:15 +0100 |
commit | 7924a0c4f90741e5e5620378760ad3e2b7dde7dc (patch) | |
tree | fc5ea07566b3cdafd02a8dbffac3aac0a56ce537 /src/com | |
parent | b7b51df6e24ebe0c4ddf1a1fdfa071c8e945fb24 (diff) | |
download | android_packages_apps_Gello-7924a0c4f90741e5e5620378760ad3e2b7dde7dc.tar.gz android_packages_apps_Gello-7924a0c4f90741e5e5620378760ad3e2b7dde7dc.tar.bz2 android_packages_apps_Gello-7924a0c4f90741e5e5620378760ad3e2b7dde7dc.zip |
Gello: LookLock
Prevent apps from reading gello webview content by using FLAG_SECURE
Change-Id: I7e3413104c4f71b11da4c55b45eeab05d133ea1f
Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/browser/BaseUi.java | 22 | ||||
-rw-r--r-- | src/com/android/browser/BrowserSettings.java | 8 | ||||
-rw-r--r-- | src/com/android/browser/PreferenceKeys.java | 1 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java index c2e6050e..508d2c9a 100644 --- a/src/com/android/browser/BaseUi.java +++ b/src/com/android/browser/BaseUi.java @@ -49,6 +49,7 @@ import android.widget.ImageButton; import android.widget.ImageView; import android.widget.Toast; import android.content.res.TypedArray; +import android.util.Log; import org.codeaurora.swe.BrowserCommandLine; import org.codeaurora.swe.WebView; @@ -137,6 +138,15 @@ public abstract class BaseUi implements UI { .getDecorView().findViewById(android.R.id.content); LayoutInflater.from(mActivity) .inflate(R.layout.custom_screen, frameLayout); + + // If looklock is enabled, set FLAG_SECURE + if (BrowserSettings.getInstance().isLookLockEnabled()) { + mActivity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE); + } else { + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); + } + mContentView = (FrameLayout) frameLayout.findViewById( R.id.main_content); mCustomViewContainer = (FrameLayout) frameLayout.findViewById( @@ -180,6 +190,12 @@ public abstract class BaseUi implements UI { // lifecycle public void onPause() { + if (BrowserSettings.getInstance().isLookLockEnabled()) { + mActivity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE); + } else { + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); + } if (isCustomViewShowing()) { onHideCustomView(); } @@ -192,6 +208,12 @@ public abstract class BaseUi implements UI { public void onResume() { mActivityPaused = false; + if (BrowserSettings.getInstance().isLookLockEnabled()) { + mActivity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE); + } else { + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); + } // check if we exited without setting active tab // b: 5188145 setFullscreen(BrowserSettings.getInstance().useFullscreen()); diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index 2bdfa0f6..1da2046a 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -909,6 +909,14 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, mPrefs.edit().putBoolean(PREF_COLOREDSB_ENABLED, value).apply(); } + public boolean isLookLockEnabled() { + return mPrefs.getBoolean(PREF_LOOKLOCK_ENABLED, false); + } + + public void setLookLockEnabled(boolean value) { + mPrefs.edit().putBoolean(PREF_LOOKLOCK_ENABLED, value).apply(); + } + public boolean isPowerSaveModeEnabled() { return mPrefs.getBoolean(PREF_POWERSAVE_ENABLED, false); } diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java index b4b2976e..9bd12dc0 100644 --- a/src/com/android/browser/PreferenceKeys.java +++ b/src/com/android/browser/PreferenceKeys.java @@ -63,6 +63,7 @@ public interface PreferenceKeys { static final String PREF_HOMEPAGE = "homepage"; static final String PREF_POWERSAVE_ENABLED = "powersave_enabled"; static final String PREF_COLOREDSB_ENABLED = "coloredsb_enabled"; + static final String PREF_LOOKLOCK_ENABLED = "looklock_key"; static final String PREF_NIGHTMODE_ENABLED = "nightmode_enabled"; static final String PREF_SYNC_WITH_CHROME = "sync_with_chrome"; |