138 Commits

Author SHA1 Message Date
Raphael Moll
2b5f2d0155 am e2b41b0d: Merge "Laoutlib_creator: keep original of delegate methods."
* commit 'e2b41b0d5c8db85a60cd190c7094052db61114b2':
  Laoutlib_creator: keep original of delegate methods.
2011-06-22 17:44:29 -07:00
Raphael Moll
865c3bef54 Laoutlib_creator: keep original of delegate methods.
For specific methods, Layoublib_create can rewrite the implementation
of a method to invoke a delegate instead of the original code. This
allows layoutlib to implement native code or override existing behavior.

This patch also 'saves' the original implementation of a rewritten
method so that the delegate can access the original implementation
as needed. Obviously this is only done for non-native methods.

Given a non-native SomeClass.MethodName, we generate 2 methods:
- A copy of the original method named "SomeClass.MethodName_original".
  The content is the original method as-is from the reader.
- A brand new implementation of SomeClass.MethodName which calls to a
  non-existing method named "SomeClass_delegate.MethodName".
  The implementation of this 'delegate' method is done in layoutlib_brigde.

Change-Id: I5ca2cd3ac55991a8e8a51c417e75ee447bf9e9e6
2011-06-17 19:07:13 -07:00
Xavier Ducrohet
156a211b21 Cherrypick d1ed33c4 from hc-mr1. do not merge.
Fix zombie threads in the Layoutlib.

Some widgets can create (indirectly) HandlerThread which are started
but never stopped.

This patch use the delegate methods to override the thread run method
to record which threads are started to be able to call quit() on them
after a render.

Note that we should really fix layoutlib_create to be able to call
the default implementation from a delegate to remove code duplication.

Change-Id: Iaf5432623e9704bb3114a8e0583c8553282c205e
2011-06-03 18:37:09 -07:00
Xavier Ducrohet
21726044a9 Cherrypick 5b61ea6b from hc-mr1
Fix drawCircle in layoutlib.

Change-Id: I035c48b925cad246ed821e9e59a93d37174982ef
2011-06-03 16:02:12 -07:00
Xavier Ducrohet
f174cd86bd LayoutLib: enable the LAYOUT_ONLY capability.
Change-Id: Ib302af47d2a83a7ac3def6256bf0b892823f594f
2011-06-02 16:38:38 -07:00
Xavier Ducrohet
8f17523dca Merge dba35f1b from honeycomb-mr1. do not merge.
Change-Id: Iebda5ea67fd40cac76a8ca3fe3c3cd4ee95ddebe
LayoutLib: Properly configure KXmlParser to read UTF8
2011-06-01 18:32:57 -07:00
Xavier Ducrohet
34f5991ebe Merge 6103e22c from honeycomb-mr1. do not merge.
LayoutLib: custom styles override the default style instead of replacing it.

Intead of reading either the custom or the default style for a widget, we
read both and use the values from the custom style if it exists, or
from the default style otherwise.

Change-Id: Ibcec2e9b1e8a95295ab26ede145c287ff2f30be4
2011-05-24 10:55:30 -07:00
Xavier Ducrohet
c7b87766b2 Merge 2402ad60 from honeycomb-mr1. do not merge.
LayoutLib: Fix Canvas_Delegate.native_concat().

Change-Id: I863c43d65a929816ac7c9e69addcc647dac1878b
2011-05-23 17:51:22 -07:00
Xavier Ducrohet
4c1e73b69a Merge e57aa434 from honeycomb-mr1. do not merge.
LayoutLib: Fix issue where <include> with no layout params wouldn't display.

The issue is that the layout params from the root element of the included
layout should be used but this failed because loading the layout params
from the <include> tag didn't throw a RuntimeException in our modified
code (BridgeTypedArray).

Because we don't want to throw exception in general we only throw it
when reading the layout params of an include node which is pretty crappy,
but works for now.

Change-Id: I83ccf956e8b476f34dfc9a70aebae2288d53746e
2011-05-20 14:50:45 -07:00
Xavier Ducrohet
d9af22e204 Merge 05b7b69c from honeycomb-mr1. do not merge.
Change-Id: I1aca5774dec2e18ab5f9e860f6fd90b481b2857c
LayoutLib: support the new baseline/margin query API.
2011-05-19 16:52:41 -07:00
Xavier Ducrohet
e172a3fc23 Merge 2fae858d from Honeycomb-mr1. do not merge.
Change-Id: I648f9ffa9745331ce4104dc4772f78ed933a4909
LayoutLib: implement data binding for most AdapterView
2011-05-19 16:52:29 -07:00
Xavier Ducrohet
59aad78eae LayoutLib: don't render when shader's local matrix is set to 0 scale.
Change-Id: I7726d87f3dd0475ac662f535a08c6435b8b9ed1f
2011-04-06 17:03:31 -07:00
Xavier Ducrohet
8a18dba48c Merge c5aeac7f from honeycomb.
LayoutLib: Fix issue with rendering mode.

