Revert "Volume rocker: Option to control cursor in text fields (1/2)"

This reverts commit 539ac320f20abed17b8439d41fa2e384c865b99f.

Conflicts:
	core/java/android/provider/Settings.java

Change-Id: I5212574172aedaecc526dd0ab5f22aa4cc31670a
Base: Add back all keyboard IME features back (1/2) and Volume rocker: Option to control cursor in text fields (1/2)

This commit adds:

- ime switcher notification - thanks cm
- slims fullscreen disable on landscape
- slims force autorotation on IME
- volume button control for navigate in the message - thanks cm
- slims force to show always enter key

Some fixes to the 4.2/4.3 implementations + added full multiuser
support for all this features

Change-Id: I4242a67f88cfd63f20744fc5b398700cf5697644

Conflicts:
	services/java/com/android/server/InputMethodManagerService.java
Fix IME Features Back implementation

Change-Id: I16364a9ef29b674a930e1e45f0623fae6cbeb2f3
Frameworks: Slim recent app screen [1/2]

Squashed commits from N5X CM11 Based. Ported to AOSPA by @AragaoAnderson

One of the parts on AOSP google missed to update/improve in the last
couple of releases is the recent app screen to allow better and faster
multitasking. I had always a special vision how it could/should look
and gives the user a faster workflow.

This commit is now our new recent screen. It is a complete new implementation
and replaces googles AOSP recent app screen. The code changes in the base itself
are quiet miniml to call the new recent screen.

Some notes:

1. This patch needs a new repo: frameworks_opt_cards which is a central repo
   to get any kind of googles cards style. Thanks Gabrielle Mariotti a ton who
   made the base for this library and hellped a lot out.  We just fixed together with him some parts
   and mad it useable as AOSP central library. So we can use it later for other
   changes as well

2. Preload needs to work 100%. So it is needed to check that the calling parts
   (like hw key rebinding, pie, navigation bar) do a proper preload. If they do not
   recent screen will just not show up. To follow what they are doing you can enable
   debug in RecentController.java which exactly shows what was called.

Some notes to the patch itself:

- Recent app  screen slides from the right edge into the screen

- Show recent apps in new google card style. Most recent apps show
  expanded with the app screenshot. Other are collapsed. Of course
  the user can change expanded/collapse of each app during the session where the state
  will be restored on next access.

- Compared to AOSP recents we do a 3 stage loading
  1. step: preload the task list and build or update the cards (does not load any content at this point)
  2. step: User actually toggled the recent screen....icons, text and screenshot thumbnail which will get visible are loaded now
  3. step: Recent screen is fully animated in. All other non visible content at this time are loaded now.
  This allows a smooth experience for the user and a minimal load on the first 2 steps. Especially important due that we handle
  a lot animations which are very picky when it comes to background loads. last 2 steps are async multithreaded loading tasks.

- We are using for the app icons and thumbnails a bitmap LRU cache controller to have fast access to the bitmaps we need. This improves especially
  the scrolling and as well the loading time due that allready loaded app icons are holded in the LRU cache.

- Theme support is included as well for all items the recent screen has

- Most important point: Way faster workflow now. The recent screen neither freezes the underlaying app nor it does interrupt the current process the
  user is in. It just slides over the current app about 40% of the screen. Back button as well just an outside touch (which will be passed trough to the app)
  allows to immediatelly go ahead in your workflow.

- Normal click opens an app, longpress opens app detail screen (note: we have only one hidden action on our current recents. If we later decide there could be
  other actions as well...showing a google card menu button on the top right is a very easy task and allready provided from the frameworks_opt_cards lib)
  swipe left or right removes the app from the current tasks

- Pinch to zoom out gesture provides the ability to remove all tasks with a big red warning!!

- All above mentioned actions are animated.

- As usual it is multiDpi compatible

- A lot work went into the optimizing especially for low end non gfx devices where animations
  as well listview scrolling is not that easy. We got the maximum out of optimization here which
  gives acceptable results on low end devices and amazing one on the gfx capable devices.

- A small side note this patch contains as well a fix on navigation bar preload.

Thats the short description.....user need to see it to get the real benefits of this new way.

cheers

Conflicts:
	core/res/res/values/n5x_symbols.xml
	packages/SystemUI/Android.mk
	packages/SystemUI/res/values/n5x_colors.xml
	packages/SystemUI/res/values/n5x_config.xml
	packages/SystemUI/res/values/n5x_styles.xml

Change-Id: Ia1fe37c346cd24036d3fcdda05d45b4d37fb7f00

