diff options
author | Chih-Chung Chang <chihchung@google.com> | 2012-03-08 20:10:53 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2012-03-08 20:10:53 +0800 |
commit | 63764789fdef4dfcdb3c0e1a9fa46b5d62312f07 (patch) | |
tree | 74dd5d9d768833510460e8f0d13fc4336fbc7ebe | |
parent | 8b266743b1f4c6e6b5169a5027facf8a9d648198 (diff) | |
download | android_packages_apps_Gallery2-63764789fdef4dfcdb3c0e1a9fa46b5d62312f07.tar.gz android_packages_apps_Gallery2-63764789fdef4dfcdb3c0e1a9fa46b5d62312f07.tar.bz2 android_packages_apps_Gallery2-63764789fdef4dfcdb3c0e1a9fa46b5d62312f07.zip |
Merge Camera into Gallery package.
Change-Id: If66d4b841eec3d3f5384a561b07c0eeade92597a
-rw-r--r-- | Android.mk | 18 | ||||
-rw-r--r-- | AndroidManifest.xml | 74 | ||||
-rw-r--r-- | CleanSpec.mk | 53 | ||||
-rw-r--r-- | proguard.flags | 24 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/GalleryAppImpl.java | 1 |
5 files changed, 162 insertions, 8 deletions
diff --git a/Android.mk b/Android.mk index 0f5170f64..6584c4a3f 100644 --- a/Android.mk +++ b/Android.mk @@ -8,17 +8,29 @@ LOCAL_STATIC_JAVA_LIBRARIES += com.android.gallery3d.common2 LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_SRC_FILES += $(call all-java-files-under, src_pd) +LOCAL_SRC_FILES += $(call all-java-files-under, ../Camera/src) + +LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res packages/apps/Camera/res +LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.android.camera LOCAL_PACKAGE_NAME := Gallery2 LOCAL_OVERRIDES_PACKAGES := Gallery Gallery3D GalleryNew3D -# We mark this out until Mtp and MediaMetadataRetriever is unhidden. -LOCAL_SDK_VERSION := current +#LOCAL_SDK_VERSION := current + +LOCAL_JNI_SHARED_LIBRARIES := libjni_mosaic + +LOCAL_REQUIRED_MODULES := libjni_mosaic LOCAL_PROGUARD_FLAG_FILES := proguard.flags include $(BUILD_PACKAGE) -# Use the following include to make our test apk. +ifeq ($(strip $(LOCAL_PACKAGE_OVERRIDES)),) +# Use the following include to make gallery test apk. include $(call all-makefiles-under,$(LOCAL_PATH)) + +# Use the following include to make camera test apk. +include $(call all-makefiles-under, ../Camera) +endif diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1477cf39f..2f2436d0c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,26 +1,31 @@ <?xml version="1.0" encoding="utf-8"?> -<manifest android:versionCode="30682" - android:versionName="1.1.30682" +<manifest android:versionCode="40000" + android:versionName="1.1.40000" xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.gallery3d"> <original-package android:name="com.android.gallery3d" /> + <uses-sdk android:minSdkVersion="14" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> + <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> + <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> + <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.SET_WALLPAPER" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" @@ -28,7 +33,9 @@ <application android:icon="@mipmap/ic_launcher_gallery" android:label="@string/app_name" android:name="com.android.gallery3d.app.GalleryAppImpl" - android:theme="@style/Theme.Gallery"> + android:theme="@style/Theme.Gallery" + android:hardwareAccelerated="true"> + <uses-library android:name="com.google.android.media.effects" android:required="false" /> <activity android:name="com.android.gallery3d.app.MovieActivity" android:label="@string/movie_view_label" android:theme="@style/Theme.MovieActivity" @@ -240,8 +247,60 @@ android:theme="@style/DialogPickerTheme"/> <activity android:name="com.android.gallery3d.gadget.WidgetTypeChooser" android:configChanges="keyboardHidden|orientation|screenSize" - android:theme="@style/DialogPickerTheme"/> + android:theme="@android:style/Theme.Holo.Dialog"/> + <activity android:name="com.android.camera.Camera" + android:label="@string/camera_label" + android:theme="@style/ThemeCamera" + android:icon="@mipmap/ic_launcher_camera" + android:configChanges="orientation|screenSize|keyboardHidden" + android:clearTaskOnLaunch="true" + android:screenOrientation="behind" + android:windowSoftInputMode="stateAlwaysHidden|adjustPan"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + <intent-filter> + <action android:name="android.media.action.IMAGE_CAPTURE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + <intent-filter> + <action android:name="android.media.action.STILL_IMAGE_CAMERA" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name="com.android.camera.VideoCamera" + android:label="@string/video_camera_label" + android:theme="@style/ThemeCamera" + android:configChanges="orientation|screenSize|keyboardHidden" + android:icon="@mipmap/ic_launcher_video_camera" + android:clearTaskOnLaunch="true" + android:screenOrientation="behind" + android:windowSoftInputMode="stateAlwaysHidden|adjustPan"> + <intent-filter> + <action android:name="android.media.action.VIDEO_CAMERA" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + <intent-filter> + <action android:name="android.media.action.VIDEO_CAPTURE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <!-- Suppose users enter panorama from launcher, turn off the screen, + turn on the screen, and enter the camera from the lock screen. + They can switch to panorama from there. Use singleTask so there + will be only one panorama activity. --> + <activity android:name="com.android.camera.panorama.PanoramaActivity" + android:label="@string/pano_dialog_title" + android:theme="@style/ThemeCamera" + android:configChanges="orientation|screenSize|keyboardHidden" + android:clearTaskOnLaunch="true" + android:screenOrientation="behind" + android:windowSoftInputMode="stateAlwaysHidden|adjustPan" + android:launchMode="singleTask"> + </activity> <receiver android:name="com.android.gallery3d.gadget.PhotoAppWidgetProvider" android:label="@string/appwidget_title"> <intent-filter> @@ -258,6 +317,11 @@ <data android:scheme="package"/> </intent-filter> </receiver> + <receiver android:name="com.android.camera.CameraButtonIntentReceiver"> + <intent-filter> + <action android:name="android.intent.action.CAMERA_BUTTON"/> + </intent-filter> + </receiver> <service android:name="com.android.gallery3d.gadget.WidgetService" android:permission="android.permission.BIND_REMOTEVIEWS"/> <activity android:name="com.android.gallery3d.gadget.WidgetConfigure" diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 000000000..cc930a144 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,53 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/Camera*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Camera*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/Gallery*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Gallery*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ diff --git a/proguard.flags b/proguard.flags index a8cb36369..82509333c 100644 --- a/proguard.flags +++ b/proguard.flags @@ -8,3 +8,27 @@ -keep class * extends com.android.gallery3d.common.Entry { @com.android.gallery3d.common.Entry$Column <fields>; } + +# ctors of subclasses of CameraPreference are called with Java reflection. +-keep class * extends com.android.camera.CameraPreference { + <init>(...); +} + +-keep class com.android.camera.ActivityBase { + public int getResultCode(); + public android.content.Intent getResultData(); +} + +-keep class com.android.camera.VideoCamera { + public boolean isRecording(); + public void onCancelBgTraining(...); + public void onProtectiveCurtainClick(...); +} + +-keep class * extends android.app.Activity { + @com.android.camera.OnClickAttr <methods>; +} + +-keep class com.android.camera.CameraHolder { + public static void injectMockCamera(...); +} diff --git a/src/com/android/gallery3d/app/GalleryAppImpl.java b/src/com/android/gallery3d/app/GalleryAppImpl.java index 8d25ebf7e..956ab63bf 100644 --- a/src/com/android/gallery3d/app/GalleryAppImpl.java +++ b/src/com/android/gallery3d/app/GalleryAppImpl.java @@ -42,6 +42,7 @@ public class GalleryAppImpl extends Application implements GalleryApp { @Override public void onCreate() { super.onCreate(); + com.android.camera.Util.initialize(this); GalleryUtils.initialize(this); WidgetUtils.initialize(this); PicasaSource.initialize(this); |