When the layout content is embedded inside a decor layout
to emulate system bar (top or bottom) and title bar (or action bar)
then the code computing the full required size based on the RenderingMode
would fail because the decor layout would prevents the content layout to
take as much room as possible.
There is also an issue with the way we know render dialogs as the
dialogs usually as a frame with some padding and the previous measurements
would not take into account the dialog padding when increasing the
screen size.

This fix makes the code measure the size of the content layout in the
normal rendering, and then separately from the root layout with the proper
MeasureSpec to let the content grown. The difference in size is then added
to the screen size.

Bug: http://code.google.com/p/android/issues/detail?id=15892

Change-Id: Ie9a6c5e254b16785f817dcb9fae755d4936880aa
2011-04-06 14:24:59 -07:00
Xavier Ducrohet
c7c8c599a6 Merge 67450db0 from honeycomb. Do not merge.
Change-Id: I0ca140dd6d9279ff313f930739ad40fbbed4f335
LayoutLib: TypedArray.getDimensionPixelSize can actually return <0
2011-03-17 14:24:50 -07:00
Xavier Ducrohet
0a98226e3c Merge 9d76581f from honeycomb. do not merge.
LayoutLib: Fix Arc rendering.

Looks like Java2D and Skia go in different directions for angles.

Change-Id: I4d72db56455afe25b4f51f23a9b29d6c438119ba
2011-03-15 11:34:19 -07:00
Xavier Ducrohet
b243aabdaf Merge adaa12cd from honeycomb. do not merge.
LayoutLib: fix Capabilities and getDimensionPixelSize

Commented out a Capability that is not in ADT 10.

BridgeTypedArray.getDimensionPixelSize shouldn't call
getDimension since most of the code is duplicated, and
it prevents use from properly detecting malformed attribute
values.

Change-Id: I008334af605a89f240247a13c0024009247ec5af
2011-03-15 11:34:18 -07:00
Xavier Ducrohet
2652b618a8 Merge 6f2fb570 from honeycomb. do not merge.
LayoutLib: Fix dimension parsing to handle negative value.

Also make TypedArray.getDimensionPixelSize properly
handle negative values (which are not allowed).

Change-Id: I03ffcef5ab7ec7ef95419566776dcc798845fd88
2011-03-14 15:28:50 -07:00
Xavier Ducrohet
f354ad108c Merge c12b4093 from honeycomb. do not merge.
Change-Id: Icfbb70c097d87bf92415c6f0534346adde4c02fe
LayoutLib: Implement some missing add###() method in Path.
2011-03-14 15:28:50 -07:00
Xavier Ducrohet
efe18b5e3f Merge 1911a6f7 into gingerbread. do not merge.
Change-Id: I6d56644c4ab1a70eb4a6d0d2e5d84ea4aa674041
LayoutLib: move tests to their own project.
2011-02-25 14:53:32 -08:00
Xavier Ducrohet
031d2f8b6d LayoutLib: Adapt the HC layoutlib to GB. do not merge.
Change-Id: I0b2016987a65fabbc0ce7011514543349e9fb929
2011-02-23 19:47:18 -08:00
Xavier Ducrohet
4b52ec49fe LayoutLib: Original import of Honeycomb's layoutlib. do not merge.
frameworks/base.git @ f0a53435f14d23d9555fc46014352ee6a7baa647

Change-Id: Ibc215751693dc7650683b61bb458f7c8beaf8060
2011-02-23 19:47:02 -08:00
Xavier Ducrohet
c2e28dd748 Fix issue with project resources overriding framework resources.
Framework resources loaded through Drawable.createFromXml could
be overriden by project resources if there were loaded through
a  state list drawable where the final resource name was used
by a project resource (of the same type).

This ensures that the XML parser knows that it's a framework
resource being parsed and that the resource resolution uses
that information.

