From 576cc365cd2f1749b58fac00e88362e01ef0d530 Mon Sep 17 00:00:00 2001 From: Trevor Johns Date: Thu, 28 May 2015 11:15:29 -0700 Subject: [PATCH] Update sample prebuilts for lmp-mr1-ub-docs (DO NOT MERGE) Also added Camera2Raw to sdk.atree. These changes have already been made downstream in mnc-dev, but that sample was cherry-picked backwards. Synced to /developers/samples/android commit 9d37fdb04df6b3cb0d9894874394576c181221ab. Change-Id: I1cda73889b043e40654323eb3b9c723cfb148185 --- build/sdk.atree | 1 + .../MainActivity.java | 1 - .../AdvertiserFragment.java | 16 + .../Constants.java | 16 + .../MainActivity.java | 28 +- .../ScanResultAdapter.java | 16 + .../ScannerFragment.java | 16 + .../browseable/Camera2Raw/AndroidManifest.xml | 46 + samples/browseable/Camera2Raw/_index.jd | 11 + .../res/drawable-hdpi/ic_action_info.png | Bin 0 -> 1025 bytes .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 3400 bytes .../Camera2Raw/res/drawable-hdpi/tile.9.png | Bin 0 -> 196 bytes .../res/drawable-mdpi/ic_action_info.png | Bin 0 -> 665 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 2135 bytes .../res/drawable-xhdpi/ic_action_info.png | Bin 0 -> 1355 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 4393 bytes .../res/drawable-xxhdpi/ic_action_info.png | Bin 0 -> 2265 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 7072 bytes .../layout-land/fragment_camera2_basic.xml | 59 + .../Camera2Raw/res/layout/activity_camera.xml | 22 + .../res/layout/fragment_camera2_basic.xml | 54 + .../res/values-sw600dp/template-dimens.xml | 24 + .../res/values-sw600dp/template-styles.xml | 25 + .../res/values-v11/template-styles.xml | 22 + .../Camera2Raw/res/values-v21/base-colors.xml | 21 + .../res/values-v21/base-template-styles.xml | 24 + .../Camera2Raw/res/values/base-strings.xml | 30 + .../Camera2Raw/res/values/strings.xml | 19 + .../Camera2Raw/res/values/styles.xml | 18 + .../Camera2Raw/res/values/template-dimens.xml | 32 + .../Camera2Raw/res/values/template-styles.xml | 42 + .../AutoFitTextureView.java | 79 + .../Camera2RawFragment.java | 1674 +++++++++++++++++ .../CameraActivity.java | 38 + 34 files changed, 2319 insertions(+), 15 deletions(-) create mode 100644 samples/browseable/Camera2Raw/AndroidManifest.xml create mode 100644 samples/browseable/Camera2Raw/_index.jd create mode 100644 samples/browseable/Camera2Raw/res/drawable-hdpi/ic_action_info.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-hdpi/ic_launcher.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-hdpi/tile.9.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-mdpi/ic_action_info.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-mdpi/ic_launcher.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_action_info.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_launcher.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-xxhdpi/ic_action_info.png create mode 100644 samples/browseable/Camera2Raw/res/drawable-xxhdpi/ic_launcher.png create mode 100644 samples/browseable/Camera2Raw/res/layout-land/fragment_camera2_basic.xml create mode 100644 samples/browseable/Camera2Raw/res/layout/activity_camera.xml create mode 100644 samples/browseable/Camera2Raw/res/layout/fragment_camera2_basic.xml create mode 100644 samples/browseable/Camera2Raw/res/values-sw600dp/template-dimens.xml create mode 100644 samples/browseable/Camera2Raw/res/values-sw600dp/template-styles.xml create mode 100644 samples/browseable/Camera2Raw/res/values-v11/template-styles.xml create mode 100644 samples/browseable/Camera2Raw/res/values-v21/base-colors.xml create mode 100644 samples/browseable/Camera2Raw/res/values-v21/base-template-styles.xml create mode 100644 samples/browseable/Camera2Raw/res/values/base-strings.xml create mode 100644 samples/browseable/Camera2Raw/res/values/strings.xml create mode 100644 samples/browseable/Camera2Raw/res/values/styles.xml create mode 100644 samples/browseable/Camera2Raw/res/values/template-dimens.xml create mode 100644 samples/browseable/Camera2Raw/res/values/template-styles.xml create mode 100644 samples/browseable/Camera2Raw/src/com.example.android.camera2raw/AutoFitTextureView.java create mode 100644 samples/browseable/Camera2Raw/src/com.example.android.camera2raw/Camera2RawFragment.java create mode 100644 samples/browseable/Camera2Raw/src/com.example.android.camera2raw/CameraActivity.java diff --git a/build/sdk.atree b/build/sdk.atree index 792e954ab..10272c6bf 100644 --- a/build/sdk.atree +++ b/build/sdk.atree @@ -313,6 +313,7 @@ developers/build/prebuilts/gradle/AppUsageStatistics sam developers/build/prebuilts/gradle/ScreenCapture samples/${PLATFORM_NAME}/media/ScreenCapture developers/build/prebuilts/gradle/NfcProvisioning samples/${PLATFORM_NAME}/nfc/NfcProvisioning developers/build/prebuilts/gradle/DeviceOwner samples/${PLATFORM_NAME}/admin/DeviceOwner +developers/build/prebuilts/gradle/Camera2Raw samples/${PLATFORM_NAME}/media/Camera2Raw developers/build/prebuilts/androidtv samples/${PLATFORM_NAME}/androidtv diff --git a/samples/browseable/AlwaysOn/src/com.example.android.wearable.wear.alwayson/MainActivity.java b/samples/browseable/AlwaysOn/src/com.example.android.wearable.wear.alwayson/MainActivity.java index 0eb7f470d..3673545e0 100644 --- a/samples/browseable/AlwaysOn/src/com.example.android.wearable.wear.alwayson/MainActivity.java +++ b/samples/browseable/AlwaysOn/src/com.example.android.wearable.wear.alwayson/MainActivity.java @@ -264,7 +264,6 @@ public class MainActivity extends WearableActivity { * Otherwise, it is easy for the AlarmManager launch intent to open a new activity * every time the Alarm is triggered rather than reusing this Activity. */ - mAmbientStateAlarmManager.cancel(mAmbientStatePendingIntent); mAmbientStateAlarmManager.setExact( AlarmManager.RTC_WAKEUP, triggerTimeMs, diff --git a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/AdvertiserFragment.java b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/AdvertiserFragment.java index f8daefb04..f3645fc29 100644 --- a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/AdvertiserFragment.java +++ b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/AdvertiserFragment.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2015 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. + */ + package com.example.android.bluetoothadvertisements; import android.bluetooth.BluetoothAdapter; diff --git a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/Constants.java b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/Constants.java index d3941e2ab..793ac9214 100644 --- a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/Constants.java +++ b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/Constants.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2015 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. + */ + package com.example.android.bluetoothadvertisements; import android.os.ParcelUuid; diff --git a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/MainActivity.java b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/MainActivity.java index f0044a3e8..871935d9d 100644 --- a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/MainActivity.java +++ b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/MainActivity.java @@ -1,18 +1,18 @@ /* -* Copyright 2013 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. -*/ + * Copyright (C) 2015 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. + */ package com.example.android.bluetoothadvertisements; diff --git a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScanResultAdapter.java b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScanResultAdapter.java index 0f905ea7a..f3c141d36 100644 --- a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScanResultAdapter.java +++ b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScanResultAdapter.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2015 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. + */ + package com.example.android.bluetoothadvertisements; import android.bluetooth.le.ScanResult; diff --git a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScannerFragment.java b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScannerFragment.java index b9ad4d966..ebb1ad085 100644 --- a/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScannerFragment.java +++ b/samples/browseable/BluetoothAdvertisements/src/com.example.android.bluetoothadvertisements/ScannerFragment.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2015 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. + */ + package com.example.android.bluetoothadvertisements; import android.bluetooth.BluetoothAdapter; diff --git a/samples/browseable/Camera2Raw/AndroidManifest.xml b/samples/browseable/Camera2Raw/AndroidManifest.xml new file mode 100644 index 000000000..f948c6af2 --- /dev/null +++ b/samples/browseable/Camera2Raw/AndroidManifest.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/browseable/Camera2Raw/_index.jd b/samples/browseable/Camera2Raw/_index.jd new file mode 100644 index 000000000..0ef2ae21d --- /dev/null +++ b/samples/browseable/Camera2Raw/_index.jd @@ -0,0 +1,11 @@ + +page.tags="Camera2Raw" +sample.group=Media +@jd:body + +

+ + This sample demonstrates how to use the Camera2 API to capture RAW + camera buffers and save them as DNG files. + +

diff --git a/samples/browseable/Camera2Raw/res/drawable-hdpi/ic_action_info.png b/samples/browseable/Camera2Raw/res/drawable-hdpi/ic_action_info.png new file mode 100644 index 0000000000000000000000000000000000000000..32bd1aabcabb85ded957230533c00e735183a323 GIT binary patch literal 1025 zcmV+c1pfPpP)UDI7BaW>`N=bRlk|E2%^dB8hrR55et*8d|IcHT75QTnx&CD( z0RP&9B@dK5;L-x65HcIEwzf8qPN%o}e7;SFVXWg@h5G(8m&<)+eJL+59~&4LNV_!r zJh>+x2#3Sl{CdQ#bT}>ywQR&8iWzy)M+Q2ECY~)rE;`M%!}m*2L~T%H1|=Rs$~z==CdX= z48rmho`|t8O+~w5HL)!Nz)I((+8|_dYHF%o7dC|2VU#(bK)xovUn~V!!l|;d@(MD7 z$QZ@DcdfYA5&%`_FTxPs#yu+u3*fUT6H!Ve0B~QYkR&!V=On%G_H8SD!V&>jgyx}+Knp;|1FUifM$%zBVA`u=>gGED zq&&B>W-!17-PoZ8pu*>pbXb_S!SK5k1xd4g)>g@d_8I_WOpy-#W+|Ck0J!uB4ECW!8~_iN3BVZu zM3MEDkbUMBz)2YFhG8#Z(6Jl<2)`3DFCpta03QGM0E#<=iav?WWt8LK<;7mY% z3dxyac6RorXJyoBBXbJC^F}6?buvmg1pu84baGnrW|R;B`7n}q8^hfEjBmA(6>OMO zoz?C*-2~m-v6H8ldj5Q=dS1|RS_C^d&`6ihclsRfvKD*(IM9&9?Zd;vNh?iLJ4%?D z6zE845IW5TKT_s_(B@n7HxeEl>YLS3QbfqjMBxtg3WS%}Dot{PRD74`S|#s^V!qg# zPm9H_7TGYtTG>~N=HxEg%iV=#PR0&OU=>NZ*?hgu`!uJkZ!7kC-AcVK)E--XpioM< v;adXW#(G}RmOS8v72WVCdBBbJyrBIJ%ovMLu~&(q00000NkvXXu0mjfpn%#$ literal 0 HcmV?d00001 diff --git a/samples/browseable/Camera2Raw/res/drawable-hdpi/ic_launcher.png b/samples/browseable/Camera2Raw/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bba1165cf95f9f170112e78cf26991d561aa0438 GIT binary patch literal 3400 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 N002ovPDHLkV1n8r1yKM1 literal 0 HcmV?d00001 diff --git a/samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_action_info.png b/samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_action_info.png new file mode 100644 index 0000000000000000000000000000000000000000..ba143ea7a80f03b0e850775ad672ccb2d6195e4c GIT binary patch literal 1355 zcmV-R1+@B!P)75wB?6-CWk+3Ez~DWohQ@%>jMdQA1c3hj{%fPr=n<5-3k6~tfy!wCFb|Kf3x&e@#l^+Hz3{3u)^7kJ zSp5(dKa9|EdqNahe-)7XjcFXF`O`@%(u@ozCtg#MS;!CX<8kdJtYc7Vj0j?7f+pnP0u| zma(1zsGz*K=QJ_;2=4hb0yr^WQ{^2z%0b}w6k+xe*Qyd@)c}y~@1x8; zYy>M|jSsb!@9pjFknu}PO9hR`7!aOuLKv?&OXDQfL48yOfYkX|EH-JCs%flnS~0tn z%clTvSjNyK%~9Sy)>skmlZtcDgu+@rpC7NLPpAq2CV!NP?=_R>nEWkG!bAB3DF3nz z7**t*OeXWaTM#8NVuV+%>hKjtIOBG_L#GBn+FMG{8&-$+zP8jQ5{WzD@scepjnKQ< zZ1y{i0#YKOf8H1(4~Va8+h#QYENUJg-j5hTmr?#rjnIa+1>v9NUKEfc3!e`p8nnFN z^BQCJ%Q%d3j$H7ChKCw}(b3TfYhm*Vf?w23Xw#C+_Q*5IQ&xgi9RMKR;uA7h7Eq~F zYC^+E1%O%7o-i)Awz9Hv%x!zC5lTbb-Q6AU>gt-p`n!!69M>$RRRDnYolGK)h#VQL ze^Mi?Lo0a%YaO@8;#DWK@#~C7uIIQ#r;KLCJS`;cqg$n_I)O}Ujz1pux#0psnhE$a3-b$iwAM78vQ z!NI{!HdQ9g9G3|Jk<-CbTfdn870jt~uG6|9c0$&DwX@qLf2h^t#@~aj06M(w5 z!ctfKSPc0IKwTF@0)QXOVV?o0?{e6W4H3TpXvl_$@q)+bz3(xtr+Q1w4*(jrB_>LH z-4vyDy@o9@*;l-Bu$^^=*7_e;{VPNb-4qoe{n!?Ft86)4!?(qaK*4@7A|M3))!4Qp z0K&~&Ua;N|2Iu9d6Pp!4kQbN1cs=fbAeo&_iKEgimL;uao}2pv2}|MNej;OAy|1tD zx_CT(*sqVI*fRg7SS+5a=H=&3rB<~iwiC1R{{#D(TqU5c_Ms#dq`>(XedXxYF literal 0 HcmV?d00001 diff --git a/samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_launcher.png b/samples/browseable/Camera2Raw/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..80c5ebaafec9097c554b858c5350cfd673dcaab8 GIT binary patch literal 4393 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 + + + + + + +