core: bring original volume panel expand icon back

This one makes more sense from a UX standpoint
Update the color of the expandable volume panel icon

This still retains the old settings icon since it
happens to fit perfectly. Pressing it does indeed
show you a bunch of sliders like the icon indicates.

Also add xhdpi and xxhdpi versions.
Fix: Linked volumes

Check for linked volumes a little earlier than we previously did.
This ensures the correct value is set after boot.

Change-Id: I207680bed1b849351d6cbb283ae415621fab58b4
Merge "core: bring original volume panel expand icon back" into kitkat
Merge "Update the color of the expandable volume panel icon" into kitkat
Merge "Fix: Linked volumes" into kitkat
Quicksettings: Better switch effect.

* Take switch outside tile animation.
* Change a bit new X axis animation.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Signed-off-by: Jesus David <jesdga95@gmail.com>
Change-Id: Iad3ff92dddea4bf86650c7269a859ac577063432
Merge branch 'pa_upstream/kitkat'
Merge remote-tracking branch 'PA/kitkat' into remix-legacy
MountService: Add support for multiple storage configurations

Currently AOSP only supports a single storage configuration that is hardcoded
in storage_list.xml. Some device updates are now merging data and internal
storage partitions, and as a result require the storage list to support two
different variations.

By utilizing the sys.storage_legacy property this will allow for the framework
to support multiple configurations which can be determined during boot.

Change-Id: Id795520425ea3e99a5234e10c978dcdbd68a1311
Fix null check for BaseObj.equals.

Change-Id: I4f060697db175cbf0b5617c1220db853bbe53f1f
Avoid duplication of AppWindowToken in created Task

When WindowManagerService creates a new Task, it passes atoken to the
Task constructor. In this case atoken is added to mAppTokens list by
the Task constructor and then it is added manually again by calling
newTask.mAppTokens.add(atoken). As a result, the same atoken is present
in mAppTokens list twice.

When another window token is added to the list, it may be placed in
beetwen duplicated tokens and corresponding window will be hidden from
the screen by corresponding duplicated windows.
From user perspective it means that some windows will not be displayed
on the screen.

The issue is fixed by avoid adding atoken to mAppTokens list manually
when it was added already in Task constructor.

Change-Id: I10628e68186160fffdde07beb7d84ab3cecb7051
Harden NsdManager against null-dereference crashes

Due to race conditions or programming errors, the NsdManager
can attempt to process an asynchronous status message (and issue
a callback to the listener) after the listener has already been
removed from the NsdManager state.  This causes dereferencing of
null objects, and a crash.

Split out the three async-queue message cases:  these are ones
in which message.arg2 does not hold an NsdManager array index
and the code should not interpret this field as if it were.

Add an explicit check for "null listener" (the array index in the
message has already been released), log a warning, and exit early.

Safeguard accesses to the "NSD service type" string from a (possibly
null) NsdServiceInfo object... return a constant "?" string rather
than crashing.

Bug: 9016259

Change-Id: I40aabdfc65d86fdd0eaac7a1e7e56e6ff69796cf
Validate objects are from the correct context.

Change-Id: I7d87b0e253b8d2e36d1aed790cfe3a7dd23e158f
Merge pull request #22 from AOSPAL/remix-legacy

Merge