Change-Id: I39cf9eba755e55f1604b968637aeecff969a558d
2010-10-26 17:14:55 -07:00
Xavier Ducrohet
25e96ce7b9 Fix rendering of digitalClock/Gallery in Eclipse editors.
Change-Id: I80f4f90b173529632eaf2fbc3bb5471b7ede8216
2010-10-26 11:18:39 -07:00
Xavier Ducrohet
f8e4c1f57b Parser is optional in obtainStyledAttributes.
If the parser is null it just means the default style/values are
used.

Change-Id: I5ff3d632fd5dfc5a1ce42796b2fef7b30f9fbf34
2010-10-04 18:11:50 -07:00
Ying Wang
c486da4887 Call functions to calculate deps and classes.jar
Instead of hard-coding them.

Change-Id: Ia5818a1a69efb0964d5aa7de7e8d30ef04dfeccc
2010-09-28 14:33:58 -07:00
Dianne Hackborn
8313fc7e94 Allow all apps to call ContentResolver.getType().
I can't find the bug number for this, but it is needed for some things
we are doing where the app building an intent may not have access to the
URI in the data field.  This is for HC, but doing in GB to avoid introducing
integration issues.

Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
2010-09-26 21:31:47 -07:00
Xavier Ducrohet
80e62ac61c Fix the layoutlib Paint.set(Paint) method. Do not merge.
It would change the text rendering info but not recompute
the Java Font objects. The effect is a broken font rendering
in the EditText (which use this method to copy some Paint
object before using the copy for the actual drawing)

Change-Id: I9e7fbf9bd57b421fd793876a6de4ade1ecac372d
2010-07-19 10:19:49 -07:00
Joe Onorato
80a60ba85b Clean up some style in the makefiles.
Change-Id: I993702808395f37c2e9d3c7e457d2952be51d795
2010-07-14 19:58:30 -07:00
Jeff Brown
46b9ac0ae2 Native input dispatch rewrite work in progress.
The old dispatch mechanism has been left in place and continues to
be used by default for now.  To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API.  Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument.  The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points.  The ViewRoot then
provides the InputChannel to the InputQueue.  Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue.  This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event.  Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets).  Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
2010-06-13 17:42:16 -07:00
Xavier Ducrohet
c56653bff1 Adds back the finalize method on the replaced Paint class.
without it com.android.layoutlib.bridge.TestClassReplacement fails.

Change-Id: Iafb6548f45c31e901591a45239224895c4403be8
2010-04-08 17:18:35 -07:00
Dianne Hackborn
694f79b5d1 Fix issue #2519590: Lock screen stuck in landscape mode
Well, mostly.  There is still a problem here where the first time
you show the lock screen it just doesn't draw itself.  I assume
this is something breaking in the view hierarchy as it floounders
around removing and adding new views as it is first being shown...
but no idea at this point what is the actual case.

Change-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe
2010-03-18 01:12:20 -07:00
Kenny Root
15a4d2ffd0 Add correct copyright headers to multiple files
Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
2010-03-11 18:22:10 -08:00
Dianne Hackborn
2269d1572e Re-arrange android-common so framework no longer links with it.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common.  Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
2010-02-25 11:39:33 -08:00
Carl Shapiro
ba289966c6 Merge "Remove empty finalize methods." 2010-02-24 19:15:06 -08:00
Carl Shapiro
05c376b00b Remove empty finalize methods. 2010-02-24 18:43:36 -08:00
Xavier Ducrohet
bc3323bea6 Fix the layoutlib to still support fill_parent.
Change-Id: I5e1825f1f853cf9e31b2ee262edce636a030429d
2010-02-23 19:43:04 -08:00
Dianne Hackborn
e36d6e277e Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes
This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
  longer tries to pre-emptively compute a new configuration.  Instead, it
  just determines  change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
  final configuration it is using.  This is both so it knows whem the
  activity manager is done with its configuration updates, and so the window
  manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
  screen and keep it frozen until the activity manager has given us the
  final configuration.
- The window manager can now send new configurations to its clients during
  its layout pass, as part of a resize, if it has determined that it has
  changed.  This allows for a new View.onConfigurationChanged() API for any
  view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
  current resources are updated to the new configuration when it receives one
  from a window.  This ensures that at the time onConfigurationChanged() and
  other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
  ActivityThread uses to avoid using stale configurations.  This is needed now
  that it can receive configurations asynchronously from both the window
  manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
  fixed by having Configuration initialize its locale to "unknown" instead of
  a valid default value.
2010-02-18 15:47:34 -08:00
Xavier Ducrohet
99e1cdae99 Fix in layoutlib due to some changes in the frameworks.
Some methods disappear or became abstract in the base class
(breaking @Override)

