99 Commits

Author SHA1 Message Date
Svetoslav Ganov
1cf70bbf96 Screen magnification - feature - framework.
This change is the initial check in of the screen magnification
feature. This feature enables magnification of the screen via
global gestures (assuming it has been enabled from settings)
to allow a low vision user to efficiently use an Android device.

Interaction model:

1. Triple tap toggles permanent screen magnification which is magnifying
   the area around the location of the triple tap. One can think of the
   location of the triple tap as the center of the magnified viewport.
   For example, a triple tap when not magnified would magnify the screen
   and leave it in a magnified state. A triple tapping when magnified would
   clear magnification and leave the screen in a not magnified state.

2. Triple tap and hold would magnify the screen if not magnified and enable
   viewport dragging mode until the finger goes up. One can think of this
   mode as a way to move the magnified viewport since the area around the
   moving finger will be magnified to fit the screen. For example, if the
   screen was not magnified and the user triple taps and holds the screen
   would magnify and the viewport will follow the user's finger. When the
   finger goes up the screen will clear zoom out. If the same user interaction
   is performed when the screen is magnified, the viewport movement will
   be the same but when the finger goes up the screen will stay magnified.
   In other words, the initial magnified state is sticky.

3. Pinching with any number of additional fingers when viewport dragging
   is enabled, i.e. the user triple tapped and holds, would adjust the
   magnification scale which will become the current default magnification
   scale. The next time the user magnifies the same magnification scale
   would be used.

4. When in a permanent magnified state the user can use two or more fingers
   to pan the viewport. Note that in this mode the content is panned as
   opposed to the viewport dragging mode in which the viewport is moved.

5. When in a permanent magnified state the user can use three or more
   fingers to change the magnification scale which will become the current
   default magnification scale. The next time the user magnifies the same
   magnification scale would be used.

6. The magnification scale will be persisted in settings and in the cloud.

Note: Since two fingers are used to pan the content in a permanently magnified
   state no other two finger gestures in touch exploration or applications
   will work unless the uses zooms out to normal state where all gestures
   works as expected. This is an intentional tradeoff to allow efficient
   panning since in a permanently magnified state this would be the dominant
   action to be performed.

Design:

1. The window manager exposes APIs for setting accessibility transformation
   which is a scale and offsets for X and Y axis. The window manager queries
   the window policy for which windows will not be magnified. For example,
   the IME windows and the navigation bar are not magnified including windows
   that are attached to them.

2. The accessibility features such a screen magnification and touch
   exploration are now impemented as a sequence of transformations on the
   event stream. The accessibility manager service may request each
   of these features or both. The behavior of the features is not changed
   based on the fact that another one is enabled.

3. The screen magnifier keeps a viewport of the content that is magnified
   which is surrounded by a glow in a magnified state. Interactions outside
   of the viewport are delegated directly to the application without
   interpretation. For example, a triple tap on the letter 'a' of the IME
   would type three letters instead of toggling magnified state. The viewport
   is updated on screen rotation and on window transitions. For example,
   when the IME pops up the viewport shrinks.

4. The glow around the viewport is implemented as a special type of window
   that does not take input focus, cannot be touched, is laid out in the
   screen coordiates with width and height matching these of the screen.
   When the magnified region changes the root view of the window draws the
   hightlight but the size of the window does not change - unless a rotation
   happens. All changes in the viewport size or showing or hiding it are
   animated.

5. The viewport is encapsulated in a class that knows how to show,
   hide, and resize the viewport - potentially animating that.
   This class uses the new animation framework for animations.

6. The magnification is handled by a magnification controller that
   keeps track of the current trnasformation to be applied to the screen
   content and the desired such. If these two are not the same it is
   responsibility of the magnification controller to reconcile them by
   potentially animating the transition from one to the other.

7. A dipslay content observer wathces for winodw transitions, screen
   rotations, and when a rectange on the screen has been reqeusted. This
   class is responsible for handling interesting state changes such
   as changing the viewport bounds on IME pop up or screen rotation,
   panning the content to make a requested rectangle visible on the
   screen, etc.

