Commit Graph

431 Commits

Author SHA1 Message Date
Dirk Dougherty
3d5f648f8f doc change: cherry pick 75c66da209. (clarify fill_parent/match_parent transition in ViewGroup.LayoutParams and R.attr. Mention match_parent in dev guide "declaring layout" doc.)
Change-Id: I1d2b80b8dc3f8b2e3c1befcbb7c4c522d78a2db8
2010-04-01 09:16:08 -07:00
Dianne Hackborn
726426ee73 Fix issue #2529154 Found SurfaceFlinger timeout in logcat when wake up Camcorder
We need to make sure, if the window size changes, to have onSurfaceChanged()
called for the surface to be redrawn.

Change-Id: Iad518199fa400de8059a77ed34d50d6eb93a6aff
2010-03-31 22:55:26 -07:00
Adam Powell
9d32d24dbd Remove overscrolling
Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
2010-03-29 20:46:45 -07:00
Steve Howard
8deb239169 Merge "Remove upside-down portrait orientation." into froyo 2010-03-29 16:05:35 -07:00
Steve Howard
1c310b9d2f Remove upside-down portrait orientation.
I also realized the ROTATION_NN constants were misdocumented, they
actually align the opposite direction from the "orientation" angle
computed in the code (i.e. orientation=90 is left side up, ROTATION_90
is right side up).  I just changed the comment here to keep the change
minimal; I'll update the code to be more consistent outside of this
release branch.

Bug: 2549875
Change-Id: I79c4286be582a21e730b25a8a24f2e1137c6e4cb
2010-03-29 14:43:46 -07:00
Romain Guy
6b1e696982 Rename tab widget attributes, remove scroll barrier constant.
Bug #2553515 #2553595

Change-Id: Id36280a57f00a1ee59251be6be1aae8df2189c09
2010-03-29 14:40:34 -07:00
Dianne Hackborn
d49258fed4 Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83
There was a really dumb bug that was causing us to not always apply
the new configuration.  As a result of fixing this, there were new
glithes in the transition between car and regular mode, so further
work here to fix that.  And since I was actually working during the
night and seeing night mode, I noticed how obnoxiously bright the
status bar is compared to the car home at night, so it now nicely
dims itself when we switch to the night config.  Oh and in doing
that I also found and fixed a bug in dispatching config changes to
a window (where they wouldn't get dispatched if the window didn't
resize).

FINALLY...  tweak the wallpaper enter/exit animations a bit to
make them a little smoother.

Change-Id: I4e062093cbcfbc919307799a794846db2920216f
2010-03-26 12:52:53 -07:00
Joe Onorato
8f2bd4328a Add window flags and window types to hierarchyviewer.
For debugging http://b/issue?id=2544870

Change-Id: I4b7775e6fd275bb7a9041bf5736e076122bfb5f1
2010-03-25 11:52:06 -07:00
Mathias Agopian
f5e32f33ed another small step towards fixing [2501808] sapphire: OOM in GPU Surface area
release the Surface in SurfaceView when it's not visible, after it comes back from relayout(),
it should not be holding buffers at this point, but it's cleaner to have it in the released state.

also log a warning in Surface.finalize() when there is work to do, as it means Surface.release() wasn't
called when it should have.