Change-Id: Id4d298ee84ba008ac97ecaaf90b19003ac09f104
2010-02-11 15:37:31 -08:00
Tobias Haamel
27b28b3f62 Introduce special UI modes for night and car usage.
The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
2010-02-11 21:25:58 +01:00
Dianne Hackborn
e83cefcef0 New external storage APIs.
This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
2010-02-09 14:20:55 -08:00
Xavier Ducrohet
264ce38258 am 3bd6dc65: am b44051ee: Merge "ADT/Layoutlib: implement sweep gradient." into eclair
Merge commit '3bd6dc653521281db25df77f055b3ec0b4659454'

* commit '3bd6dc653521281db25df77f055b3ec0b4659454':
  ADT/Layoutlib: implement sweep gradient.
2010-01-22 12:36:26 -08:00
Xavier Ducrohet
28d9c60ee2 am 60e3c09e: am 6866daee: Merge "ADT/Layoutlib: implement radial gradient." into eclair
Merge commit '60e3c09ec0fa73a3e650f4aec89c763599c2e0b7'

* commit '60e3c09ec0fa73a3e650f4aec89c763599c2e0b7':
  ADT/Layoutlib: implement radial gradient.
2010-01-22 09:45:49 -08:00
Xavier Ducrohet
c22b3ca198 am da84d6a1: am 908a8111: Merge "ADT/Layoutlib: Add dash support to stroke." into eclair
Merge commit 'da84d6a1b1c37376d48f92ae59b76f1c891772f6'

* commit 'da84d6a1b1c37376d48f92ae59b76f1c891772f6':
  ADT/Layoutlib: Add dash support to stroke.
2010-01-21 17:55:40 -08:00
Xavier Ducrohet
4e8e87d905 am c0ea805c: am 2b30a4a5: Merge "ADT/Layoutlib: properly handle stroke information." into eclair
Merge commit 'c0ea805c649666b55d4dde09eb72dcccfa8bccc3'

* commit 'c0ea805c649666b55d4dde09eb72dcccfa8bccc3':
  ADT/Layoutlib: properly handle stroke information.
2010-01-21 17:55:17 -08:00
Xavier Ducrohet
18d21ef83e am 20cc5570: am 79f05bb4: Merge "ADT/Layoutlib: improved gradient drawing for perf." into eclair
Merge commit '20cc55703348827fbd80ff0410777a537f01e10e'

* commit '20cc55703348827fbd80ff0410777a537f01e10e':
  ADT/Layoutlib: improved gradient drawing for perf.
2010-01-21 14:31:11 -08:00
Xavier Ducrohet
beb0993c6a am 38fa9eee: am 89d538dc: ADT/Layoutlib: don\'t draw 0-sized rectangle, AWT doesn\'t like that.
Merge commit '38fa9eee9324b2355f28372e80dba12c1d7cc105'

* commit '38fa9eee9324b2355f28372e80dba12c1d7cc105':
  ADT/Layoutlib: don't draw 0-sized rectangle, AWT doesn't like that.
2010-01-21 14:30:48 -08:00
Xavier Ducrohet
900399f3e8 am 895c92a4: am 240298f9: Merge "ADT/Layoutlib: always use custom gradient (java) Paint." into eclair
Merge commit '895c92a44b8bcf0aec7066c061293cafe12a76c2'

* commit '895c92a44b8bcf0aec7066c061293cafe12a76c2':
  ADT/Layoutlib: always use custom gradient (java) Paint.
2010-01-21 14:30:17 -08:00
Xavier Ducrohet
7fa53aa5df am 31ef2e77: am b847fbf2: Merge "ADT/Layout: support for 3+ color in linear gradients" into eclair
Merge commit '31ef2e77c50485ad6ed410a5d341754d6787b8e1'

* commit '31ef2e77c50485ad6ed410a5d341754d6787b8e1':
  ADT/Layout: support for 3+ color in linear gradients
2010-01-21 14:29:02 -08:00
Xavier Ducrohet
3330927bdd ADT/Layoutlib: implement sweep gradient.
Change-Id: I2d460decff82f5f64b0a5cfeaa68156aad4fb3e6
2010-01-19 18:51:06 -08:00
Xavier Ducrohet
ef5506c817 am f95e3dd2: am 5e083024: ADT/Layoutlib: shader clean-up.
Merge commit 'f95e3dd23cb6cbd7a86dece3c4bafff71307721a'

* commit 'f95e3dd23cb6cbd7a86dece3c4bafff71307721a':
  ADT/Layoutlib: shader clean-up.
2010-01-19 16:34:48 -08:00