8. To implement viewport updates the window manger was updated with APIs
   to watch for window transitions and when a rectangle has been requested
   on the screen. These APIs are protected by a signature level permission.
   Also a parcelable and poolable window info class has been added with
   APIs for getting the window info given the window token. This enables
   getting some useful information about a window. There APIs are also
   signature protected.

bug:6795382

Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
2012-09-06 18:56:17 -07:00
rich cannings
16e119e798 Add secure setting for package verification
Framework changes to store and read a secure setting for package verification.
Default is on/true.

This setting will be turned on/off via the Settings app.

Bug: 7082362
Change-Id: I6f93d3136add8af0dbbdc664f0473c5f5b7e3fee
2012-09-06 14:37:44 -07:00
Dmitry Shmidt
8de24dca68 Restore original default Wifi sleep policy (always)
BUG: b/7092819

Change-Id: I6ee6755fd04df2f0169f8602e60542c3591038f3
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-09-05 12:35:09 -07:00
John Spurlock
4e724c8423 Change default setting for dreams to 'when docked'
Bug:7078718
Change-Id: I4ec74cc9562ab728d6f86938758ede74c241c63b
2012-08-29 17:14:49 -04:00
Jean-Baptiste Queru
c88a80a1d7 am 15e099cc: am 0e0942c7: Merge "Default WiFi sleep policy setting"
* commit '15e099cc09589f963933f046d7267552ba3ffad8':
  Default WiFi sleep policy setting
2012-08-29 10:58:35 -07:00
Erik Ljungberg
7e07147ece Default WiFi sleep policy setting
Creates a defult.xml setting for WiFi sleep policy.

It is now possible, through device overlays, to change
the default sleep policy to e.g. never in order to improve
user experience of WiFi.

Change-Id: Ie459b8e70fdbc7c605452fe0692d7bc26460e939
2012-08-29 09:52:12 +02:00
John Spurlock
1a868b7981 Add framework support for multiple dreams.
Bug:7028665
Change-Id: I4fba6b8e39dc07af4490c621ac3bc7b3867371b2
2012-08-22 16:49:20 -04:00
Baligh Uddin
3e300c4693 Import translations. DO NOT MERGE
Change-Id: I95bed23285699c68b623ae0e36600ec5e813db8c
Auto-generated-cl: translation import
2012-08-13 13:20:03 -07:00
Baligh Uddin
63fe5cdc74 Import translations. DO NOT MERGE
Change-Id: I8948cd5b0992133db9dc8e676b5d43b54d672e85
Auto-generated-cl: translation import
2012-08-10 11:14:46 -07:00
Baligh Uddin
03cfc54231 Import translations. DO NOT MERGE
Change-Id: I813d5cfc5f5b60e98f635dc62e9935299c903171
Auto-generated-cl: translation import
2012-08-09 12:32:26 -07:00
Daniel Sandler
fdb7c36a10 Migrate Dreams default settings to DatabaseHelper.
Also switch Dreams on for all charging devices by default.

Change-Id: Iccbcc2906d55214320b2f467e88ba9cb188f4886
2012-08-08 08:38:48 -04:00
alanv
3ff50a0a8a Change hard-coded URL for accessibility script.
The old version of the script is broken and is cached due to an error in
our gstatic configuration. We had to change the name to avoid hitting the
cached version on external proxies.

Bug: 6702042
Change-Id: I0e5ee8b3a6ae8c7ba11f5760f2f99d4b5614ac97
2012-06-20 16:51:00 -07:00
Eric Fischer
e7ee9a0504 Import translations. DO NOT MERGE
Change-Id: I183552feb00f1764db73bf6c7f16d5f5ef0f3b0f
2012-03-12 14:45:39 -07:00
Eric Fischer
6ff1f4fa5d Import translations. DO NOT MERGE
Change-Id: I7cfb3eeb7743f4db15ff591826d16cc316e2d915
2012-03-07 14:03:43 -08:00
Mike Lockwood
79f5a0416f WifiStateTracker: add support for overriding DCHP max retry count in an overlay
Bug: 5551068

