3352 Commits

Author SHA1 Message Date
Winson Chung
9ad8a26f6d am 43229d70: Adding IME tile.
* commit '43229d707515ce51c52f63e15257960c6d29162c':
  Adding IME tile.
2012-09-12 18:06:23 -07:00
Winson Chung
43229d7075 Adding IME tile.
- Adding checks for telephony before showing RSSI tile

Change-Id: I1dc4fb7a07d9693d8c6a96678ac9d4ff9abafe44
2012-09-12 18:06:23 -07:00
Christopher Tate
32ad490c12 am 79cf1a22: Merge "Moved a few telephony settings from Secure to Global" into jb-mr1-dev
* commit '79cf1a22914aa8ca245a6ca598348bbbb19ff9a6':
  Moved a few telephony settings from Secure to Global
2012-09-12 17:53:48 -07:00
Christopher Tate
c868b645b4 Moved a few telephony settings from Secure to Global
Also tidy up the bookkeeping for a few settings that were earlier
moved to Global without the redirect tables being fixed up.

Change-Id: I69275db3b2636cd6ba9c8c51b88e97d8ba4b7b7d
2012-09-12 17:42:43 -07:00
Winson Chung
4946581b04 am 709c542b: Merge "Fixing crash in emulator due to missing bluetooth." into jb-mr1-dev
* commit '709c542b6758d2e40ed15ab8aa2a2dc0e52a342d':
  Fixing crash in emulator due to missing bluetooth.
2012-09-11 17:13:38 -07:00
Winson Chung
709c542b67 Merge "Fixing crash in emulator due to missing bluetooth." into jb-mr1-dev 2012-09-11 17:10:43 -07:00
Winson Chung
6072b00b62 Fixing crash in emulator due to missing bluetooth.
Change-Id: I0f652198cc759fac44f0de1729fcb52f515071a3
2012-09-11 17:10:32 -07:00
Benoit Goby
9a0c12fa5f am 73e0d75c: Merge "UsbDebuggingActivity: Strings update after review" into jb-mr1-dev
* commit '73e0d75c9d3869a39635e55461349b3f5dd75604':
  UsbDebuggingActivity: Strings update after review
2012-09-11 16:16:34 -07:00
Benoit Goby
45f6aaa558 UsbDebuggingActivity: Strings update after review
Bug: 7056209
Change-Id: I447b021973332414e5e57a3b7066bf25dfccb628
2012-09-11 16:10:35 -07:00
Christopher Tate
4a7e0fc604 am 99c0cb3b: Merge "Set up default (random) Android IDs for all users" into jb-mr1-dev
* commit '99c0cb3b9d9fe187879ed1e03a8cc850f1906cc9':
  Set up default (random) Android IDs for all users
2012-09-11 15:23:16 -07:00
Christopher Tate
4dc7a68dbe Set up default (random) Android IDs for all users
Also correct some now-misleading terminology in a permission-check
log message, and fix a bug in which a system component trying to
write to a secondary user's settings would wind up writing the
owner's settings instead.

Bug 7132405

Change-Id: I5b8fafc35720390a01652e386ab5b7c0ad751abe
2012-09-11 14:51:33 -07:00
Winson Chung
2b9ae535ac am db425bbb: Merge "Fixing issue with Airplane Mode. (Bug 7141144)" into jb-mr1-dev
* commit 'db425bbb283d5345616c5bb762b9650a7ff19980':
  Fixing issue with Airplane Mode. (Bug 7141144)
2012-09-11 10:01:07 -07:00
Winson Chung
db425bbb28 Merge "Fixing issue with Airplane Mode. (Bug 7141144)" into jb-mr1-dev 2012-09-11 09:59:39 -07:00
Winson Chung
08b1cc8475 Fixing issue with Airplane Mode. (Bug 7141144)
Change-Id: I83e2bdd5e8b0e0c732e8d46c47f8619daa0c7c02
2012-09-11 10:01:24 -07:00
Winson Chung
265560cb96 am 1679b368: Adding brightness dialog to quick settings.
* commit '1679b368004239a81734ca4b5f5e2487597b8f52':
  Adding brightness dialog to quick settings.