Conflicts:
	core/res/res/values/n5x_symbols.xml
	core/res/res/values/pa_colors.xml
	packages/SystemUI/Android.mk
	packages/SystemUI/res/values-sw600dp/config.xml
	packages/SystemUI/res/values/n5x_colors.xml
	packages/SystemUI/res/values/n5x_dimens.xml
	packages/SystemUI/res/values/n5x_styles.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Conflicts:
	core/res/res/values/n5x_config.xml
	core/res/res/values/n5x_symbols.xml
	tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
Framework: Add 0.75f animation scale

Change-Id: I19ac9656932c7e0f1821380f9300b8ba75261933
Frameworks: add 1dp more bottom padding

Change-Id: I0d425a43ca8e416300557bfd3c2c9d2bd3d033c6
Frameworks: Statusbar clock and date customizations

    Ported to AOSPA from N5X CM11 Based by @AragaoAnderson

    Some things changed on kitkat + our old code needed in general a bit
    rework. All done with this patchset.

    This commit add support for:

    - Clock and date enable/disable
    - Clock and date position
    - AM/PM styles multilang support
    - Date format
    - Date style

Change-Id: Id57f381ae762788ca677b2900126ed1f79e380e8

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/layout/msim_status_bar.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
Quick Settings: Swipe to switch

Adds the ability to switch to/from Quick Settings, using a sideways
swipe gesture.

Video demonstration: http://www.youtube.com/watch?v=jZaDVBIFAuA
(Video for the initial Patch Set only)

Patch Set 2: Flip animation follows your finger
Patch Set 3: Fix commit message
Patch Set 4: Fix commit message (again)
Patch Set 5: Pin down the statusbar during swipe
Patch Set 6: Smooth out animation after releasing swipe
Patch Set 7: Swipe in any direction to switch views
Patch Set 8: Ensure the statusbar is properly pinned down
Patch Set 9: Fix logic and event handling issues
Patch Set 10: Refactor for readability
Patch Set 11: Limit swipe detection to the bottom bar

ThiagoVinicius authored 10 months ago

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java

Change-Id: Ied02027707b551bc13296cfe0bfad4e72ff8e07c
Framework: PEEK wakelock timeout [1/2]

Change-Id: I61528b4fe4b086bded090a0af7d82158734793c3

Conflicts:
	core/java/android/provider/Settings.java

Conflicts:
	core/java/android/provider/Settings.java
Base: More derp fixes

Change-Id: I5f06687a8c3e653dfe7481aca13a3a5031025e56
Framework: Notification PEEK Time [1/2]

Based on PEEK wakelock timeout code from here: https://github.com/AragaoAnderson/n5x_frameworks_base/commit/047f256eb0aac4d190db928d4a51c9828dddabb7

Change-Id: Iff162886f902205f8df783aae47b497031a4be27

Conflicts:
	core/java/android/provider/Settings.java

Conflicts:
	core/java/android/provider/Settings.java
Framework: Fix Notification PEEK Time implementation

Change-Id: I7202724eee9cb47a2ffeb3b6f075341502cf93f1

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/notification/Peek.java
Framework: Fix derps in Notification PEEK Time implementation

Change-Id: Id98705972ca5b0e550467a2072d58933e0e299ba
HOVER: Options to exclude non-clearable and low priority notifications [1/2]

Change-Id: I0563a5a05f697202d11343451c481d8a150717d5

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/notification/Hover.java
HOVER: Option to only show up in Fullscreen-Mode [1/2]

Change-Id: I913fce9e54fc0c79f0b3406a4173bb4b55fd6e25

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/notification/Hover.java
Framework: HOVER Notification Time [1/2]

Users can set a time for HOVER Notification

Use same logical of PEEK Wakelock timeout and Notification Peek Time

Change-Id: Ie8ef9cc77bedfd6148c4e49d04d30a15c86e0b14

Conflicts:
	core/java/android/provider/Settings.java
Framework: Disable HOVER in lock screen [1/2]

User can enable or disable HOVER notification on unsecure lock screen

Introduced by users requests

Change-Id: I903a3442ff35771db6502b2d5f76206ebb4157c4
Framework: Add DeviceUtils.java

Change-Id: I0c4e779ea47c4b421933da239f819238cb78cb05
Framework: Fix some values for HOVER and PEEK implementation

Change-Id: I00e3c145f2e8c8c1be114e421d5257009cb2cf90
Framework: Navigation Bar height setting [1/2]

Change-Id: Ibc8a9b699e7cf13f7b01379c5bc40b52c1506cbf

Conflicts:
	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	core/java/android/provider/Settings.java