Framework: Option to not lock automatically when a call ends (1/2)

When a call ends while the screen is off the phone is automatically locked. This commit adds an option to disable this behavior.

Navigate to Phone->Settings and uncheck the option Lock when call ends under the advanced settings section.

Commit includes option in english and translation to portuguese.

Change-Id: Ib37d1be2e2238d822c1db2cfc6d23353588a6127
ActionBar: Compute required items prior to optional items

When computing if a item should be shown in the action bar, required items need to be compute prior
to optional ones. Otherwise, in some cases (when the optional menu goes to the left of required
items then the algorithm could determine that optional has space to be shown and force the show of
required items, causing the required items to not be shown).
A concrete case is in the Email app. In the message_view_fragment_option.xml are defined 5 menus,
that when are all shown (xe: in Exchange mailbox account type) the bar is complete filled. But if
the overflow button is forced to be shown (the device has no permanent menu key) the overflow button
overlaps the older button, because space of 'ifRoom' items are wrong computed.

Discussion Change: http://review.cyanogenmod.com/#/c/22396/

+ aosp change https://android-review.googlesource.com/#/c/34700/
Prevent empty overflow popup when there are no overflow items. (jakewharton@gmail.com)

Change-Id: I6fc8e3e202d76f9704d7ec2383c7ee6f7b05ba76
Support GSM AT commands for SMS over bluetooth (1/2)

Modifications required to support the older GSM "AT+" commands for SMS over
the bluetooth transport for use with car radios, etc. This must piggy back
on the existing handsfree code as the spec uses that channel for the commands.
(2 parts: frameworks/base and packages/apps/Phone)

frameworks/base:
Additions to JNI and supporting framework code to allow sending of individual
characters and to receive the PDU stream - neither of which are CR terminated.

IccSmsInterfaceManager.java requires a reversion in sendText() to use
enforceCallingOrSelfPermission() instead of enforceCallingPermission().  This
is apparently the only way Phone.apk can actually send an SMS.  (ICS used the
OrSelf variation while JB changed to use the stricter version.)

Change-Id: Icff0d2c55170e9c47302b21ce3f15ce863c8c756
Signed-off-by: Gary Dezern <garyd9@gmail.com>
Move voip/java/com/android/server/sip to framework2.jar

The method cap that neccessitated framework2.jar is getting quite close
to being full again. These classes can be moved safely and relieves some of
the pressure. Found by ninno_mx.
Fixed: Removed undesired changes, sorry.
Change-Id: I91c65d8efbd7fa68b77714f3892c9be184b4f3bf
Frameworks_base: Simplified Chinese translations

Added new strings as well as revise existing strings for better
accuracy and to reflect changes made to the English strings.

Patch Set 2: Further revision and corrections.

Change-Id: I8e3a95335e8eb7111eaac91089bcd22c1eadc014
telephony: let us write just the aid on getIMSIForApp

This implements a new RIL compatibility feature, "writeaidonly", that
lets us write just the aid, without the preceding 1. This is needed to
be able to read the IMSI correctly on some Motorola RILs

Change-Id: I48e9d76db6730571c01d59313fc7a5e79845f922
DockAudio: Always route audio back to normal on undock.

Only ignore dock event when docking, not undocking.

Previously for Samsung devices that utilize the extra setting to enable
the dock audio, if the device setting is disabled while on the dock, audio
is prevented from routing back to the device speaker after undocking.

Change-Id: Ib182751a29bf7ba8feb9ff153cd3708df80f7ee6
LockscreenShortcuts : Fix minor bugs

