How how can we keep Overlay Surface unchanged when switch from Portrait to Landscape mode

by tony » Wed, 29 Apr 2009 08:26:55 GMT


Sponsored Links
 In current android implementation,all the Surface will rotate 90degree
when switch to landscape.

We have requirement to keep the video unchanged (no rotation) and it
seems the only way is to ignore the orientation in
LayerBuffer::OverlaySource::onVisibilityResolved().

Please let me know if you have comments.
--~--~---------~--~----~------------~-------~--~----~



How how can we keep Overlay Surface unchanged when switch from Portrait to Landscape mode

by Dave Sparks » Wed, 29 Apr 2009 17:31:08 GMT


 The application chooses the orientation. You can't force this from the
hardware layer.



--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


How how can we keep Overlay Surface unchanged when switch from Portrait to Landscape mode

by Feike » Thu, 30 Apr 2009 05:19:05 GMT


 I met this issue too, I suggest google should add a new attribute
NO_ROTATION in frameworks/base/core/java/android/view/Surface.java,
then check it in LayerBase.cpp::validateVisibility(...) function to
decide if re-calculate the orientation and position for this layer
(surface). So it will provide a capability for user to control each
surface's rotation.

For example:
Camera application's controller surface need rotate according to the
phone status(landscape or portrait), but its viewfinder surface
needn't rotate.
In current android platform, we can correct it in
LayerBuffer::OverlaySource::onVisibilityResolved(), but it will
prevent all surfaces that use overlay to rotate, it isn't good method.




--~--~---------~--~----~------------~-------~--~----~



How how can we keep Overlay Surface unchanged when switch from Portrait to Landscape mode

by tony » Thu, 30 Apr 2009 10:00:13 GMT


 Agree with feike, it's better to add interface in java class Surface
to control if  orientation is allowed. I believe many use case need
such API especially for Push Surface.
--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Problem seen in run Android (eclair) on an SMDK6410

Problem seen in running Android Eclair (prebuild images from Samsung)
on an SMDK6410:

=================================================================================

U-BOOT# nand read 50008000 600000 300000;nand read 50800000 900000
100000;bootm 50008000 50800000

NAND read: device 0 offset 0x6291456, size 0x3145728

 3145728 bytes read: OK

NAND read: device 0 offset 0x9437184, size 0x1048576

 1048576 bytes read: OK

Boot with zImage

do not support this address : 50008000

get_format

-------- 1 --------

## Loading init Ramdisk from Legacy Image at 50800000 ...


   Image Name:   ramdisk

   Created:      2010-02-12   5:54:20 UTC

   Image Type:   ARM Linux RAMDisk Image (uncompressed)

   Data Size:    159996 Bytes = 156.2 kB

   Load Address: 50800000

   Entry Point:  50800000

   Verifying Checksum ... OK

Starting kernel ...

Uncompressing
Linux..............................................................................................................................
done, booting the kernel.