2012-09-10 20:23:33 -07:00
Winson Chung
ae800def99 am e641b6a9: Adding alarm to quick settings.
* commit 'e641b6a99cabad7076e10694a5b1b30f449de462':
  Adding alarm to quick settings.
2012-09-10 20:21:46 -07:00
Winson Chung
1679b36800 Adding brightness dialog to quick settings.
Change-Id: I81f640138057c26320d41f70c7f47a518fc1bd4a
2012-09-10 20:20:22 -07:00
Winson Chung
e641b6a99c Adding alarm to quick settings.
- Cleaning up some code

Change-Id: Iaea2077084ba16b4fb4d47c8b2df5da6983ceb91
2012-09-10 20:20:03 -07:00
Christopher Tate
e8f2334e7e am e1f02ef0: Merge "Miscellaneous fixes for Settings" into jb-mr1-dev
* commit 'e1f02ef080e5046e03b4b3b7bb64e22e7790b707':
  Miscellaneous fixes for Settings
2012-09-10 19:23:25 -07:00
Christopher Tate
d5fe147924 Miscellaneous fixes for Settings
(1) It's okay to write literal null as a settings element value
(2) Properly convey the user handle in the put-for-user variant

Bug 7137201
Bug 7139826

Change-Id: I0ed77d65e8377f0e0580a2668f10b7167ad34928
2012-09-10 17:32:39 -07:00
Christopher Tate
5f3af83acc am 4e2eb658: Merge "Update airplane-mode manipulation for the new Settings namespace" into jb-mr1-dev
* commit '4e2eb6581f8ee91166cbfd80b531f628dedab89a':
  Update airplane-mode manipulation for the new Settings namespace
2012-09-10 17:18:48 -07:00
Christopher Tate
c09cdce1b0 Update airplane-mode manipulation for the new Settings namespace
Quick Settings and global actions (aka longpress-Power) toggles are
included in this CL.  The Settings app manipulations are updated in
a different CL because that's a different git package.

Bug 7132230

Change-Id: I50838f5e8d7b25a750d2bcae90bf384b09816dbb
2012-09-10 16:50:57 -07:00
Baligh Uddin
996be34081 Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-09-10 11:13:44 -07:00
John Spurlock
c88e53ef4f am 2323ec7e: Merge "Notifications: Hide ticker updates from background users." into jb-mr1-dev
* commit '2323ec7ee1fb614950f2f6891514964d07fd0bd4':
  Notifications: Hide ticker updates from background users.
2012-09-10 11:09:29 -07:00
Baligh Uddin
7c07cdd668 Import translations. DO NOT MERGE
Change-Id: I2996f36103f8089ab115bc87c175d4c1ca6e4625
Auto-generated-cl: translation import
2012-09-10 10:44:19 -07:00
John Spurlock
61e36836b7 Notifications: Hide ticker updates from background users.
We should only update the notification ticker area when
the notification is for the current user.

Bug:6924835
Change-Id: Ieaccbd8c972b3d0f62c74d29d42e0fa77ec3148c
2012-09-10 09:43:27 -04:00
Jeff Brown
493ce08deb am 3e6d426d: Merge "Handle case where user info might not be available." into jb-mr1-dev
* commit '3e6d426d8d28e172af6b62c7b9e4b70c25c5facb':
  Handle case where user info might not be available.
2012-09-09 17:33:06 -07:00
Jeff Brown
7a8cce3d8a Handle case where user info might not be available.
The CursorLoader can return a null cursor if the query
failed for some reason.  This may happen in certain states
where the provider is not available.

