From c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Thu, 19 Mar 2009 23:08:54 -0700 Subject: [PATCH] auto import from //branches/cupcake_rel/...@141571 --- api/3.xml | 6 +- api/current.xml | 337 ++++++- camera/libcameraservice/Android.mk | 3 +- camera/libcameraservice/CameraService.cpp | 30 + camera/libcameraservice/CameraService.h | 5 + core/java/android/app/ActivityThread.java | 7 +- core/java/android/app/ApplicationContext.java | 6 +- core/java/android/app/DatePickerDialog.java | 8 +- .../java/android/content/ContentProvider.java | 3 +- core/java/android/content/Intent.java | 23 +- .../net/http/CertificateChainValidator.java | 23 +- .../android/net/http/HttpsConnection.java | 179 ++-- core/java/android/os/BatteryStats.java | 21 +- core/java/android/os/LocalPowerManager.java | 8 +- core/java/android/provider/Checkin.java | 37 + .../server/BluetoothDeviceService.java | 3 +- .../android/server/BluetoothEventLoop.java | 2 +- core/java/android/text/Html.java | 14 +- .../text/method/ArrowKeyMovementMethod.java | 32 + core/java/android/text/method/Touch.java | 22 +- .../view/inputmethod/BaseInputConnection.java | 13 +- .../inputmethod/InputConnectionWrapper.java | 16 +- .../view/inputmethod/InputMethodManager.java | 2 +- core/java/android/webkit/ContentLoader.java | 3 + core/java/android/widget/AbsListView.java | 59 +- core/java/android/widget/CursorAdapter.java | 6 +- core/java/android/widget/FrameLayout.java | 4 +- core/java/android/widget/ListView.java | 30 +- core/java/android/widget/TextView.java | 58 +- .../android/internal/app/IBatteryStats.aidl | 2 + .../android/internal/database/SortCursor.java | 10 +- .../internal/logging/AndroidHandler.java | 16 +- .../android/internal/os/BatteryStatsImpl.java | 34 +- .../internal/widget/EditStyledText.java | 896 +++++++++++++----- .../widget/EditableInputConnection.java | 2 +- .../gdata/client/AndroidGDataClient.java | 20 +- core/jni/android_media_JetPlayer.cpp | 3 +- core/res/AndroidManifest.xml | 6 +- core/res/assets/images/android-logo-mask.png | Bin 0 -> 5306 bytes core/res/assets/images/android-logo-shine.png | Bin 0 -> 641 bytes core/res/assets/images/android_320x480.png | Bin 3098 -> 0 bytes core/res/assets/images/boot_robot.png | Bin 1001 -> 0 bytes core/res/assets/images/boot_robot_glow.png | Bin 2083 -> 0 bytes core/res/assets/images/cylon_dot.png | Bin 748 -> 0 bytes core/res/assets/images/cylon_left.png | Bin 1283 -> 0 bytes core/res/assets/images/cylon_right.png | Bin 1259 -> 0 bytes ..._square_browser_zoom_fit_page_disabled.png | Bin 291 -> 456 bytes ...tn_square_browser_zoom_fit_page_normal.png | Bin 439 -> 820 bytes core/res/res/drawable/ic_emergency.png | Bin 653 -> 605 bytes .../drawable/timepicker_down_disabled.9.png | Bin 444 -> 422 bytes .../timepicker_down_disabled_focused.9.png | Bin 611 -> 580 bytes .../res/drawable/timepicker_down_normal.9.png | Bin 806 -> 795 bytes .../drawable/timepicker_down_pressed.9.png | Bin 1257 -> 1161 bytes .../drawable/timepicker_down_selected.9.png | Bin 1292 -> 1170 bytes .../res/drawable/timepicker_up_disabled.9.png | Bin 512 -> 491 bytes .../timepicker_up_disabled_focused.9.png | Bin 724 -> 728 bytes .../res/drawable/timepicker_up_normal.9.png | Bin 1058 -> 989 bytes .../res/drawable/timepicker_up_pressed.9.png | Bin 1500 -> 1433 bytes .../res/drawable/timepicker_up_selected.9.png | Bin 1519 -> 1428 bytes core/res/res/layout/always_use_checkbox.xml | 3 +- .../layout/keyguard_screen_glogin_unlock.xml | 2 +- core/res/res/layout/keyguard_screen_lock.xml | 2 +- .../keyguard_screen_sim_pin_landscape.xml | 11 +- .../keyguard_screen_sim_pin_portrait.xml | 3 +- .../keyguard_screen_unlock_landscape.xml | 4 +- .../keyguard_screen_unlock_portrait.xml | 4 +- core/res/res/layout/time_picker.xml | 4 +- core/res/res/values-ar-rEG/arrays.xml | 32 + core/res/res/values-ar-rIL/arrays.xml | 32 + core/res/res/values-bg-rBG/arrays.xml | 32 + core/res/res/values-ca-rES/arrays.xml | 32 + core/res/res/values-cs-rCZ/arrays.xml | 32 + core/res/res/values-da-rDK/arrays.xml | 32 + core/res/res/values-de-rAT/arrays.xml | 32 + core/res/res/values-de-rCH/arrays.xml | 32 + core/res/res/values-de-rDE/arrays.xml | 32 + core/res/res/values-de-rLI/arrays.xml | 32 + core/res/res/values-el-rGR/arrays.xml | 32 + core/res/res/values-en-rCA/arrays.xml | 32 + core/res/res/values-en-rIN/arrays.xml | 32 + core/res/res/values-en-rNZ/arrays.xml | 32 + core/res/res/values-es/strings.xml | 1 + core/res/res/values-fi-rFI/arrays.xml | 32 + core/res/res/values-fr-rBE/arrays.xml | 32 + core/res/res/values-fr-rCA/arrays.xml | 32 + core/res/res/values-fr-rCH/arrays.xml | 32 + core/res/res/values-he-rIL/arrays.xml | 32 + core/res/res/values-hi-rIN/arrays.xml | 32 + core/res/res/values-hu-rHU/arrays.xml | 32 + core/res/res/values-id-rID/arrays.xml | 32 + core/res/res/values-it-rCH/arrays.xml | 32 + core/res/res/values-ja/strings.xml | 23 +- core/res/res/values-ko-rKR/arrays.xml | 32 + core/res/res/values-lt-rLT/arrays.xml | 32 + core/res/res/values-lv-rLV/arrays.xml | 32 + core/res/res/values-nl-rBE/arrays.xml | 32 + core/res/res/values-nl-rNL/arrays.xml | 32 + core/res/res/values-no-rNO/arrays.xml | 32 + core/res/res/values-pl-rPL/arrays.xml | 32 + core/res/res/values-pt-rBR/arrays.xml | 32 + core/res/res/values-pt-rPT/arrays.xml | 32 + core/res/res/values-ro-rRO/arrays.xml | 32 + core/res/res/values-ru-rRU/arrays.xml | 32 + core/res/res/values-sk-rSK/arrays.xml | 32 + core/res/res/values-sl-rSI/arrays.xml | 32 + core/res/res/values-sr-rRS/arrays.xml | 32 + core/res/res/values-sv-rSE/arrays.xml | 32 + core/res/res/values-th-rTH/arrays.xml | 32 + core/res/res/values-tl-rPH/arrays.xml | 32 + core/res/res/values-tr-rTR/arrays.xml | 32 + core/res/res/values-uk-rUA/arrays.xml | 32 + core/res/res/values-vi-rVN/arrays.xml | 32 + core/res/res/values-zh-rCN/arrays.xml | 32 + core/res/res/values-zh-rTW/arrays.xml | 32 + core/res/res/values/public.xml | 2 + core/res/res/values/strings.xml | 10 + core/res/res/values/themes.xml | 44 +- data/fonts/DroidSansJapanese.ttf | Bin 0 -> 1174432 bytes data/sounds/AudioPackage2.mk | 92 ++ data/sounds/OriginalAudio.mk | 2 + data/sounds/effects/VideoRecord.ogg | Bin 0 -> 14969 bytes data/sounds/effects/VideoRecord.wav | Bin 0 -> 152342 bytes data/sounds/effects/camera_click.ogg | Bin 0 -> 5593 bytes data/sounds/newwavelabs/Big_Easy.ogg | Bin 0 -> 46673 bytes data/sounds/newwavelabs/Big_Easy.wav | Bin 0 -> 846768 bytes data/sounds/newwavelabs/Bollywood.ogg | Bin 0 -> 39174 bytes data/sounds/newwavelabs/Bollywood.wav | Bin 0 -> 742784 bytes data/sounds/newwavelabs/Cairo.ogg | Bin 0 -> 37672 bytes data/sounds/newwavelabs/Cairo.wav | Bin 0 -> 736324 bytes data/sounds/newwavelabs/Calypso_Steel.ogg | Bin 0 -> 38875 bytes data/sounds/newwavelabs/Calypso_Steel.wav | Bin 0 -> 705644 bytes data/sounds/newwavelabs/Champagne_Edition.ogg | Bin 0 -> 39921 bytes data/sounds/newwavelabs/Champagne_Edition.wav | Bin 0 -> 769792 bytes data/sounds/newwavelabs/Club_Cubano.ogg | Bin 0 -> 37179 bytes data/sounds/newwavelabs/Club_Cubano.wav | Bin 0 -> 705620 bytes data/sounds/newwavelabs/Eastern_Sky.ogg | Bin 0 -> 50578 bytes data/sounds/newwavelabs/Eastern_Sky.wav | Bin 0 -> 940844 bytes data/sounds/newwavelabs/Funk_Yall.ogg | Bin 0 -> 39738 bytes data/sounds/newwavelabs/Funk_Yall.wav | Bin 0 -> 723740 bytes data/sounds/newwavelabs/Gimme_Mo_Town.ogg | Bin 0 -> 38688 bytes data/sounds/newwavelabs/Gimme_Mo_Town.wav | Bin 0 -> 705644 bytes data/sounds/newwavelabs/Glacial_Groove.ogg | Bin 0 -> 54923 bytes data/sounds/newwavelabs/Glacial_Groove.wav | Bin 0 -> 898884 bytes data/sounds/newwavelabs/No_Limits.ogg | Bin 0 -> 32933 bytes data/sounds/newwavelabs/No_Limits.wav | Bin 0 -> 631928 bytes data/sounds/newwavelabs/Paradise_Island.ogg | Bin 0 -> 39199 bytes data/sounds/newwavelabs/Paradise_Island.wav | Bin 0 -> 729976 bytes data/sounds/newwavelabs/Revelation.ogg | Bin 0 -> 52536 bytes data/sounds/newwavelabs/Revelation.wav | Bin 0 -> 1048480 bytes data/sounds/newwavelabs/Road_Trip.ogg | Bin 0 -> 49108 bytes data/sounds/newwavelabs/Road_Trip.wav | Bin 0 -> 967732 bytes data/sounds/newwavelabs/Savannah.ogg | Bin 0 -> 39138 bytes data/sounds/newwavelabs/Savannah.wav | Bin 0 -> 705644 bytes data/sounds/newwavelabs/Seville.ogg | Bin 0 -> 44422 bytes data/sounds/newwavelabs/Seville.wav | Bin 0 -> 846768 bytes data/sounds/newwavelabs/Shes_All_That.ogg | Bin 0 -> 39413 bytes data/sounds/newwavelabs/Shes_All_That.wav | Bin 0 -> 736324 bytes data/sounds/newwavelabs/Steppin_Out.ogg | Bin 0 -> 37847 bytes data/sounds/newwavelabs/Steppin_Out.wav | Bin 0 -> 705620 bytes data/sounds/newwavelabs/Third_Eye.ogg | Bin 0 -> 36539 bytes data/sounds/newwavelabs/Third_Eye.wav | Bin 0 -> 705644 bytes data/sounds/newwavelabs/Thunderfoot.ogg | Bin 0 -> 46049 bytes data/sounds/newwavelabs/Thunderfoot.wav | Bin 0 -> 846768 bytes .../html/guide/topics/graphics/2d-graphics.jd | 5 +- docs/html/sdk/1.5_r1/index.jd | 62 ++ docs/html/sdk/1.5_r1/installing.jd | 312 ++++++ docs/html/sdk/1.5_r1/requirements.jd | 42 + docs/html/sdk/1.5_r1/upgrading.jd | 150 +++ docs/html/sdk/android-1.5.jd | 248 +++++ docs/html/sdk/sdk_toc.cs | 3 +- include/media/AudioRecord.h | 1 + include/media/AudioTrack.h | 1 + include/media/mediaplayer.h | 1 + libs/surfaceflinger/BootAnimation.cpp | 199 +--- libs/surfaceflinger/BootAnimation.h | 10 +- libs/surfaceflinger/LayerOrientationAnim.cpp | 185 ++-- libs/surfaceflinger/LayerOrientationAnim.h | 3 +- libs/surfaceflinger/SurfaceFlinger.cpp | 3 +- libs/surfaceflinger/SurfaceFlinger.h | 2 + libs/surfaceflinger/Transform.cpp | 19 + libs/surfaceflinger/Transform.h | 4 +- media/java/android/media/AudioRecord.java | 165 ++-- media/java/android/media/AudioService.java | 87 +- media/java/android/media/AudioTrack.java | 2 - media/java/android/media/MediaPlayer.java | 12 +- media/jni/soundpool/NOTICE | 190 ++++ media/libmedia/AudioRecord.cpp | 9 +- media/libmedia/AudioTrack.cpp | 15 +- media/libmedia/JetPlayer.cpp | 2 +- media/libmedia/mediaplayer.cpp | 28 +- preloaded-classes | 389 ++++++-- .../com/android/server/HardwareService.java | 47 +- .../server/NotificationManagerService.java | 1 + .../android/server/PackageManagerService.java | 28 +- .../android/server/PowerManagerService.java | 259 +++-- .../java/com/android/server/WifiService.java | 30 +- .../android/server/WindowManagerService.java | 8 +- .../server/am/ActivityManagerService.java | 13 +- .../server/am/BatteryStatsService.java | 16 +- .../com/android/server/status/DateView.java | 4 +- .../internal/telephony/gsm/ApnSetting.java | 8 +- .../telephony/gsm/DataConnectionTracker.java | 87 ++ .../android/internal/telephony/gsm/RIL.java | 4 +- .../com/android/statusbartest/PowerTest.java | 24 +- .../android/net/wifi/WifiStateTracker.java | 26 +- 205 files changed, 5159 insertions(+), 1141 deletions(-) create mode 100644 core/res/assets/images/android-logo-mask.png create mode 100644 core/res/assets/images/android-logo-shine.png delete mode 100644 core/res/assets/images/android_320x480.png delete mode 100644 core/res/assets/images/boot_robot.png delete mode 100644 core/res/assets/images/boot_robot_glow.png delete mode 100644 core/res/assets/images/cylon_dot.png delete mode 100644 core/res/assets/images/cylon_left.png delete mode 100644 core/res/assets/images/cylon_right.png create mode 100644 core/res/res/values-ar-rEG/arrays.xml create mode 100644 core/res/res/values-ar-rIL/arrays.xml create mode 100644 core/res/res/values-bg-rBG/arrays.xml create mode 100644 core/res/res/values-ca-rES/arrays.xml create mode 100644 core/res/res/values-cs-rCZ/arrays.xml create mode 100644 core/res/res/values-da-rDK/arrays.xml create mode 100644 core/res/res/values-de-rAT/arrays.xml create mode 100644 core/res/res/values-de-rCH/arrays.xml create mode 100644 core/res/res/values-de-rDE/arrays.xml create mode 100644 core/res/res/values-de-rLI/arrays.xml create mode 100644 core/res/res/values-el-rGR/arrays.xml create mode 100644 core/res/res/values-en-rCA/arrays.xml create mode 100644 core/res/res/values-en-rIN/arrays.xml create mode 100644 core/res/res/values-en-rNZ/arrays.xml create mode 100644 core/res/res/values-fi-rFI/arrays.xml create mode 100644 core/res/res/values-fr-rBE/arrays.xml create mode 100644 core/res/res/values-fr-rCA/arrays.xml create mode 100644 core/res/res/values-fr-rCH/arrays.xml create mode 100644 core/res/res/values-he-rIL/arrays.xml create mode 100644 core/res/res/values-hi-rIN/arrays.xml create mode 100644 core/res/res/values-hu-rHU/arrays.xml create mode 100644 core/res/res/values-id-rID/arrays.xml create mode 100644 core/res/res/values-it-rCH/arrays.xml create mode 100644 core/res/res/values-ko-rKR/arrays.xml create mode 100644 core/res/res/values-lt-rLT/arrays.xml create mode 100644 core/res/res/values-lv-rLV/arrays.xml create mode 100644 core/res/res/values-nl-rBE/arrays.xml create mode 100644 core/res/res/values-nl-rNL/arrays.xml create mode 100644 core/res/res/values-no-rNO/arrays.xml create mode 100644 core/res/res/values-pl-rPL/arrays.xml create mode 100644 core/res/res/values-pt-rBR/arrays.xml create mode 100644 core/res/res/values-pt-rPT/arrays.xml create mode 100644 core/res/res/values-ro-rRO/arrays.xml create mode 100644 core/res/res/values-ru-rRU/arrays.xml create mode 100644 core/res/res/values-sk-rSK/arrays.xml create mode 100644 core/res/res/values-sl-rSI/arrays.xml create mode 100644 core/res/res/values-sr-rRS/arrays.xml create mode 100644 core/res/res/values-sv-rSE/arrays.xml create mode 100644 core/res/res/values-th-rTH/arrays.xml create mode 100644 core/res/res/values-tl-rPH/arrays.xml create mode 100644 core/res/res/values-tr-rTR/arrays.xml create mode 100644 core/res/res/values-uk-rUA/arrays.xml create mode 100644 core/res/res/values-vi-rVN/arrays.xml create mode 100644 core/res/res/values-zh-rCN/arrays.xml create mode 100644 core/res/res/values-zh-rTW/arrays.xml create mode 100755 data/fonts/DroidSansJapanese.ttf create mode 100644 data/sounds/AudioPackage2.mk create mode 100644 data/sounds/effects/VideoRecord.ogg create mode 100644 data/sounds/effects/VideoRecord.wav create mode 100644 data/sounds/effects/camera_click.ogg create mode 100644 data/sounds/newwavelabs/Big_Easy.ogg create mode 100644 data/sounds/newwavelabs/Big_Easy.wav create mode 100644 data/sounds/newwavelabs/Bollywood.ogg create mode 100644 data/sounds/newwavelabs/Bollywood.wav create mode 100644 data/sounds/newwavelabs/Cairo.ogg create mode 100644 data/sounds/newwavelabs/Cairo.wav create mode 100644 data/sounds/newwavelabs/Calypso_Steel.ogg create mode 100644 data/sounds/newwavelabs/Calypso_Steel.wav create mode 100644 data/sounds/newwavelabs/Champagne_Edition.ogg create mode 100644 data/sounds/newwavelabs/Champagne_Edition.wav create mode 100644 data/sounds/newwavelabs/Club_Cubano.ogg create mode 100644 data/sounds/newwavelabs/Club_Cubano.wav create mode 100644 data/sounds/newwavelabs/Eastern_Sky.ogg create mode 100644 data/sounds/newwavelabs/Eastern_Sky.wav create mode 100644 data/sounds/newwavelabs/Funk_Yall.ogg create mode 100644 data/sounds/newwavelabs/Funk_Yall.wav create mode 100644 data/sounds/newwavelabs/Gimme_Mo_Town.ogg create mode 100644 data/sounds/newwavelabs/Gimme_Mo_Town.wav create mode 100644 data/sounds/newwavelabs/Glacial_Groove.ogg create mode 100644 data/sounds/newwavelabs/Glacial_Groove.wav create mode 100644 data/sounds/newwavelabs/No_Limits.ogg create mode 100644 data/sounds/newwavelabs/No_Limits.wav create mode 100644 data/sounds/newwavelabs/Paradise_Island.ogg create mode 100644 data/sounds/newwavelabs/Paradise_Island.wav create mode 100644 data/sounds/newwavelabs/Revelation.ogg create mode 100644 data/sounds/newwavelabs/Revelation.wav create mode 100644 data/sounds/newwavelabs/Road_Trip.ogg create mode 100644 data/sounds/newwavelabs/Road_Trip.wav create mode 100644 data/sounds/newwavelabs/Savannah.ogg create mode 100644 data/sounds/newwavelabs/Savannah.wav create mode 100644 data/sounds/newwavelabs/Seville.ogg create mode 100644 data/sounds/newwavelabs/Seville.wav create mode 100644 data/sounds/newwavelabs/Shes_All_That.ogg create mode 100644 data/sounds/newwavelabs/Shes_All_That.wav create mode 100644 data/sounds/newwavelabs/Steppin_Out.ogg create mode 100644 data/sounds/newwavelabs/Steppin_Out.wav create mode 100644 data/sounds/newwavelabs/Third_Eye.ogg create mode 100644 data/sounds/newwavelabs/Third_Eye.wav create mode 100644 data/sounds/newwavelabs/Thunderfoot.ogg create mode 100644 data/sounds/newwavelabs/Thunderfoot.wav create mode 100644 docs/html/sdk/1.5_r1/index.jd create mode 100644 docs/html/sdk/1.5_r1/installing.jd create mode 100644 docs/html/sdk/1.5_r1/requirements.jd create mode 100644 docs/html/sdk/1.5_r1/upgrading.jd create mode 100644 docs/html/sdk/android-1.5.jd create mode 100644 media/jni/soundpool/NOTICE diff --git a/api/3.xml b/api/3.xml index 512fef8b184f8..c75281319230e 100644 --- a/api/3.xml +++ b/api/3.xml @@ -125608,7 +125608,7 @@ native="false" synchronized="false" static="false" - final="true" + final="false" deprecated="not deprecated" visibility="public" > @@ -125652,7 +125652,7 @@ native="false" synchronized="false" static="false" - final="true" + final="false" deprecated="not deprecated" visibility="public" > @@ -125665,7 +125665,7 @@ native="false" synchronized="false" static="false" - final="true" + final="false" deprecated="not deprecated" visibility="public" > diff --git a/api/current.xml b/api/current.xml index c9ed3c42ddebc..2260abb5abab1 100644 --- a/api/current.xml +++ b/api/current.xml @@ -12120,6 +12120,17 @@ visibility="public" > + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + @@ -146440,7 +146688,7 @@ native="false" synchronized="false" static="false" - final="true" + final="false" deprecated="not deprecated" visibility="public" > @@ -146453,7 +146701,7 @@ native="false" synchronized="false" static="false" - final="true" + final="false" deprecated="not deprecated" visibility="public" > @@ -157332,6 +157580,17 @@ visibility="public" > + + #include +#include +#include #include "CameraService.h" namespace android { @@ -151,6 +153,19 @@ void CameraService::removeClient(const sp& cameraClient) } } +static sp newMediaPlayer(const char *file) +{ + sp mp = new MediaPlayer(); + if (mp->setDataSource(file) == NO_ERROR) { + mp->setAudioStreamType(AudioSystem::ALARM); + mp->prepare(); + } else { + mp.clear(); + LOGE("Failed to load CameraService sounds."); + } + return mp; +} + CameraService::Client::Client(const sp& cameraService, const sp& cameraClient, pid_t clientPid) { @@ -161,6 +176,9 @@ CameraService::Client::Client(const sp& cameraService, mHardware = openCameraHardware(); mUseOverlay = mHardware->useOverlay(); + mMediaPlayerClick = newMediaPlayer("/system/media/audio/ui/camera_click.ogg"); + mMediaPlayerBeep = newMediaPlayer("/system/media/audio/ui/VideoRecord.ogg"); + // Callback is disabled by default mPreviewCallbackFlag = FRAME_CALLBACK_FLAG_NOOP; LOGD("Client X constructor"); @@ -265,6 +283,9 @@ CameraService::Client::~Client() #endif } + mMediaPlayerBeep.clear(); + mMediaPlayerClick.clear(); + // make sure we tear down the hardware mClientPid = IPCThreadState::self()->getCallingPid(); disconnect(); @@ -464,6 +485,9 @@ status_t CameraService::Client::startPreview() status_t CameraService::Client::startRecording() { + if (mMediaPlayerBeep.get() != NULL) { + mMediaPlayerBeep->start(); + } return startCameraMode(CAMERA_RECORDING_MODE); } @@ -502,6 +526,9 @@ void CameraService::Client::stopRecording() return; } + if (mMediaPlayerBeep.get() != NULL) { + mMediaPlayerBeep->start(); + } mHardware->stopRecording(); LOGV("stopRecording(), hardware stopped OK"); mPreviewBuffer.clear(); @@ -684,6 +711,9 @@ status_t CameraService::Client::takePicture() return INVALID_OPERATION; } + if (mMediaPlayerClick.get() != NULL) { + mMediaPlayerClick->start(); + } return mHardware->takePicture(shutterCallback, yuvPictureCallback, jpegPictureCallback, diff --git a/camera/libcameraservice/CameraService.h b/camera/libcameraservice/CameraService.h index d9b79276a72a8..6752f265dabbf 100644 --- a/camera/libcameraservice/CameraService.h +++ b/camera/libcameraservice/CameraService.h @@ -27,6 +27,8 @@ class android::MemoryHeapBase; namespace android { +class MediaPlayer; + // ---------------------------------------------------------------------------- #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) @@ -178,6 +180,9 @@ private: sp mPreviewBuffer; int mPreviewCallbackFlag; + sp mMediaPlayerClick; + sp mMediaPlayerBeep; + // these are immutable once the object is created, // they don't need to be protected by a lock sp mCameraClient; diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index cb1e903d2bb3e..acf41eeb0f3be 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -114,6 +114,7 @@ public final class ActivityThread { private static final boolean DEBUG = false; private static final boolean localLOGV = DEBUG ? Config.LOGD : Config.LOGV; private static final boolean DEBUG_BROADCAST = false; + private static final boolean DEBUG_RESULTS = false; private static final long MIN_TIME_BETWEEN_GCS = 5*1000; private static final Pattern PATTERN_SEMICOLON = Pattern.compile(";"); private static final int SQLITE_MEM_RELEASED_EVENT_LOG_TAG = 75003; @@ -2118,6 +2119,8 @@ public final class ActivityThread { public final void sendActivityResult( IBinder token, String id, int requestCode, int resultCode, Intent data) { + if (DEBUG_RESULTS) Log.v(TAG, "sendActivityResult: id=" + id + + " req=" + requestCode + " res=" + resultCode + " data=" + data); ArrayList list = new ArrayList(); list.add(new ResultInfo(id, requestCode, resultCode, data)); mAppThread.scheduleSendResult(token, list); @@ -2993,6 +2996,8 @@ public final class ActivityThread { if (ri.mData != null) { ri.mData.setExtrasClassLoader(r.activity.getClassLoader()); } + if (DEBUG_RESULTS) Log.v(TAG, + "Delivering result to activity " + r + " : " + ri); r.activity.dispatchActivityResult(ri.mResultWho, ri.mRequestCode, ri.mResultCode, ri.mData); } catch (Exception e) { @@ -3008,7 +3013,7 @@ public final class ActivityThread { private final void handleSendResult(ResultData res) { ActivityRecord r = mActivities.get(res.token); - if (localLOGV) Log.v(TAG, "Handling send result to " + r); + if (DEBUG_RESULTS) Log.v(TAG, "Handling send result to " + r); if (r != null) { final boolean resumed = !r.paused; if (!r.activity.mFinished && r.activity.mDecor != null diff --git a/core/java/android/app/ApplicationContext.java b/core/java/android/app/ApplicationContext.java index ecef38f4378e4..55fce4932e6de 100644 --- a/core/java/android/app/ApplicationContext.java +++ b/core/java/android/app/ApplicationContext.java @@ -2723,10 +2723,8 @@ class ApplicationContext extends Context { mTimestamp = mFileStatus.mtime; } - // Writing was successful, delete the backup file - if (!mBackupFile.delete()) { - Log.e(TAG, "Couldn't delete new backup file " + mBackupFile); - } + // Writing was successful, delete the backup file if there is one. + mBackupFile.delete(); return true; } catch (XmlPullParserException e) { Log.w(TAG, "writeFileLocked: Got exception:", e); diff --git a/core/java/android/app/DatePickerDialog.java b/core/java/android/app/DatePickerDialog.java index ee5e0d5b577ca..863cbcc4d1130 100644 --- a/core/java/android/app/DatePickerDialog.java +++ b/core/java/android/app/DatePickerDialog.java @@ -47,6 +47,7 @@ public class DatePickerDialog extends AlertDialog implements OnClickListener, private final OnDateSetListener mCallBack; private final Calendar mCalendar; private final java.text.DateFormat mDateFormat; + private final java.text.DateFormat mTitleDateFormat; private final String[] mWeekDays; private int mInitialYear; @@ -108,6 +109,8 @@ public class DatePickerDialog extends AlertDialog implements OnClickListener, mWeekDays = symbols.getShortWeekdays(); mDateFormat = DateFormat.getMediumDateFormat(context); + mTitleDateFormat = java.text.DateFormat. + getDateInstance(java.text.DateFormat.FULL); mCalendar = Calendar.getInstance(); updateTitle(mInitialYear, mInitialMonth, mInitialDay); @@ -126,7 +129,7 @@ public class DatePickerDialog extends AlertDialog implements OnClickListener, @Override public void show() { super.show(); - + /* Sometimes the full month is displayed causing the title * to be very long, in those cases ensure it doesn't wrap to * 2 lines (as that looks jumpy) and ensure we ellipsize the end. @@ -160,8 +163,7 @@ public class DatePickerDialog extends AlertDialog implements OnClickListener, mCalendar.set(Calendar.YEAR, year); mCalendar.set(Calendar.MONTH, month); mCalendar.set(Calendar.DAY_OF_MONTH, day); - String weekday = mWeekDays[mCalendar.get(Calendar.DAY_OF_WEEK)]; - setTitle(weekday + ", " + mDateFormat.format(mCalendar.getTime())); + setTitle(mTitleDateFormat.format(mCalendar.getTime())); } @Override diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java index 25544deac10d1..5cc5730c098f3 100644 --- a/core/java/android/content/ContentProvider.java +++ b/core/java/android/content/ContentProvider.java @@ -172,7 +172,8 @@ public abstract class ContentProvider implements ComponentCallbacks { public ISyncAdapter getSyncAdapter() { checkWritePermission(null); - return ContentProvider.this.getSyncAdapter().getISyncAdapter(); + SyncAdapter sa = ContentProvider.this.getSyncAdapter(); + return sa != null ? sa.getISyncAdapter() : null; } private void checkReadPermission(Uri uri) { diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 306c02eca3d82..c514df754cef7 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1125,7 +1125,8 @@ public class Intent implements Parcelable { public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL"; /** * Broadcast Action: A new application package has been installed on the - * device. The data contains the name of the package. + * device. The data contains the name of the package. Note that the + * newly installed package does not receive this broadcast. *

My include the following extras: *