Signed-off-by: Mike Lockwood <lockwood@google.com>

Conflicts:

	packages/SettingsProvider/res/values/defaults.xml

Change-Id: I6a6519316a87bd1af39ea9dc51e0d312011135ef
2012-02-16 10:01:44 -08:00
Mike Lockwood
d3c5e1eca1 Allow disabling network stats support in a resource overlay
Bug: 5771240

Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-02-10 14:44:08 -08:00
Mike Lockwood
2395527c9b SettingsProvider: Allow overridding default value for Setttings.Secure.DEVICE_PROVISIONED
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:24 -08:00
Mike Lockwood
7bef73900b SettingsProvider: Add support for overriding lockscreen.disabled default value
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:23 -08:00
Mike Lockwood
4b797dd8c1 Allow overriding default STAY_ON_WHILE_PLUGGED_IN setting value in an overlay
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:23 -08:00
Svetoslav Ganov
3ca5a74c17 Make the URL for the JavaScript based screen-reader used by WebView configurable.
The URl from which to inject a screen-reader for WebView accessiblity support should be
configurable because: 1) The accessibility engineering team should be able to point
devices to a staging build of the screen-reader; 2) We would like to be able to change
this URL via the Google services mechanism.

bug:5718543

Change-Id: I3d4d343f1c93e0e0173f04b2912949fe8a3566b9
2011-12-07 14:35:59 -08:00
Svetoslav Ganov
55f937abe1 Adding a system preference whether to speak passwords in accessibility mode.
By default we do not speak passwords if the user has no headset. However,
many users find this too restrictive and would like a way to enable
password announcement. While we cannot speak the passwords all the time
,to avoid leaking them, we expose a preference so each user can choose
the option that best works for him/her.

bug:5712607

Change-Id: I6eb0c40834abe5297f7dc74be02d180a5bef0174
2011-12-05 14:54:59 -08:00
Jeff Brown
be6ab576ff Merge "Fix application launch shortcuts." into ics-mr1 2011-11-29 13:13:33 -08:00
Jeff Brown
6651a63834 Fix application launch shortcuts.
Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys.  Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos.  The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
2011-11-29 12:17:22 -08:00
Eric Fischer
fa56c714f2 Import revised translations. DO NOT MERGE
Change-Id: Ia50fd44ea4492188f481e652caae940acaf961e2
2011-11-29 11:42:53 -08:00
Tom Taylor
994da2ad32 Revert "Add new secure setting for controlling Messaging notifications"
This reverts commit 03da2f00aac04e6565a02cf5a9bf6bb1ec926930.

 Committer: Tom Taylor <tomtaylor@google.com>

 On branch revertsetting
 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)

	modified:   api/current.txt
	modified:   core/java/android/provider/Settings.java
	modified:   core/java/android/provider/Telephony.java
	modified:   packages/SettingsProvider/res/values/defaults.xml
	modified:   packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

We've decided not to disable messaging notifications with a secure setting.
Instead, all the work will be done within the messaging app itself.

Change-Id: Icde6894e76da1007b6026c8ec7dc56e488453c06
2011-11-10 11:17:38 -08:00
Robert Greenwalt
ea54b76085 Merge "Wimax : wimax framework related open source." into ics-mr1 2011-11-08 10:01:07 -08:00
tk.mun
148c7d0de7 Wimax : wimax framework related open source.
Integrate wimax network related changes into Android Framework.
- In Connectivity service, start wimax service.
- 4G icon display in StatusBarPolicy.
- DHCP renew add.
- Add radio for wiamx

Change-Id: I2d9012247edfdf49d71ca7e1414afd0006f330ca
Signed-off-by: tk.mun <tk.mun@samsung.com>
bug:5237167
2011-11-07 14:47:40 -08:00
Tom Taylor
03da2f00aa Add new secure setting for controlling Messaging notifications
Bug 5552615
We're adding a new intent to allow 3rd party apps to disable
the Messaging app's notification. We want any app to be able to query
the setting of whether sms notifications are on or off, but only allow
system apps, particularly the Messaging app, to change that setting.
Other apps can change the setting by firing off an intent which brings
up a dialog activity in the Messaging app that'll let them turn off
Messaging notifications.

