summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-25 14:47:59 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-25 14:47:59 -0700
commite2388509dfb0feb3fc326c283018e2711d218bad (patch)
tree6ca3edeb0a8eeaa49f111039282622fb070bb4e4
parente3d899eaa76b143410ac3047d4fc3c0edeb2e13b (diff)
parent54718277469d05cf7e45703bad283d26a40115c6 (diff)
downloadandroid_packages_apps_Snap-e2388509dfb0feb3fc326c283018e2711d218bad.tar.gz
android_packages_apps_Snap-e2388509dfb0feb3fc326c283018e2711d218bad.tar.bz2
android_packages_apps_Snap-e2388509dfb0feb3fc326c283018e2711d218bad.zip
Merge "SnapdragonCamera:Add intent interface for APT automation" into camera.lnx.1.0-dev.1.0
-rw-r--r--src/com/android/camera/CameraActivity.java34
-rw-r--r--src/com/android/camera/CameraModule.java2
-rw-r--r--src/com/android/camera/CaptureModule.java5
-rw-r--r--src/com/android/camera/PhotoModule.java8
-rw-r--r--src/com/android/camera/SettingsManager.java6
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/VideoModule.java6
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java5
7 files changed, 61 insertions, 5 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index a808dbf60..608d7f823 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -148,6 +148,8 @@ public class CameraActivity extends Activity
// This string is used for judge start activity from screenoff or not
public static final String GESTURE_CAMERA_NAME = "com.android.camera.CameraGestureActivity";
+ private static final String AUTO_TEST_INTENT ="com.android.camera.autotest";
+
/**
* Request code from an activity we started that indicated that we do not
* want to reset the view to the preview in onResume.
@@ -253,6 +255,8 @@ public class CameraActivity extends Activity
private boolean mDataRequested;
private Cursor mCursor;
+ private boolean mAutoTestEnabled = false;
+
private WakeLock mWakeLock;
private static final int REFOCUS_ACTIVITY_CODE = 1;
@@ -1394,6 +1398,24 @@ public class CameraActivity extends Activity
}
}
+ private BroadcastReceiver mAutoTestReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (intent.hasExtra("KEY") && intent.hasExtra("VALUE")) {
+ String key = intent.getExtras().getString("KEY");
+ String value = intent.getExtras().getString("VALUE");
+ if (mCurrentModule != null) {
+ mCurrentModule.setPreferenceForTest(key,value);
+ }
+ }
+ }
+ };
+
+ private void registerAutoTestReceiver() {
+ IntentFilter filter = new IntentFilter(AUTO_TEST_INTENT);
+ registerReceiver(mAutoTestReceiver, filter);
+ }
+
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
@@ -1451,11 +1473,11 @@ public class CameraActivity extends Activity
moduleIndex = ModuleSwitcher.VIDEO_MODULE_INDEX;
} else if (MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA.equals(getIntent().getAction())
|| MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.equals(getIntent()
- .getAction())) {
+ .getAction())) {
moduleIndex = ModuleSwitcher.PHOTO_MODULE_INDEX;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (prefs.getInt(CameraSettings.KEY_STARTUP_MODULE_INDEX, -1)
- == ModuleSwitcher.GCAM_MODULE_INDEX && GcamHelper.hasGcamCapture()) {
+ == ModuleSwitcher.GCAM_MODULE_INDEX && GcamHelper.hasGcamCapture()) {
moduleIndex = ModuleSwitcher.GCAM_MODULE_INDEX;
}
} else if (MediaStore.ACTION_IMAGE_CAPTURE.equals(getIntent().getAction())
@@ -1582,6 +1604,11 @@ public class CameraActivity extends Activity
SETTING_LIST_WIDTH_1 = lower / 2 + offset;
SETTING_LIST_WIDTH_2 = lower / 2 - offset;
registerSDcardMountedReceiver();
+ mAutoTestEnabled = SystemProperties.getBoolean("camera.ui.auto_test", false);
+
+ if (mAutoTestEnabled) {
+ registerAutoTestReceiver();
+ }
}
private void setRotationAnimation() {
@@ -1787,6 +1814,9 @@ public class CameraActivity extends Activity
mCursor.close();
mCursor=null;
}
+ if (mAutoTestEnabled) {
+ unregisterReceiver(mAutoTestReceiver);
+ }
super.onDestroy();
}
diff --git a/src/com/android/camera/CameraModule.java b/src/com/android/camera/CameraModule.java
index 9de16746d..bc44425d1 100644
--- a/src/com/android/camera/CameraModule.java
+++ b/src/com/android/camera/CameraModule.java
@@ -74,4 +74,6 @@ public interface CameraModule {
public void waitingLocationPermissionResult(boolean waiting);
public void enableRecordingLocation(boolean enable);
+
+ public void setPreferenceForTest(String key, String value);
}
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 8c4ae8885..c39b0c131 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -2130,6 +2130,11 @@ public class CaptureModule implements CameraModule, PhotoController,
}
@Override
+ public void setPreferenceForTest(String key, String value) {
+ mSettingsManager.setValue(key, value);
+ }
+
+ @Override
public void onPreviewUIReady() {
if (mPaused || mIsRecordingVideo) {
return;
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 279c903d4..0616023c0 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -661,6 +661,12 @@ public class PhotoModule
}
@Override
+ public void setPreferenceForTest(String key, String value) {
+ mUI.setPreference(key, value);
+ onSharedPreferenceChanged();
+ }
+
+ @Override
public void onPreviewUIReady() {
if (mPaused || mCameraDevice == null) {
return;
@@ -4925,7 +4931,7 @@ public class PhotoModule
public void onErrorListener(int error) {
enableRecordingLocation(false);
}
-
+
}
/* Below is no longer needed, except to get rid of compile error
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index c8f3f8c7b..e2057660c 100644
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -428,8 +428,10 @@ public class SettingsManager implements ListMenu.SettingsListener {
public void setValue(String key, String value) {
ListPreference pref = mPreferenceGroup.findPreference(key);
- pref.setValue(value);
- updateMapAndNotify(pref);
+ if (pref != null) {
+ pref.setValue(value);
+ updateMapAndNotify(pref);
+ }
}
public void setValueIndex(String key, int index) {
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index b0699bb08..40931ed37 100755..100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -553,6 +553,12 @@ public class VideoModule implements CameraModule,
mLocationManager.recordLocation(enable);
}
+ @Override
+ public void setPreferenceForTest(String key, String value) {
+ mUI.setPreference(key, value);
+ onSharedPreferenceChanged();
+ }
+
// SingleTapListener
// Preview area is touched. Take a picture.
@Override
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java
index 8d7243c5c..7a3b114d1 100644
--- a/src/com/android/camera/WideAnglePanoramaModule.java
+++ b/src/com/android/camera/WideAnglePanoramaModule.java
@@ -918,6 +918,11 @@ public class WideAnglePanoramaModule
}
@Override
+ public void setPreferenceForTest(String key, String value) {
+
+ }
+
+ @Override
public void onPauseBeforeSuper() {
mPaused = true;
if (mLocationManager != null) mLocationManager.recordLocation(false);