Phone: Add Blacklist functionality

Original code written for CM7 by Cytown, Cyanogen and nhnt11.

Modified for CM10.1 by Danny Baumann and dvtonder.
Drawables by Björn Lundén

cherry-picked from
http://review.cyanogenmod.org/#/c/34904/20
and fixed conflicts to work on AOKP.

PS2:rebase
PS3:use getPrefs(context) for CM Advanced settings

Change-Id: Ifac0a758d0f0bab166acf1e5a569327a15e197be
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Phone blacklist: block private numbers functionality

PS2 : fix rebase derp ( http://review.cyanogenmod.org/#/c/35850 )

Change-Id: Ib271a79889e6e5ade6107c024301b045596ee151
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Fix up 'add to blacklist' button behaviour

- Don't crash in landscape, as button isn't present in landscape layout
- Only show it for incoming calls with number (it makes no sense to
  blacklist outgoing calls, and calls without number can't be
  blacklisted on a per-call basis anyway)

JIRA: CYAN-865
Change-Id: Ie98e09abc4f4e62e67ccf12322e2a0cea0e26d60
Allow notification expansion if multiple calls were missed or
blacklisted.

The expanded notification shows a list of the missed/blacklisted calls (up to 6) in
that case.

Change-Id: I63db3eb6e773119a0bf8c0c430fcaa6f32d5e6f2
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Phone: Add blacklist unknown numbers functionality

	This way you can choose to block numbers not
	in your contact list

	Add counters to missed and blacklisted calls
	notifications

Patchset 4:
	- Remove counters for a single call
	- Reformat
	- Move the dependency of the "unknown numbers" preference
	  under that of "private numbers", that is the logical
	  parent

Patchset 5:
	- Fix formatting

Patchset 6:
	- Solve a bug in which a private number would be blocked
	  as unknown, with the message "Unknown number: 0000"
	- Code the dependency between the two preference sets,
	  "Block private numbers" and "Block unknown numbers"
	- Make some code lines cleaner

Patchset 7 - 13
	- Some more corrections, spaces and tabs fixing.

Change-Id: I02ff2eaed4d9b8e60c968349620bf100534390f2
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Phone: Add summary to block private numbers functionality

This commit adds a summary text to the block private numbers
functionality to avoid ugly ellipsizes in languages where the
translations get longer (e.g. German).

Change-Id: Ie57cb2a41ec6689855c1d6879f66f439bb9e8b7a
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Do not attempt to do any matching against the '0000' number.

Additionally, uncheck 'block unknown' when its dependency 'block
private' is unchecked to make the shared pref values follow the expected
behaviour.

Change-Id: Id62e45a374c8c104924e6397f90c274ec9726cb8
Merge remote-tracking branch 'aokp/jb-mr1' into jb-mr1