[    0.000000] Linux version 2.6.29 (hsk...@hskang-desktop) (gcc
version 4.3.1 (for S3C64XX Samsung Electronics AP Development Team) )
#1 Fri Feb 12 14:20:27 KST 2010
[    0.000000] CPU: ARMv6-compatible processor [410fb766] revision 6
(ARMv7), cr=00c5307f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing
instruction cache
[    0.000000] Machine: SMDK6410
[    0.000000] Ignoring unrecognised tag 0x00000000
[    0.000000] Ignoring unrecognised tag 0x41001099
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU S3C6410 (id 0x36410101)
[    0.000000] S3C Clocks, (c) 2004 Simtec Electronics
[    0.000000] S3C64XX: PLL settings, A=532000000, M=532000000,
E=24000000
[    0.000000] S3C64XX: HCLKx2=266000000, HCLK=133000000,
PCLK=66500000
[    0.000000] mout_apll: source is fout_apll (1), rate is 532000000
[    0.000000] mout_epll: source is fout_epll (1), rate is 24000000
[    0.000000] mout_mpll: source is mpll (1), rate is 532000000
[    0.000000] mmc_bus: source is dout_mpll (1), rate is 266000000
[    0.000000] mmc_bus: source is dout_mpll (1), rate is 266000000
[    0.000000] mmc_bus: source is dout_mpll (1), rate is 266000000
[    0.000000] usb-host-bus: source is mout_epll (0), rate is 24000000
[    0.000000] lcd: source is dout_mpll (1), rate is 266000000
[    0.000000] uclk1: source is dout_mpll (1), rate is 66500000
[    0.000000] spi_epll: source is mout_epll (0), rate is 24000000
[    0.000000] spi_epll: source is mout_epll (0), rate is 24000000
[    0.000000] sclk_audio0: source is mout_epll (0), rate is 24000000
[    0.000000] sclk_audio1: source is mout_epll (0), rate is 24000000
[    0.000000] sclk_audio2: source is mout_epll (0), rate is 24000000
[    0.000000] irda-bus: source is mout_epll (0), rate is 24000000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 21336
[    0.000000] Kernel command line: console=ttySAC0,115200
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[    0.000446] Console: colour dummy device 80x30
[    0.000614] console [ttySAC0] enabled
[    0.180467] Dentry cache hash table entries: 16384 (order: 4, 65536
bytes)
[    0.187935] Inode-cache hash table entries: 8192 (order: 3, 32768
bytes)
[    0.202454] Memory: 84MB = 84MB total
[    0.202516] Memory: 80276KB available (3588K code, 946K data, 152K
init)
[    0.208181] Calibrating delay loop... 132.71 BogoMIPS (lpj=331776)
[    0.320602] Mount-cache hash table entries: 512
[    0.322427] CPU: Testing write buffer coherency: ok
[    0.329687] net_namespace: 520 bytes
[    0.332209] NET: Registered protocol family 16
[    0.352160] S3C6410 Power Management, (c) 2008 Samsung Electronics
[    0.352920] S3C6410: Initialising architecture
[    0.357242] S3C DMA-pl080 Controller Driver, (c) 2006-2007 Samsung
Electronics
[    0.364523] Total 32 DMA channels will be initialized.
[    0.373121] GPIO-155 autorequested
[    0.373166] GPIO-156 autorequested
[    0.376394] GPIO-157 autorequested
[    0.379593] GPIO-158 autorequested
[    0.383012] GPIO-159 autorequested
[    0.386380] GPIO-129 autorequested
[    0.389734] GPIO-130 autorequested
[    0.393139] GPIO-131 autorequested
[    0.439668] bio: create slab <bio-0> at 0
[    0.453902] NET: Registered protocol family 2
[    0.454251] IP route cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.460754] TCP established hash table entries: 4096 (order: 3,
32768 bytes)
[    0.467000] TCP bind hash table entries: 4096 (order: 2, 16384
bytes)
[    0.473216] TCP: Hash tables configured (established 4096 bind
4096)
[    0.479289] TCP reno registered
[    0.482845] NET: Registered protocol family 1
[    0.487722] checking if image is initramfs... it is
[    0.593806] Freeing initrd memory: 156K
[    0.594752] S3C PWM Driver, (c) 2006-2007 Samsung Electronics
[    0.598249] NetWinder Floating Point Emulator V0.97 (double
precision)
[    0.611245] ashmem: initialized
[    0.613900] yaffs Feb 12 2010 14:19:57 Installing.
[    0.614035] msgmni has been set to 157
[    0.619048] alg: No test for stdrng (krng)
[    0.621637] io scheduler noop registered
[    0.625444] io scheduler anticipatory registered (default)
[    0.630831] io scheduler deadline registered
[    0.635277] io scheduler cfq registered
[    0.639642] S3C_LCD clock got enabled :: 266.000 Mhz
[    0.650071] LCD TYPE :: LTE480WV will be initialized
[    0.777005] Window[0] - FB1: map_video_memory: clear
ff000000:00177000
[    0.782868]             FB1: map_video_memory: dma=54e00000
cpu=ff000000 size=00177000
[    0.785842] Window[0] - FB2: map_video_memory: clear
ff0bb800:000bb800
[    0.792339]             FB2: map_video_memory: dma=54ebb800
cpu=ff0bb800 size=000bb800
[    0.813949] Console: switching to colour frame buffer device 100x30
[    0.826209] fb0: s3cfb frame buffer device
[    0.838044] Window[1] - FB1: map_video_memory: clear
ff177000:00177000
[    0.844575]             FB1: map_video_memory: dma=55000000
cpu=ff177000 size=00177000
[    0.846901] Window[1] - FB2: map_video_memory: clear
ff232800:000bb800
[    0.853398]             FB2: map_video_memory: dma=550bb800
cpu=ff232800 size=000bb800
[    0.862111] fb1: s3cfb frame buffer device
[    0.865960] SMDK board LCD Backlight Device Driver (c) 2008 Samsung
Electronics
[    0.873533] Registered led device: lcd-backlight
[    1.494304] lp: driver loaded but no devices found
[    1.494364] S3C64XX ADC driver, (c) 2007 Samsung Electronics
[    1.499432] ADC platform data read
[    1.503606] S3C64XX ADC driver successfully probed !
[    1.508967] ppdev: user-space parallel port driver
[    1.512588] s3c64xx-uart.0: s3c_serial0 at MMIO 0x7f005000 (irq =
16) is a S3C64XX
[    1.521544] s3c64xx-uart.1: s3c_serial1 at MMIO 0x7f005400 (irq =
20) is a S3C64XX
[    1.529078] s3c64xx-uart.2: s3c_serial2 at MMIO 0x7f005800 (irq =
24) is a S3C64XX
[    1.536741] s3c64xx-uart.3: s3c_serial3 at MMIO 0x7f005c00 (irq =
28) is a S3C64XX
[    1.566775] brd: module loaded
[    1.578258] loop: module loaded
[    1.578434] pmem: 1 init
[    1.580269] pmem_render: 0 init
[    1.582690] pmem_stream: 0 init
[    1.585924] pmem_stream2: 0 init
[    1.588946] pmem_preview: 0 init
[    1.592360] pmem_picture: 0 init
[    1.595561] pmem_jpeg: 0 init
[    1.598833] Linux video capture interface: v2.00
[    1.610145] Request irq 35 for codec
[    1.610214] Request irq 36 for preview
[    1.614018] S3C FIMC v3.0
[    1.616930]  S3C G2D  Init : Done
[    1.617725] S3C G3D Driver, (c) 2007-2009 Samsung Electronics
[    1.625220] s3c_g3d version : 0x1050000
[    1.627273] G3D_RESERVED_MEM_SIZE : 24 MB
[    1.631307] G3D_CHUNK_SIZE : 2 MB
[    1.634540] G3D_CHUNK_NUM : 12 (UI_CHUNK:4)
[    1.638813] 0 th virt_addr = 0xc6800000, phy_addr = 0x56800000
[    1.644567] 1 th virt_addr = 0xc6a00000, phy_addr = 0x56a00000
[    1.650366] 2 th virt_addr = 0xc6c00000, phy_addr = 0x56c00000
[    1.656169] 3 th virt_addr = 0xc6e00000, phy_addr = 0x56e00000
[    1.661971] 4 th virt_addr = 0xc7000000, phy_addr = 0x57000000
[    1.667778] 5 th virt_addr = 0xc7200000, phy_addr = 0x57200000
[    1.673589] 6 th virt_addr = 0xc7400000, phy_addr = 0x57400000
[    1.679394] 7 th virt_addr = 0xc7600000, phy_addr = 0x57600000
[    1.685211] 8 th virt_addr = 0xc7800000, phy_addr = 0x57800000
[    1.691010] 9 th virt_addr = 0xc7a00000, phy_addr = 0x57a00000
[    1.696837] 10 th virt_addr = 0xc7c00000, phy_addr = 0x57c00000
[    1.702723] 11 th virt_addr = 0xc7e00000, phy_addr = 0x57e00000
[    1.709261] S3C6400 MFC Driver, (c) 2007 Samsung Electronics
[    1.719156] S3C6400 MFC driver module init OK.
[    1.719215] S3C PostProcessor Driver v3.12, (c) 2009 Samsung
Electronics
[    1.727251] S3C JPEG Driver, (c) 2007 Samsung Electronics
[    1.733814] S3C CMM Driver, (c) 2008 Samsung Electronics
[    1.738130] S3C NAND Driver, (c) 2008 Samsung Electronics
[    1.742845] S3C NAND Driver is using hardware ECC.
[    1.746223] NAND device: Manufacturer ID: 0xad, Chip ID: 0xda
(Hynix NAND 256MiB 3,3V 8-bit)
[    1.754656] Creating 7 MTD partitions on "NAND 256MiB 3,3V 8-bit":
[    1.760746] 0x0000000c0000-0x000000100000 : "misc"
[    1.769443] 0x000000100000-0x000000600000 : "recovery"
[    1.774750] 0x000000600000-0x000000900000 : "kernel"
[    1.779433] 0x000000900000-0x000000a00000 : "ramdisk"
[    1.784054] 0x000000a00000-0x000004d00000 : "system"
[    1.801199] 0x000004d00000-0x000009000000 : "cache"
[    1.817023] 0x000009000000-0x000010000000 : "userdata"
[    1.841549] [S3C USB-OTG MODE] : DMA
[    1.843850] [ADB_UMS] string_dev = S3C6410_Android
[    1.844363] mass_storage_function_add
[    1.850129] android_usb gadget: Number of LUNs=1
[    1.852623] adb_function_add
[    1.856759] android_usb gadget: Android Composite USB, version: Feb
12 2010
[    1.862480] android_usb gadget: android_usb ready
[    1.867212] Registered gadget driver 'android_usb'
[    1.874098] mice: PS/2 mouse device common for all mice
[    1.878646] input: s3c-keypad-rev0000 as /class/input/input0
[    1.884404] s3c-keypad Initialized
[    1.886645] S3C Keypad Driver
[    1.889025] S3C Touchscreen driver, (c) 2009 Samsung Electronics
[    1.895432] S3C TouchScreen got loaded successfully : 12 bits
[    1.902697] input: S3C TouchScreen as /class/input/input1
[    1.910725] S3C RTC, (c) 2004,2006 Simtec Electronics
[    1.911681] i2c /dev entries driver
[    1.916470] s3c-i2c s3c-i2c.0: slave address 0x10
[    1.919283] s3c-i2c s3c-i2c.0: bus frequency set to 377 KHz
[    1.927824] s3c-i2c s3c-i2c.0: i2c-0: S3C I2C adapter
[    1.930005] s3c-i2c s3c-i2c.1: slave address 0x10
[    1.934612] s3c-i2c s3c-i2c.1: bus frequency set to 377 KHz
[    1.943276] s3c-i2c s3c-i2c.1: i2c-1: S3C I2C adapter
[    1.946092] s3c_bat_init
[    1.947793] smdk6410-battery smdk6410-battery: s3c_bat_probe
[    1.957284] cpuidle: using governor ladder
[    1.957344] cpuidle: using governor menu
[    1.962366] sdhci: Samsung S3C6410 SD/MMC driver
[    1.966506] s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133000000
Hz)
[    1.972557] s3c-sdhci s3c-sdhci.1: clock source 1: hsmmc (133000000
Hz)
[    1.979064] s3c-sdhci s3c-sdhci.1: clock source 2: hsmmc (133000000
Hz)
[    1.987016] Registered led device: mmc0
[    1.990095] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.1]
using DMA
[    2.000727] logger: created 64K log 'log_main'
[    2.001920] logger: created 256K log 'log_events'
[    2.007056] logger: created 64K log 'log_radio'
[    2.011798] Advanced Linux Sound Architecture Driver Version
1.0.18a.
[    2.022461] No device for DAI WM8580 PAIFRX
[    2.022520] No device for DAI WM8580 PAIFTX
[    2.025754] No device for DAI s3c-i2s
[    2.033010] WM8580 Audio Codec 0.1
[    2.035551] asoc: WM8580 PAIFRX <-> s3c-i2s mapping ok
[    2.046268] ALSA device list:
[    2.046316]   #0: smdk6410 (WM8580)
[    2.047360] TCP cubic registered
[    2.050371] NET: Registered protocol family 17
[    2.054781] NET: Registered protocol family 15
[    2.059948] RPC: Registered udp transport module.
[    2.063890] RPC: Registered tcp transport module.
[    2.069026] VFP support v0.3: implementor 41 architecture 1 part 20
variant b rev 5
[    2.080683] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.082514] Freeing init memory: 152K
[    2.494203] [s3c_udc_cable_connect]
[    2.494287] android_usb gadget: high speed config #1: UMS Only (Not
debugging mode)
[    3.250536] init: cannot open '/initlogo.rle'
[    3.278941] yaffs: dev is 32505860 name is "mtdblock4"
[    3.278994] yaffs: passed flags ""
[    3.281923] yaffs: Attempting MTD mount on 31.4, "mtdblock4"
[    3.344873] yaffs_read_super: isCheckpointed 0
[    3.346780] yaffs: dev is 32505862 name is "mtdblock6"
[    3.348807] yaffs: passed flags ""
[    3.352348] yaffs: Attempting MTD mount on 31.6, "mtdblock6"
[    3.453357] yaffs_read_super: isCheckpointed 0
[    3.454232] **>> yaffs chunk 64 was not erased
[    3.457818] **>> yaffs write required 2 attempts
[    3.468103] yaffs: dev is 32505861 name is "mtdblock5"
[    3.468154] yaffs: passed flags ""
[    3.471100] yaffs: Attempting MTD mount on 31.5, "mtdblock5"
[    3.533908] yaffs_read_super: isCheckpointed 0
[    3.590445] init: cannot find '/system/bin/sh', disabling 'console'
[    3.591147] init: cannot find '/system/bin/servicemanager',
disabling 'servicemanager'
[    3.599118] init: cannot find '/system/bin/vold', disabling 'vold'
[    3.605671] init: cannot find '/system/bin/de{*filter*}d', disabling
'de{*filter*}d'
[    3.612281] init: cannot find '/system/bin/rild', disabling 'ril-
daemon'
[    3.618941] init: cannot find '/system/bin/app_process', disabling
'zygote'
[    3.626296] init: cannot find '/system/bin/mediaserver', disabling
'media'
[    3.632731] init: cannot find '/system/bin/dbus-daemon', disabling
'dbus'
[    3.639499] init: cannot find '/system/bin/installd', disabling
'installd'
[    3.646749] init: cannot find '/system/bin/keystore', disabling
'keystore'
[    3.658961] [adb_function_enable] adb_function => (enabled)

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website:  http://www.***.com/ 

To unsubscribe from this group, send email to 
android-porting+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

2. Persistent listening to text enteted across all apps globally?



It is not possible, sorry.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

Warescription: Three Android Books, Plus Updates, One Low Price!

-- 

3. Persistent listening to text enteted across all apps globally?

4. listview item get invisible

5. Maximum character that we can send to SMS application.

6. Did Google really remove the ability to call the CropImage activity from Android 2.x apps?

7. Informational: are there any charting packages for Android