Change-Id: I4d2721191b86010efb383a24c28d911496440657
2011-11-07 14:16:44 -08:00
Eric Fischer
9ac5d49125 Import revised translations. DO NOT MERGE
Change-Id: I43513501e2c0eee9339551d0f20411d14bd5eace
2011-11-01 13:33:04 -07:00
Eric Fischer
b0d150aa53 Import revised translations.
Change-Id: I83ab00ec220b7c0ba0d37e7f4c91e945e35aab39
2011-10-18 15:03:21 -07:00
Justin Ho
89038b4df8 Update Settings Storage app icon
Change-Id: Ic4057f61a7e11fcfceb619ded7152621718262c0
2011-10-17 15:18:14 -07:00
Nick Pelly
8d32a01bd2 Add NFC to airplane mode
NFC now observes airplanes mode, and is by default toggleable in airplane mode.

Change-Id: I5f19d35422c9eb1cffb0b5e0631b3f3c5eeaedcf
2011-08-09 16:31:46 -07:00
Amith Yamasani
42722bfa13 Volume panel changes.
Combined volume panel only in tablets. On phones show active volume.
Added dummy assets for ring+notification icon.

Deprecated the NOTIFICATION_USES_RING_VOLUME. Now they are always
tied together. Audio manager changes still required to ensure that.

Initialize all feedback sounds to true.

Change-Id: I3ad7890c9be9334eedb5f3b709a4b6995fe24638
2011-08-01 16:45:28 -07:00
Svetoslav Ganov
8cbe6e8f12 Merge "Updating the data base upgrade/creation code for the new touch exploraion setting." 2011-07-28 12:29:29 -07:00
Svetoslav Ganov
a28a16d1c2 Updating the data base upgrade/creation code for the new touch exploraion setting.
1. Update the database creation/upgrade code to take care of the new setting
   to enable touch exploration.

2. Made the tocuh exploration settings persistent to the cloud.

Change-Id: Ie24e9184b4a21869432d11d207cb6464fadbac3b
2011-07-28 11:26:02 -07:00
Eric Fischer
3a6c36fdd7 Import revised translations.
Change-Id: Ia9c97db0cd31b9d3163318b4193a328a614a7098
2011-07-25 17:36:41 -07:00
Mike Lockwood
1324f22d8d Settings: Remove unused USE_PTP_INTERFACE setting
Change-Id: I743b81379053caece38c19c59bc76d6cda763d45
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-13 22:21:01 -04:00
Jeff Brown
7218d830e2 resolved conflicts for merge of ca2b552d to master
Change-Id: I2f3693a59042ac5aa2d7bcdc3a504c78dc99a18b
2011-06-03 15:50:27 -07:00
Jeff Brown
1a84fd1fb7 Add a preference panel for mouse speed.
Bug: 4124987
Change-Id: I3ce175d268a1d043cf5878481261b1049a15a149
2011-06-02 15:39:21 -07:00
Eric Fischer
8447a13f9c Import revised translations.
Change-Id: I10a93a6f3a274354e88263d86a8855d1e7121f58
2011-05-26 15:34:01 -07:00
Svetoslav Ganov
54d068ec6a Add system wide management of core settings
bug:3505060

Since we want to have some settings that are used very frequently
by many applications (long-press timeout is one example) these should
be managed efficiently to reduce lookups from different processes
because in the case of a cache miss a disk I/O is performed. Now
the system manages such core settings and propagates them to the
application processes.

Change-Id: Ie793211baf8770f2181ac8ba9d7c2609dfaa32a7
2011-03-02 18:22:49 -08:00
Paul Westbrook
d99d0dc43a Enable retrieving default download manager settings
Enable retrieving the default download manager settings from
a resource, when the SettingsProvider database is created

The default setting for these values is -1, which will cause
DownloadManger to not enforce a limit.

