summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamera Software Integration <camswint@localhost>2016-11-15 07:05:39 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-11-15 07:05:39 -0800
commitc6fb74a0f63210f1991686e4303ed928b23e5b4b (patch)
tree4e90933483450b4d50a3830437f06cf9dcb23f34
parent835e1ab0df28156ade9d168ce5ce8b706765c44b (diff)
parentf5b99060843d791ece129463dcc5e377cd89c072 (diff)
downloadandroid_packages_apps_Snap-c6fb74a0f63210f1991686e4303ed928b23e5b4b.tar.gz
android_packages_apps_Snap-c6fb74a0f63210f1991686e4303ed928b23e5b4b.tar.bz2
android_packages_apps_Snap-c6fb74a0f63210f1991686e4303ed928b23e5b4b.zip
Merge "SnapdragonCamera: Fix camera can`t enter setting in pattern lock" into camera.lnx.1.0-dev.1.0
-rw-r--r--src/com/android/camera/CameraActivity.java6
-rw-r--r--src/com/android/camera/CaptureUI.java1
-rw-r--r--src/com/android/camera/SceneModeActivity.java23
-rw-r--r--src/com/android/camera/SettingsActivity.java17
-rw-r--r--src/com/android/camera/SettingsManager.java3
-rw-r--r--src/com/android/camera/app/CameraApp.java2
-rw-r--r--src/com/android/camera/util/CameraUtil.java2
7 files changed, 47 insertions, 7 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index f5d1699c3..26e7ca933 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -1486,8 +1486,6 @@ public class CameraActivity extends Activity
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
- SettingsManager.createInstance(this);
-
LayoutInflater inflater = getLayoutInflater();
View rootLayout = inflater.inflate(R.layout.camera, null, false);
mCameraRootFrame = (FrameLayout)rootLayout.findViewById(R.id.camera_root_frame);
@@ -1833,10 +1831,6 @@ public class CameraActivity extends Activity
mWakeLock.release();
Log.d(TAG, "wake lock release");
}
- SettingsManager settingsMngr = SettingsManager.getInstance();
- if (settingsMngr != null) {
- settingsMngr.destroyInstance();
- }
if (mCursor != null) {
getContentResolver().unregisterContentObserver(mLocalImagesObserver);
getContentResolver().unregisterContentObserver(mLocalVideosObserver);
diff --git a/src/com/android/camera/CaptureUI.java b/src/com/android/camera/CaptureUI.java
index 7c426073d..88460b865 100644
--- a/src/com/android/camera/CaptureUI.java
+++ b/src/com/android/camera/CaptureUI.java
@@ -527,6 +527,7 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
clearFocus();
removeFilterMenu(false);
Intent intent = new Intent(mActivity, SceneModeActivity.class);
+ intent.putExtra(CameraUtil.KEY_IS_SECURE_CAMERA, mActivity.isSecureCamera());
mActivity.startActivity(intent);
}
});
diff --git a/src/com/android/camera/SceneModeActivity.java b/src/com/android/camera/SceneModeActivity.java
index 09ad391c1..9e0e59506 100644
--- a/src/com/android/camera/SceneModeActivity.java
+++ b/src/com/android/camera/SceneModeActivity.java
@@ -38,6 +38,8 @@ import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
@@ -49,6 +51,7 @@ import org.codeaurora.snapcam.R;
import com.android.camera.ui.DotsView;
import com.android.camera.ui.DotsViewItem;
import com.android.camera.ui.RotateImageView;
+import com.android.camera.util.CameraUtil;
public class SceneModeActivity extends Activity {
private ViewPager mPager;
@@ -86,6 +89,11 @@ public class SceneModeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ final boolean isSecureCamera = getIntent().getBooleanExtra(
+ CameraUtil.KEY_IS_SECURE_CAMERA, false);
+ if (isSecureCamera) {
+ setShowInLockScreen();
+ }
setContentView(R.layout.scene_mode_menu_layout);
mSettingsManager = SettingsManager.getInstance();
@@ -137,6 +145,7 @@ public class SceneModeActivity extends Activity {
@Override
public void onClick(View v) {
Intent intent = new Intent(getBaseContext(), SettingsActivity.class);
+ intent.putExtra(CameraUtil.KEY_IS_SECURE_CAMERA, isSecureCamera);
startActivity(intent);
finish();
}
@@ -171,6 +180,20 @@ public class SceneModeActivity extends Activity {
public int getCurrentScene() {
return mCurrentScene;
}
+
+ private void setShowInLockScreen() {
+ // Change the window flags so that secure camera can show when locked
+ Window win = getWindow();
+ WindowManager.LayoutParams params = win.getAttributes();
+ params.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
+ win.setAttributes(params);
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ finish();
+ }
}
class MyPagerAdapter extends PagerAdapter {
diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java
index a019f179c..503927904 100644
--- a/src/com/android/camera/SettingsActivity.java
+++ b/src/com/android/camera/SettingsActivity.java
@@ -41,10 +41,13 @@ import android.preference.PreferenceGroup;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.SwitchPreference;
+import android.view.Window;
+import android.view.WindowManager;
import android.util.Log;
import android.widget.Toast;
import org.codeaurora.snapcam.R;
+import com.android.camera.util.CameraUtil;
import java.util.List;
import java.util.Map;
@@ -89,6 +92,11 @@ public class SettingsActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ final boolean isSecureCamera = getIntent().getBooleanExtra(
+ CameraUtil.KEY_IS_SECURE_CAMERA, false);
+ if (isSecureCamera) {
+ setShowInLockScreen();
+ }
mSettingsManager = SettingsManager.getInstance();
if (mSettingsManager == null) {
finish();
@@ -232,6 +240,15 @@ public class SettingsActivity extends PreferenceActivity {
protected void onStop() {
super.onStop();
mSharedPreferences.unregisterOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener);
+ finish();
+ }
+
+ private void setShowInLockScreen() {
+ // Change the window flags so that secure camera can show when locked
+ Window win = getWindow();
+ WindowManager.LayoutParams params = win.getAttributes();
+ params.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
+ win.setAttributes(params);
}
private
void onRestoreDefaultSettingsClick() {
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index 0cacaa594..f64d64a01 100644
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -61,6 +61,7 @@ import com.android.camera.ui.ListMenu;
import com.android.camera.ui.PanoCaptureProcessView;
import com.android.camera.ui.TrackingFocusRenderer;
import com.android.camera.util.SettingTranslation;
+import com.android.camera.app.CameraApp;
import org.codeaurora.snapcam.R;
import org.json.JSONException;
@@ -199,7 +200,7 @@ public class SettingsManager implements ListMenu.SettingsListener {
public static SettingsManager createInstance(Context context) {
if (sInstance == null) {
- sInstance = new SettingsManager(context);
+ sInstance = new SettingsManager(context.getApplicationContext());
}
return sInstance;
}
diff --git a/src/com/android/camera/app/CameraApp.java b/src/com/android/camera/app/CameraApp.java
index b46d615b0..837e22cd1 100644
--- a/src/com/android/camera/app/CameraApp.java
+++ b/src/com/android/camera/app/CameraApp.java
@@ -22,6 +22,7 @@ import android.app.Application;
import com.android.camera.SDCard;
import com.android.camera.util.CameraUtil;
import com.android.camera.util.UsageStatistics;
+import com.android.camera.SettingsManager;
public class CameraApp extends Application {
private static long mMaxSystemMemory;
@@ -37,6 +38,7 @@ public class CameraApp extends Application {
if(mMaxSystemMemory <= LOW_MEMORY_DEVICE_THRESHOLD) {
mIsLowMemoryDevice = true;
}
+ SettingsManager.createInstance(this);
UsageStatistics.initialize(this);
CameraUtil.initialize(this);
SDCard.initialize(this);
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 1dc5e558b..838f8d950 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -124,6 +124,8 @@ public class CameraUtil {
/** Has to be in sync with the receiving MovieActivity. */
public static final String KEY_TREAT_UP_AS_BACK = "treat-up-as-back";
+ /** Judge the value whether is from lockscreen come in or not */
+ public static final String KEY_IS_SECURE_CAMERA = "is_secure_camera";
public static final int RATIO_UNKNOWN = 0;
public static final int RATIO_16_9 = 1;