Fixes :

      - Inability to have contacts/direct dials..etc on lockscreen (http://goo.gl/BKEJs)
      - Multiple activities of same type on stack.

Change-Id: I6c2c3e1c87239267601d78eb38778d0388f4a41c
Accurately display connectivity info in tablet status bar

Currently, if the connected network is something other than a Wi-Fi
network or a mobile network, the status bar popup would display
"No Internet Connection" which is misleading.

Patched wifiLabel (which is only used here anyway) to also allow
other connectivity (bluetooth, ethernet) to display correctly.

Before: http://imgur.com/YMB2C
After: http://imgur.com/kFt3Q

Change-Id: I2ac8d453e001c5ac14c0f2ebd97e1ef73551c37e
NotificationPowerWidget : Snap widgets

Snap widgets in place, rather than allowing partial widgets

Patchset 2 : Register only if necessary
Patchset 3 : New implementation (CustomView)
             Allow free scrolling, snap when stationary

Change-Id: Ie1db349a449a2770e4cfd491a7e7c356130e75a0
Merge "Framework: Option to not lock automatically when a call ends (1/2)" into jellybean
Add CmCircleBattery to StatusBar options (1/2)

Cyanogenmod Circle Battery implementation
- Done 100% in pure code, wont blow up the framework with countless png resources
- View can be shown with or without percentage as text inside
- Indicator turns holo-red below 15%.
- All sizes are calculated on the fly and should work on all current and
  future screen resolutions. (needs testing)
- All colors are read from the holo-theme, so changes by themers will be obeyed.
- The lower part of the pictures tries to illustrate the charge animation.

Screenshot: http://dl.dropbox.com/u/16186798/cm10/cm-circle-bat-mockup.png

Patchset 2:
- Level >= 95% is treated as 100% (see inline comment)
- paint.setDither(true) should reduce artifacts on 16bit color depth devices
- modified tablet-specific xml. alignment should fit now (not tested yet)
- cleaned up some xml formating derps
- fixed possible crash bug

PS3: 97% seems better than 95% for full circle

Patchset 4+5: lost track of patchsets.

Patchset 6:
The battery fill-up above 97% was a quick shot. In the end,
we show the right percentage in text, but circle fills up, once 97% is
reached. This also solves the issue, that circle with very tiny gap
looks slightly unbalanced.

Also gave in about code formating. Its for the greater good. (I still am
convinced, the whole world is wrong about this :)

Patchset 7:
- Fix derp

Change-Id: I3dfe0b4e69c545cb9bbad2d1461d154618c60e00
Bugfix: Dock events can have state greater than 1

On Samsung devices the USB audio is being routed for every dock event
It is ignoring the checkbox (in advanced settings) to not route audio

This bug was introduced with this patch
http://review.cyanogenmod.com/#/c/24830/

The state of an event can be 2 or 4 depending on the dock type

This patch switches for looking for state > 0 rather than  state ==1

Change-Id: I978d18ec36e74e821a6d300136377158901cdf50
CatService: fix typo

Change-Id: Ic398555349bb2ae5fb7fe754fc48d69d391b2831
Add onClick action to notification clock and date

In expanded StatusBar
- clicking clock opens alarms
- clicking date opens calendar - today selected

http://www.youtube.com/watch?v=MLom5e3nQoA

PS3: added turn-blue-on-click
PS4++: nitpicking cleanups

Change-Id: I850732dcca0e65af59ce009aaf9f7ba18bcaf915
LocationManagerService: Respect the type of NetworkInfo that was passed

The location manager service which sends network info updates to the
gps location providers was changed to ignore the connectivity update's
type and just fetch the dominant network info, but this is a problem
since we want SUPL updates even if it's not the dominant network type.

This change makes it fetch the latest info about the network type for
which the update was actually intended.

Change-Id: Ic8e78482f584de3143a6b815361f6b6d49c498b5
SettingsProvider: Revert default WiFi sleep policy to "never"

Change Ie459b8e70fdbc7c605452fe0692d7bc26460e939 has the side effect of
altering the default WiFi sleep policy back to "default" (off when screen
turns off), which is contrary to the policy of "never" established in
I0598af41fe0144f2dfddc5bd331bd91d91e0ffea.

Change-Id: Id8b6a1abbf27ca653277399a0d8c84a121ff93c8
Add onLongClick action to notication clock and date

- As discussed with ciwrl on google+, LongClick opens DateTimeSettings
- Moved on-touch color change to superior xml solution, as suggested by
  Andrew Boren <preludedrew@gmail.com> here: http://review.evervolv.com/#/c/3676/"

Change-Id: I1fae71e347ffcb786227ba0b2651a66f2df35e27
Fixed a typo in error message

Change-Id: Ifbc6cfaf09e384953d778e18b9355e7d4013bdd6
Merge "LocationManagerService: Respect the type of NetworkInfo that was passed" into jellybean