Bug: 3341145
Change-Id: I25294d0f75fb0bdf20d4bef54457056c25c31add
2011-02-01 14:36:24 -08:00
Amith Yamasani
43dee06479 Set the default state of NOTIFICATIONS_USE_RING_VOLUME.
Bug: 3365600

This doesn't affect upgrades, only new installs.

Don't backup/restore NOTIFICATIONS_USE_RING_VOLUME anymore as it doesn't
work well across device types and can wedge the device into a state
where you can never hear notification sounds.

Change-Id: I703e1db539eb4ac45b273f46ada0b4bbf3b981bb
2011-01-20 12:34:03 -08:00
Svetoslav Ganov
bfc3ce78f4 Updating the WebView accessibility key bindings after discussion with the access-eng team
Change-Id: I39a303864b94a8a11b6cded9b8bb23041ad91502
2011-01-13 01:20:39 -08:00
Svetoslav Ganov
b01c3d2bf2 WebView accessibility key bindings do not allow mapping of all meta keys. Exception when turning off acessibility and having a WebView showing content.
bug:3341772

1.  Now a key in the binding is represented as a long with 32 MSB for modifiers and 32 LSB for keyCode.

bug: 3340732

1. Added check in the WebView key handling code to diable the accessibility injector/injected script in
   case accessibility is been disabled after loading the content.

Change-Id: Ic3746dff16ec77ba682a5b139cec0e6afd8fc839
2011-01-11 15:11:30 -08:00
Svetoslav Ganov
c93fb656dc bug:3325039 Making the cursor ring movement send accessibility events.
1. Added a mechanism to select the cursor ring content if accessibility is
   enabled - This is achieved by sending an event to the WebCore thread
   (if accessibility is enabled) to select the content of the cursor when
   the latter moves. Added code in WebViewCore to select the given node
   and notify the UI thread for the selection markup which is delivered
   of the accessibility injector which manages sending accessibility
   events. This is relevant for adding accessibility to WebView if
   JavaScript is not enabled. (If JS is enabled we inject a screenreader
   written in JS).

2. Fixed the event delegation to the accessibility injector since it
   should be able to consume key events of interest and perform some
   action which leads to sending appropriate accessibility event.
   In the previous implementation it was possible that the injector
   consumes the event but the latter was bubbled up.

3. Added function to scroll the selection into view while moving it
   around based on user commands.

Note: This is a part of two project commmit.

Change-Id: Ibb81d0468726efbe3bf6e3add1b19c69e3206638
2011-01-07 14:04:22 -08:00
Jeff Brown
caab4d0a50 Update shortcuts.
Also modified the shortcut key handling so that it drops chorded
Search+X keys when even if no shortcut was found.  Without this
change, pressing an unhandled shortcut causes the Search widget to
pop up and the character to be typed.

Bug: 3022227
Change-Id: Ic0921428bd1270604ca28caf1f8493727127f4ed
2010-12-13 23:27:17 -08:00
Eric Fischer
d09a98173b Rename Indonesian and Hebrew translations to match Locale.java conventions
Change-Id: Icf4f1896d13a4b6bf86503b16bde189f1834fdcc
2010-12-02 14:05:29 -08:00
Eric Fischer
113141e091 Import initial translations for 20 new locales.
Change-Id: I37d479c9d6293eb57d68ad686d00838445a18890
2010-11-17 16:24:41 -08:00
Daniel Sandler
b73617de46 Rotation lock.
IWindowManager now supports two new methods,
freezeRotation() and thawRotation(), that allow a caller to
temporarily stash the device's current rotation as the
default rotation (when no other constraints are present).

The system bar uses this to implement a user-accessible
rotation lock by calling freezeRotation() and then turning
off accelerometer-based display rotation; unless overridden
by an app, the display will continue to appear in the frozen
rotation until the rotation is unlocked by the user (either
via the rotation lock icon in the system bar or by checking
"rotate screen automatically" in Settings).

Bug: 2949639
Change-Id: Icd21c169d1053719590e72401f229424b254622f
2010-11-04 16:55:29 -04:00