Change-Id: Id637d4ec2916d8fd800b0344d8dec6cecce02051
2010-03-23 17:51:59 -07:00
Dianne Hackborn
1c6a89491b Fix issue #2538211: system server crash
Change-Id: Ib440650129ca35e25c8c770113af21fef239178d
ClassCastException: com.android.internal.widget.PointerLocationView
2010-03-23 16:34:20 -07:00
Romain Guy
1a26c9aa0b Merge "Improve export to bitmap layers for HierarchyViewer." 2010-03-22 19:08:22 -07:00
Romain Guy
65554f2785 Improve export to bitmap layers for HierarchyViewer.
- Do not show layers with an invisible parent
- Correctly draw extras from dispatchDraw() (ListView's dividers for instance)

Change-Id: Id2e24ae9d52879290dffbf1cc446c5eda9522fbb
2010-03-22 18:58:21 -07:00
Derek Sollenberger
7179b8133d Adding a hidden method to check if a surface is fixed in size.
Change-Id: I5d719d436aa1475dfb25f26c258a6f417a9b5c1c
2010-03-22 14:27:35 -04:00
Dianne Hackborn
1afd1c90eb Maybe fix issue #2457218: Corrupt batterystats.bin file preventing phone boot - LIBtt68127
No steps to repro, but makes the code more robust by using the standard
JournaledFile class and doing sanity checks on the input it reads.

This required moving the JournaledFile class in to the framework (and
we really should get rid of either it or AtomicFile, but they have
different recovery semantics so that is tough).  Also went through and
cleaned up the file management in various places.

Change-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e
2010-03-19 13:59:07 -07:00
Gilles Debunne
52964243dc New OverScroller with edge bouncing effect.
OverScroller has been made a Scroller child class. Both use a physical constant deceleration
force to compute the animation. OverScroller also includes a rubber edge bounce effect.

Approved by Jim Palmer.

Change-Id: I3f43a03694b8cb6bfa0784c2663b37c9c39322cc
2010-03-19 12:23:09 -07:00
Romain Guy
b05ec11868 Merge "Force all views to relayout when ViewRoot is resized. Bug #2519590" 2010-03-19 09:34:31 -07:00
Romain Guy
cdb86673a7 Force all views to relayout when ViewRoot is resized.
Bug #2519590

Change-Id: Ia6b9d4cf6d719f713703a1eb2e1ccdd5d61a5123
2010-03-18 18:54:50 -07:00
Dianne Hackborn
e2af5c882b Fix issue #2438457: Resolving Flash artifacts while scrolling.
When the surface view scrolls off the screen it stops drawing, so
we stop moving it.  Add an observer to scrolls so we can continue
to update its position.

Change-Id: I2604cbbecd3e72be1a2a6bc5794e3e1c19317b9e
2010-03-18 16:32:58 -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
Adam Powell
cc83c868b6 Fix the build
Change-Id: I4448a0c56c192d3d9f0308bb77301a3f18de6024
2010-03-17 21:20:13 -07:00
Adam Powell
8a836a8b98 Eliminate haptic feedback when hitting an overscroll barrier due to a fling.
Change-Id: I434ec3edd95a19677ad9dbd1ac5ca3f3f5d091cb
2010-03-17 20:33:07 -07:00
Adam Powell
51a6bee671 Fix bugs when transitioning out of touch mode
Change-Id: I56cbac17fba500871af839a87d746ea8e1fd5d0f
2010-03-15 14:07:28 -07:00
Adam Powell
a35d7687dd Make sure visible View state is updated before dispatching clicks
Change-Id: If2619ffa760be708efe8b0d2d04e17eb0dc9375e
2010-03-12 14:48:13 -08:00
Adam Powell
346c8fb036 Improvements to ScaleGestureDetector
Change-Id: I995bf7237a1de3ea194efdd21ed31156ff1c3c5b
2010-03-12 10:53:11 -08: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
9788976b14 core/java/android/accounts/AuthenticatorDescription.java
5333288354 core/java/android/app/UiModeManager.java
93e7e22ec9 core/java/android/app/FullBackupAgent.java
328c0e7986 core/java/android/content/CursorEntityIterator.java
307da1a46b core/java/android/content/SyncQueue.java
307da1a46b core/java/android/content/SyncOperation.java
eb034652c2 core/java/android/content/pm/LabeledIntent.java
49237345d8 core/java/android/content/pm/FeatureInfo.java
a2b6c3775e core/java/android/content/pm/PackageInfoLite.java
3ecd5f4375 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2 core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e core/java/com/android/internal/view/BaseIWindow.java
e540833fdf core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab90388 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab8 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e59 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77 opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77 opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77 opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d8 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1 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
Adam Powell
3b0233959c Fix tap detection after a long press
Change-Id: I004651b8522cac175a72e94a14128d2283da35a4
2010-03-11 16:30:28 -08:00
Joe Onorato
42e14d74f3 Throw a better error message when the automatic onClick handling doesn't work.
Change-Id: I61729e26f76a2ab8825e892cd6c70c06f0955e4c
2010-03-11 14:54:21 -08:00
Adam Powell
b7ef1d9ec9 Make paging touch slop smaller
Change-Id: I36e2623dcc6e3209de51d32841ca68ce322cc5d8
2010-03-11 10:25:24 -08:00
Dianne Hackborn
b8b11a0b1d Further improvements to window management!
Fix issue #2493497: Stuck in the Emergency dialer - Home/Back keys doesn't work
This was another case of not updating the window focus when needed, this time
when the lock screen was hidden.

Also re-arrange the layout/animate flow to address issues where you would see
a flicker of whatever was behind the lock screen when showing a new activity that
hides the lock screen.  This was because we were deciding to hide the lock screen
during the layout phase, which meant we had to do it without considering whether
it had drawn.  So we could hide the lock screen before the window is shown for the
first time after being drawn.  Now we can do this in the policy during animate, so
we can wait until the window is drawn and actually being shown.

The flow in perform layout is thus significantly changed, where the layout and
animate loops are both under the same repeating loop.  The actual flow from this
should be the same, but it now allows the policy to request a new layout after
the animation loop is done.  This actually cleans up a number of things in this
code as the complexity has increased.

Finally this includes a change to the ui mode manager when switching modes, to do
the resource configuration switch at a different time.  This makes transitions
between modes much cleaner (though not yet perfect).

Change-Id: I5d9e75c1e79df1106108dd522f8ffed6058ef82b
2010-03-10 16:47:57 -08:00
Romain Guy
80ea00c839 Fix the build.
Change-Id: I7ed20f3d2fb1a80974fbbfe42fdd2f8f135ee401
2010-03-10 12:40:04 -08:00
Adam Powell
de8d0834fc Added ViewConfiguration.getScaledPagingTouchSlop()
Change-Id: I9ab5560c4b76d2b87e53d38b10ba8f5ec4868d85
2010-03-10 10:16:21 -08:00
Eric Fischer
1127895fd4 Guard against calls to getTextAfterCursor() in text that has no cursor.
Act like the cursor is at 0 in this case instead of crashing.

Bug 2497485

Change-Id: I5ce9b83b323d895e3be75e3133ff2f8e33cc203d
2010-03-08 16:38:03 -08:00
Adam Powell
51c5a0c50e Added accessors for view overscroll modes 2010-03-05 11:28:16 -08:00
Dianne Hackborn
20cb56e26e Fix some bugs.
Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
2010-03-04 11:52:14 -08:00
Adam Powell
0bba68ddc7 Fix VelocityTracker for CTS tests 2010-03-03 19:50:49 -08:00
Adam Powell
f5bcc6addd InputDevice filtering for jumpy screens.
Updated ScaleGestureDetector for framework deprecations.
2010-03-03 17:12:55 -08:00
Romain Guy
223ff5c058 Add new CAPTURE_LAYERS command to HiearchyViewer protocol.
This command is used by the desktop tool to export a given view hierarchy into
a layered file format.
2010-03-02 17:07:47 -08:00
Romain Guy
8bda24874f Turn on fading scrollbars by default.
Bug #2142162
2010-03-02 11:42:11 -08:00
Mathias Agopian
5d26c1e38d Added a name to Surface created by SurfaceFlinger
Updated the window manager to use this new facility.
Surfaces name are now printed by "dumpsys".
2010-03-01 18:34:50 -08:00
Derek Sollenberger
74bfea76ea am a630dcdb: am ecde72fe: Ensure the IME is rendered above the surface when we z-order the surface to be on top.
Merge commit 'a630dcdb956f9acb028dd03bc63b28874f100f8a'

* commit 'a630dcdb956f9acb028dd03bc63b28874f100f8a':
  Ensure the IME is rendered above the surface when we z-order the surface to be on top.
2010-03-01 12:23:27 -08:00
Derek Sollenberger
ecde72fe41 Ensure the IME is rendered above the surface when we z-order the surface to be on top. 2010-03-01 14:11:10 -05:00
Romain Guy
80615257cf Merge "Send cancel event to recycled views instead of an up. Bug #2309387" 2010-02-26 13:16:21 -08:00
Joe Onorato
4c904a3bf3 fix the build. 2010-02-26 12:35:55 -08:00
Romain Guy
8afa515936 Send cancel event to recycled views instead of an up.
Bug #2309387

This was a problem in lists with list items that would cause notifyDatasetChanged()
interleaved with a series of up/down motion events. This is a pretty rare case
but it's worth fixing it to avoid getting views in a weird state.
2010-02-26 11:56:30 -08:00
Dianne Hackborn
5cb70b5415 Rename Display.getOrientation() to Display.getRotation().
Update various docs.
2010-02-26 11:23:24 -08:00
Carl Shapiro
82fe564267 Comment out the finalize() methods defined on the Activity,
ContextImpl, View and ViewRoot classes.  This allows instances of
subclasses to be collected without the additional latency of
finalization.
2010-02-25 16:42:28 -08:00
Steve Howard
d82968d8d8 Merge "Improve accelerometer-based orientation sensing." 2010-02-25 13:42:43 -08:00
Bjorn Bringert
8354fa65eb Make setBackgroundResource() remotable
Change-Id: Iad9c2bdf743a81a085024cad9dc340ae8a983f34
2010-02-25 10:46:03 +00:00
Steve Howard
1ba101f82e Improve accelerometer-based orientation sensing.
There were three main complains about orientation sensing:
* Switching to landscape when putting a device down on a table (or picking it up)
* Changing orientation due to road bumps or vehicle vibrations while in a car dock
* Switching to upside-down too easily

This change includes three primary enhancements.

First, we run the accelerometer output through a lowpass filter before considering its orientation.  This avoids glitches due to brief phone movement, particularly when the phone hits a table.  The filter uses a very low default time constant of 200ms to retain responsiveness (note the samping period is ~200ms, so the effect of this filtering is pretty mild).  At tilt angles beyond 45 degrees, however, we increase the time constant to 600ms, which helps greatly with avoiding glitches picking the phone up from a table.  It does introduce some sluggishness when rotating while the phone is tilted back, i.e. being used in one's lap.

It's also worth mentioning that the accelerometer output on Sapphire appears to be pre-lowpass-filtered with a time constant of around 500ms, making this less necessary on that device, but the added effect doesn't noticeably degrade user experience in my opinion.

Second, we check the magnitude of the raw accelerometer output.  If it deviates from the strength of gravity by more than one m/s^2, we distrust the data, since that implies the device is under external acceleration and the sensor data doesn't accurately reflect orientation.  This helps avoid glitches due to shocks and vibrations, as in the car dock scenario.  However, rather than ignore the data entirely, we filter it with a very high time constant (5 sec).  As a result, if the device is rotated while vibrating, even if we never pick up a clean sample, we will eventually detect the orientation switch.  Of course, with a sampling period of 200ms, we're prone to aliasing, but that seems like a highly unlikely corner case.

Third, we restrict transitions to upside-down orientation to a much narrower range, both in terms of orientation and tilt.  This should prevent upside-down mode from activating in most cases where it's not desired.

I also updated a lot of stale documentation, added a lot of documentation, and cleaned up a lot of the code, so as to make this (often subtle) code as transparent as possible.
2010-02-24 18:41:59 -08:00
Romain Guy
dcc490f201 Fix the build. 2010-02-24 17:59:35 -08:00