Bug: 7133411
Change-Id: Id7b383bca45a61bc8726ba9f6115cbbc07e5d0b4
2012-09-09 17:26:50 -07:00
Jeff Brown
21fb044749 am fdb5bd26: Merge "Disable wifi display API when the adapter is not registered." into jb-mr1-dev
* commit 'fdb5bd261d7836b5f7e9c20d75709ca978d6eb18':
  Disable wifi display API when the adapter is not registered.
2012-09-09 13:32:03 -07:00
Jeff Brown
21c7153d30 Disable wifi display API when the adapter is not registered.
Bug: 7132341
Change-Id: I46d859082077afd2c8adc829ad285977dff80d07
2012-09-09 13:28:04 -07:00
Jeff Brown
b6ef5dafb3 am e168edb5: Merge "Add skeleton Wifi-Display tile in QS." into jb-mr1-dev
* commit 'e168edb5ced3e2659fe722c08e702a977a2ad78e':
  Add skeleton Wifi-Display tile in QS.
2012-09-09 00:27:57 -07:00
Jeff Brown
508257bdfc Add skeleton Wifi-Display tile in QS.
Pop up a little dialog when the tile is touched with options
to connect, scan and disconnect.

Change-Id: Ic9e28344899310692ace36c322974df175f82e08
2012-09-08 23:15:12 -07:00
Winson Chung
c5b739c4fc am a4a2bee7: Merge "Initial changes to add QuickSettings." into jb-mr1-dev
* commit 'a4a2bee79a5ff8a2e6887a0135ed79b7b733891d':
  Initial changes to add QuickSettings.
2012-09-08 15:58:25 -07:00
Winson Chung
d63c597865 Initial changes to add QuickSettings.
Change-Id: If510f74d6046929e5e8a794c6dc2fddb15a03d6b
2012-09-08 15:55:31 -07:00
Christopher Tate
d6200c18a8 am 0a266965: Merge "Log all individual settings restored" into jb-mr1-dev
* commit '0a26696560461b7fc4ecbf9588c291d46d253bda':
  Log all individual settings restored
2012-09-07 18:12:51 -07:00
Christopher Tate
0a26696560 Merge "Log all individual settings restored" into jb-mr1-dev 2012-09-07 18:10:02 -07:00
Christopher Tate
d71778804c Log all individual settings restored
Trying to get a handle on bug 7129406

Change-Id: If436c7888f0a8565d83c03024c54ea6ec83e7955
2012-09-07 18:09:03 -07:00
rich cannings
b0bf0e9281 am 1275abd0: Merge "Move verification settings to Settings.Global" into jb-mr1-dev
* commit '1275abd013eee87b3fec5b704a799440cb1c71fe':
  Move verification settings to Settings.Global
2012-09-07 16:44:21 -07:00
Christopher Tate
34937378b6 am 970683c5: Merge "Further fixup of migration to global settings" into jb-mr1-dev
* commit '970683c5d42a1d8588d656d4e570ce4f0f6e0abc':
  Further fixup of migration to global settings
2012-09-07 16:42:25 -07:00
rich cannings
4d8fc793f0 Move verification settings to Settings.Global
Move Settings.Secure.PACKAGE_VERIFIER_ENABLE,
Settings.Secure.PACKAGE_VERIFIER_TIMEOUT,
Settings.Secure.PACKAGE_VERIFIER_DEFAULT_RESPONSE to
Settings.Global.PACKAGE_VERIFIER_ENABLE,
Settings.Global.PACKAGE_VERIFIER_TIMEOUT,
Settings.Global.PACKAGE_VERIFIER_DEFAULT_RESPONSE, respectively.

Bug: 7082362
Change-Id: I21fde031a330563891c0129132f3d6369ac5e7a5
2012-09-07 15:34:08 -07:00
Christopher Tate
c4575a125d am 1a9c0dfd: Mark all settings upgrade transactions as successful along the way
* commit '1a9c0dfdbbeba1bc498170be283394ba3e0e9752':
  Mark all settings upgrade transactions as successful along the way
2012-09-07 13:46:15 -07:00
Christopher Tate
9d4e8291e3 am f92b57ca: Merge "Don\'t use toArray() inappropriately" into jb-mr1-dev
* commit 'f92b57ca8beb231e06a792db88ef3a4605901a7d':
  Don't use toArray() inappropriately
2012-09-07 13:45:54 -07:00
Svetoslav Ganov
5cd38bc1de am 6da58271: Merge "Screen magnification - feature - framework." into jb-mr1-dev
* commit '6da5827193408ec6d2a77b64448b2f1c40b9a482':
  Screen magnification - feature - framework.
2012-09-07 13:45:35 -07:00
Christopher Tate
fbf9b82c19 am 06efb530: Per-user settings
* commit '06efb530a479ea12398c1b3ee4b80e2ac85a1680':
  Per-user settings
2012-09-07 13:44:36 -07:00
rich cannings
3d7e13e81c am c862d0fc: Merge "Add secure setting for package verification" into jb-mr1-dev
* commit 'c862d0fc0574de74bf1758f69c98ccbf8e506532':
  Add secure setting for package verification
2012-09-07 13:44:00 -07:00
Christopher Tate
9219874be9 Further fixup of migration to global settings
The Settings.System.STAY_ON_WHILE_PLUGGED element should have been
migrated to the global table, but wasn't.  This CL does a couple of
things around dealing with this:

(1) Tidies up the migration tables outright, so that they correctly
    reflect the intended final state

(2) Introduces the option of doing a key migration only if the element
    has not yet been moved to the new table, to allow for safe retry-
    -with-ignore.  This will make it easy to make any future alterations
    to the global vs per-user association of individual elements

(3) Migrates the STAY_ON_WHILE_PLUGGED element if it hasn't been already.

Bug 7126575

Change-Id: Ic5fa9ba45f11b09270bd5bc94c26fbbd84abc749
2012-09-07 12:00:13 -07:00
Christopher Tate
1a9c0dfdbb Mark all settings upgrade transactions as successful along the way
If you don't, then the upgrade gets rolled back by the open helper,
and Bad Stuff Happens.

Change-Id: I191263e5cceb21b96ef413d28e7ee00a924acfc2
2012-09-06 22:52:23 -07:00
Christopher Tate
a96798e4a5 Don't use toArray() inappropriately
HashSet<String>.toArray() does not give you an array of strings.

Change-Id: I2053e714b12eab718aaf75d92bbc0625745b9932
2012-09-06 19:17:45 -07:00
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
Christopher Tate
06efb530a4 Per-user settings
Each user has its own Settings.System.* and Settings.Secure.* namespace now.  In
addition, this CL introduces the new Settings.Global.* namespace, which contains
a number of previously-elsewhere named settings entities; these Global.* entities
are common to all users.  Because these elements have been moved from their prior
existence in the other namespaces, attempts to access them under their old names
and namespaces are detected and redirected (with appropriate compile-time and
logging messages) to their new homes.

The new Global.* namespace can only be written by system-level code, just like
the existing Secure.* namespace.  If an app attempts to write a key that was
previously in the System.* namespace but has been moved to the Global.* namespace,
then a warning is logged and no write is performed; the action is a no-op.  (The
app is explicitly not crashed, to avoid breaking well-behaved apps that can't
know any better.)

There is also now a hidden API for getting/setting settings entities associated
with a user other than the caller's.  Reading/writing data for a user other than
yourself requires the signature-level INTERACT_ACROSS_USERS_FULL permission.

Manipulating data for a different user cannot be done via the ContentProvider
query() / insert() APIs; you must use the Settings.get/put APIs for that degree
of control.  In general, use of the get/set API is *strongly* preferred over
query-type access to Settings.

Bug 6985398

Change-Id: Ibee54ddff99fb847c8c2479c23b50f1e7524d724
2012-09-06 16:39:08 -07:00