Keep only Pulse code for now and build with stock navbar
diff --git a/res/anim/disappear.xml b/res/anim/disappear.xml
deleted file mode 100644
index b1fd5e3..0000000
--- a/res/anim/disappear.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-
-	<alpha
-		android:interpolator="@android:anim/decelerate_interpolator"
-		android:fromAlpha="1.0" android:toAlpha="0.0"
-		android:duration="400"
-	/>
-</set>
\ No newline at end of file
diff --git a/res/anim/grow_from_bottom.xml b/res/anim/grow_from_bottom.xml
deleted file mode 100644
index d2a371d..0000000
--- a/res/anim/grow_from_bottom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-	<scale
-		android:fromXScale="0.3" android:toXScale="1.0"
-		android:fromYScale="0.3" android:toYScale="1.0"
-		android:pivotX="50%" android:pivotY="100%"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-	<alpha
-		android:interpolator="@android:anim/decelerate_interpolator"
-		android:fromAlpha="0.0" android:toAlpha="1.0"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-</set>
diff --git a/res/anim/grow_from_bottomleft_to_topright.xml b/res/anim/grow_from_bottomleft_to_topright.xml
deleted file mode 100644
index a4bf4ea..0000000
--- a/res/anim/grow_from_bottomleft_to_topright.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-	<scale
-		android:fromXScale="0.3" android:toXScale="1.0"
-		android:fromYScale="0.3" android:toYScale="1.0"
-		android:pivotX="0%" android:pivotY="50%"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-	<alpha
-		android:interpolator="@android:anim/decelerate_interpolator"
-		android:fromAlpha="0.0" android:toAlpha="1.0"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-</set>
\ No newline at end of file
diff --git a/res/anim/grow_from_bottomright_to_topleft.xml b/res/anim/grow_from_bottomright_to_topleft.xml
deleted file mode 100644
index 3446623..0000000
--- a/res/anim/grow_from_bottomright_to_topleft.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<set xmlns:android="http://schemas.android.com/apk/res/android">

-	<scale

-		android:fromXScale="0.3" android:toXScale="1.0"

-		android:fromYScale="0.3" android:toYScale="1.0"

-		android:pivotX="100%" android:pivotY="50%"

-		android:duration="@android:integer/config_shortAnimTime"

-	/>

-	<alpha

-		android:interpolator="@android:anim/decelerate_interpolator"

-		android:fromAlpha="0.0" android:toAlpha="1.0"

-		android:duration="@android:integer/config_shortAnimTime"

-	/>

-</set>
\ No newline at end of file
diff --git a/res/anim/pump_bottom.xml b/res/anim/pump_bottom.xml
deleted file mode 100644
index f681951..0000000
--- a/res/anim/pump_bottom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-	<scale
-		android:fromXScale="1.1" android:toXScale="1.0"
-		android:fromYScale="1.1" android:toYScale="1.0"
-		android:pivotX="50%" android:pivotY="100%"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-	<alpha
-		android:interpolator="@android:anim/decelerate_interpolator"
-		android:fromAlpha="0.0" android:toAlpha="1.0"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-</set>
diff --git a/res/anim/shrink_from_top.xml b/res/anim/shrink_from_top.xml
deleted file mode 100644
index 89cd8f4..0000000
--- a/res/anim/shrink_from_top.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-	<scale
-		android:fromXScale="1.0" android:toXScale="0.3"
-		android:fromYScale="1.0" android:toYScale="0.3"
-		android:pivotX="50%" android:pivotY="100%"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-	<alpha
-		android:interpolator="@android:anim/accelerate_interpolator"
-		android:fromAlpha="1.0" android:toAlpha="0.0"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-</set>
diff --git a/res/anim/shrink_from_topleft_to_bottomright.xml b/res/anim/shrink_from_topleft_to_bottomright.xml
deleted file mode 100644
index 1341728..0000000
--- a/res/anim/shrink_from_topleft_to_bottomright.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<set xmlns:android="http://schemas.android.com/apk/res/android">

-	<scale

-		android:fromXScale="1.0" android:toXScale="0.3"

-		android:fromYScale="1.0" android:toYScale="0.3"

-		android:pivotX="100%" android:pivotY="100%"

-		android:duration="@android:integer/config_shortAnimTime"

-	/>

-	<alpha

-		android:interpolator="@android:anim/accelerate_interpolator"

-		android:fromAlpha="1.0" android:toAlpha="0.0"

-		android:duration="@android:integer/config_shortAnimTime"

-	/>

-</set>
\ No newline at end of file
diff --git a/res/anim/shrink_from_topright_to_bottomleft.xml b/res/anim/shrink_from_topright_to_bottomleft.xml
deleted file mode 100644
index d4064fc..0000000
--- a/res/anim/shrink_from_topright_to_bottomleft.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-	<scale
-		android:fromXScale="1.0" android:toXScale="0.3"
-		android:fromYScale="1.0" android:toYScale="0.3"
-		android:pivotX="0%" android:pivotY="100%"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-	<alpha
-		android:interpolator="@android:anim/accelerate_interpolator"
-		android:fromAlpha="1.0" android:toAlpha="0.0"
-		android:duration="@android:integer/config_shortAnimTime"
-	/>
-</set>
diff --git a/res/drawable-hdpi/arrow_down.png b/res/drawable-hdpi/arrow_down.png
deleted file mode 100644
index 1c57f8f..0000000
--- a/res/drawable-hdpi/arrow_down.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/arrow_up.png b/res/drawable-hdpi/arrow_up.png
deleted file mode 100644
index 523a6ad..0000000
--- a/res/drawable-hdpi/arrow_up.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sysbar_home_carmode_pixel.png b/res/drawable-xxxhdpi/ic_sysbar_home_carmode_pixel.png
deleted file mode 100644
index 60da8e4..0000000
--- a/res/drawable-xxxhdpi/ic_sysbar_home_carmode_pixel.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sysbar_home_pixel.png b/res/drawable-xxxhdpi/ic_sysbar_home_pixel.png
deleted file mode 100644
index 45ac145..0000000
--- a/res/drawable-xxxhdpi/ic_sysbar_home_pixel.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/action_item_btn.xml b/res/drawable/action_item_btn.xml
deleted file mode 100644
index 3057c40..0000000
--- a/res/drawable/action_item_btn.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:dither="true">
-
-    <item
-        android:state_window_focused="false"
-        android:drawable="@android:color/transparent" />
-    <item
-        android:state_pressed="true"
-        android:drawable="@drawable/action_item_selected"/>
-    <item
-        android:state_focused="true"
-        android:drawable="@drawable/action_item_selected"/>
-    <item
-        android:drawable="@android:color/transparent"/>
-
-</selector>
diff --git a/res/drawable/action_item_selected.xml b/res/drawable/action_item_selected.xml
deleted file mode 100644
index 249e7b3..0000000
--- a/res/drawable/action_item_selected.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="#267a7a7a" android:pathData="M0,0H24V24H0" />

-</vector>

diff --git a/res/drawable/edit_mode.xml b/res/drawable/edit_mode.xml
deleted file mode 100644
index f80aa6e..0000000
--- a/res/drawable/edit_mode.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="50.000000dp"
-    android:height="50.000000dp"
-    android:viewportWidth="512.000000"
-    android:viewportHeight="512.000000">
-
-    <group
-        android:translateY="512.000000"
-        android:scaleX="0.100000"
-        android:scaleY="-0.100000">
-        <path
-            android:fillColor="@*android:color/accent_device_default_light"
-            android:strokeWidth="1"
-            android:pathData="M2235 5045 c-278 -36 -525 -111 -780 -235 -240 -117 -452 -268 -648 -459 -407 -397
--664 -917 -733 -1483 -20 -165 -15 -540 10 -691 166 -1024 930 -1833 1942 -2056
-310 -69 748 -69 1058 0 296 65 588 187 831 346 541 356 917 884 1069 1507 45 183
-58 289 63 531 8 365 -29 601 -149 935 -74 208 -235 492 -388 685 -90 114 -258 284
--375 378 -371 300 -803 484 -1275 543 -141 17 -486 17 -625 -1z" />
-        <path
-            android:fillColor="@color/edit_mode_check_mark_color"
-            android:strokeWidth="1"
-            android:pathData="M3303 3663 c-44 -54 -786 -1016 -1033 -1340 -47 -62 -89 -112 -93 -112 -5 -1 -117
-104 -249 232 -131 127 -248 236 -258 241 -10 4 -24 4 -32 0 -8 -5 -78 -76 -156
--159 -104 -110 -142 -157 -142 -175 0 -20 87 -109 423 -436 233 -226 434 -417 447
--424 20 -11 26 -9 55 21 27 27 1034 1329 1372 1773 84 110 93 130 71 158 -26 33
--332 268 -349 268 -9 0 -35 -21 -56 -47z" />
-    </group>
-</vector>
diff --git a/res/drawable/ic_assistant_sound_search.xml b/res/drawable/ic_assistant_sound_search.xml
deleted file mode 100644
index db11d6c..0000000
--- a/res/drawable/ic_assistant_sound_search.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (C) 2018 The Dirty Unicorns Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="30.0dp"
-    android:height="30.0dp"
-    android:viewportWidth="96.0"
-    android:viewportHeight="96.0">
-    <path
-        android:fillColor="@color/icon_color_sound_search"
-        android:pathData="m 47.999997,18.329373 h 23.733698 v 11.866848 h -17.79676 v 32.639091 c 0,8.188699 -6.646618,14.835319 -14.835313,14.835314 -8.188698,0 -14.835315,-6.646615 -14.835317,-14.835314 2e-6,-8.188697 6.64662,-14.835313 14.835317,-14.835313 3.382285,0 6.406168,1.12578 8.898378,3.024609 z"/>
-</vector>
diff --git a/res/drawable/ic_assistant_sound_search_dark.xml b/res/drawable/ic_assistant_sound_search_dark.xml
deleted file mode 100644
index 29ab440..0000000
--- a/res/drawable/ic_assistant_sound_search_dark.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (C) 2018 The Dirty Unicorns Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="30.0dp"
-    android:height="30.0dp"
-    android:viewportWidth="96.0"
-    android:viewportHeight="96.0">
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="m 47.999997,18.329373 h 23.733698 v 11.866848 h -17.79676 v 32.639091 c 0,8.188699 -6.646618,14.835319 -14.835313,14.835314 -8.188698,0 -14.835315,-6.646615 -14.835317,-14.835314 2e-6,-8.188697 6.64662,-14.835313 14.835317,-14.835313 3.382285,0 6.406168,1.12578 8.898378,3.024609 z"/>
-</vector>
diff --git a/res/drawable/ic_eos_fling.xml b/res/drawable/ic_eos_fling.xml
deleted file mode 100644
index 35bcdb8..0000000
--- a/res/drawable/ic_eos_fling.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="36dp"
-    android:height="36dp"
-    android:viewportWidth="36"
-    android:viewportHeight="36">
-
-    <path
-        android:fillColor="#ffffff"
-        android:pathData="m 18.000001,24.339682 c 3.501309,0 6.339682,-2.838372 6.339682,-6.339683 0,-3.501309 -2.838373,-6.339682 -6.339682,-6.339682 -3.501311,0 -6.339683,2.838373 -6.339683,6.339682 0,3.501311 2.838372,6.339683 6.339683,6.339683 z M 18,29.384397 C 11.712571,29.384397 6.6156025,24.287429 6.6156025,18 6.6156025,11.712573 11.712571,6.6156032 18,6.6156032 c 6.287429,0 11.384397,5.0969678 11.384397,11.3843968 0,6.287429 -5.096968,11.384397 -11.384397,11.384397 z m 0,-3.252685 v 0 c 4.49102,0 8.131712,-3.640691 8.131712,-8.131712 0,-4.49102 -3.640692,-8.1317116 -8.131712,-8.1317116 -4.491021,0 -8.1317115,3.6406906 -8.1317115,8.1317116 0,4.491021 3.6406905,8.131712 8.1317115,8.131712 z" />
-
-</vector>
diff --git a/res/drawable/ic_eos_fling_dark.xml b/res/drawable/ic_eos_fling_dark.xml
deleted file mode 100644
index 61a1855..0000000
--- a/res/drawable/ic_eos_fling_dark.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="36dp"
-    android:height="36dp"
-    android:viewportWidth="36"
-    android:viewportHeight="36">
-
-    <path
-        android:fillColor="#000000"
-        android:pathData="m 18.000001,24.339682 c 3.501309,0 6.339682,-2.838372 6.339682,-6.339683 0,-3.501309 -2.838373,-6.339682 -6.339682,-6.339682 -3.501311,0 -6.339683,2.838373 -6.339683,6.339682 0,3.501311 2.838372,6.339683 6.339683,6.339683 z M 18,29.384397 C 11.712571,29.384397 6.6156025,24.287429 6.6156025,18 6.6156025,11.712573 11.712571,6.6156032 18,6.6156032 c 6.287429,0 11.384397,5.0969678 11.384397,11.3843968 0,6.287429 -5.096968,11.384397 -11.384397,11.384397 z m 0,-3.252685 v 0 c 4.49102,0 8.131712,-3.640691 8.131712,-8.131712 0,-4.49102 -3.640692,-8.1317116 -8.131712,-8.1317116 -4.491021,0 -8.1317115,3.6406906 -8.1317115,8.1317116 0,4.491021 3.6406905,8.131712 8.1317115,8.131712 z" />
-
-</vector>
diff --git a/res/drawable/ic_eos_fling_land.xml b/res/drawable/ic_eos_fling_land.xml
deleted file mode 100644
index b3e0258..0000000
--- a/res/drawable/ic_eos_fling_land.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="36dp"
-    android:height="36dp"
-    android:viewportWidth="36"
-    android:viewportHeight="36">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="m 18.000001,24.339682 c 3.501309,0 6.339682,-2.838372 6.339682,-6.339683 0,-3.501309 -2.838373,-6.339682 -6.339682,-6.339682 -3.501311,0 -6.339683,2.838373 -6.339683,6.339682 0,3.501311 2.838372,6.339683 6.339683,6.339683 z M 18,29.384397 C 11.712571,29.384397 6.6156025,24.287429 6.6156025,18 6.6156025,11.712573 11.712571,6.6156032 18,6.6156032 c 6.287429,0 11.384397,5.0969678 11.384397,11.3843968 0,6.287429 -5.096968,11.384397 -11.384397,11.384397 z m 0,-3.252685 v 0 c 4.49102,0 8.131712,-3.640691 8.131712,-8.131712 0,-4.49102 -3.640692,-8.1317116 -8.131712,-8.1317116 -4.491021,0 -8.1317115,3.6406906 -8.1317115,8.1317116 0,4.491021 3.6406905,8.131712 8.1317115,8.131712 z" />
-
-</vector>
diff --git a/res/drawable/ic_eos_fling_land_dark.xml b/res/drawable/ic_eos_fling_land_dark.xml
deleted file mode 100644
index b3e0258..0000000
--- a/res/drawable/ic_eos_fling_land_dark.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="36dp"
-    android:height="36dp"
-    android:viewportWidth="36"
-    android:viewportHeight="36">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="m 18.000001,24.339682 c 3.501309,0 6.339682,-2.838372 6.339682,-6.339683 0,-3.501309 -2.838373,-6.339682 -6.339682,-6.339682 -3.501311,0 -6.339683,2.838373 -6.339683,6.339682 0,3.501311 2.838372,6.339683 6.339683,6.339683 z M 18,29.384397 C 11.712571,29.384397 6.6156025,24.287429 6.6156025,18 6.6156025,11.712573 11.712571,6.6156032 18,6.6156032 c 6.287429,0 11.384397,5.0969678 11.384397,11.3843968 0,6.287429 -5.096968,11.384397 -11.384397,11.384397 z m 0,-3.252685 v 0 c 4.49102,0 8.131712,-3.640691 8.131712,-8.131712 0,-4.49102 -3.640692,-8.1317116 -8.131712,-8.1317116 -4.491021,0 -8.1317115,3.6406906 -8.1317115,8.1317116 0,4.491021 3.6406905,8.131712 8.1317115,8.131712 z" />
-
-</vector>
diff --git a/res/drawable/ic_ime_switcher_smartbar.xml b/res/drawable/ic_ime_switcher_smartbar.xml
deleted file mode 100644
index 2e993fd..0000000
--- a/res/drawable/ic_ime_switcher_smartbar.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  ~ Copyright (C) 2014 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:pathData="M20.000000,5.000000L4.000000,5.000000C2.900000,5.000000 2.000000,5.900000 2.000000,7.000000l0.000000,10.000000c0.000000,1.100000 0.900000,2.000000 2.000000,2.000000l16.000000,0.000000c1.100000,0.000000 2.000000,-0.900000 2.000000,-2.000000L22.000000,7.000000C22.000000,5.900000 21.100000,5.000000 20.000000,5.000000zM11.000000,8.000000l2.000000,0.000000l0.000000,2.000000l-2.000000,0.000000L11.000000,8.000000zM11.000000,11.000000l2.000000,0.000000l0.000000,2.000000l-2.000000,0.000000L11.000000,11.000000zM8.000000,8.000000l2.000000,0.000000l0.000000,2.000000L8.000000,10.000000L8.000000,8.000000zM8.000000,11.000000l2.000000,0.000000l0.000000,2.000000L8.000000,13.000000L8.000000,11.000000zM7.000000,13.000000L5.000000,13.000000l0.000000,-2.000000l2.000000,0.000000L7.000000,13.000000zM7.000000,10.000000L5.000000,10.000000L5.000000,8.000000l2.000000,0.000000L7.000000,10.000000zM16.000000,17.000000L8.000000,17.000000l0.000000,-2.000000l8.000000,0.000000L16.000000,17.000000zM16.000000,13.000000l-2.000000,0.000000l0.000000,-2.000000l2.000000,0.000000L16.000000,13.000000zM16.000000,10.000000l-2.000000,0.000000L14.000000,8.000000l2.000000,0.000000L16.000000,10.000000zM19.000000,13.000000l-2.000000,0.000000l0.000000,-2.000000l2.000000,0.000000L19.000000,13.000000zM19.000000,10.000000l-2.000000,0.000000L17.000000,8.000000l2.000000,0.000000L19.000000,10.000000z"
-        android:fillColor="@color/icon_color_ime_switcher"/>
-</vector>
diff --git a/res/drawable/ic_ime_switcher_smartbar_dark.xml b/res/drawable/ic_ime_switcher_smartbar_dark.xml
deleted file mode 100644
index 3610600..0000000
--- a/res/drawable/ic_ime_switcher_smartbar_dark.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  ~ Copyright (C) 2014 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:pathData="M20.000000,5.000000L4.000000,5.000000C2.900000,5.000000 2.000000,5.900000 2.000000,7.000000l0.000000,10.000000c0.000000,1.100000 0.900000,2.000000 2.000000,2.000000l16.000000,0.000000c1.100000,0.000000 2.000000,-0.900000 2.000000,-2.000000L22.000000,7.000000C22.000000,5.900000 21.100000,5.000000 20.000000,5.000000zM11.000000,8.000000l2.000000,0.000000l0.000000,2.000000l-2.000000,0.000000L11.000000,8.000000zM11.000000,11.000000l2.000000,0.000000l0.000000,2.000000l-2.000000,0.000000L11.000000,11.000000zM8.000000,8.000000l2.000000,0.000000l0.000000,2.000000L8.000000,10.000000L8.000000,8.000000zM8.000000,11.000000l2.000000,0.000000l0.000000,2.000000L8.000000,13.000000L8.000000,11.000000zM7.000000,13.000000L5.000000,13.000000l0.000000,-2.000000l2.000000,0.000000L7.000000,13.000000zM7.000000,10.000000L5.000000,10.000000L5.000000,8.000000l2.000000,0.000000L7.000000,10.000000zM16.000000,17.000000L8.000000,17.000000l0.000000,-2.000000l8.000000,0.000000L16.000000,17.000000zM16.000000,13.000000l-2.000000,0.000000l0.000000,-2.000000l2.000000,0.000000L16.000000,13.000000zM16.000000,10.000000l-2.000000,0.000000L14.000000,8.000000l2.000000,0.000000L16.000000,10.000000zM19.000000,13.000000l-2.000000,0.000000l0.000000,-2.000000l2.000000,0.000000L19.000000,13.000000zM19.000000,10.000000l-2.000000,0.000000L17.000000,8.000000l2.000000,0.000000L19.000000,10.000000z"
-        android:fillColor="@color/icon_color_dark"/>
-</vector>
diff --git a/res/drawable/ic_skip_next.xml b/res/drawable/ic_skip_next.xml
deleted file mode 100644
index b5c2025..0000000
--- a/res/drawable/ic_skip_next.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="22dp"
-    android:height="22dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z" />
-</vector>
diff --git a/res/drawable/ic_skip_next_dark.xml b/res/drawable/ic_skip_next_dark.xml
deleted file mode 100644
index dde6ad9..0000000
--- a/res/drawable/ic_skip_next_dark.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--  Copyright (C) 2017 The Dirty Unicorns Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="22dp"
-        android:height="22dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z" />
-</vector>
diff --git a/res/drawable/ic_skip_previous.xml b/res/drawable/ic_skip_previous.xml
deleted file mode 100644
index 5f126d7..0000000
--- a/res/drawable/ic_skip_previous.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="22dp"
-    android:height="22dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M6,6h2v12L6,18zM9.5,12l8.5,6L18,6z" />
-</vector>
diff --git a/res/drawable/ic_skip_previous_dark.xml b/res/drawable/ic_skip_previous_dark.xml
deleted file mode 100644
index f79fae8..0000000
--- a/res/drawable/ic_skip_previous_dark.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--  Copyright (C) 2017 The Dirty Unicorns Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="22dp"
-        android:height="22dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M6 6h2v12H6zm3.5 6l8.5 6V6z" />
-</vector>
diff --git a/res/drawable/ic_smartbar_editor_actions.xml b/res/drawable/ic_smartbar_editor_actions.xml
deleted file mode 100644
index 86722fd..0000000
--- a/res/drawable/ic_smartbar_editor_actions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/flag_checkered.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M14.4,6H20V16H13L12.6,14H7V21H5V4H14L14.4,6M14,14H16V12H18V10H16V8H14V10L13,8V6H11V8H9V6H7V8H9V10H7V12H9V10H11V12H13V10L14,12V14M11,10V8H13V10H11M14,10H16V12H14V10Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_add.xml b/res/drawable/ic_smartbar_editor_add.xml
deleted file mode 100644
index 28a135a..0000000
--- a/res/drawable/ic_smartbar_editor_add.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/plus.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_cancel.xml b/res/drawable/ic_smartbar_editor_cancel.xml
deleted file mode 100644
index 16e0a8d..0000000
--- a/res/drawable/ic_smartbar_editor_cancel.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/block_helper.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M12,0A12,12 0 0,1 24,12A12,12 0 0,1 12,24A12,12 0 0,1 0,12A12,12 0 0,1 12,0M12,2A10,10 0 0,0 2,12C2,14.4 2.85,16.6 4.26,18.33L18.33,4.26C16.6,2.85 14.4,2 12,2M12,22A10,10 0 0,0 22,12C22,9.6 21.15,7.4 19.74,5.67L5.67,19.74C7.4,21.15 9.6,22 12,22Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_double_tap.xml b/res/drawable/ic_smartbar_editor_double_tap.xml
deleted file mode 100644
index 4380ae5..0000000
--- a/res/drawable/ic_smartbar_editor_double_tap.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/view_stream.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M4,5V11H21V5M4,18H21V12H4V18Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_finish.xml b/res/drawable/ic_smartbar_editor_finish.xml
deleted file mode 100644
index 9a4500d..0000000
--- a/res/drawable/ic_smartbar_editor_finish.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/window_close.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_icon.xml b/res/drawable/ic_smartbar_editor_icon.xml
deleted file mode 100644
index 24065d8..0000000
--- a/res/drawable/ic_smartbar_editor_icon.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/eyedropper.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_icon_color.xml b/res/drawable/ic_smartbar_editor_icon_color.xml
deleted file mode 100644
index 1bd0f22..0000000
--- a/res/drawable/ic_smartbar_editor_icon_color.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/format_color_fill.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M19,11.5C19,11.5 17,13.67 17,15A2,2 0 0,0 19,17A2,2 0 0,0 21,15C21,13.67 19,11.5 19,11.5M5.21,10L10,5.21L14.79,10M16.56,8.94L7.62,0L6.21,1.41L8.59,3.79L3.44,8.94C2.85,9.5 2.85,10.47 3.44,11.06L8.94,16.56C9.23,16.85 9.62,17 10,17C10.38,17 10.77,16.85 11.06,16.56L16.56,11.06C17.15,10.47 17.15,9.5 16.56,8.94Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_icon_gallery.xml b/res/drawable/ic_smartbar_editor_icon_gallery.xml
deleted file mode 100644
index 4239cb6..0000000
--- a/res/drawable/ic_smartbar_editor_icon_gallery.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/harddisk.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12,4A6,6 0 0,0 6,10C6,13.31 8.69,16 12.1,16L11.22,13.77C10.95,13.29 11.11,12.68 11.59,12.4L12.45,11.9C12.93,11.63 13.54,11.79 13.82,12.27L15.74,14.69C17.12,13.59 18,11.9 18,10A6,6 0 0,0 12,4M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M12.09,13.27L14.58,19.58L17.17,18.08L12.95,12.77L12.09,13.27Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_icon_pack.xml b/res/drawable/ic_smartbar_editor_icon_pack.xml
deleted file mode 100644
index 6eed2d9..0000000
--- a/res/drawable/ic_smartbar_editor_icon_pack.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/image_multiple.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_icon_reset.xml b/res/drawable/ic_smartbar_editor_icon_reset.xml
deleted file mode 100644
index 34df500..0000000
--- a/res/drawable/ic_smartbar_editor_icon_reset.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/undo.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_long_press.xml b/res/drawable/ic_smartbar_editor_long_press.xml
deleted file mode 100644
index 69f91b2..0000000
--- a/res/drawable/ic_smartbar_editor_long_press.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/view_week.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M13,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H13A1,1 0 0,0 14,18V6A1,1 0 0,0 13,5M20,5H17A1,1 0 0,0 16,6V18A1,1 0 0,0 17,19H20A1,1 0 0,0 21,18V6A1,1 0 0,0 20,5M6,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H6A1,1 0 0,0 7,18V6A1,1 0 0,0 6,5Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_remove.xml b/res/drawable/ic_smartbar_editor_remove.xml
deleted file mode 100644
index 048d891..0000000
--- a/res/drawable/ic_smartbar_editor_remove.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/content_cut.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z" />

-</vector>

diff --git a/res/drawable/ic_smartbar_editor_single_tap.xml b/res/drawable/ic_smartbar_editor_single_tap.xml
deleted file mode 100644
index 18a7833..0000000
--- a/res/drawable/ic_smartbar_editor_single_tap.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/window_minimize.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/smartbar_editor_popup_icon_fill" android:pathData="M20,14H4V10H20" />

-</vector>

diff --git a/res/drawable/ic_smartbar_screen_pinning_off.xml b/res/drawable/ic_smartbar_screen_pinning_off.xml
deleted file mode 100644
index 112ce8b..0000000
--- a/res/drawable/ic_smartbar_screen_pinning_off.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/pin_off.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="#fff" android:pathData="M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_assist.xml b/res/drawable/ic_sysbar_assist.xml
deleted file mode 100644
index 19d5725..0000000
--- a/res/drawable/ic_sysbar_assist.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/assistant.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_search_assistant" android:pathData="M19,2H5A2,2 0 0,0 3,4V18A2,2 0 0,0 5,20H9L12,23L15,20H19A2,2 0 0,0 21,18V4A2,2 0 0,0 19,2M13.88,12.88L12,17L10.12,12.88L6,11L10.12,9.12L12,5L13.88,9.12L18,11" />

-</vector>

diff --git a/res/drawable/ic_sysbar_assist_dark.xml b/res/drawable/ic_sysbar_assist_dark.xml
deleted file mode 100644
index e2bb940..0000000
--- a/res/drawable/ic_sysbar_assist_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/assistant.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M19,2H5A2,2 0 0,0 3,4V18A2,2 0 0,0 5,20H9L12,23L15,20H19A2,2 0 0,0 21,18V4A2,2 0 0,0 19,2M13.88,12.88L12,17L10.12,12.88L6,11L10.12,9.12L12,5L13.88,9.12L18,11" />

-</vector>

diff --git a/res/drawable/ic_sysbar_back.xml b/res/drawable/ic_sysbar_back.xml
deleted file mode 100644
index 5847002..0000000
--- a/res/drawable/ic_sysbar_back.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_back"
-        android:pathData="M64.55,12.62C67.66,10.72 72.05,13.33 71.99,16.94C72.12,35 72.01,53.07 72.05,71.13C71.97,73.99 69.63,75.84 67.01,76.34C64.39,75.81 62.34,74.16 60.02,72.95C46.32,65.08 32.64,57.17 18.9,49.36C15.15,47.63 15.09,41.57 18.78,39.72C34.03,30.68 49.26,21.61 64.55,12.62Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_back_dark.xml b/res/drawable/ic_sysbar_back_dark.xml
deleted file mode 100644
index 8be7ed6..0000000
--- a/res/drawable/ic_sysbar_back_dark.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M64.55,12.62C67.66,10.72 72.05,13.33 71.99,16.94C72.12,35 72.01,53.07 72.05,71.13C71.97,73.99 69.63,75.84 67.01,76.34C64.39,75.81 62.34,74.16 60.02,72.95C46.32,65.08 32.64,57.17 18.9,49.36C15.15,47.63 15.09,41.57 18.78,39.72C34.03,30.68 49.26,21.61 64.55,12.62Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_back_ime.xml b/res/drawable/ic_sysbar_back_ime.xml
deleted file mode 100644
index d7d1e54..0000000
--- a/res/drawable/ic_sysbar_back_ime.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_back"
-        android:pathData="M16.11,16.11C34.41,15.87 52.74,16.05 71.05,16.02C74.76,15.94 77.25,20.45 75.4,23.61C66.61,39.03 57.76,54.44 48.87,69.8C46.91,72.92 42.05,72.85 39.97,69.88C30.84,54.46 21.66,39.05 12.58,23.61C10.99,20.69 12.76,16.63 16.11,16.11Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_back_ime_dark.xml b/res/drawable/ic_sysbar_back_ime_dark.xml
deleted file mode 100644
index 9a7b28f..0000000
--- a/res/drawable/ic_sysbar_back_ime_dark.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M16.11,16.11C34.41,15.87 52.74,16.05 71.05,16.02C74.76,15.94 77.25,20.45 75.4,23.61C66.61,39.03 57.76,54.44 48.87,69.8C46.91,72.92 42.05,72.85 39.97,69.88C30.84,54.46 21.66,39.05 12.58,23.61C10.99,20.69 12.76,16.63 16.11,16.11Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_back_land.xml b/res/drawable/ic_sysbar_back_land.xml
deleted file mode 100644
index d7d1e54..0000000
--- a/res/drawable/ic_sysbar_back_land.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_back"
-        android:pathData="M16.11,16.11C34.41,15.87 52.74,16.05 71.05,16.02C74.76,15.94 77.25,20.45 75.4,23.61C66.61,39.03 57.76,54.44 48.87,69.8C46.91,72.92 42.05,72.85 39.97,69.88C30.84,54.46 21.66,39.05 12.58,23.61C10.99,20.69 12.76,16.63 16.11,16.11Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_back_land_dark.xml b/res/drawable/ic_sysbar_back_land_dark.xml
deleted file mode 100644
index 9a7b28f..0000000
--- a/res/drawable/ic_sysbar_back_land_dark.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M16.11,16.11C34.41,15.87 52.74,16.05 71.05,16.02C74.76,15.94 77.25,20.45 75.4,23.61C66.61,39.03 57.76,54.44 48.87,69.8C46.91,72.92 42.05,72.85 39.97,69.88C30.84,54.46 21.66,39.05 12.58,23.61C10.99,20.69 12.76,16.63 16.11,16.11Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_bt.xml b/res/drawable/ic_sysbar_bt.xml
deleted file mode 100644
index d06d1d3..0000000
--- a/res/drawable/ic_sysbar_bt.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/bluetooth.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_bluetooth" android:pathData="M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_bt_dark.xml b/res/drawable/ic_sysbar_bt_dark.xml
deleted file mode 100644
index 81679e1..0000000
--- a/res/drawable/ic_sysbar_bt_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/bluetooth.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_clear_notifications.xml b/res/drawable/ic_sysbar_clear_notifications.xml
deleted file mode 100644
index 2a1fbc6..0000000
--- a/res/drawable/ic_sysbar_clear_notifications.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/clear_notifications.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_clear_notifications" android:pathData="M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7" />
-</vector>
diff --git a/res/drawable/ic_sysbar_clear_notifications_dark.xml b/res/drawable/ic_sysbar_clear_notifications_dark.xml
deleted file mode 100644
index d8480e8..0000000
--- a/res/drawable/ic_sysbar_clear_notifications_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/clear_notifications.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7" />
-</vector>
diff --git a/res/drawable/ic_sysbar_docked.xml b/res/drawable/ic_sysbar_docked.xml
deleted file mode 100644
index d11fb18..0000000
--- a/res/drawable/ic_sysbar_docked.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="21dp"

-    android:width="21dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_split_screen" android:pathData="M20,3H3A1,1 0 0,0 2,4V10A1,1 0 0,0 3,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M20,13H3A1,1 0 0,0 2,14V20A1,1 0 0,0 3,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_docked_dark.xml b/res/drawable/ic_sysbar_docked_dark.xml
deleted file mode 100644
index 7dd39a5..0000000
--- a/res/drawable/ic_sysbar_docked_dark.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="19dp"

-    android:width="19dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M20,3H3A1,1 0 0,0 2,4V10A1,1 0 0,0 3,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M20,13H3A1,1 0 0,0 2,14V20A1,1 0 0,0 3,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_editing_smartbar.xml b/res/drawable/ic_sysbar_editing_smartbar.xml
deleted file mode 100644
index 5d66834..0000000
--- a/res/drawable/ic_sysbar_editing_smartbar.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/editing_smartbar.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_editing_smartbar" android:pathData="M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M18,14V12H12.5L10.5,14H18M6,14H8.5L15.35,7.12C15.55,6.93 15.55,6.61 15.35,6.41L13.59,4.65C13.39,4.45 13.07,4.45 12.88,4.65L6,11.53V14Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_editing_smartbar_dark.xml b/res/drawable/ic_sysbar_editing_smartbar_dark.xml
deleted file mode 100644
index 60b5ee8..0000000
--- a/res/drawable/ic_sysbar_editing_smartbar_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/editing_smartbar.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M18,14V12H12.5L10.5,14H18M6,14H8.5L15.35,7.12C15.55,6.93 15.55,6.61 15.35,6.41L13.59,4.65C13.39,4.45 13.07,4.45 12.88,4.65L6,11.53V14Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_expanded_desktop.xml b/res/drawable/ic_sysbar_expanded_desktop.xml
deleted file mode 100644
index 4c4344f..0000000
--- a/res/drawable/ic_sysbar_expanded_desktop.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/arrow_expand.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_expanded_desktop" android:pathData="M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_expanded_desktop_dark.xml b/res/drawable/ic_sysbar_expanded_desktop_dark.xml
deleted file mode 100644
index 045ade2..0000000
--- a/res/drawable/ic_sysbar_expanded_desktop_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/arrow_expand.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_google_now_on_tap.xml b/res/drawable/ic_sysbar_google_now_on_tap.xml
deleted file mode 100644
index 638f04f..0000000
--- a/res/drawable/ic_sysbar_google_now_on_tap.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/google-glass.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_google_now_on_tap" android:pathData="M13,11V13.5H18.87C18.26,17 15.5,19.5 12,19.5A7.5,7.5 0 0,1 4.5,12A7.5,7.5 0 0,1 12,4.5C14.09,4.5 15.9,5.39 17.16,6.84L18.93,5.06C17.24,3.18 14.83,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22C17.5,22 21.5,17.5 21.5,12V11H13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_google_now_on_tap_dark.xml b/res/drawable/ic_sysbar_google_now_on_tap_dark.xml
deleted file mode 100644
index b12a923..0000000
--- a/res/drawable/ic_sysbar_google_now_on_tap_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/google-glass.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M13,11V13.5H18.87C18.26,17 15.5,19.5 12,19.5A7.5,7.5 0 0,1 4.5,12A7.5,7.5 0 0,1 12,4.5C14.09,4.5 15.9,5.39 17.16,6.84L18.93,5.06C17.24,3.18 14.83,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22C17.5,22 21.5,17.5 21.5,12V11H13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_home.xml b/res/drawable/ic_sysbar_home.xml
deleted file mode 100644
index b8a5e15..0000000
--- a/res/drawable/ic_sysbar_home.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="23dp"
-    android:height="23dp"
-    android:viewportWidth="132"
-    android:viewportHeight="132">
-
-    <path
-        android:fillColor="@color/icon_color_home"
-        android:strokeWidth="1"
-        android:pathData="M55.5,22.4 C47.1,24.5,40.8,28.1,34.5,34.5 C16.7,52.2,16.7,79.8,34.5,97.5
-C48.1,111.2,67.9,114.6,85.7,106.3 C93.3,102.8,102.8,93.3,106.3,85.7
-C114.6,67.9,111.2,48.1,97.5,34.5 C86.2,23.1,70.6,18.6,55.5,22.4 Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_home_dark.xml b/res/drawable/ic_sysbar_home_dark.xml
deleted file mode 100644
index 10091ac..0000000
--- a/res/drawable/ic_sysbar_home_dark.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="23dp"
-    android:height="23dp"
-    android:viewportWidth="132"
-    android:viewportHeight="132">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:strokeWidth="1"
-        android:pathData="M55.5,22.4 C47.1,24.5,40.8,28.1,34.5,34.5 C16.7,52.2,16.7,79.8,34.5,97.5
-C48.1,111.2,67.9,114.6,85.7,106.3 C93.3,102.8,102.8,93.3,106.3,85.7
-C114.6,67.9,111.2,48.1,97.5,34.5 C86.2,23.1,70.6,18.6,55.5,22.4 Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_home_land.xml b/res/drawable/ic_sysbar_home_land.xml
deleted file mode 100644
index b8a5e15..0000000
--- a/res/drawable/ic_sysbar_home_land.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="23dp"
-    android:height="23dp"
-    android:viewportWidth="132"
-    android:viewportHeight="132">
-
-    <path
-        android:fillColor="@color/icon_color_home"
-        android:strokeWidth="1"
-        android:pathData="M55.5,22.4 C47.1,24.5,40.8,28.1,34.5,34.5 C16.7,52.2,16.7,79.8,34.5,97.5
-C48.1,111.2,67.9,114.6,85.7,106.3 C93.3,102.8,102.8,93.3,106.3,85.7
-C114.6,67.9,111.2,48.1,97.5,34.5 C86.2,23.1,70.6,18.6,55.5,22.4 Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_home_land_dark.xml b/res/drawable/ic_sysbar_home_land_dark.xml
deleted file mode 100644
index 10091ac..0000000
--- a/res/drawable/ic_sysbar_home_land_dark.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="23dp"
-    android:height="23dp"
-    android:viewportWidth="132"
-    android:viewportHeight="132">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:strokeWidth="1"
-        android:pathData="M55.5,22.4 C47.1,24.5,40.8,28.1,34.5,34.5 C16.7,52.2,16.7,79.8,34.5,97.5
-C48.1,111.2,67.9,114.6,85.7,106.3 C93.3,102.8,102.8,93.3,106.3,85.7
-C114.6,67.9,111.2,48.1,97.5,34.5 C86.2,23.1,70.6,18.6,55.5,22.4 Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_hotspot.xml b/res/drawable/ic_sysbar_hotspot.xml
deleted file mode 100644
index c7df50f..0000000
--- a/res/drawable/ic_sysbar_hotspot.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/access_point_network.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_hotspot" android:pathData="M4.93,2.93C3.12,4.74 2,7.24 2,10C2,12.76 3.12,15.26 4.93,17.07L6.34,15.66C4.89,14.22 4,12.22 4,10C4,7.79 4.89,5.78 6.34,4.34L4.93,2.93M19.07,2.93L17.66,4.34C19.11,5.78 20,7.79 20,10C20,12.22 19.11,14.22 17.66,15.66L19.07,17.07C20.88,15.26 22,12.76 22,10C22,7.24 20.88,4.74 19.07,2.93M7.76,5.76C6.67,6.85 6,8.35 6,10C6,11.65 6.67,13.15 7.76,14.24L9.17,12.83C8.45,12.11 8,11.11 8,10C8,8.89 8.45,7.89 9.17,7.17L7.76,5.76M16.24,5.76L14.83,7.17C15.55,7.89 16,8.89 16,10C16,11.11 15.55,12.11 14.83,12.83L16.24,14.24C17.33,13.15 18,11.65 18,10C18,8.35 17.33,6.85 16.24,5.76M12,8A2,2 0 0,0 10,10A2,2 0 0,0 12,12A2,2 0 0,0 14,10A2,2 0 0,0 12,8M11,14V18H10A1,1 0 0,0 9,19H2V21H9A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21H22V19H15A1,1 0 0,0 14,18H13V14H11Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_hotspot_dark.xml b/res/drawable/ic_sysbar_hotspot_dark.xml
deleted file mode 100644
index 4347813..0000000
--- a/res/drawable/ic_sysbar_hotspot_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/access_point_network.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M4.93,2.93C3.12,4.74 2,7.24 2,10C2,12.76 3.12,15.26 4.93,17.07L6.34,15.66C4.89,14.22 4,12.22 4,10C4,7.79 4.89,5.78 6.34,4.34L4.93,2.93M19.07,2.93L17.66,4.34C19.11,5.78 20,7.79 20,10C20,12.22 19.11,14.22 17.66,15.66L19.07,17.07C20.88,15.26 22,12.76 22,10C22,7.24 20.88,4.74 19.07,2.93M7.76,5.76C6.67,6.85 6,8.35 6,10C6,11.65 6.67,13.15 7.76,14.24L9.17,12.83C8.45,12.11 8,11.11 8,10C8,8.89 8.45,7.89 9.17,7.17L7.76,5.76M16.24,5.76L14.83,7.17C15.55,7.89 16,8.89 16,10C16,11.11 15.55,12.11 14.83,12.83L16.24,14.24C17.33,13.15 18,11.65 18,10C18,8.35 17.33,6.85 16.24,5.76M12,8A2,2 0 0,0 10,10A2,2 0 0,0 12,12A2,2 0 0,0 14,10A2,2 0 0,0 12,8M11,14V18H10A1,1 0 0,0 9,19H2V21H9A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21H22V19H15A1,1 0 0,0 14,18H13V14H11Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_down.xml b/res/drawable/ic_sysbar_ime_down.xml
deleted file mode 100644
index 9a50429..0000000
--- a/res/drawable/ic_sysbar_ime_down.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_down.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_ime_down" android:pathData="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_down_dark.xml b/res/drawable/ic_sysbar_ime_down_dark.xml
deleted file mode 100644
index baf30f1..0000000
--- a/res/drawable/ic_sysbar_ime_down_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_down.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_left.xml b/res/drawable/ic_sysbar_ime_left.xml
deleted file mode 100644
index 31e8388..0000000
--- a/res/drawable/ic_sysbar_ime_left.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_left.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_ime_left" android:pathData="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_left_dark.xml b/res/drawable/ic_sysbar_ime_left_dark.xml
deleted file mode 100644
index 5aec8da..0000000
--- a/res/drawable/ic_sysbar_ime_left_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_left.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_right.xml b/res/drawable/ic_sysbar_ime_right.xml
deleted file mode 100644
index 65822ec..0000000
--- a/res/drawable/ic_sysbar_ime_right.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_right.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_ime_right" android:pathData="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_right_dark.xml b/res/drawable/ic_sysbar_ime_right_dark.xml
deleted file mode 100644
index 359993c..0000000
--- a/res/drawable/ic_sysbar_ime_right_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_right.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_up.xml b/res/drawable/ic_sysbar_ime_up.xml
deleted file mode 100644
index a4c7b3d..0000000
--- a/res/drawable/ic_sysbar_ime_up.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_up.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_ime_up" android:pathData="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_ime_up_dark.xml b/res/drawable/ic_sysbar_ime_up_dark.xml
deleted file mode 100644
index be23773..0000000
--- a/res/drawable/ic_sysbar_ime_up_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/chevron_up.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_in_app_search.xml b/res/drawable/ic_sysbar_in_app_search.xml
deleted file mode 100644
index e5168f0..0000000
--- a/res/drawable/ic_sysbar_in_app_search.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/binoculars.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_in_app_search" android:pathData="M11,6H13V13H11V6M9,20A1,1 0 0,1 8,21H5A1,1 0 0,1 4,20V15L6,6H10V13A1,1 0 0,1 9,14V20M10,5H7V3H10V5M15,20V14A1,1 0 0,1 14,13V6H18L20,15V20A1,1 0 0,1 19,21H16A1,1 0 0,1 15,20M14,5V3H17V5H14Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_in_app_search_dark.xml b/res/drawable/ic_sysbar_in_app_search_dark.xml
deleted file mode 100644
index d3accff..0000000
--- a/res/drawable/ic_sysbar_in_app_search_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/binoculars.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M11,6H13V13H11V6M9,20A1,1 0 0,1 8,21H5A1,1 0 0,1 4,20V15L6,6H10V13A1,1 0 0,1 9,14V20M10,5H7V3H10V5M15,20V14A1,1 0 0,1 14,13V6H18L20,15V20A1,1 0 0,1 19,21H16A1,1 0 0,1 15,20M14,5V3H17V5H14Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_killtask.xml b/res/drawable/ic_sysbar_killtask.xml
deleted file mode 100644
index 8aa0a21..0000000
--- a/res/drawable/ic_sysbar_killtask.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/close_circle_outline.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_force_close_app" android:pathData="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_killtask_dark.xml b/res/drawable/ic_sysbar_killtask_dark.xml
deleted file mode 100644
index 9792c72..0000000
--- a/res/drawable/ic_sysbar_killtask_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/close_circle_outline.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_lastapp.xml b/res/drawable/ic_sysbar_lastapp.xml
deleted file mode 100644
index b89f0a1..0000000
--- a/res/drawable/ic_sysbar_lastapp.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/arrange_bring_forward.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_last_app" android:pathData="M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5V19M13,18V9.5L16.5,13L17.92,11.58L12,5.66L6.08,11.58L7.5,13L11,9.5V18H13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_lastapp_dark.xml b/res/drawable/ic_sysbar_lastapp_dark.xml
deleted file mode 100644
index a704626..0000000
--- a/res/drawable/ic_sysbar_lastapp_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/arrange_bring_forward.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5V19M13,18V9.5L16.5,13L17.92,11.58L12,5.66L6.08,11.58L7.5,13L11,9.5V18H13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_menu.xml b/res/drawable/ic_sysbar_menu.xml
deleted file mode 100644
index 342bf08..0000000
--- a/res/drawable/ic_sysbar_menu.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_menu" android:pathData="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_menu_dark.xml b/res/drawable/ic_sysbar_menu_dark.xml
deleted file mode 100644
index 2c8f87f..0000000
--- a/res/drawable/ic_sysbar_menu_dark.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_menu_land.xml b/res/drawable/ic_sysbar_menu_land.xml
deleted file mode 100644
index 342bf08..0000000
--- a/res/drawable/ic_sysbar_menu_land.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_menu" android:pathData="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_menu_land_dark.xml b/res/drawable/ic_sysbar_menu_land_dark.xml
deleted file mode 100644
index 2c8f87f..0000000
--- a/res/drawable/ic_sysbar_menu_land_dark.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_no_action.xml b/res/drawable/ic_sysbar_no_action.xml
deleted file mode 100644
index 3ac1eeb..0000000
--- a/res/drawable/ic_sysbar_no_action.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/block_helper.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_no_action" android:pathData="M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_no_action_dark.xml b/res/drawable/ic_sysbar_no_action_dark.xml
deleted file mode 100644
index 29cb262..0000000
--- a/res/drawable/ic_sysbar_no_action_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/block_helper.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_notification_panel.xml b/res/drawable/ic_sysbar_notification_panel.xml
deleted file mode 100644
index cec27ae..0000000
--- a/res/drawable/ic_sysbar_notification_panel.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/format_list_bulleted_type.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_notification_panel" android:pathData="M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_notification_panel_dark.xml b/res/drawable/ic_sysbar_notification_panel_dark.xml
deleted file mode 100644
index 0517921..0000000
--- a/res/drawable/ic_sysbar_notification_panel_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/format_list_bulleted_type.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_one_handed_mode_left.xml b/res/drawable/ic_sysbar_one_handed_mode_left.xml
deleted file mode 100644
index 322cbfa..0000000
--- a/res/drawable/ic_sysbar_one_handed_mode_left.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--
-     Copyright (C) 2017 Flash ROM
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-            http://www.apache.org/licenses/LICENSE-2.0
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
-
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="512"
-    android:viewportHeight="512">
-
-    <group
-        android:translateY="512"
-        android:scaleX="0.1"
-        android:scaleY="-0.1">
-        <path
-            android:fillColor="@color/icon_color_one_handed_mode"
-            android:strokeWidth="1"
-            android:pathData="M3910 4305 c-311 -311 -569 -564 -575 -562 -6 2 -11 159 -13 438 -2 239 -5 440 -7
-447 -4 10 -59 12 -252 10 l-248 -3 -3 -897 -2 -898 895 0 895 0 0 255 0 255 -445 0
-c-322 0 -445 3 -445 11 0 6 227 239 504 518 493 496 607 613 615 633 3 9 -337 358
--349 358 -3 0 -259 -254 -570 -565z" />
-        <path
-            android:fillColor="@color/icon_color_one_handed_mode"
-            android:strokeWidth="1"
-            android:pathData="M500 2065 l0 -255 445 0 c245 0 445 -4 445 -9 0 -11 6 -5 -602 -618 -285 -287 -518
--527 -518 -535 0 -7 79 -92 175 -188 l175 -175 569 569 c313 313 573 566 578 563 4
--3 10 -203 11 -444 2 -241 7 -441 11 -446 4 -4 117 -6 252 -5 l244 3 3 898 2 897
--895 0 -895 0 0 -255z" />
-    </group>
-</vector>
diff --git a/res/drawable/ic_sysbar_one_handed_mode_left_dark.xml b/res/drawable/ic_sysbar_one_handed_mode_left_dark.xml
deleted file mode 100644
index de2d964..0000000
--- a/res/drawable/ic_sysbar_one_handed_mode_left_dark.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-     Copyright (C) 2017 Flash ROM
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-            http://www.apache.org/licenses/LICENSE-2.0
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="512"
-    android:viewportHeight="512">
-
-    <group
-        android:translateY="512"
-        android:scaleX="0.1"
-        android:scaleY="-0.1">
-        <path
-            android:fillColor="@color/icon_color_dark"
-            android:strokeWidth="1"
-            android:pathData="M3910 4305 c-311 -311 -569 -564 -575 -562 -6 2 -11 159 -13 438 -2 239 -5 440 -7
-447 -4 10 -59 12 -252 10 l-248 -3 -3 -897 -2 -898 895 0 895 0 0 255 0 255 -445 0
-c-322 0 -445 3 -445 11 0 6 227 239 504 518 493 496 607 613 615 633 3 9 -337 358
--349 358 -3 0 -259 -254 -570 -565z" />
-        <path
-            android:fillColor="@color/icon_color_dark"
-            android:strokeWidth="1"
-            android:pathData="M500 2065 l0 -255 445 0 c245 0 445 -4 445 -9 0 -11 6 -5 -602 -618 -285 -287 -518
--527 -518 -535 0 -7 79 -92 175 -188 l175 -175 569 569 c313 313 573 566 578 563 4
--3 10 -203 11 -444 2 -241 7 -441 11 -446 4 -4 117 -6 252 -5 l244 3 3 898 2 897
--895 0 -895 0 0 -255z" />
-    </group>
-</vector>
diff --git a/res/drawable/ic_sysbar_one_handed_mode_right.xml b/res/drawable/ic_sysbar_one_handed_mode_right.xml
deleted file mode 100644
index 1c479a5..0000000
--- a/res/drawable/ic_sysbar_one_handed_mode_right.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--
-     Copyright (C) 2017 Flash ROM
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-            http://www.apache.org/licenses/LICENSE-2.0
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
-
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="512"
-    android:viewportHeight="512">
-
-    <group
-        android:translateY="512"
-        android:scaleX="0.1"
-        android:scaleY="-0.1">
-        <path
-            android:fillColor="@color/icon_color_one_handed_mode"
-            android:strokeWidth="1"
-            android:pathData="M441 4696 c-95 -95 -172 -178 -170 -184 8 -20 122 -137 615 -633 277 -279 504 -512
-504 -518 0 -8 -123 -11 -445 -11 l-445 0 0 -255 0 -255 895 0 895 0 -2 898 -3 897
--244 3 c-135 1 -248 -1 -252 -5 -4 -5 -9 -205 -11 -446 -1 -241 -7 -441 -11 -444
--5 -3 -264 249 -576 561 -311 311 -568 566 -571 566 -3 0 -83 -78 -179 -174z" />
-        <path
-            android:fillColor="@color/icon_color_one_handed_mode"
-            android:strokeWidth="1"
-            android:pathData="M2812 1423 l3 -898 244 -3 c135 -1 248 1 252 5 4 5 9 205 11 446 1 241 7 441 11
-444 5 3 265 -250 578 -563 l569 -569 175 175 c96 96 175 181 175 188 0 8 -233 248
--517 535 -609 613 -603 607 -603 618 0 5 200 9 445 9 l445 0 0 255 0 255 -895 0
--895 0 2 -897z" />
-    </group>
-</vector>
diff --git a/res/drawable/ic_sysbar_one_handed_mode_right_dark.xml b/res/drawable/ic_sysbar_one_handed_mode_right_dark.xml
deleted file mode 100644
index c7c8a37..0000000
--- a/res/drawable/ic_sysbar_one_handed_mode_right_dark.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-     Copyright (C) 2017 Flash ROM
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-            http://www.apache.org/licenses/LICENSE-2.0
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="512"
-    android:viewportHeight="512">
-
-    <group
-        android:translateY="512"
-        android:scaleX="0.1"
-        android:scaleY="-0.1">
-        <path
-            android:fillColor="@color/icon_color_dark"
-            android:strokeWidth="1"
-            android:pathData="M441 4696 c-95 -95 -172 -178 -170 -184 8 -20 122 -137 615 -633 277 -279 504 -512
-504 -518 0 -8 -123 -11 -445 -11 l-445 0 0 -255 0 -255 895 0 895 0 -2 898 -3 897
--244 3 c-135 1 -248 -1 -252 -5 -4 -5 -9 -205 -11 -446 -1 -241 -7 -441 -11 -444
--5 -3 -264 249 -576 561 -311 311 -568 566 -571 566 -3 0 -83 -78 -179 -174z" />
-        <path
-            android:fillColor="@color/icon_color_dark"
-            android:strokeWidth="1"
-            android:pathData="M2812 1423 l3 -898 244 -3 c135 -1 248 1 252 5 4 5 9 205 11 446 1 241 7 441 11
-444 5 3 265 -250 578 -563 l569 -569 175 175 c96 96 175 181 175 188 0 8 -233 248
--517 535 -609 613 -603 607 -603 618 0 5 200 9 445 9 l445 0 0 255 0 255 -895 0
--895 0 2 -897z" />
-    </group>
-</vector>
diff --git a/res/drawable/ic_sysbar_opa_blue.xml b/res/drawable/ic_sysbar_opa_blue.xml
deleted file mode 100644
index a3df91c..0000000
--- a/res/drawable/ic_sysbar_opa_blue.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape android:shape="oval"
-  xmlns:android="http://schemas.android.com/apk/res/android">
-    <size android:height="@dimen/opa_dot_diam" android:width="@dimen/opa_dot_diam" />
-    <solid android:color="#ff4285f4" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_sysbar_opa_green.xml b/res/drawable/ic_sysbar_opa_green.xml
deleted file mode 100644
index 6814ba1..0000000
--- a/res/drawable/ic_sysbar_opa_green.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape android:shape="oval"
-  xmlns:android="http://schemas.android.com/apk/res/android">
-    <size android:height="@dimen/opa_dot_diam" android:width="@dimen/opa_dot_diam" />
-    <solid android:color="#ff34a853" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_sysbar_opa_red.xml b/res/drawable/ic_sysbar_opa_red.xml
deleted file mode 100644
index 5d44c61..0000000
--- a/res/drawable/ic_sysbar_opa_red.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape android:shape="oval"
-  xmlns:android="http://schemas.android.com/apk/res/android">
-    <size android:height="@dimen/opa_dot_diam" android:width="@dimen/opa_dot_diam" />
-    <solid android:color="#ffea4335" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_sysbar_opa_yellow.xml b/res/drawable/ic_sysbar_opa_yellow.xml
deleted file mode 100644
index e56b8c8..0000000
--- a/res/drawable/ic_sysbar_opa_yellow.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape android:shape="oval"
-  xmlns:android="http://schemas.android.com/apk/res/android">
-    <size android:height="@dimen/opa_dot_diam" android:width="@dimen/opa_dot_diam" />
-    <solid android:color="#fffbbc05" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_sysbar_power_menu.xml b/res/drawable/ic_sysbar_power_menu.xml
deleted file mode 100644
index 591b2ac..0000000
--- a/res/drawable/ic_sysbar_power_menu.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/power.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_power_menu" android:pathData="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13" />

-</vector>

diff --git a/res/drawable/ic_sysbar_power_menu_dark.xml b/res/drawable/ic_sysbar_power_menu_dark.xml
deleted file mode 100644
index e355b03..0000000
--- a/res/drawable/ic_sysbar_power_menu_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/power.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13" />

-</vector>

diff --git a/res/drawable/ic_sysbar_recent.xml b/res/drawable/ic_sysbar_recent.xml
deleted file mode 100644
index 626b2d7..0000000
--- a/res/drawable/ic_sysbar_recent.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_overview"
-        android:pathData="M14.01,19.99C13.73,16.72 16.63,13.75 19.92,14.03C35.29,13.94 50.66,14.06 66.03,13.97C68.2,14.01 70.73,13.86 72.33,15.61C74.13,17.21 74.01,19.77 74.06,21.97C74.03,36.98 74.05,52 74.06,67.02C73.99,68.58 73.87,70.18 73.32,71.65C71.62,73.28 69.39,74.21 67.01,74.02C51.66,73.99 36.3,73.99 20.95,74.02C18.54,74.22 16.33,73.23 14.61,71.59C13.88,69.13 13.9,66.54 13.93,64.01C14.03,49.34 13.86,34.66 14.01,19.99Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_recent_dark.xml b/res/drawable/ic_sysbar_recent_dark.xml
deleted file mode 100644
index abcc52d..0000000
--- a/res/drawable/ic_sysbar_recent_dark.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (c) 2016 AICP
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M14.01,19.99C13.73,16.72 16.63,13.75 19.92,14.03C35.29,13.94 50.66,14.06 66.03,13.97C68.2,14.01 70.73,13.86 72.33,15.61C74.13,17.21 74.01,19.77 74.06,21.97C74.03,36.98 74.05,52 74.06,67.02C73.99,68.58 73.87,70.18 73.32,71.65C71.62,73.28 69.39,74.21 67.01,74.02C51.66,73.99 36.3,73.99 20.95,74.02C18.54,74.22 16.33,73.23 14.61,71.59C13.88,69.13 13.9,66.54 13.93,64.01C14.03,49.34 13.86,34.66 14.01,19.99Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_recent_land.xml b/res/drawable/ic_sysbar_recent_land.xml
deleted file mode 100644
index 626b2d7..0000000
--- a/res/drawable/ic_sysbar_recent_land.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="21dp"
-    android:height="21dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_overview"
-        android:pathData="M14.01,19.99C13.73,16.72 16.63,13.75 19.92,14.03C35.29,13.94 50.66,14.06 66.03,13.97C68.2,14.01 70.73,13.86 72.33,15.61C74.13,17.21 74.01,19.77 74.06,21.97C74.03,36.98 74.05,52 74.06,67.02C73.99,68.58 73.87,70.18 73.32,71.65C71.62,73.28 69.39,74.21 67.01,74.02C51.66,73.99 36.3,73.99 20.95,74.02C18.54,74.22 16.33,73.23 14.61,71.59C13.88,69.13 13.9,66.54 13.93,64.01C14.03,49.34 13.86,34.66 14.01,19.99Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_recent_land_dark.xml b/res/drawable/ic_sysbar_recent_land_dark.xml
deleted file mode 100644
index abcc52d..0000000
--- a/res/drawable/ic_sysbar_recent_land_dark.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (c) 2016 AICP
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="88"
-    android:viewportHeight="88">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M14.01,19.99C13.73,16.72 16.63,13.75 19.92,14.03C35.29,13.94 50.66,14.06 66.03,13.97C68.2,14.01 70.73,13.86 72.33,15.61C74.13,17.21 74.01,19.77 74.06,21.97C74.03,36.98 74.05,52 74.06,67.02C73.99,68.58 73.87,70.18 73.32,71.65C71.62,73.28 69.39,74.21 67.01,74.02C51.66,73.99 36.3,73.99 20.95,74.02C18.54,74.22 16.33,73.23 14.61,71.59C13.88,69.13 13.9,66.54 13.93,64.01C14.03,49.34 13.86,34.66 14.01,19.99Z"/>
-</vector>
diff --git a/res/drawable/ic_sysbar_record_screen.xml b/res/drawable/ic_sysbar_record_screen.xml
deleted file mode 100644
index 0a42e80..0000000
--- a/res/drawable/ic_sysbar_record_screen.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!-- drawable/file_video.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_screenrecord" android:pathData="M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z" /></vector>

diff --git a/res/drawable/ic_sysbar_record_screen_dark.xml b/res/drawable/ic_sysbar_record_screen_dark.xml
deleted file mode 100644
index 0e7ae89..0000000
--- a/res/drawable/ic_sysbar_record_screen_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/file_video.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="24dp"

-    android:width="24dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_region_screenshot.xml b/res/drawable/ic_sysbar_region_screenshot.xml
deleted file mode 100644
index 57594d0..0000000
--- a/res/drawable/ic_sysbar_region_screenshot.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- drawable/image_filter.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="22dp"
-    android:height="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="@color/icon_color_region_screenshot"
-        android:pathData="M1,5H3V19H1V5M5,5H7V19H5V5M22,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H22A1,1 0 0,0 23,18V6A1,1 0 0,0 22,5M11,17L13.5,13.85L15.29,16L17.79,12.78L21,17H11Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_region_screenshot_dark.xml b/res/drawable/ic_sysbar_region_screenshot_dark.xml
deleted file mode 100644
index bc0d337..0000000
--- a/res/drawable/ic_sysbar_region_screenshot_dark.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- drawable/image_filter.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="@color/icon_color_dark"
-        android:pathData="M1,5H3V19H1V5M5,5H7V19H5V5M22,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H22A1,1 0 0,0 23,18V6A1,1 0 0,0 22,5M11,17L13.5,13.85L15.29,16L17.79,12.78L21,17H11Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_rotate_button.xml b/res/drawable/ic_sysbar_rotate_button.xml
deleted file mode 100644
index 20b80c1..0000000
--- a/res/drawable/ic_sysbar_rotate_button.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/format_list_bulleted_type.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="#FFFFFFFF" android:pathData="m 10.015,9.8169748 -2.77,-1.9075587 2.77,-1.9075586 1.12,0.7712872 -0.85,0.5922385 h 5.16 c 0.72,0 1.31,0.3856436 1.31,0.8676981 V 14.54111 l -1.58,-1.088066 V 8.4534491 h -4.89 l 0.86,0.5922384 z m 3.96,4.3660372 -1.12,0.771287 0.85,0.592238 H 8.825 V 10.546943 L 7.245,9.4519906 v 6.3149144 c 0,0.482055 0.59,0.867698 1.31,0.867698 h 5.16 v 0.0069 l -0.85,0.585352 1.12,0.771287 2.77,-1.907558 z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_rotate_button_dark.xml b/res/drawable/ic_sysbar_rotate_button_dark.xml
deleted file mode 100644
index 33a2b7f..0000000
--- a/res/drawable/ic_sysbar_rotate_button_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/format_list_bulleted_type.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="m 10.015,9.8169748 -2.77,-1.9075587 2.77,-1.9075586 1.12,0.7712872 -0.85,0.5922385 h 5.16 c 0.72,0 1.31,0.3856436 1.31,0.8676981 V 14.54111 l -1.58,-1.088066 V 8.4534491 h -4.89 l 0.86,0.5922384 z m 3.96,4.3660372 -1.12,0.771287 0.85,0.592238 H 8.825 V 10.546943 L 7.245,9.4519906 v 6.3149144 c 0,0.482055 0.59,0.867698 1.31,0.867698 h 5.16 v 0.0069 l -0.85,0.585352 1.12,0.771287 2.77,-1.907558 z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_screen_off.xml b/res/drawable/ic_sysbar_screen_off.xml
deleted file mode 100644
index 79d435b..0000000
--- a/res/drawable/ic_sysbar_screen_off.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/sleep.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_screen_off" android:pathData="M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_screen_off_dark.xml b/res/drawable/ic_sysbar_screen_off_dark.xml
deleted file mode 100644
index 4908ed5..0000000
--- a/res/drawable/ic_sysbar_screen_off_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/sleep.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_screenshot.xml b/res/drawable/ic_sysbar_screenshot.xml
deleted file mode 100644
index b74d24d..0000000
--- a/res/drawable/ic_sysbar_screenshot.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- drawable/image_filter.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_screenshot"

-          android:pathData="M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z" />

- 	</vector>

diff --git a/res/drawable/ic_sysbar_screenshot_dark.xml b/res/drawable/ic_sysbar_screenshot_dark.xml
deleted file mode 100644
index 3ef81c7..0000000
--- a/res/drawable/ic_sysbar_screenshot_dark.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- drawable/image_filter.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark"

-          android:pathData="M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_search.xml b/res/drawable/ic_sysbar_search.xml
deleted file mode 100644
index 5daf744..0000000
--- a/res/drawable/ic_sysbar_search.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/file_find.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_voice_search" android:pathData="M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10A3,3 0 0,0 9,13M20,19.59V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18C18.45,22 18.85,21.85 19.19,21.6L14.76,17.17C13.96,17.69 13,18 12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13C17,14 16.69,14.96 16.17,15.75L20,19.59Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_search_dark.xml b/res/drawable/ic_sysbar_search_dark.xml
deleted file mode 100644
index 62c185b..0000000
--- a/res/drawable/ic_sysbar_search_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/file_find.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10A3,3 0 0,0 9,13M20,19.59V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18C18.45,22 18.85,21.85 19.19,21.6L14.76,17.17C13.96,17.69 13,18 12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13C17,14 16.69,14.96 16.17,15.75L20,19.59Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_settings_panel.xml b/res/drawable/ic_sysbar_settings_panel.xml
deleted file mode 100644
index 192c40f..0000000
--- a/res/drawable/ic_sysbar_settings_panel.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/settings_box.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_settings_panel" android:pathData="M17.25,12C17.25,12.23 17.23,12.46 17.2,12.68L18.68,13.84C18.81,13.95 18.85,14.13 18.76,14.29L17.36,16.71C17.27,16.86 17.09,16.92 16.93,16.86L15.19,16.16C14.83,16.44 14.43,16.67 14,16.85L13.75,18.7C13.72,18.87 13.57,19 13.4,19H10.6C10.43,19 10.28,18.87 10.25,18.7L10,16.85C9.56,16.67 9.17,16.44 8.81,16.16L7.07,16.86C6.91,16.92 6.73,16.86 6.64,16.71L5.24,14.29C5.15,14.13 5.19,13.95 5.32,13.84L6.8,12.68C6.77,12.46 6.75,12.23 6.75,12C6.75,11.77 6.77,11.54 6.8,11.32L5.32,10.16C5.19,10.05 5.15,9.86 5.24,9.71L6.64,7.29C6.73,7.13 6.91,7.07 7.07,7.13L8.81,7.84C9.17,7.56 9.56,7.32 10,7.15L10.25,5.29C10.28,5.13 10.43,5 10.6,5H13.4C13.57,5 13.72,5.13 13.75,5.29L14,7.15C14.43,7.32 14.83,7.56 15.19,7.84L16.93,7.13C17.09,7.07 17.27,7.13 17.36,7.29L18.76,9.71C18.85,9.86 18.81,10.05 18.68,10.16L17.2,11.32C17.23,11.54 17.25,11.77 17.25,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M12,10C10.89,10 10,10.89 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,10.89 13.1,10 12,10Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_settings_panel_dark.xml b/res/drawable/ic_sysbar_settings_panel_dark.xml
deleted file mode 100644
index 9f00066..0000000
--- a/res/drawable/ic_sysbar_settings_panel_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/settings_box.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M17.25,12C17.25,12.23 17.23,12.46 17.2,12.68L18.68,13.84C18.81,13.95 18.85,14.13 18.76,14.29L17.36,16.71C17.27,16.86 17.09,16.92 16.93,16.86L15.19,16.16C14.83,16.44 14.43,16.67 14,16.85L13.75,18.7C13.72,18.87 13.57,19 13.4,19H10.6C10.43,19 10.28,18.87 10.25,18.7L10,16.85C9.56,16.67 9.17,16.44 8.81,16.16L7.07,16.86C6.91,16.92 6.73,16.86 6.64,16.71L5.24,14.29C5.15,14.13 5.19,13.95 5.32,13.84L6.8,12.68C6.77,12.46 6.75,12.23 6.75,12C6.75,11.77 6.77,11.54 6.8,11.32L5.32,10.16C5.19,10.05 5.15,9.86 5.24,9.71L6.64,7.29C6.73,7.13 6.91,7.07 7.07,7.13L8.81,7.84C9.17,7.56 9.56,7.32 10,7.15L10.25,5.29C10.28,5.13 10.43,5 10.6,5H13.4C13.57,5 13.72,5.13 13.75,5.29L14,7.15C14.43,7.32 14.83,7.56 15.19,7.84L16.93,7.13C17.09,7.07 17.27,7.13 17.36,7.29L18.76,9.71C18.85,9.86 18.81,10.05 18.68,10.16L17.2,11.32C17.23,11.54 17.25,11.77 17.25,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M12,10C10.89,10 10,10.89 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,10.89 13.1,10 12,10Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_torch.xml b/res/drawable/ic_sysbar_torch.xml
deleted file mode 100644
index 6ded73f..0000000
--- a/res/drawable/ic_sysbar_torch.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/flashlight.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_flashlight" android:pathData="M9,10L6,5H18L15,10H9M18,4H6V2H18V4M9,22V11H15V22H9M12,13A1,1 0 0,0 11,14A1,1 0 0,0 12,15A1,1 0 0,0 13,14A1,1 0 0,0 12,13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_torch_dark.xml b/res/drawable/ic_sysbar_torch_dark.xml
deleted file mode 100644
index 62bcb74..0000000
--- a/res/drawable/ic_sysbar_torch_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/flashlight.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M9,10L6,5H18L15,10H9M18,4H6V2H18V4M9,22V11H15V22H9M12,13A1,1 0 0,0 11,14A1,1 0 0,0 12,15A1,1 0 0,0 13,14A1,1 0 0,0 12,13Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_volume_panel.xml b/res/drawable/ic_sysbar_volume_panel.xml
deleted file mode 100644
index c02ebba..0000000
--- a/res/drawable/ic_sysbar_volume_panel.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/volume_panel.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_volume_panel" android:pathData="M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_volume_panel_dark.xml b/res/drawable/ic_sysbar_volume_panel_dark.xml
deleted file mode 100644
index 266ddc1..0000000
--- a/res/drawable/ic_sysbar_volume_panel_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/volume_panel.xml -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="22dp"
-    android:width="22dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path android:fillColor="@color/icon_color_dark" android:pathData="M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z" />
-</vector>
diff --git a/res/drawable/ic_sysbar_wifi.xml b/res/drawable/ic_sysbar_wifi.xml
deleted file mode 100644
index 796780e..0000000
--- a/res/drawable/ic_sysbar_wifi.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/wifi.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_wifi" android:pathData="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z" />

-</vector>

diff --git a/res/drawable/ic_sysbar_wifi_dark.xml b/res/drawable/ic_sysbar_wifi_dark.xml
deleted file mode 100644
index 2c4d014..0000000
--- a/res/drawable/ic_sysbar_wifi_dark.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- drawable/wifi.xml -->

-<vector xmlns:android="http://schemas.android.com/apk/res/android"

-    android:height="22dp"

-    android:width="22dp"

-    android:viewportWidth="24"

-    android:viewportHeight="24">

-    <path android:fillColor="@color/icon_color_dark" android:pathData="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z" />

-</vector>

diff --git a/res/drawable/smartbar_editmode_color.xml b/res/drawable/smartbar_editmode_color.xml
deleted file mode 100644
index 3e7b298..0000000
--- a/res/drawable/smartbar_editmode_color.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle">
-    <solid android:color="@*android:color/accent_device_default_light" />
-</shape>
diff --git a/res/layout-sw600dp/fling_bar.xml b/res/layout-sw600dp/fling_bar.xml
deleted file mode 100644
index ac6fbda..0000000
--- a/res/layout-sw600dp/fling_bar.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
--->
-
-<!--  navigation bar for sw600dp (small tablets) -->
-<com.android.systemui.navigation.fling.FlingView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:prvandroid="http://schemas.android.com/apk/prv/res/android"
-    xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/system_bar_background" >
-
-    <FrameLayout android:id="@+id/rot0"
-        android:layout_height="match_parent"
-        android:layout_width="match_parent"
-        >
-
-        <LinearLayout
-            android:id="@+id/nav_buttons"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:animateLayoutChanges="true"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:orientation="horizontal" >
-
-            <Space
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_weight="1"/>
-
-            <!-- navigation controls -->
-            <com.android.systemui.navigation.fling.FlingLogoView
-                android:id="@+id/fling_console"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_weight="0"
-                android:src="@drawable/ic_eos_fling" />
-
-            <ImageView
-                android:id="@+id/rotationLogo"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:src="@drawable/ic_sysbar_rotate_button"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-
-        </LinearLayout>
-    </FrameLayout>
-
-    <FrameLayout android:id="@+id/rot90"
-        android:layout_height="match_parent"
-        android:layout_width="match_parent"
-        android:visibility="gone"
-        android:paddingTop="0dp"
-        >
-
-        <LinearLayout
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            android:orientation="horizontal"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:id="@+id/nav_buttons"
-            android:animateLayoutChanges="true"
-            >
-
-            <ImageView
-                android:id="@+id/rotationLogo"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:src="@drawable/ic_sysbar_rotate_button"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-
-            <!-- navigation controls -->
-            <com.android.systemui.navigation.fling.FlingLogoView
-                android:id="@+id/fling_console"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_weight="0"
-                android:src="@drawable/ic_eos_fling_land" />
-
-            <Space
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_weight="1"/>
-
-        </LinearLayout>
-    </FrameLayout>
-</com.android.systemui.navigation.fling.FlingView>
diff --git a/res/layout/action_item_vertical.xml b/res/layout/action_item_vertical.xml
deleted file mode 100644
index 93f9d85..0000000
--- a/res/layout/action_item_vertical.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="horizontal"
-    android:layout_width="fill_parent"
-    android:layout_height="96dp"
-    android:clickable="true"
-    android:focusable="true"
-    android:background="@drawable/action_item_btn">
-
-    <ImageView
-        android:id="@+id/iv_icon"
-        android:layout_width="32dp"
-        android:layout_height="32dp"
-        android:scaleType="center" />
-
-    <TextView
-        android:id="@+id/tv_title"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
-        android:gravity="center_vertical"
-        android:paddingStart="12dp"
-        android:paddingEnd="10dp"
-        android:textSize="18dp"
-        android:textColor="@color/smartbar_editor_popup_text"/>
-
-</LinearLayout>
diff --git a/res/layout/edit_hint.xml b/res/layout/edit_hint.xml
deleted file mode 100644
index f83877f..0000000
--- a/res/layout/edit_hint.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-    <ImageView
-        android:id="@+id/imageView"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentEnd="true"
-        android:padding="5dp"
-        android:src="@drawable/edit_mode" />
-
-</RelativeLayout>
diff --git a/res/layout/fling_bar.xml b/res/layout/fling_bar.xml
deleted file mode 100644
index 851ffc8..0000000
--- a/res/layout/fling_bar.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
--->
-
-<com.android.systemui.navigation.fling.FlingView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:prvandroid="http://schemas.android.com/apk/prv/res/android"
-    xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/system_bar_background" >
-
-    <FrameLayout
-        android:id="@+id/rot0"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-        <LinearLayout
-            android:id="@+id/nav_buttons"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center"
-            android:animateLayoutChanges="true"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:orientation="horizontal" >
-
-            <Space
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-
-            <com.android.systemui.navigation.fling.FlingLogoView
-                android:id="@+id/fling_console"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="0"
-                android:src="@drawable/ic_eos_fling" />
-
-            <ImageView
-                android:id="@+id/rotationLogo"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:src="@drawable/ic_sysbar_rotate_button"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-        </LinearLayout>
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/rot90"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:paddingTop="0dp"
-        android:visibility="gone" >
-
-        <LinearLayout
-            android:id="@+id/nav_buttons"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center"
-            android:animateLayoutChanges="true"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:orientation="vertical" >
-
-            <ImageView
-                android:id="@+id/rotationLogo"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:src="@drawable/ic_sysbar_rotate_button"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-
-            <com.android.systemui.navigation.fling.FlingLogoView
-                android:id="@+id/fling_console"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:layout_weight="0"
-                android:src="@drawable/ic_eos_fling_land" />
-
-            <Space
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:visibility="invisible" />
-
-        </LinearLayout>
-    </FrameLayout>
-</com.android.systemui.navigation.fling.FlingView>
diff --git a/res/layout/opa_smartbutton.xml b/res/layout/opa_smartbutton.xml
deleted file mode 100644
index aa27da7..0000000
--- a/res/layout/opa_smartbutton.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<com.android.systemui.navigation.OpaLayout android:id="@+id/opa_smartbutton"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:systemui="http://schemas.android.com/apk/res-auto"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent">
-        <ImageView android:id="@+id/red" android:src="@drawable/ic_sysbar_opa_red" android:importantForAccessibility="no" style="@style/DotStyle" />
-        <ImageView android:id="@+id/blue" android:src="@drawable/ic_sysbar_opa_blue" android:importantForAccessibility="no" style="@style/DotStyle" />
-        <ImageView android:id="@+id/green" android:src="@drawable/ic_sysbar_opa_green" android:importantForAccessibility="no" style="@style/DotStyle" />
-        <ImageView android:id="@+id/yellow" android:src="@drawable/ic_sysbar_opa_yellow" android:importantForAccessibility="no" style="@style/DotStyle" />
-    </RelativeLayout>
-
-    <com.android.systemui.navigation.smartbar.SmartButtonView
-        android:layout_gravity="center"
-        android:id="@+id/smartbutton"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="center" />
-
-</com.android.systemui.navigation.OpaLayout>
diff --git a/res/layout/popup_vertical.xml b/res/layout/popup_vertical.xml
deleted file mode 100644
index 6396d69..0000000
--- a/res/layout/popup_vertical.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout 
-	xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    >
-	    
-
-	<ScrollView
-	    android:id="@+id/scroller"
-	    android:layout_width="wrap_content"
-	    android:layout_height="wrap_content"
-	    android:layout_marginTop="16dip"
-	    android:background="@color/smartbar_editor_popup_background"
-	    android:fadingEdgeLength="5dip"
-	    android:scrollbars="none" >
-        
-    	<LinearLayout
-	    	android:id="@+id/tracks"
-	    	android:orientation="vertical"
-	        android:layout_width="wrap_content"
-	        android:layout_height="wrap_content"
-	        android:layout_weight="1"
-	        android:padding="10dip"/>
-       
-	</ScrollView >
- 	
- 	<ImageView
-        android:id="@+id/arrow_up"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:src="@drawable/arrow_up" />
-        
- 	<ImageView
-        android:id="@+id/arrow_down"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-    	android:layout_below="@id/scroller"
-      	android:layout_marginTop="-4dip"
-        android:src="@drawable/arrow_down" />
-
-</RelativeLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-af/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-ar/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
deleted file mode 100644
index aac8ec3..0000000
--- a/res/values-ca/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Cap acció</string>
-  <string name="label_action_settings_panel">Panell QS</string>
-  <string name="label_action_notification_panel">Panell de notificacions</string>
-  <string name="label_action_screenshot">Captura de pantalla</string>
-  <string name="label_action_screenrecord">Enregistra la pantalla</string>
-  <string name="label_action_expanded_desktop">Escriptori ampliat</string>
-  <string name="label_action_screen_off">Apaga la pantalla</string>
-  <string name="label_action_force_close_app">Força el tancament de l\'aplicació</string>
-  <string name="label_action_search_assistant">Assistent de cerca</string>
-  <string name="label_action_google_now_on_tap">Google Assistent</string>
-  <string name="label_action_voice_search">Cerca per veu</string>
-  <string name="label_action_in_app_search">Cerca dins l\'aplicació</string>
-  <string name="label_action_flashlight">Llanterna</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">Wi-Fi</string>
-  <string name="label_action_hotspot">Punt d\'accés</string>
-  <string name="label_action_last_app">Darrera aplicació</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Menú d\'apagat</string>
-  <string name="label_action_menu">Menú</string>
-  <string name="label_action_back">Enrere</string>
-  <string name="label_action_home">Inici</string>
-  <string name="label_action_ime_switcher">IME canviador</string>
-  <string name="label_action_stop_screenpinning">Atura la fixació de pantalla</string>
-  <string name="label_action_ime_down">Mètode d\'entrada cursor cap avall</string>
-  <string name="label_action_ime_left">Mètode d\'entrada cursor cap a l\'esquerra</string>
-  <string name="label_action_ime_right">Mètode d\'entrada cursor cap a la dreta</string>
-  <string name="label_action_ime_up">Mètode d\'entrada cursor cap dalt</string>
-  <string name="label_action_volume_panel">Panell de volum</string>
-  <string name="label_action_clear_notifications">Esborra les notificacions</string>
-  <string name="label_action_editing_smartbar">Editor de la Smartbar</string>
-  <string name="label_action_split_screen">Pantalla dividida</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Accions</string>
-  <string name="label_smartbar_icon">Icona</string>
-  <string name="label_smartbar_add">Afegeix</string>
-  <string name="label_smartbar_remove">Elimina</string>
-  <string name="label_smartbar_cancel">Cancel·la</string>
-  <string name="label_smartbar_finish">Finalitza</string>
-  <string name="label_smartbar_single_tap">Un toc</string>
-  <string name="label_smartbar_double_tap">Doble toc</string>
-  <string name="label_smartbar_long_press">Pulsació perllongada</string>
-  <string name="label_smartbar_icon_pack">Paquet d\'icones</string>
-  <string name="label_smartbar_icon_gallery">Galeria</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reinicia</string>
-  <string name="smartbar_editor_toast_starting">S\'està iniciant l\'edició del navegador</string>
-  <string name="smartbar_editor_toast_stopping">S\'està aturant l\'edició del navegador</string>
-  <string name="smartbar_editor_toast_unavailable">L\'edició del navegador no es troba disponible</string>
-  <string name="edit_mode">Mode d\'edició</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s finalitzades</string>
-</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
deleted file mode 100644
index 4aca5db..0000000
--- a/res/values-cs/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Žádné akce</string>
-  <string name="label_action_settings_panel">Panel QS</string>
-  <string name="label_action_notification_panel">Notifikační panel</string>
-  <string name="label_action_screenshot">Snímek obrazovky</string>
-  <string name="label_action_screenrecord">Záznam obrazovky</string>
-  <string name="label_action_expanded_desktop">Rozšířená plocha</string>
-  <string name="label_action_screen_off">Vypnout obrazovku</string>
-  <string name="label_action_force_close_app">Vynutit ukončení aplikace</string>
-  <string name="label_action_search_assistant">Vyhledávací asistent</string>
-  <string name="label_action_google_now_on_tap">Google asistent</string>
-  <string name="label_action_voice_search">Hlasové vyhledávání</string>
-  <string name="label_action_in_app_search">Hledat v aplikacích</string>
-  <string name="label_action_flashlight">Svítilna</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Poslední aplikace</string>
-  <string name="label_action_overview">Nedávné</string>
-  <string name="label_action_power_menu">Nabídka Vypnout</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Zpět</string>
-  <string name="label_action_home">Domovská stránka</string>
-  <string name="label_action_ime_switcher">Editor IME</string>
-  <string name="label_action_stop_screenpinning">Vypnout připnutí obrazovky</string>
-  <string name="label_action_ime_down">Vstupní metoda kurzor dolů</string>
-  <string name="label_action_ime_left">Vstupní metoda kurzor doleva</string>
-  <string name="label_action_ime_right">Vstupní metoda kurzor vpravo</string>
-  <string name="label_action_ime_up">Vstupní metoda kurzor nahoru</string>
-  <string name="label_action_volume_panel">Panel hlasitosti</string>
-  <string name="label_action_clear_notifications">Vymazat oznámení</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Akce</string>
-  <string name="label_smartbar_icon">Ikona</string>
-  <string name="label_smartbar_add">Přidat</string>
-  <string name="label_smartbar_remove">Odebrat</string>
-  <string name="label_smartbar_cancel">Storno</string>
-  <string name="label_smartbar_finish">Dokončit</string>
-  <string name="label_smartbar_single_tap">Jediným klepnutím</string>
-  <string name="label_smartbar_double_tap">Dvojité poklepání</string>
-  <string name="label_smartbar_long_press">Dlouhý stisk</string>
-  <string name="label_smartbar_icon_pack">Balík ikon</string>
-  <string name="label_smartbar_icon_gallery">Galerie</string>
-  <string name="label_smartbar_icon_color">Barva</string>
-  <string name="label_smartbar_icon_reset">Resetovat</string>
-  <string name="smartbar_editor_toast_starting">Výchozí navigační editor</string>
-  <string name="smartbar_editor_toast_stopping">Zastavující navigační editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigační editor není k dispozici</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-da/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
deleted file mode 100644
index bf7b4ec..0000000
--- a/res/values-de/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Keine Aktion</string>
-  <string name="label_action_settings_panel">Schnelleinstellungen</string>
-  <string name="label_action_notification_panel">Benachrichtigungsfeld</string>
-  <string name="label_action_screenshot">Bildschirmfoto</string>
-  <string name="label_action_screenrecord">Bildschirmaufnahme</string>
-  <string name="label_action_expanded_desktop">Erweiterter Desktop</string>
-  <string name="label_action_screen_off">Bildschirm ausschalten</string>
-  <string name="label_action_force_close_app">App beenden</string>
-  <string name="label_action_search_assistant">Suchassistent</string>
-  <string name="label_action_google_now_on_tap">Google assistent</string>
-  <string name="label_action_voice_search">Sprachsuche</string>
-  <string name="label_action_in_app_search">In-App-Suche</string>
-  <string name="label_action_flashlight">Taschenlampe</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WLAN</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Letzte App</string>
-  <string name="label_action_overview">Anwendungsverlauf</string>
-  <string name="label_action_power_menu">Startmenü</string>
-  <string name="label_action_menu">Menü</string>
-  <string name="label_action_back">Zurück</string>
-  <string name="label_action_home">Startbildschirm</string>
-  <string name="label_action_ime_switcher">IME-wechsler</string>
-  <string name="label_action_stop_screenpinning">Bildschirm anheften stoppen</string>
-  <string name="label_action_ime_down">Eingabemethode Cursor unten</string>
-  <string name="label_action_ime_left">Eingabemethode Cursor links</string>
-  <string name="label_action_ime_right">Eingabemethode Cursor rechts</string>
-  <string name="label_action_ime_up">Eingabemethode Cursor oben</string>
-  <string name="label_action_volume_panel">Lautstärkeregler</string>
-  <string name="label_action_clear_notifications">Benachrichtigungen löschen</string>
-  <string name="label_action_editing_smartbar">SmartBar-Editor</string>
-  <string name="label_action_split_screen">Geteilter Bildschirm</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Aktionen</string>
-  <string name="label_smartbar_icon">Symbol</string>
-  <string name="label_smartbar_add">Hinzufügen</string>
-  <string name="label_smartbar_remove">Entfernen</string>
-  <string name="label_smartbar_cancel">Abbrechen</string>
-  <string name="label_smartbar_finish">Beenden</string>
-  <string name="label_smartbar_single_tap">Einmal tippen</string>
-  <string name="label_smartbar_double_tap">Doppelt tippen</string>
-  <string name="label_smartbar_long_press">Lang drücken</string>
-  <string name="label_smartbar_icon_pack">Symbol-Paket</string>
-  <string name="label_smartbar_icon_gallery">Galerie</string>
-  <string name="label_smartbar_icon_color">Farbe</string>
-  <string name="label_smartbar_icon_reset">Zurücksetzen</string>
-  <string name="smartbar_editor_toast_starting">Navigation-Editor starten</string>
-  <string name="smartbar_editor_toast_stopping">Navigation-Editor stoppen</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation-Editor nicht verfügbar</string>
-  <string name="edit_mode">Bearbeitungsmodus</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s beendet</string>
-</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-el/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
deleted file mode 100644
index 3c4131d..0000000
--- a/res/values-es/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Sin acción</string>
-  <string name="label_action_settings_panel">Panel QS</string>
-  <string name="label_action_notification_panel">Panel de notificaciones</string>
-  <string name="label_action_screenshot">Captura de pantalla</string>
-  <string name="label_action_screenrecord">Grabar Pantalla</string>
-  <string name="label_action_expanded_desktop">Escritorio extendido</string>
-  <string name="label_action_screen_off">Apagar pantalla</string>
-  <string name="label_action_force_close_app">Forzar cierre de app</string>
-  <string name="label_action_search_assistant">Asistente de búsqueda</string>
-  <string name="label_action_google_now_on_tap">Google asistente</string>
-  <string name="label_action_voice_search">Búsqueda por voz</string>
-  <string name="label_action_in_app_search">Búsqueda en la aplicación</string>
-  <string name="label_action_flashlight">Linterna</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">Wi-Fi</string>
-  <string name="label_action_hotspot">Zona Wi-Fi</string>
-  <string name="label_action_last_app">Última aplicación</string>
-  <string name="label_action_overview">Recientes</string>
-  <string name="label_action_power_menu">Menú de apagado</string>
-  <string name="label_action_menu">Menú</string>
-  <string name="label_action_back">Volver</string>
-  <string name="label_action_home">Inicio</string>
-  <string name="label_action_ime_switcher">Selector IME</string>
-  <string name="label_action_stop_screenpinning">Detener fijado de pantalla</string>
-  <string name="label_action_ime_down">Método de entrada el cursor hacia abajo</string>
-  <string name="label_action_ime_left">Método de entrada el cursor hacia izquierda</string>
-  <string name="label_action_ime_right">Método de entrada el cursor hacia derecha</string>
-  <string name="label_action_ime_up">Método de entrada el cursor hacia arriba</string>
-  <string name="label_action_volume_panel">Panel de volumen</string>
-  <string name="label_action_clear_notifications">Borrar notificaciones</string>
-  <string name="label_action_editing_smartbar">Editor de Smartbar</string>
-  <string name="label_action_split_screen">Pantalla dividida</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Acciones</string>
-  <string name="label_smartbar_icon">Icono</string>
-  <string name="label_smartbar_add">Agregar</string>
-  <string name="label_smartbar_remove">Eliminar</string>
-  <string name="label_smartbar_cancel">Cancelar</string>
-  <string name="label_smartbar_finish">Finalizar</string>
-  <string name="label_smartbar_single_tap">Un toque</string>
-  <string name="label_smartbar_double_tap">Doble toque</string>
-  <string name="label_smartbar_long_press">Pulsación larga</string>
-  <string name="label_smartbar_icon_pack">Paquete de iconos</string>
-  <string name="label_smartbar_icon_gallery">Galería</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Restablecer</string>
-  <string name="smartbar_editor_toast_starting">Empezar editor de barra de navegacion</string>
-  <string name="smartbar_editor_toast_stopping">Terminando editor de barra de navegacion</string>
-  <string name="smartbar_editor_toast_unavailable">Editor de barra de navegacion no disponible</string>
-  <string name="edit_mode">Modo de edición</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s finalizada</string>
-</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
deleted file mode 100644
index 466a7ce..0000000
--- a/res/values-fi/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Ei toimintoa</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Laajennettu työpöytä</string>
-  <string name="label_action_screen_off">Näyttö pois päältä</string>
-  <string name="label_action_force_close_app">Pakota sovelluksen sulkeminen</string>
-  <string name="label_action_search_assistant">Haku</string>
-  <string name="label_action_google_now_on_tap">Google avustaja</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Taskulamppu</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Mobiilitukiasema</string>
-  <string name="label_action_last_app">Viimeisin sovellus</string>
-  <string name="label_action_overview">Viimeaikaiset</string>
-  <string name="label_action_power_menu">Virtanappi-valikko</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Syöttötavan valitsimen osoitin, vasen</string>
-  <string name="label_action_ime_right">Syöttötavan valitsimen osoitin, oikea</string>
-  <string name="label_action_ime_up">Syöttötavan valitsimen osoitin, ylös</string>
-  <string name="label_action_volume_panel">Äänenvoimakkuus paneeli</string>
-  <string name="label_action_clear_notifications">Tyhjennä ilmoitukset</string>
-  <string name="label_action_editing_smartbar">Smartbar editori</string>
-  <string name="label_action_split_screen">Jaettu näyttö</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
deleted file mode 100644
index 25cc357..0000000
--- a/res/values-fr/strings.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-    <!-- Bindable action labels -->
-    <string name="label_action_no_action">Aucune action</string>
-    <string name="label_action_settings_panel">Panneau de configuration rapide</string>
-    <string name="label_action_notification_panel">Volet de notification</string>
-    <string name="label_action_screenshot">Capture d\'écran</string>
-    <string name="label_action_region_screenshot">Capture d\'écran partielle</string>
-    <string name="label_action_screenrecord">Capture vidéo</string>
-    <string name="label_action_expanded_desktop">Bureau étendu</string>
-    <string name="label_action_screen_off">Mise en veille</string>
-    <string name="label_action_force_close_app">Forcer l\'arrêt de l\'application</string>
-    <string name="label_action_search_assistant">Recherche</string>
-    <string name="label_action_google_now_on_tap">Assistant Google</string>
-    <string name="label_action_voice_search">Recherche vocale</string>
-    <string name="label_action_in_app_search">Recherche dans l\'application</string>
-    <string name="label_action_flashlight">Lampe de poche</string>
-    <string name="label_action_bluetooth">Bluetooth</string>
-    <string name="label_action_wifi">Wi-Fi</string>
-    <string name="label_action_hotspot">Partage de connexion</string>
-    <string name="label_action_last_app">Dernière application</string>
-    <string name="label_action_overview">Applications récentes</string>
-    <string name="label_action_power_menu">Menu marche/arrêt</string>
-    <string name="label_action_menu">Menu</string>
-    <string name="label_action_back">Retour</string>
-    <string name="label_action_home">Accueil</string>
-    <string name="label_action_ime_switcher">Sélecteur de clavier</string>
-    <string name="label_action_stop_screenpinning">Annuler l\'épinglage de l\'écran</string>
-    <string name="label_action_ime_down">Curseur bas</string>
-    <string name="label_action_ime_left">Curseur gauche</string>
-    <string name="label_action_ime_right">Curseur droit</string>
-    <string name="label_action_ime_up">Curseur haut</string>
-    <string name="label_action_volume_panel">Panneau de volume</string>
-    <string name="label_action_clear_notifications">Supprimer les notifications</string>
-    <string name="label_action_editing_smartbar">Menu d\'édition</string>
-    <string name="label_action_split_screen">Écran partagé</string>
-    <string name="label_action_one_handed_mode_left">Utilisation à une main (gaucher)</string>
-    <string name="label_action_one_handed_mode_right">Utilisation à une main (droitier)</string>
-    <string name="label_action_media_left">Titre musical précédent</string>
-    <string name="label_action_media_right">Titre musical suivant</string>
-
-    <!-- Smartbar -->
-    <string name="label_smartbar_actions">Actions</string>
-    <string name="label_smartbar_icon">Icône</string>
-    <string name="label_smartbar_add">Ajouter</string>
-    <string name="label_smartbar_remove">Supprimer</string>
-    <string name="label_smartbar_cancel">Annuler</string>
-    <string name="label_smartbar_finish">Terminé</string>
-    <string name="label_smartbar_single_tap">Appui simple</string>
-    <string name="label_smartbar_double_tap">Double appui</string>
-    <string name="label_smartbar_long_press">Appui prolongé</string>
-    <string name="label_smartbar_icon_pack">Pack d\'icônes</string>
-    <string name="label_smartbar_icon_gallery">Galerie</string>
-    <string name="label_smartbar_icon_color">Couleur</string>
-    <string name="label_smartbar_icon_reset">Réinitialiser</string>
-    <string name="smartbar_editor_toast_starting">Démarrage du menu d\'édition de SmartBar</string>
-    <string name="smartbar_editor_toast_stopping">Arrêt du menu d\'édition de SmartBar</string>
-    <string name="smartbar_editor_toast_unavailable">Menu d\'édition de SmartBar non disponible</string>
-    <string name="edit_mode">Modifier</string>
-
-    <!-- App killed message -->
-    <string name="app_killed_message">Fermeture forcée de %s</string>
-
-</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
deleted file mode 100644
index 50e30de..0000000
--- a/res/values-hu/strings.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Nincs művelet</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Értesítési panel</string>
-  <string name="label_action_screenshot">Képernyőmentés</string>
-  <string name="label_action_region_screenshot">Részleges képernyőmentés</string>
-  <string name="label_action_screenrecord">Képernyő felvétel</string>
-  <string name="label_action_expanded_desktop">Kiterjesztett képernyő</string>
-  <string name="label_action_screen_off">Képernyő kikapcsolása</string>
-  <string name="label_action_force_close_app">Alkalmazás kényszerített bezárása</string>
-  <string name="label_action_search_assistant">Keresési segéd</string>
-  <string name="label_action_google_now_on_tap">Google helyettes</string>
-  <string name="label_action_voice_search">hangalapú keresés</string>
-  <string name="label_action_in_app_search">Alkalmazáson belüli keresés</string>
-  <string name="label_action_flashlight">Zseblámpa</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Utolsó alkalmazás</string>
-  <string name="label_action_overview">Előzmények</string>
-  <string name="label_action_power_menu">Kikapcsoló menü</string>
-  <string name="label_action_menu">Menü</string>
-  <string name="label_action_back">Vissza</string>
-  <string name="label_action_home">Kezdőlap</string>
-  <string name="label_action_ime_switcher">IME váltó</string>
-  <string name="label_action_stop_screenpinning">Képernyő rögzítés feloldása</string>
-  <string name="label_action_ime_down">Beviteli mód kurzor le</string>
-  <string name="label_action_ime_left">Beviteli mód kurzor balra</string>
-  <string name="label_action_ime_right">Beviteli mód kurzor jobbra</string>
-  <string name="label_action_ime_up">Beviteli mód kurzor fel</string>
-  <string name="label_action_volume_panel">Hangerő panel</string>
-  <string name="label_action_clear_notifications">Értesítés törlése</string>
-  <string name="label_action_editing_smartbar">Smartbar szerkesztő</string>
-  <string name="label_action_split_screen">Osztott képernyő</string>
-  <string name="label_action_one_handed_mode_left">Egykezes mód (bal oldalon)</string>
-  <string name="label_action_one_handed_mode_right">Egykezes mód (jobb oldalon)</string>
-  <string name="label_action_media_left">Előző szám</string>
-  <string name="label_action_media_right">Következő szám</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Műveletek</string>
-  <string name="label_smartbar_icon">Ikon</string>
-  <string name="label_smartbar_add">Hozzáadás</string>
-  <string name="label_smartbar_remove">Eltávolítás</string>
-  <string name="label_smartbar_cancel">Mégsem</string>
-  <string name="label_smartbar_finish">Befejezés</string>
-  <string name="label_smartbar_single_tap">Egyszerű érintés</string>
-  <string name="label_smartbar_double_tap">Dupla érintés</string>
-  <string name="label_smartbar_long_press">Hosszan nyomva</string>
-  <string name="label_smartbar_icon_pack">Ikon csomag</string>
-  <string name="label_smartbar_icon_gallery">Galéria</string>
-  <string name="label_smartbar_icon_color">Szín</string>
-  <string name="label_smartbar_icon_reset">Visszaállítás</string>
-  <string name="smartbar_editor_toast_starting">Navigációs sáv szerkesztő elindítva</string>
-  <string name="smartbar_editor_toast_stopping">Navigációs sáv szerkesztő megállítva</string>
-  <string name="smartbar_editor_toast_unavailable">Navigációs sáv szerkesztő nem érhető el</string>
-  <string name="edit_mode">Szerkesztési mód</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s kilőve</string>
-</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
deleted file mode 100644
index 8994815..0000000
--- a/res/values-it/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Nessuna azione</string>
-  <string name="label_action_settings_panel">Pannello QS</string>
-  <string name="label_action_notification_panel">Pannello delle Notifiche</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Registra schermo</string>
-  <string name="label_action_expanded_desktop">Desktop esteso</string>
-  <string name="label_action_screen_off">Spegni lo schermo</string>
-  <string name="label_action_force_close_app">Chiusura forzata app</string>
-  <string name="label_action_search_assistant">Assistente di ricerca</string>
-  <string name="label_action_google_now_on_tap">Google assistente</string>
-  <string name="label_action_voice_search">Ricerca vocale</string>
-  <string name="label_action_in_app_search">Ricerca in applicazioni</string>
-  <string name="label_action_flashlight">Torcia</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Switch all\'ultima applicazione</string>
-  <string name="label_action_overview">App Recenti</string>
-  <string name="label_action_power_menu">Menu tasto accensione</string>
-  <string name="label_action_menu">Menù</string>
-  <string name="label_action_back">Indietro</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">Metodo inserimento</string>
-  <string name="label_action_stop_screenpinning">Interrompi blocco sullo schermo</string>
-  <string name="label_action_ime_down">Metodo di input cursore giù</string>
-  <string name="label_action_ime_left">Metodo di input cursore sinistra</string>
-  <string name="label_action_ime_right">Metodo di input cursore destra</string>
-  <string name="label_action_ime_up">Metodo di input cursore sù</string>
-  <string name="label_action_volume_panel">Pannello volume</string>
-  <string name="label_action_clear_notifications">Cancella le notifiche</string>
-  <string name="label_action_editing_smartbar">Modifica SmartBar</string>
-  <string name="label_action_split_screen">Dividi schermo</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Azioni</string>
-  <string name="label_smartbar_icon">Icona</string>
-  <string name="label_smartbar_add">Aggiungi</string>
-  <string name="label_smartbar_remove">Rimuovi</string>
-  <string name="label_smartbar_cancel">Cancella</string>
-  <string name="label_smartbar_finish">Termina</string>
-  <string name="label_smartbar_single_tap">Tap singolo</string>
-  <string name="label_smartbar_double_tap">Doppio tap</string>
-  <string name="label_smartbar_long_press">Pressione prolungata</string>
-  <string name="label_smartbar_icon_pack">Pacchetto icone</string>
-  <string name="label_smartbar_icon_gallery">Galleria</string>
-  <string name="label_smartbar_icon_color">Colore</string>
-  <string name="label_smartbar_icon_reset">Ripristina</string>
-  <string name="smartbar_editor_toast_starting">Avvio editor di navigazione</string>
-  <string name="smartbar_editor_toast_stopping">Arresto editor di navigazione</string>
-  <string name="smartbar_editor_toast_unavailable">Editor di navigazione non disponibile</string>
-  <string name="edit_mode">Modalità modifica</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s terminata</string>
-</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-iw/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
deleted file mode 100644
index df695e6..0000000
--- a/res/values-ja/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">なし</string>
-  <string name="label_action_settings_panel">QSを設定する</string>
-  <string name="label_action_notification_panel">通知パネル</string>
-  <string name="label_action_screenshot">スクリーンショット</string>
-  <string name="label_action_screenrecord">画面を録画</string>
-  <string name="label_action_expanded_desktop">拡張デスクトップ</string>
-  <string name="label_action_screen_off">画面をオフにする</string>
-  <string name="label_action_force_close_app">アプリを強制終了</string>
-  <string name="label_action_search_assistant">検索アシスタント</string>
-  <string name="label_action_google_now_on_tap">Google アシスタント</string>
-  <string name="label_action_voice_search">音声検索</string>
-  <string name="label_action_in_app_search">アプリ内検索</string>
-  <string name="label_action_flashlight">フラッシュライト</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">最後に使用したアプリ</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">電源メニュー</string>
-  <string name="label_action_menu">メニュー</string>
-  <string name="label_action_back">戻る</string>
-  <string name="label_action_home">ホーム</string>
-  <string name="label_action_ime_switcher">IME Changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">音量パネル</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">スマートバーエディター</string>
-  <string name="label_action_split_screen">分割画面</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">アクション</string>
-  <string name="label_smartbar_icon">アイコン</string>
-  <string name="label_smartbar_add">追加</string>
-  <string name="label_smartbar_remove">削除</string>
-  <string name="label_smartbar_cancel">キャンセル</string>
-  <string name="label_smartbar_finish">終了</string>
-  <string name="label_smartbar_single_tap">シングルタップ</string>
-  <string name="label_smartbar_double_tap">ダブルタップ</string>
-  <string name="label_smartbar_long_press">長押しタップ</string>
-  <string name="label_smartbar_icon_pack">アイコンパック</string>
-  <string name="label_smartbar_icon_gallery">ギャラリー</string>
-  <string name="label_smartbar_icon_color">色</string>
-  <string name="label_smartbar_icon_reset">リセット</string>
-  <string name="smartbar_editor_toast_starting">ナビゲーションエディターを開始しました</string>
-  <string name="smartbar_editor_toast_stopping">ナビゲーションエディターを停止しました</string>
-  <string name="smartbar_editor_toast_unavailable">ナビゲーションエディターを使用できません</string>
-  <string name="edit_mode">編集モード</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-ko/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
deleted file mode 100644
index 36d9bde..0000000
--- a/res/values-nl/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Geen actie</string>
-  <string name="label_action_settings_panel">Instellingen QS</string>
-  <string name="label_action_notification_panel">Notificatie paneel</string>
-  <string name="label_action_screenshot">Schermafbeelding</string>
-  <string name="label_action_screenrecord">Scherm opnemen</string>
-  <string name="label_action_expanded_desktop">Uitgebreid bureaublad</string>
-  <string name="label_action_screen_off">Scherm uitschakelen</string>
-  <string name="label_action_force_close_app">App geforceerd afsluiten</string>
-  <string name="label_action_search_assistant">Zoekassistent</string>
-  <string name="label_action_google_now_on_tap">Google assistent</string>
-  <string name="label_action_voice_search">Gesproken zoekopdrachten</string>
-  <string name="label_action_in_app_search">Zoeken in apps</string>
-  <string name="label_action_flashlight">Zaklamp</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Vorige app</string>
-  <string name="label_action_overview">Recent</string>
-  <string name="label_action_power_menu">Power Menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Vorige</string>
-  <string name="label_action_home">Startpagina</string>
-  <string name="label_action_ime_switcher">Invoermethode</string>
-  <string name="label_action_stop_screenpinning">Stoppen met het scherm vastzetten</string>
-  <string name="label_action_ime_down">Invoermethode cursor omlaag</string>
-  <string name="label_action_ime_left">Invoermethode cursor links</string>
-  <string name="label_action_ime_right">Invoermethode cursor rechts</string>
-  <string name="label_action_ime_up">Invoermethode cursor omhoog</string>
-  <string name="label_action_volume_panel">Volume paneel</string>
-  <string name="label_action_clear_notifications">Melding wissen</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Scherm opsplitsen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Acties</string>
-  <string name="label_smartbar_icon">Pictogram</string>
-  <string name="label_smartbar_add">Toevoegen</string>
-  <string name="label_smartbar_remove">Verwijderen</string>
-  <string name="label_smartbar_cancel">Annuleren</string>
-  <string name="label_smartbar_finish">Voltooien</string>
-  <string name="label_smartbar_single_tap">Enkele klik</string>
-  <string name="label_smartbar_double_tap">Dubbel klikken</string>
-  <string name="label_smartbar_long_press">Lang indrukken</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallerij</string>
-  <string name="label_smartbar_icon_color">Kleur</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Navigatie editor aan het starten</string>
-  <string name="smartbar_editor_toast_stopping">Navigatie editor aan het stoppen</string>
-  <string name="smartbar_editor_toast_unavailable">Navigatie editor niet beschiktbaar</string>
-  <string name="edit_mode">Bewerkingsmodus</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%Applicatie gestopt</string>
-</resources>
diff --git a/res/values-no-rNO/strings.xml b/res/values-no-rNO/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-no-rNO/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
deleted file mode 100644
index 37ce078..0000000
--- a/res/values-pl/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Brak akcji</string>
-  <string name="label_action_settings_panel">Panel QS</string>
-  <string name="label_action_notification_panel">Panel powiadomień</string>
-  <string name="label_action_screenshot">Zrzut ekranu</string>
-  <string name="label_action_screenrecord">Nagrywaj ekran</string>
-  <string name="label_action_expanded_desktop">Rozszerzony pulpit</string>
-  <string name="label_action_screen_off">Wyłączanie ekranu</string>
-  <string name="label_action_force_close_app">Wymuś zamknięcie</string>
-  <string name="label_action_search_assistant">Asystent wyszukiwania</string>
-  <string name="label_action_google_now_on_tap">Google asystent</string>
-  <string name="label_action_voice_search">Wyszukiwanie głosowe</string>
-  <string name="label_action_in_app_search">Wyszukaj w aplikacji</string>
-  <string name="label_action_flashlight">Latarka</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Punkt dostępu</string>
-  <string name="label_action_last_app">Ostatnia aplikacja</string>
-  <string name="label_action_overview">Ostatnio uruchomione</string>
-  <string name="label_action_power_menu">Menu zasilania</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Wróć</string>
-  <string name="label_action_home">Strona Główna</string>
-  <string name="label_action_ime_switcher">Zmiana metody wprowadzania</string>
-  <string name="label_action_stop_screenpinning">Zatrzymaj przypinanie ekranu</string>
-  <string name="label_action_ime_down">Metoda wprowadzania kursor w dół</string>
-  <string name="label_action_ime_left">Metoda wprowadzania kursor w lewo</string>
-  <string name="label_action_ime_right">Metoda wprowadzania kursor w prawo</string>
-  <string name="label_action_ime_up">Metoda wprowadzania kursor w górę</string>
-  <string name="label_action_volume_panel">Panel głośności</string>
-  <string name="label_action_clear_notifications">Usuń powiadomienia</string>
-  <string name="label_action_editing_smartbar">Edycja SmartBar</string>
-  <string name="label_action_split_screen">Podzielony ekran</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Akcje</string>
-  <string name="label_smartbar_icon">Ikona</string>
-  <string name="label_smartbar_add">Dodaj</string>
-  <string name="label_smartbar_remove">Usuń</string>
-  <string name="label_smartbar_cancel">Anuluj</string>
-  <string name="label_smartbar_finish">Zakończ</string>
-  <string name="label_smartbar_single_tap">Pojedyncze dotknięcie</string>
-  <string name="label_smartbar_double_tap">Dwukrotne dotknięcie</string>
-  <string name="label_smartbar_long_press">Przytrzymanie</string>
-  <string name="label_smartbar_icon_pack">Pakiet ikon</string>
-  <string name="label_smartbar_icon_gallery">Galeria</string>
-  <string name="label_smartbar_icon_color">Kolor</string>
-  <string name="label_smartbar_icon_reset">Resetuj</string>
-  <string name="smartbar_editor_toast_starting">Rozpoczęto edycję paska nawigacji</string>
-  <string name="smartbar_editor_toast_stopping">Zakończono edycję paska nawigacji</string>
-  <string name="smartbar_editor_toast_unavailable">Edytor paska nawigacji jest niedostępny</string>
-  <string name="edit_mode">Tryb edycji</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s zabitych</string>
-</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
deleted file mode 100644
index 70d7b32..0000000
--- a/res/values-pt-rBR/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Sem ação</string>
-  <string name="label_action_settings_panel">Painel QS</string>
-  <string name="label_action_notification_panel">Painel de notificação</string>
-  <string name="label_action_screenshot">Captura de tela</string>
-  <string name="label_action_screenrecord">Tela de Gravação</string>
-  <string name="label_action_expanded_desktop">Área de trabalho expandida</string>
-  <string name="label_action_screen_off">Desligar a tela</string>
-  <string name="label_action_force_close_app">Forçar fechamento do app</string>
-  <string name="label_action_search_assistant">Assistente de busca</string>
-  <string name="label_action_google_now_on_tap">Google assistente</string>
-  <string name="label_action_voice_search">Pesquisa por voz</string>
-  <string name="label_action_in_app_search">Pesquisa dentro do app</string>
-  <string name="label_action_flashlight">Lanterna</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Ponto de acesso</string>
-  <string name="label_action_last_app">Último app</string>
-  <string name="label_action_overview">Recentes</string>
-  <string name="label_action_power_menu">Menu do botão Liga/Desliga</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Voltar</string>
-  <string name="label_action_home">Página inicial</string>
-  <string name="label_action_ime_switcher">Alterador de IME</string>
-  <string name="label_action_stop_screenpinning">Parar fixação da tela</string>
-  <string name="label_action_ime_down">Cursor método de entrada para baixo</string>
-  <string name="label_action_ime_left">Cursor método de entrada esquerda</string>
-  <string name="label_action_ime_right">Método de entrada cursor para a direita</string>
-  <string name="label_action_ime_up">Método de entrada cursor para cima</string>
-  <string name="label_action_volume_panel">Painel de volume</string>
-  <string name="label_action_clear_notifications">Limpar notificações</string>
-  <string name="label_action_editing_smartbar">Editor de Barra Inteligente</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Ações</string>
-  <string name="label_smartbar_icon">Ícone</string>
-  <string name="label_smartbar_add">Adicionar</string>
-  <string name="label_smartbar_remove">Excluir</string>
-  <string name="label_smartbar_cancel">Cancelar</string>
-  <string name="label_smartbar_finish">Concluir</string>
-  <string name="label_smartbar_single_tap">Toque único</string>
-  <string name="label_smartbar_double_tap">Toque duplo</string>
-  <string name="label_smartbar_long_press">Segurar</string>
-  <string name="label_smartbar_icon_pack">Pacote de ícones</string>
-  <string name="label_smartbar_icon_gallery">Galeria</string>
-  <string name="label_smartbar_icon_color">Cor</string>
-  <string name="label_smartbar_icon_reset">Redefinir</string>
-  <string name="smartbar_editor_toast_starting">Iniciando edição do navegador</string>
-  <string name="smartbar_editor_toast_stopping">Parando edição do navegador</string>
-  <string name="smartbar_editor_toast_unavailable">Editor de navegação não está disponível</string>
-  <string name="edit_mode">Modo de edição</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
deleted file mode 100644
index 1f0ae5e..0000000
--- a/res/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Sem ação</string>
-  <string name="label_action_settings_panel">Painel QS</string>
-  <string name="label_action_notification_panel">Painel de Notificações</string>
-  <string name="label_action_screenshot">Captura de ecrã</string>
-  <string name="label_action_screenrecord">Gravar ecrã</string>
-  <string name="label_action_expanded_desktop">Ambiente de trabalho expandido</string>
-  <string name="label_action_screen_off">Desligar o ecrã</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Assistente de pesquisa</string>
-  <string name="label_action_google_now_on_tap">Google assistente</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
deleted file mode 100644
index cd52381..0000000
--- a/res/values-ro/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Nicio acţiune</string>
-  <string name="label_action_settings_panel">Panoul QS</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
deleted file mode 100644
index 8426c99..0000000
--- a/res/values-ru/strings.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Нет действия</string>
-  <string name="label_action_settings_panel">Панель QS</string>
-  <string name="label_action_notification_panel">Панель уведомлений</string>
-  <string name="label_action_screenshot">Скриншот</string>
-  <string name="label_action_region_screenshot">Скриншот выбранной области экрана</string>
-  <string name="label_action_screenrecord">Запись экрана</string>
-  <string name="label_action_expanded_desktop">Расширенный экран</string>
-  <string name="label_action_screen_off">Выключить экран</string>
-  <string name="label_action_force_close_app">Принудительно закрыть приложение</string>
-  <string name="label_action_search_assistant">Поисковый помощник</string>
-  <string name="label_action_google_now_on_tap">Google помощник</string>
-  <string name="label_action_voice_search">Голосовой поиск</string>
-  <string name="label_action_in_app_search">Поиск в приложении</string>
-  <string name="label_action_flashlight">Фонарик</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">Wi-Fi</string>
-  <string name="label_action_hotspot">Точка доступа</string>
-  <string name="label_action_last_app">Последнее приложение</string>
-  <string name="label_action_overview">Недавние</string>
-  <string name="label_action_power_menu">Меню кнопки питания</string>
-  <string name="label_action_menu">Меню</string>
-  <string name="label_action_back">Назад</string>
-  <string name="label_action_home">Домой</string>
-  <string name="label_action_ime_switcher">Выбор способа ввода</string>
-  <string name="label_action_stop_screenpinning">Остановить закрепление экрана </string>
-  <string name="label_action_ime_down">Способ ввода курсор вниз</string>
-  <string name="label_action_ime_left">Способ ввода курсор влево</string>
-  <string name="label_action_ime_right">Способ ввода курсор вправо</string>
-  <string name="label_action_ime_up">Способ ввода курсор вверх</string>
-  <string name="label_action_volume_panel">Панель громкости</string>
-  <string name="label_action_clear_notifications">Удалить уведомления</string>
-  <string name="label_action_editing_smartbar">Редактор Smartbar</string>
-  <string name="label_action_split_screen">Разделение экрана</string>
-  <string name="label_action_one_handed_mode_left">Режим одной руки (слева)</string>
-  <string name="label_action_one_handed_mode_right">Режим одной руки (справа)</string>
-  <string name="label_action_media_left">Предыдущий трек</string>
-  <string name="label_action_media_right">Следующий трек</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Действия</string>
-  <string name="label_smartbar_icon">Значок</string>
-  <string name="label_smartbar_add">Добавить </string>
-  <string name="label_smartbar_remove">Удалить</string>
-  <string name="label_smartbar_cancel">Отмена</string>
-  <string name="label_smartbar_finish">Готово</string>
-  <string name="label_smartbar_single_tap">Одиночное нажатие</string>
-  <string name="label_smartbar_double_tap">Двойное нажатие</string>
-  <string name="label_smartbar_long_press">Долгое нажатие</string>
-  <string name="label_smartbar_icon_pack">Набор значков</string>
-  <string name="label_smartbar_icon_gallery">Галерея</string>
-  <string name="label_smartbar_icon_color">Цвет</string>
-  <string name="label_smartbar_icon_reset">Сброс</string>
-  <string name="smartbar_editor_toast_starting">Запуск редактора панели навигации</string>
-  <string name="smartbar_editor_toast_stopping">Остановка редактора панели навигации</string>
-  <string name="smartbar_editor_toast_unavailable">Редактор панели навигации недоступен</string>
-  <string name="edit_mode">Режим редактирования</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">Приложение %s закрыто</string>
-</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-sr/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
deleted file mode 100644
index 0144575..0000000
--- a/res/values-sv/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Ingen åtgärd</string>
-  <string name="label_action_settings_panel">QS Panel</string>
-  <string name="label_action_notification_panel">Notifieringspanel</string>
-  <string name="label_action_screenshot">Skärmbild</string>
-  <string name="label_action_screenrecord">Skärminspelning</string>
-  <string name="label_action_expanded_desktop">Utökat skrivbord</string>
-  <string name="label_action_screen_off">Stänga av skärmen</string>
-  <string name="label_action_force_close_app">Tvinga stängning av app</string>
-  <string name="label_action_search_assistant">Sökassistent</string>
-  <string name="label_action_google_now_on_tap">Google assistent</string>
-  <string name="label_action_voice_search">Röstsökning</string>
-  <string name="label_action_in_app_search">Sökning i app</string>
-  <string name="label_action_flashlight">Ficklampa</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Senaste app</string>
-  <string name="label_action_overview">Senaste</string>
-  <string name="label_action_power_menu">Avstängningsmeny</string>
-  <string name="label_action_menu">Meny</string>
-  <string name="label_action_back">Tillbaka</string>
-  <string name="label_action_home">Hem</string>
-  <string name="label_action_ime_switcher">IME-växlare</string>
-  <string name="label_action_stop_screenpinning">Stoppa fastlåsning av skärm</string>
-  <string name="label_action_ime_down">Inmatningsmetod nedre markören</string>
-  <string name="label_action_ime_left">Inmatningsmetod pil vänster</string>
-  <string name="label_action_ime_right">Inmatningsmetod markörknappen höger</string>
-  <string name="label_action_ime_up">Inmatningsmetod markören uppåt</string>
-  <string name="label_action_volume_panel">Volym panel</string>
-  <string name="label_action_clear_notifications">Ta bort meddelandet</string>
-  <string name="label_action_editing_smartbar">Redigera Smartbar</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Åtgärder</string>
-  <string name="label_smartbar_icon">Ikon</string>
-  <string name="label_smartbar_add">Lägg till</string>
-  <string name="label_smartbar_remove">Ta bort</string>
-  <string name="label_smartbar_cancel">Avbryt</string>
-  <string name="label_smartbar_finish">Slutför</string>
-  <string name="label_smartbar_single_tap">Enkeltryck</string>
-  <string name="label_smartbar_double_tap">Dubbeltryck</string>
-  <string name="label_smartbar_long_press">Långtryck</string>
-  <string name="label_smartbar_icon_pack">Ikonpaket</string>
-  <string name="label_smartbar_icon_gallery">Galleri</string>
-  <string name="label_smartbar_icon_color">Färg</string>
-  <string name="label_smartbar_icon_reset">Återställ</string>
-  <string name="smartbar_editor_toast_starting">Starta navigationseditor</string>
-  <string name="smartbar_editor_toast_stopping">Stoppa navigeringseditor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigeringseditor ej tillgänglig</string>
-  <string name="edit_mode">Redigeringsläge</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
deleted file mode 100644
index 4371bc8..0000000
--- a/res/values-tr/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Eylem yok</string>
-  <string name="label_action_settings_panel">QS paneli</string>
-  <string name="label_action_notification_panel">Bildirim paneli</string>
-  <string name="label_action_screenshot">Ekran görüntüsü</string>
-  <string name="label_action_screenrecord">Kayıt ekranı</string>
-  <string name="label_action_expanded_desktop">Genişletilmiş masaüstü</string>
-  <string name="label_action_screen_off">Ekranı kapat</string>
-  <string name="label_action_force_close_app">Kapatmaya zorla</string>
-  <string name="label_action_search_assistant">Arama asistanı</string>
-  <string name="label_action_google_now_on_tap">Google asistanı</string>
-  <string name="label_action_voice_search">Sesli arama</string>
-  <string name="label_action_in_app_search">Uygulama içi arama</string>
-  <string name="label_action_flashlight">El Feneri</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Son uygulama</string>
-  <string name="label_action_overview">Son İşlemler</string>
-  <string name="label_action_power_menu">Güç menüsü</string>
-  <string name="label_action_menu">Menü</string>
-  <string name="label_action_back">Geri</string>
-  <string name="label_action_home">Ana Ekran</string>
-  <string name="label_action_ime_switcher">IME değiştirici</string>
-  <string name="label_action_stop_screenpinning">Ekran sabitlemeyi durdur</string>
-  <string name="label_action_ime_down">Aşagı imleç giriş yöntemi</string>
-  <string name="label_action_ime_left">Sol imleç giriş yontemi</string>
-  <string name="label_action_ime_right">Sağ imleç giriş yöntemi</string>
-  <string name="label_action_ime_up">Yukarı imleç giriş yöntemi</string>
-  <string name="label_action_volume_panel">Ses paneli</string>
-  <string name="label_action_clear_notifications">Bildirimleri temizle</string>
-  <string name="label_action_editing_smartbar">Smartbar düzenleyici</string>
-  <string name="label_action_split_screen">Bölünmüş ekran</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Eylemler</string>
-  <string name="label_smartbar_icon">Ikon</string>
-  <string name="label_smartbar_add">Ekle</string>
-  <string name="label_smartbar_remove">Kaldır</string>
-  <string name="label_smartbar_cancel">İptal</string>
-  <string name="label_smartbar_finish">Bitti</string>
-  <string name="label_smartbar_single_tap">Tek dokunma</string>
-  <string name="label_smartbar_double_tap">Çift dokunma</string>
-  <string name="label_smartbar_long_press">Uzun basma</string>
-  <string name="label_smartbar_icon_pack">Simge Paketi</string>
-  <string name="label_smartbar_icon_gallery">Galeri</string>
-  <string name="label_smartbar_icon_color">Renk</string>
-  <string name="label_smartbar_icon_reset">Sıfırla</string>
-  <string name="smartbar_editor_toast_starting">Gezinti çubuğu düzenleyici başlatılıyor</string>
-  <string name="smartbar_editor_toast_stopping">Gezinti çubuğu düzenleyici durduruluyor</string>
-  <string name="smartbar_editor_toast_unavailable">Gezinti düzenleyici kullanılamaz</string>
-  <string name="edit_mode">Düzenleme modu</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s sonlandırıldı</string>
-</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
deleted file mode 100644
index 94e8a26..0000000
--- a/res/values-uk/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">Немає дій</string>
-  <string name="label_action_settings_panel">Група QS</string>
-  <string name="label_action_notification_panel">Панель сповіщень</string>
-  <string name="label_action_screenshot">Знімок екрану</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Пошуковий асистент</string>
-  <string name="label_action_google_now_on_tap">Google асистент</string>
-  <string name="label_action_voice_search">Голосовий пошук</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Точка доступу</string>
-  <string name="label_action_last_app">Останній додаток</string>
-  <string name="label_action_overview">Нещодавні</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Головна</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Панель гучності</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Дії</string>
-  <string name="label_smartbar_icon">Значок</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Готово</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Подвійне натискання</string>
-  <string name="label_smartbar_long_press">Довге натискання</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Скинути</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
deleted file mode 100644
index 9b587c5..0000000
--- a/res/values-vi/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">No action</string>
-  <string name="label_action_settings_panel">QS panel</string>
-  <string name="label_action_notification_panel">Notification panel</string>
-  <string name="label_action_screenshot">Screenshot</string>
-  <string name="label_action_screenrecord">Record screen</string>
-  <string name="label_action_expanded_desktop">Expanded desktop</string>
-  <string name="label_action_screen_off">Turn off screen</string>
-  <string name="label_action_force_close_app">Force close app</string>
-  <string name="label_action_search_assistant">Search assistant</string>
-  <string name="label_action_google_now_on_tap">Google assistant</string>
-  <string name="label_action_voice_search">Voice search</string>
-  <string name="label_action_in_app_search">In-app search</string>
-  <string name="label_action_flashlight">Flashlight</string>
-  <string name="label_action_bluetooth">Bluetooth</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">Hotspot</string>
-  <string name="label_action_last_app">Last app</string>
-  <string name="label_action_overview">Recents</string>
-  <string name="label_action_power_menu">Power menu</string>
-  <string name="label_action_menu">Menu</string>
-  <string name="label_action_back">Back</string>
-  <string name="label_action_home">Home</string>
-  <string name="label_action_ime_switcher">IME changer</string>
-  <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-  <string name="label_action_ime_down">Input method cursor down</string>
-  <string name="label_action_ime_left">Input method cursor left</string>
-  <string name="label_action_ime_right">Input method cursor right</string>
-  <string name="label_action_ime_up">Input method cursor up</string>
-  <string name="label_action_volume_panel">Volume panel</string>
-  <string name="label_action_clear_notifications">Clear notifications</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">Actions</string>
-  <string name="label_smartbar_icon">Icon</string>
-  <string name="label_smartbar_add">Add</string>
-  <string name="label_smartbar_remove">Remove</string>
-  <string name="label_smartbar_cancel">Cancel</string>
-  <string name="label_smartbar_finish">Finish</string>
-  <string name="label_smartbar_single_tap">Single tap</string>
-  <string name="label_smartbar_double_tap">Double tap</string>
-  <string name="label_smartbar_long_press">Long press</string>
-  <string name="label_smartbar_icon_pack">Icon pack</string>
-  <string name="label_smartbar_icon_gallery">Gallery</string>
-  <string name="label_smartbar_icon_color">Color</string>
-  <string name="label_smartbar_icon_reset">Reset</string>
-  <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-  <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-  <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
deleted file mode 100644
index 558ba9e..0000000
--- a/res/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">无动作</string>
-  <string name="label_action_settings_panel">QS面板</string>
-  <string name="label_action_notification_panel">通知面板</string>
-  <string name="label_action_screenshot">屏幕截图</string>
-  <string name="label_action_screenrecord">屏幕录像</string>
-  <string name="label_action_expanded_desktop">扩展桌面</string>
-  <string name="label_action_screen_off">关闭屏幕</string>
-  <string name="label_action_force_close_app">强制关闭应用</string>
-  <string name="label_action_search_assistant">搜索助手</string>
-  <string name="label_action_google_now_on_tap">Google 助理</string>
-  <string name="label_action_voice_search">语音搜索</string>
-  <string name="label_action_in_app_search">应用内搜索</string>
-  <string name="label_action_flashlight">手电筒</string>
-  <string name="label_action_bluetooth">蓝牙</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">热点</string>
-  <string name="label_action_last_app">上次运行应用</string>
-  <string name="label_action_overview">最近任务</string>
-  <string name="label_action_power_menu">电源菜单</string>
-  <string name="label_action_menu">菜单键</string>
-  <string name="label_action_back">返回键</string>
-  <string name="label_action_home">主页键</string>
-  <string name="label_action_ime_switcher">输入法切换</string>
-  <string name="label_action_stop_screenpinning">停止屏幕固定</string>
-  <string name="label_action_ime_down">输入法光标下</string>
-  <string name="label_action_ime_left">输入法光标左</string>
-  <string name="label_action_ime_right">输入法光标右</string>
-  <string name="label_action_ime_up">输入法光标上</string>
-  <string name="label_action_volume_panel">声音面板</string>
-  <string name="label_action_clear_notifications">清除通知</string>
-  <string name="label_action_editing_smartbar">Smartbar 编辑器</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">动作</string>
-  <string name="label_smartbar_icon">图标</string>
-  <string name="label_smartbar_add">添加</string>
-  <string name="label_smartbar_remove">移除</string>
-  <string name="label_smartbar_cancel">取消</string>
-  <string name="label_smartbar_finish">完成</string>
-  <string name="label_smartbar_single_tap">单击</string>
-  <string name="label_smartbar_double_tap">双击</string>
-  <string name="label_smartbar_long_press">长按</string>
-  <string name="label_smartbar_icon_pack">图标包</string>
-  <string name="label_smartbar_icon_gallery">图库</string>
-  <string name="label_smartbar_icon_color">颜色</string>
-  <string name="label_smartbar_icon_reset">重置</string>
-  <string name="smartbar_editor_toast_starting">开始编辑导航栏</string>
-  <string name="smartbar_editor_toast_stopping">停止编辑导航栏</string>
-  <string name="smartbar_editor_toast_unavailable">导航编辑器不可用</string>
-  <string name="edit_mode">编辑模式</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
deleted file mode 100644
index f751e5a..0000000
--- a/res/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <!-- Bindable action labels -->
-  <string name="label_action_no_action">沒有動作</string>
-  <string name="label_action_settings_panel">QS面板</string>
-  <string name="label_action_notification_panel">通知面板</string>
-  <string name="label_action_screenshot">擷取螢幕畫面</string>
-  <string name="label_action_screenrecord">錄製螢幕</string>
-  <string name="label_action_expanded_desktop">擴展桌面</string>
-  <string name="label_action_screen_off">關閉螢幕</string>
-  <string name="label_action_force_close_app">強制關閉應用程式</string>
-  <string name="label_action_search_assistant">搜尋助手</string>
-  <string name="label_action_google_now_on_tap">Google 助理助理</string>
-  <string name="label_action_voice_search">語音搜尋</string>
-  <string name="label_action_in_app_search">應用程式內搜尋</string>
-  <string name="label_action_flashlight">手電筒</string>
-  <string name="label_action_bluetooth">藍芽</string>
-  <string name="label_action_wifi">WiFi</string>
-  <string name="label_action_hotspot">可攜式無線基地台</string>
-  <string name="label_action_last_app">最後使用的應用程式</string>
-  <string name="label_action_overview">總覽</string>
-  <string name="label_action_power_menu">電源功能表</string>
-  <string name="label_action_menu">選單</string>
-  <string name="label_action_back">返回</string>
-  <string name="label_action_home">主畫面</string>
-  <string name="label_action_ime_switcher">輸入法切換</string>
-  <string name="label_action_stop_screenpinning">停止螢幕固定</string>
-  <string name="label_action_ime_down">輸入游標向下</string>
-  <string name="label_action_ime_left">輸入游標向左</string>
-  <string name="label_action_ime_right">輸入游標向右</string>
-  <string name="label_action_ime_up">輸入游標向上</string>
-  <string name="label_action_volume_panel">音量面板</string>
-  <string name="label_action_clear_notifications">清除通知</string>
-  <string name="label_action_editing_smartbar">Smartbar editor</string>
-  <string name="label_action_split_screen">Split screen</string>
-  <!-- Smartbar -->
-  <string name="label_smartbar_actions">動作</string>
-  <string name="label_smartbar_icon">圖示</string>
-  <string name="label_smartbar_add">新增</string>
-  <string name="label_smartbar_remove">移除</string>
-  <string name="label_smartbar_cancel">取消</string>
-  <string name="label_smartbar_finish">完成</string>
-  <string name="label_smartbar_single_tap">單擊</string>
-  <string name="label_smartbar_double_tap">雙擊</string>
-  <string name="label_smartbar_long_press">長按</string>
-  <string name="label_smartbar_icon_pack">圖示包</string>
-  <string name="label_smartbar_icon_gallery">圖片庫</string>
-  <string name="label_smartbar_icon_color">顏色</string>
-  <string name="label_smartbar_icon_reset">重設</string>
-  <string name="smartbar_editor_toast_starting">開始導覽編輯器</string>
-  <string name="smartbar_editor_toast_stopping">停止導覽編輯器</string>
-  <string name="smartbar_editor_toast_unavailable">無法使用導覽編輯器</string>
-  <string name="edit_mode">Edit mode</string>
-  <!-- App killed message -->
-  <string name="app_killed_message">%s killed</string>
-</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
deleted file mode 100644
index 22f6402..0000000
--- a/res/values/colors.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2016 The DirtyUnicorns Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-
-    <!-- PopupWindows -->
-    <color name="smartbar_editor_popup_background">@android:color/white</color>
-    <color name="smartbar_editor_popup_text">@android:color/black</color>
-    <color name="smartbar_editor_popup_icon_fill">@*android:color/accent_device_default_light</color>
-    <color name="smartbar_editor_popup_horiz_separator">@*android:color/accent_device_default_light</color>
-
-    <!-- Edit mode -->
-    <color name="edit_mode_check_mark_color">@android:color/white</color>
-
-    <!-- SmartBar icon colors -->
-    <color name="icon_color_default">#fff</color>
-    <color name="icon_color_dark">#212121</color>
-    <color name="icon_color_no_action">@color/icon_color_default</color>
-    <color name="icon_color_settings_panel">@color/icon_color_default</color>
-    <color name="icon_color_notification_panel">@color/icon_color_default</color>
-    <color name="icon_color_screenshot">@color/icon_color_default</color>
-    <color name="icon_color_region_screenshot">@color/icon_color_default</color>
-    <color name="icon_color_screenrecord">@color/icon_color_default</color>
-    <color name="icon_color_expanded_desktop">@color/icon_color_default</color>
-    <color name="icon_color_screen_off">@color/icon_color_default</color>
-    <color name="icon_color_force_close_app">@color/icon_color_default</color>
-    <color name="icon_color_search_assistant">@color/icon_color_default</color>
-    <color name="icon_color_google_now_on_tap">@color/icon_color_default</color>
-    <color name="icon_color_voice_search">@color/icon_color_default</color>
-    <color name="icon_color_in_app_search">@color/icon_color_default</color>
-    <color name="icon_color_flashlight">@color/icon_color_default</color>
-    <color name="icon_color_bluetooth">@color/icon_color_default</color>
-    <color name="icon_color_wifi">@color/icon_color_default</color>
-    <color name="icon_color_hotspot">@color/icon_color_default</color>
-    <color name="icon_color_last_app">@color/icon_color_default</color>
-    <color name="icon_color_overview">@color/icon_color_default</color>
-    <color name="icon_color_power_menu">@color/icon_color_default</color>
-    <color name="icon_color_menu">@color/icon_color_default</color>
-    <color name="icon_color_back">@color/icon_color_default</color>
-    <color name="icon_color_home">@color/icon_color_default</color>
-    <color name="icon_color_ime_switcher">@color/icon_color_default</color>
-    <color name="icon_color_stop_screenpinning">@color/icon_color_default</color>
-    <color name="icon_color_ime_down">@color/icon_color_default</color>
-    <color name="icon_color_ime_left">@color/icon_color_default</color>
-    <color name="icon_color_ime_right">@color/icon_color_default</color>
-    <color name="icon_color_ime_up">@color/icon_color_default</color>
-    <color name="icon_color_volume_panel">@color/icon_color_default</color>
-    <color name="icon_color_clear_notifications">@color/icon_color_default</color>
-    <color name="icon_color_editing_smartbar">@color/icon_color_default</color>
-    <color name="icon_color_split_screen">@color/icon_color_default</color>
-    <color name="icon_color_one_handed_mode">@color/icon_color_default</color>
-    <color name="icon_color_sound_search">@color/icon_color_default</color>
-
-    <!-- Navigation button ripple color -->
-    <color name="navbutton_ripple_color">#FFFFFFFF</color>
-
-</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 202a4a1..6e5b502 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -15,17 +15,6 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-    <!-- The factor to increase gesture touch slop. It seems the default values
-         from ViewConfiguration are too small for Fling. Often taps and long presses
-         are canceled when they shouldn't be. Applies only to Fling gesture detector
-
-         touchSlop = ViewConfiguration.getTouchSlop() * ((100 + increase_factor) / 100))
-
-         Default value is a 35% increase in allowed "sloppiness".
-         Adjust in overlay for device specific precision -->
-    <item name="config_fling_touchslop_increase_factor" format="float" type="dimen">1.35</item>
-
     <!-- Default bar fill
          User can define this in settings
          Here for reference-->
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
deleted file mode 100644
index 824260d..0000000
--- a/res/values/dimens.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2014 The CyanogenMod Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-
-    <!-- SmartBar -->
-    <dimen name="navigation_action_editor_width">120dp</dimen>
-    <dimen name="navigation_action_editor_height">160dp</dimen>
-    <dimen name="navigation_key_height">@dimen/navigation_key_width</dimen>
-    <dimen name="navigation_extra_key_height">@dimen/navigation_extra_key_width</dimen>
-    <dimen name="navigation_key_padding_start_port">25dp</dimen>
-    <dimen name="navigation_key_padding_end_port">25dp</dimen>
-    <dimen name="navigation_key_padding_start_land">42dp</dimen>
-    <dimen name="navigation_key_padding_end_land">42dp</dimen>
-    <dimen name="navigation_key_extra_margin_start">2dp</dimen>
-    <dimen name="navigation_key_extra_margin_end">2dp</dimen>
-    <dimen name="navigation_key_tablet_width_port">128dp</dimen>
-    <dimen name="navigation_key_tablet_width_land">162dp</dimen>
-
-    <!-- OPA home dimens -->
-    <dimen name="halo_inner_radius">10.0dip</dimen>
-    <dimen name="halo_thickness">1.0dip</dimen>
-    <dimen name="halo_diameter">22.0dip</dimen>
-    <dimen name="opa_dot_diam">10.0dip</dimen>
-    <dimen name="opa_diamond_translation">16.0dip</dimen>
-    <dimen name="opa_line_y_translation">16.0dip</dimen>
-    <dimen name="opa_line_x_trans_ry">15.0dip</dimen>
-    <dimen name="opa_line_x_trans_bg">30.0dip</dimen>
-    <dimen name="opa_line_x_collapse_bg">46.0dip</dimen>
-    <dimen name="opa_line_x_collapse_ry">15.0dip</dimen>
-    <dimen name="opa_overshoot_translation">8.0dip</dimen>
-    <dimen name="opa_return_translation">-1.0dip</dimen>
-    <dimen name="opa_rest_to_collapse">7.0dip</dimen>
-</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
deleted file mode 100644
index 3815e21..0000000
--- a/res/values/strings.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--  Copyright (C) 2014-2015 The Dirty Unicorns Project
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- -->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-    <!-- Bindable action labels -->
-    <string name="label_action_no_action">No action</string>
-    <string name="label_action_settings_panel">QS panel</string>
-    <string name="label_action_notification_panel">Notification panel</string>
-    <string name="label_action_screenshot">Screenshot</string>
-    <string name="label_action_region_screenshot">Partial screenshot</string>
-    <string name="label_action_screenrecord">Record screen</string>
-    <string name="label_action_expanded_desktop">Expanded desktop</string>
-    <string name="label_action_screen_off">Turn off screen</string>
-    <string name="label_action_force_close_app">Force close app</string>
-    <string name="label_action_search_assistant">Search assistant</string>
-    <string name="label_action_google_now_on_tap">Google assistant</string>
-    <string name="label_action_voice_search">Voice search</string>
-    <string name="label_action_in_app_search">In-app search</string>
-    <string name="label_action_flashlight">Flashlight</string>
-    <string name="label_action_bluetooth">Bluetooth</string>
-    <string name="label_action_wifi">WiFi</string>
-    <string name="label_action_hotspot">Hotspot</string>
-    <string name="label_action_last_app">Last app</string>
-    <string name="label_action_overview">Recents</string>
-    <string name="label_action_power_menu">Power menu</string>
-    <string name="label_action_menu">Menu</string>
-    <string name="label_action_back">Back</string>
-    <string name="label_action_home">Home</string>
-    <string name="label_action_ime_switcher">IME changer</string>
-    <string name="label_action_stop_screenpinning">Stop screen pinning</string>
-    <string name="label_action_ime_down">Input method cursor down</string>
-    <string name="label_action_ime_left">Input method cursor left</string>
-    <string name="label_action_ime_right">Input method cursor right</string>
-    <string name="label_action_ime_up">Input method cursor up</string>
-    <string name="label_action_volume_panel">Volume panel</string>
-    <string name="label_action_clear_notifications">Clear notifications</string>
-    <string name="label_action_editing_smartbar">Smartbar editor</string>
-    <string name="label_action_split_screen">Split screen</string>
-    <string name="label_action_one_handed_mode_left">One handed mode (left side)</string>
-    <string name="label_action_one_handed_mode_right">One handed mode (right side)</string>
-    <string name="label_action_media_left">Previous track</string>
-    <string name="label_action_media_right">Next track</string>
-    <string name="label_action_assistant_sound_search">Google sound search</string>
-    <string name="label_action_rotation">Rotation</string>
-
-    <!-- Smartbar -->
-    <string name="label_smartbar_actions">Actions</string>
-    <string name="label_smartbar_icon">Icon</string>
-    <string name="label_smartbar_add">Add</string>
-    <string name="label_smartbar_remove">Remove</string>
-    <string name="label_smartbar_cancel">Cancel</string>
-    <string name="label_smartbar_finish">Finish</string>
-    <string name="label_smartbar_single_tap">Single tap</string>
-    <string name="label_smartbar_double_tap">Double tap</string>
-    <string name="label_smartbar_long_press">Long press</string>
-    <string name="label_smartbar_icon_pack">Icon pack</string>
-    <string name="label_smartbar_icon_gallery">Gallery</string>
-    <string name="label_smartbar_icon_color">Color</string>
-    <string name="label_smartbar_icon_reset">Reset</string>
-    <string name="smartbar_editor_toast_starting">Starting navigation editor</string>
-    <string name="smartbar_editor_toast_stopping">Stopping navigation editor</string>
-    <string name="smartbar_editor_toast_unavailable">Navigation editor unavailable</string>
-    <string name="edit_mode">Edit mode</string>
-
-    <!-- App killed message -->
-    <string name="app_killed_message">%s killed</string>
-
-    <!-- Pulse and media arrows blacklist -->
-    <string name="navMediaArrowsExcludeList" translatable="false">
-        chrome,youtube,netflix,firefox,dolphin,opera,browser
-    </string>
-</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
deleted file mode 100644
index f0f9576..0000000
--- a/res/values/styles.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<resources>

-     <style name="Animations" />

-	<!-- PopUpMenu -->

-	<style name="Animations.PopUpMenu" />

-	

-	<style name="Animations.PopUpMenu.Center">

-		<item name="android:windowEnterAnimation">@anim/grow_from_bottom</item>

-		<item name="android:windowExitAnimation">@anim/shrink_from_top</item>

-	</style>

-	

-	<style name="Animations.PopUpMenu.Left">

-		<item name="android:windowEnterAnimation">@anim/grow_from_bottomleft_to_topright</item>

-		<item name="android:windowExitAnimation">@anim/shrink_from_topright_to_bottomleft</item>

-	</style>

-	

-	<style name="Animations.PopUpMenu.Right">

-		<item name="android:windowEnterAnimation">@anim/grow_from_bottomright_to_topleft</item>

-		<item name="android:windowExitAnimation">@anim/shrink_from_topleft_to_bottomright</item>

-	</style>

-	

-	<style name="Animations.PopUpMenu.Reflect">

-		<item name="android:windowEnterAnimation">@anim/pump_bottom</item>

-		<item name="android:windowExitAnimation">@anim/disappear</item>

-	</style>

-    

-    <style name="DotStyle">

-        <item name="android:layout_width">wrap_content</item>

-        <item name="android:layout_height">wrap_content</item>

-        <item name="android:layout_centerHorizontal">true</item>

-        <item name="android:layout_centerVertical">true</item>

-    </style>

-

-</resources>

diff --git a/src/com/android/systemui/navigation/BaseEditor.java b/src/com/android/systemui/navigation/BaseEditor.java
deleted file mode 100644
index 476da32..0000000
--- a/src/com/android/systemui/navigation/BaseEditor.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- *
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Core implementation of a inline navigation editor. Respond to many of the
- * same events BaseNavigationBar does and provide subclasses with information
- * regarding state changes
- *
- */
-
-package com.android.systemui.navigation;
-
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.Editor;
-import com.android.systemui.R;
-
-import com.android.internal.utils.du.Config.ActionConfig;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.PixelFormat;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.Toast;
-
-public abstract class BaseEditor implements Editor {
-
-    public static final String INTENT_ACTION_EDIT_CLASS = "com.android.settings";
-    public static final String INTENT_ACTION_EDIT_COMPONENT = "com.abc.settings.ActionPickerDialogActivity";
-    public static final String INTENT_ACTION_ICON_PICKER_COMPONENT = "com.abc.settings.IconPickerActivity";
-    public static final String INTENT_ACTION_GALLERY_PICKER_COMPONENT = "com.abc.settings.IconPickerGallery";
-    public static final String INTENT_ICON_PICKER = "intent_icon_picker";
-    public static final String INTENT_GALLERY_PICKER = "intent_gallery_picker";
-    public static final String INTENT_ACTION_PICKER = "intent_action_action_picker";
-    public static final String INTENT_NAVBAR_EDIT_RESET_LAYOUT = "intent_navbar_edit_reset_layout";
-    public static int MODE_ON = 1;
-    public static int MODE_OFF = 2;
-
-    protected Context mContext;
-    protected FrameLayout mFrameLayout;
-    protected WindowManager mWindowManager;
-
-    // we want any incoming hints (menu/ime/disabled) to automatcally
-    // turn off editor. Except when we call these hint handling methods
-    // as part of the editing process
-    protected boolean mLockEditMode;
-    private int mMode = MODE_OFF;
-    private boolean mIsLandscape;
-    private boolean mScreenOn;
-    private boolean mKeyguardShowing;
-    private boolean mScreenPinningOn;
-    private BaseNavigationBar mHost;
-
-    public BaseEditor(BaseNavigationBar host) {
-        mHost = host;
-        mContext = host.getContext();
-        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
-    }
-
-    private void toastState(int state) {
-        if (state == MODE_ON) {
-            editHint();
-        } else if (state == MODE_OFF) {
-            mWindowManager.removeView(mFrameLayout);
-        } else {
-            Toast.makeText(mContext, R.string.smartbar_editor_toast_unavailable,
-            Toast.LENGTH_SHORT).show();
-        }
-    }
-
-    private void editHint() {
-        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
-                WindowManager.LayoutParams.WRAP_CONTENT,
-                WindowManager.LayoutParams.WRAP_CONTENT,
-                WindowManager.LayoutParams.TYPE_PHONE,
-                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                PixelFormat.TRANSLUCENT);
-        params.gravity = Gravity.TOP;
-
-        mFrameLayout = new FrameLayout(mContext);
-
-        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
-        mWindowManager.addView(mFrameLayout, params);
-
-        LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        layoutInflater.inflate(R.layout.edit_hint, mFrameLayout);
-
-        final ImageView imageView = (ImageView) mFrameLayout.findViewById(R.id.imageView);
-        imageView.setOnClickListener(new View.OnClickListener() {
-            public void onClick(View v) {
-                toggleNavigationEditor();
-            }
-        });
-    }
-
-    protected abstract void onEditModeChanged(int mode);
-
-    protected abstract void onPrepareToReorient();
-
-    protected abstract void onReorient();
-
-    protected void onActionPicked(String action, ActionConfig actionConfig) {}
-
-    protected void onIconPicked(String type, String packageName, String iconName) {}
-
-    protected void onImagePicked(String uri) {}
-
-    protected void updateResources(Resources res) {}
-
-    protected void onResetLayout() {}
-
-    @Override
-    public void dispatchNavigationEditorResults(Intent intent) {
-        if (intent != null) {
-            String action = intent.getAction();
-            if (TextUtils.equals(INTENT_NAVBAR_EDIT_RESET_LAYOUT, action)) {
-                onResetLayout();
-            } else if (TextUtils.equals(INTENT_ACTION_PICKER, action)) {
-                int result = intent.getIntExtra("result", Activity.RESULT_CANCELED);
-                if (result == Activity.RESULT_OK) {
-                    String actionString = intent.getStringExtra("action_string");
-                    ActionConfig config = intent.getParcelableExtra("action_config");
-                    onActionPicked(actionString, config);
-                }
-            } else if (TextUtils.equals(INTENT_ICON_PICKER, action)) {
-                int result = intent.getIntExtra("result", Activity.RESULT_CANCELED);
-                if (result == Activity.RESULT_OK) {
-                    String iconType = intent.getStringExtra("icon_data_type");
-                    String iconPackage = intent.getStringExtra("icon_data_package");
-                    String iconName = intent.getStringExtra("icon_data_name");
-                    onIconPicked(iconType, iconPackage, iconName);
-                }
-            } else if (TextUtils.equals(INTENT_GALLERY_PICKER, action)) {
-                Log.d("BASEEDITOR", "ICON SELECTED");
-                int result = intent.getIntExtra("result", Activity.RESULT_CANCELED);
-                if (result == Activity.RESULT_OK) {
-                    String uri = intent.getStringExtra("uri");
-                    onImagePicked(uri);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void toggleNavigationEditor() {
-        final int mode = mMode;
-        if (mode == MODE_ON) {
-            changeEditMode(MODE_OFF);
-            mHost.setSlippery(true);
-        } else {
-            if (isEditorAvailable()) {
-                changeEditMode(MODE_ON);
-                mHost.setSlippery(false);
-            } else {
-                toastState(69);
-            }
-        }
-    }
-
-    @Override
-    public final void changeEditMode(int mode) {
-        if (mLockEditMode || mMode == mode)
-            return;
-        mMode = mode;
-        toastState(mode);
-        onEditModeChanged(mode);
-    }
-
-    public boolean isEditorAvailable() {
-        return !mKeyguardShowing
-                && mScreenOn
-                && !mScreenPinningOn
-                && !mHost.mVertical
-                && !mHost.mPulse.shouldDrawPulse()
-                && !mHost.areAnyHintsActive();
-    }
-
-    @Override
-    public final void prepareToReorient() {
-        onPrepareToReorient();
-    }
-
-    @Override
-    public final void reorient(boolean isLandscape) {
-        mIsLandscape = isLandscape;
-        if (mHost.mVertical) {
-            changeEditMode(MODE_OFF);
-        }
-        onReorient();
-    }
-
-    @Override
-    public void setKeyguardShowing(boolean showing) {
-        mKeyguardShowing = showing;
-        if (mKeyguardShowing) {
-            changeEditMode(MODE_OFF);
-        }
-    }
-
-    @Override
-    public void notifyScreenOn(boolean screenOn) {
-        mScreenOn = screenOn;
-        if (!mScreenOn) {
-            changeEditMode(MODE_OFF);
-        }
-    }
-
-    @Override
-    public void screenPinningStateChanged(boolean enabled) {
-        mScreenPinningOn = enabled;
-        if (mScreenPinningOn) {
-            changeEditMode(MODE_OFF);
-        }
-    }
-
-    protected boolean isLandscape() {
-        return mIsLandscape;
-    }
-
-    public int getMode() {
-        return mMode;
-    }
-}
diff --git a/src/com/android/systemui/navigation/BaseNavigationBar.java b/src/com/android/systemui/navigation/BaseNavigationBar.java
deleted file mode 100644
index 0c4e649..0000000
--- a/src/com/android/systemui/navigation/BaseNavigationBar.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/**
- * Copyright (C) 2008 The Android Open Source Project
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Base navigation bar abstraction for managing keyguard policy, internal
- * bar behavior, and everything else not feature implementation specific
- * 
- */
-
-package com.android.systemui.navigation;
-
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-
-import com.android.systemui.Dependency;
-import com.android.systemui.navigation.Navigator;
-import com.android.systemui.navigation.Res;
-import com.android.systemui.navigation.NavbarOverlayResources;
-import com.android.systemui.navigation.pulse.PulseController;
-import com.android.systemui.navigation.pulse.PulseController.PulseObserver;
-import com.android.systemui.navigation.utils.SmartObserver;
-import com.android.systemui.plugins.statusbar.phone.NavGesture;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.policy.RotationLockController;
-import com.android.systemui.R;
-
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.internal.utils.du.ImageHelper;
-
-import android.animation.LayoutTransition;
-import android.app.StatusBarManager;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.media.AudioManager;
-import android.os.Handler;
-import android.os.Message;
-import android.os.PowerManager;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.Display;
-import android.view.Surface;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-public abstract class BaseNavigationBar extends LinearLayout implements Navigator, PulseObserver {
-    final static String TAG = "PhoneStatusBar/BaseNavigationBar";
-    public final static boolean DEBUG = false;
-    public static final boolean NAVBAR_ALWAYS_AT_RIGHT = true;
-    // slippery nav bar when everything is disabled, e.g. during setup
-    final static boolean SLIPPERY_WHEN_DISABLED = true;
-
-    // workaround for LayoutTransitions leaving the nav buttons in a weird state (bug 5549288)
-    final static boolean WORKAROUND_INVALID_LAYOUT = true;
-    final static int MSG_CHECK_INVALID_LAYOUT = 8686;
-
-    public static final int MSG_SET_DISABLED_FLAGS = 101;
-    public static final int MSG_INVALIDATE = 102;
-    public static boolean sIsTablet;
-
-    private boolean mKeyguardShowing;
-
-    protected H mHandler = new H();
-    protected final Display mDisplay;
-    private final WindowManager mWm;
-    protected View[] mRotatedViews = new View[4];
-    protected View mCurrentView = null;
-    protected FrameLayout mRot0, mRot90;
-    protected int mDisabledFlags = 0;
-    protected int mNavigationIconHints = 0;
-    private int mCurrentRotation = -1;
-    protected boolean mVertical;
-    protected boolean mScreenOn;
-    protected boolean mLeftInLandscape;
-    protected boolean mLayoutTransitionsEnabled;
-    protected boolean mWakeAndUnlocking;
-    protected boolean mScreenPinningEnabled;
-    protected OnVerticalChangedListener mOnVerticalChangedListener;
-    protected SmartObserver mSmartObserver;
-    protected PulseController mPulse;
-
-    public NavbarOverlayResources mResourceMap;
-
-    protected boolean mCarMode = false;
-    protected boolean mDockedStackExists;
-
-    private RotationLockController mRotationLockController;
-
-    private class H extends Handler {
-        public void handleMessage(Message m) {
-            switch (m.what) {
-                case MSG_CHECK_INVALID_LAYOUT:
-                    final String how = "" + m.obj;
-                    final int w = getWidth();
-                    final int h = getHeight();
-                    final int vw = mCurrentView.getWidth();
-                    final int vh = mCurrentView.getHeight();
-
-                    if (h != vh || w != vw) {
-                        Log.w(TAG, String.format(
-                            "*** Invalid layout in navigation bar (%s this=%dx%d cur=%dx%d)",
-                            how, w, h, vw, vh));
-                        if (WORKAROUND_INVALID_LAYOUT) {
-                            requestLayout();
-                        }
-                    }
-                    break;
-                case MSG_SET_DISABLED_FLAGS:
-                    setDisabledFlags(mDisabledFlags, true);
-                    break;
-                case MSG_INVALIDATE:
-                    invalidate();
-                    break;
-            }
-        }
-    }
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            onReceivedIntent(intent);
-        }
-    };
-
-    private void onReceivedIntent(Intent intent) {
-        if (Intent.ACTION_SCREEN_ON.equals(intent.getAction())) {
-            notifyScreenStateChange(true);
-        } else if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) {
-            notifyScreenStateChange(false);
-        } else if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
-            notifyBootCompleted();
-        } else {
-            onReceive(intent);
-            if (mPulse != null) {
-                mPulse.onReceive(intent);
-            }
-        }
-    }
-
-    public void onReceive(Intent intent) {
-    }
-
-    public BaseNavigationBar(Context context) {
-        this(context, null);
-    }
-
-    public BaseNavigationBar(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mDisplay = ((WindowManager) context.getSystemService(
-                Context.WINDOW_SERVICE)).getDefaultDisplay();
-        mWm = (WindowManager) context.getSystemService(
-                Context.WINDOW_SERVICE);
-        mSmartObserver = new SmartObserver(mHandler, context.getContentResolver());
-        sIsTablet = !DUActionUtils.navigationBarCanMove();
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
-        filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
-        filter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGING);
-        filter.addAction(Intent.ACTION_SCREEN_ON);
-        filter.addAction(Intent.ACTION_SCREEN_OFF);
-        filter.addAction(Intent.ACTION_BOOT_COMPLETED);
-        context.registerReceiver(mReceiver, filter);
-
-        mRotationLockController = Dependency.get(RotationLockController.class);
-    }
-
-    protected RotationLockController getRotationController() {
-        return mRotationLockController;
-    }
-
-    // require implementation
-    protected abstract void onDispose();
-    protected abstract void notifyBootCompleted();
-
-    // any implementation specific handling can be handled here
-    protected void onInflateFromUser() {}
-
-    protected void onKeyguardShowing(boolean showing){}
-
-    public void abortCurrentGesture(){}
-
-    public void setMenuVisibility(final boolean show) {}
-    public void setMenuVisibility(final boolean show, final boolean force) {} 
-    public void setNavigationIconHints(int hints) {}
-    public void setNavigationIconHints(int hints, boolean force) {}
-    public void onHandlePackageChanged(){}
-
-    public Editor getEditor() { return null; }
-
-    //public boolean isInEditMode() { return false; }
-
-    public void onRecreateStatusbar() {}
-
-    public void setResourceMap(NavbarOverlayResources resourceMap) {
-        mResourceMap = resourceMap;
-        getBarTransitions().updateResources(mResourceMap);
-    }
-
-    public void updateNavbarThemedResources(Resources res){
-        getBarTransitions().updateResources(mResourceMap);
-    }
-
-    public void setRotateSuggestionButtonState(boolean visible, boolean skipAnim) {}
-    public void setLastRotation(int rotation) {}
-
-    @Override
-    public void setControllers(PulseController pulseController) {
-        mPulse = pulseController;
-        mPulse.setPulseObserver(this);
-    }
-
-    protected PulseController getPulseController()  {
-        return mPulse;
-    }
-
-    protected static float alphaIntToFloat(int alpha) {
-        return (float) Math.max(0, Math.min(255, alpha)) / 255;
-    }
-
-    @Override
-    public void setWakeAndUnlocking(boolean wakeAndUnlocking) {
-        setUseFadingAnimations(wakeAndUnlocking);
-        mWakeAndUnlocking = wakeAndUnlocking;
-        updateLayoutTransitionsEnabled();
-    }
-
-    @Override
-    public boolean needsReorient(int rotation) {
-        return mCurrentRotation != rotation;
-    }
-
-    protected boolean areAnyHintsActive() {
-        return ((mDisabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0)
-                || ((mDisabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0)
-                || (((mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0
-                && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0)));
-
-    }
-
-    private WindowManager.LayoutParams getParamsFromParent() {
-        // we need to get params from the parent container otherwise we'd get FrameLayout params
-        return  (WindowManager.LayoutParams) ((ViewGroup) getParent()).getLayoutParams();
-    }
-
-    protected void setUseFadingAnimations(boolean useFadingAnimations) {
-        WindowManager.LayoutParams lp = getParamsFromParent();
-        if (lp != null) {
-            boolean old = lp.windowAnimations != 0;
-            if (!old && useFadingAnimations) {
-                lp.windowAnimations = R.style.Animation_NavigationBarFadeIn;
-            } else if (old && !useFadingAnimations) {
-                lp.windowAnimations = 0;
-            } else {
-                return;
-            }
-            mWm.updateViewLayout((View) getParent(), lp);
-        }
-    }
-
-    protected void updateLayoutTransitionsEnabled() {
-        boolean enabled = !mWakeAndUnlocking && mLayoutTransitionsEnabled;
-        ViewGroup navButtons = (ViewGroup) getCurrentView().findViewById(R.id.nav_buttons);
-        if (navButtons == null) {
-            navButtons = (ViewGroup) mCurrentView.findViewWithTag(Res.Common.NAV_BUTTONS);
-        }
-        LayoutTransition lt = navButtons.getLayoutTransition();
-        if (lt != null) {
-            if (enabled) {
-                lt.enableTransitionType(LayoutTransition.APPEARING);
-                lt.enableTransitionType(LayoutTransition.DISAPPEARING);
-                lt.enableTransitionType(LayoutTransition.CHANGE_APPEARING);
-                lt.enableTransitionType(LayoutTransition.CHANGE_DISAPPEARING);
-            } else {
-                lt.disableTransitionType(LayoutTransition.APPEARING);
-                lt.disableTransitionType(LayoutTransition.DISAPPEARING);
-                lt.disableTransitionType(LayoutTransition.CHANGE_APPEARING);
-                lt.disableTransitionType(LayoutTransition.CHANGE_DISAPPEARING);
-            }
-        }
-    }
-
-    @Override
-    public void setLayoutTransitionsEnabled(boolean enabled) {
-        mLayoutTransitionsEnabled = enabled;
-        updateLayoutTransitionsEnabled();
-    }
-
-    public int findViewByIdName(String name) {
-        return DUActionUtils.getId(getContext(), name,
-                DUActionUtils.PACKAGE_SYSTEMUI);
-    }
-
-    public void setBackgroundColor(Drawable drawable) {
-        // setBackground(drawable != null ? drawable : null);
-    }
-
-    public void setLeftInLandscape(boolean leftInLandscape) {
-        if (mLeftInLandscape != leftInLandscape) {
-            mLeftInLandscape = leftInLandscape;
-            if (mPulse != null) {
-                mPulse.setLeftInLandscape(leftInLandscape);
-            }
-        }
-    }
-
-    // keep keyguard methods final and use getter to access
-    public final void setKeyguardShowing(boolean showing) {
-        if (mKeyguardShowing != showing) {
-            mKeyguardShowing = showing;
-            if (mPulse != null) {
-                mPulse.setKeyguardShowing(showing);
-            }
-            onKeyguardShowing(showing);
-        }
-    }
-
-    public final boolean isKeyguardShowing() {
-        return mKeyguardShowing;
-    }
-
-    public boolean isLandscape() {
-        return mCurrentView == mRot90;
-    }
-
-    // if a bar instance is created from a user mode switch
-    // PhoneStatusBar should call this. This allows the view
-    // to make adjustments that are otherwise not needed when
-    // inflating on boot, such as setting proper transition flags
-    public final void notifyInflateFromUser() {
-        getBarTransitions().transitionTo(BarTransitions.MODE_TRANSPARENT, false);
-        mScreenOn = true;
-        if (mPulse != null) {
-            mPulse.notifyScreenOn(mScreenOn);
-        }
-        onInflateFromUser();
-    }
-
-    public View getCurrentView() {
-        return mCurrentView;
-    }
-
-    public View getHiddenView() {
-        if (mCurrentView.equals(mRot0)) {
-            return mRot90;
-        } else {
-            return mRot0;
-        }
-    }
-
-    public void setDisabledFlags(int disabledFlags) {
-        setDisabledFlags(disabledFlags, false);
-    }
-
-    public boolean isVertical() {
-        return mVertical;
-    }
-
-    public final void setOnVerticalChangedListener(OnVerticalChangedListener onVerticalChangedListener) {
-        mOnVerticalChangedListener = onVerticalChangedListener;
-        notifyVerticalChangedListener(mVertical);
-    }
-
-    public final void dispose() {
-        mSmartObserver.cleanUp();
-        if (mPulse != null) {
-            mPulse.doUnlinkVisualizer();
-        }
-        onDispose();
-        unsetListeners();
-    }
-
-    private void unsetListeners() {
-        getContext().unregisterReceiver(mReceiver);
-    }
-
-    private void notifyVerticalChangedListener(boolean newVertical) {
-        if (mOnVerticalChangedListener != null) {
-            mOnVerticalChangedListener.onVerticalChanged(mVertical);
-        }
-    }
-
-    public void notifyScreenStateChange(boolean screenOn) {
-        mScreenOn = screenOn;
-        if (mPulse != null) {
-            mPulse.notifyScreenOn(screenOn);
-        }
-        setDisabledFlags(mDisabledFlags, true);
-    }
-
-    public void reorient() {
-        final int rot = mDisplay.getRotation();
-        for (int i=0; i<4; i++) {
-            mRotatedViews[i].setVisibility(View.GONE);
-        }
-        mCurrentView = mRotatedViews[rot];
-        mCurrentView.setVisibility(View.VISIBLE);
-        mCurrentRotation = rot;
-
-        if (DEBUG) {
-            Log.d(TAG, "reorient(): rot=" + mDisplay.getRotation());
-        }
-    }
-
-    protected void setSlippery(boolean newSlippery) {
-        WindowManager.LayoutParams lp = getParamsFromParent();
-        if (lp != null) {
-            boolean oldSlippery = (lp.flags & WindowManager.LayoutParams.FLAG_SLIPPERY) != 0;
-            if (!oldSlippery && newSlippery) {
-                lp.flags |= WindowManager.LayoutParams.FLAG_SLIPPERY;
-            } else if (oldSlippery && !newSlippery) {
-                lp.flags &= ~WindowManager.LayoutParams.FLAG_SLIPPERY;
-            } else {
-                return;
-            }
-            mWm.updateViewLayout((View) getParent(), lp);
-        }
-    }
-
-    public void setNotificationPanelExpanded(boolean expanded) {
-    }
-
-    @Override
-    public void onFinishInflate() {
-        mRot0 = (FrameLayout) findViewById(R.id.rot0);
-        mRot90 = (FrameLayout) findViewById(R.id.rot90);
-        mRotatedViews[Surface.ROTATION_0] =
-        mRotatedViews[Surface.ROTATION_180] = mRot0;
-        mRotatedViews[Surface.ROTATION_90] = mRot90;
-        mRotatedViews[Surface.ROTATION_270] = mRotatedViews[Surface.ROTATION_90];
-        mCurrentView = mRotatedViews[Surface.ROTATION_0];
-    }
-
-    public void setDisabledFlags(int disabledFlags, boolean force) {
-        if (!force && mDisabledFlags == disabledFlags)
-            return;
-        mDisabledFlags = disabledFlags;
-
-        final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
-        final boolean disableRecent = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
-        final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0)
-                && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0);
-        final boolean disableSearch = ((disabledFlags & View.STATUS_BAR_DISABLE_SEARCH) != 0);
-    }
-
-    @Override
-    public final View getBaseView() {
-        return (View)this;
-    }
-
-    @Override
-    public void onPluginConnected(NavGesture plugin, Context context) {
-
-    }
-
-    @Override
-    public void onPluginDisconnected(NavGesture plugin) {
-
-    }
-
-    // for when we don't inflate xml
-    protected void createBaseViews() {
-        LinearLayout rot0NavButton = new LinearLayout(getContext());
-        rot0NavButton.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                LayoutParams.MATCH_PARENT));
-        rot0NavButton.setOrientation(LinearLayout.HORIZONTAL);
-        rot0NavButton.setClipChildren(false);
-        rot0NavButton.setClipToPadding(false);
-        rot0NavButton.setLayoutTransition(new LayoutTransition());
-        rot0NavButton.setTag(Res.Common.NAV_BUTTONS);
-
-        LinearLayout rot90NavButton = new LinearLayout(getContext());
-        rot90NavButton.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                LayoutParams.MATCH_PARENT));
-        rot90NavButton.setOrientation(sIsTablet ? LinearLayout.HORIZONTAL : LinearLayout.VERTICAL);
-        rot90NavButton.setClipChildren(false);
-        rot90NavButton.setClipToPadding(false);
-        rot90NavButton.setLayoutTransition(new LayoutTransition());
-        rot90NavButton.setTag(Res.Common.NAV_BUTTONS);
-
-        mRot0 = new FrameLayout(getContext());
-        mRot0.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                LayoutParams.MATCH_PARENT));
-
-        mRot90 = new FrameLayout(getContext());
-        mRot90.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                LayoutParams.MATCH_PARENT));
-        mRot90.setVisibility(View.GONE);
-        mRot90.setPadding(mRot90.getPaddingLeft(), 0, mRot90.getPaddingRight(),
-                mRot90.getPaddingBottom());
-
-//        addBatteryBarLayout(mRot0);
-        mRot0.addView(rot0NavButton);
-
-//        addBatteryBarLayout(mRot90);
-        mRot90.addView(rot90NavButton);
-
-        addView(mRot0);
-        addView(mRot90);
-
-        mRotatedViews[Surface.ROTATION_0] =
-                mRotatedViews[Surface.ROTATION_180] = mRot0;
-        mRotatedViews[Surface.ROTATION_90] = mRot90;
-        mRotatedViews[Surface.ROTATION_270] = mRotatedViews[Surface.ROTATION_90];
-        mCurrentView = mRotatedViews[Surface.ROTATION_0];
-    }
-/*
-    private void addBatteryBarLayout(ViewGroup parent) {
-        int which = -1;
-        if (parent.equals(mRot0)) {
-            which = R.layout.battery_bar_rot0;
-        } else if (parent.equals(mRot90)) {
-            which = R.layout.battery_bar_rot90;
-        } else {
-            return;
-        }
-        try {
-            View bar = View.inflate(getContext(), which, null);
-            parent.addView(bar);
-        } catch (Exception e) {
-            Log.e(TAG, "BatteryBarController failed to inflate");
-        }
-    }
-*/
-    protected void setVisibleOrGone(View view, boolean visible) {
-        if (view != null) {
-            view.setVisibility(visible ? VISIBLE : GONE);
-        }
-    }
-
-    private void postCheckForInvalidLayout(final String how) {
-        mHandler.obtainMessage(MSG_CHECK_INVALID_LAYOUT, 0, 0, how).sendToTarget();
-    }
-
-    @Override
-    protected void onAttachedToWindow() {
-        super.onAttachedToWindow();
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        if (DEBUG) Log.d(TAG, String.format(
-                    "onSizeChanged: (%dx%d) old: (%dx%d)", w, h, oldw, oldh));
-
-        final boolean newVertical = w > 0 && h > w;
-        if (newVertical != mVertical) {
-            mVertical = newVertical;
-            //Log.v(TAG, String.format("onSizeChanged: h=%d, w=%d, vert=%s", h, w, mVertical?"y":"n"));
-            reorient();
-            notifyVerticalChangedListener(newVertical);
-        }
-        postCheckForInvalidLayout("sizeChanged");
-        if (mPulse != null) {
-            mPulse.onSizeChanged(w, h, oldw, oldh);
-        }
-        super.onSizeChanged(w, h, oldw, oldh);
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-        if (mPulse != null) {
-            mPulse.onDraw(canvas);
-        }
-    }
-
-    @Override
-    public Handler getHandler() {
-        return mHandler;
-    }
-
-    protected String getResourceName(int resId) {
-        if (resId != 0) {
-            final android.content.res.Resources res = getContext().getResources();
-            try {
-                return res.getResourceName(resId);
-            } catch (android.content.res.Resources.NotFoundException ex) {
-                return "(unknown)";
-            }
-        } else {
-            return "(null)";
-        }
-    }
-
-    protected static String visibilityToString(int vis) {
-        switch (vis) {
-            case View.INVISIBLE:
-                return "INVISIBLE";
-            case View.GONE:
-                return "GONE";
-            default:
-                return "VISIBLE";
-        }
-    }
-
-    public Drawable getLocalDrawable(String resName, Resources res) {
-        int id = getDrawableId(resName);
-        Drawable icon = ImageHelper.getVector(res, id, false);
-        if (icon == null) {
-            icon = res.getDrawable(id);
-        }
-        return icon;
-    }
-
-    public int getDrawableId(String resName) {
-        try {
-            int ident = getContext().getResources().getIdentifier(resName, "drawable",
-                    getContext().getPackageName());
-            return ident;
-        } catch (Exception e) {
-            return -1;
-        }
-    }
-
-    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
-        pw.println("NavigationBarView {");
-        final Rect r = new Rect();
-        final Point size = new Point();
-        mDisplay.getRealSize(size);
-
-        pw.println(String.format("      this: " + viewInfo(this)
-                        + " " + visibilityToString(getVisibility())));
-
-        getWindowVisibleDisplayFrame(r);
-        final boolean offscreen = r.right > size.x || r.bottom > size.y;
-        pw.println("      window: "
-                + r.toShortString()
-                + " " + visibilityToString(getWindowVisibility())
-                + (offscreen ? " OFFSCREEN!" : ""));
-
-        pw.println(String.format("      mCurrentView: id=%s (%dx%d) %s",
-                        getResourceName(mCurrentView.getId()),
-                        mCurrentView.getWidth(), mCurrentView.getHeight(),
-                        visibilityToString(mCurrentView.getVisibility())));
-
-        pw.println("    }");
-    }
-
-    protected static String viewInfo(View v) {
-        return "[(" + v.getLeft() + "," + v.getTop() + ")(" + v.getRight() + "," + v.getBottom()
-                + ") " + v.getWidth() + "x" + v.getHeight() + "]";
-    }
-}
diff --git a/src/com/android/systemui/navigation/DarkIntensity.java b/src/com/android/systemui/navigation/DarkIntensity.java
deleted file mode 100644
index 99fc2ab..0000000
--- a/src/com/android/systemui/navigation/DarkIntensity.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Copyright (C) 2017-2018 The DirtyUnicorns Project
- * 
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * DUI has about 4 different drawables with different inheritance which
- * needs this method
- * 
- */
-package com.android.systemui.navigation;
-
-public interface DarkIntensity {
-    public void setDarkIntensity(float intensity);
-}
diff --git a/src/com/android/systemui/navigation/Editor.java b/src/com/android/systemui/navigation/Editor.java
deleted file mode 100644
index f069024..0000000
--- a/src/com/android/systemui/navigation/Editor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Define behaviors of a inline navigation editor
- *
- */
-
-package com.android.systemui.navigation;
-
-import android.content.Intent;
-
-public interface Editor {
-    public abstract void onCommitChanges();
-    public void changeEditMode(int mode);
-    public void prepareToReorient();
-    public void reorient(boolean isLandscape);
-    public void setKeyguardShowing(boolean showing);
-    public void notifyScreenOn(boolean screenOn);
-    public void screenPinningStateChanged(boolean enabled);
-    public void toggleNavigationEditor();
-    public void dispatchNavigationEditorResults(Intent intent);
-}
diff --git a/src/com/android/systemui/navigation/NavbarOverlayResources.java b/src/com/android/systemui/navigation/NavbarOverlayResources.java
deleted file mode 100644
index 9f7158c..0000000
--- a/src/com/android/systemui/navigation/NavbarOverlayResources.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2017 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-
-package com.android.systemui.navigation;
-
-import com.android.internal.utils.du.ActionHandler.ActionIconResources;
-import com.android.systemui.R;
-import com.android.systemui.navigation.NavbarOverlayResources;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-
-    public class NavbarOverlayResources extends ActionIconResources {
-//      public int mOpaque;
-//      public int mSemiTransparent;
-//      public int mTransparent;
-//      public int mWarning;
-        public Drawable mGradient;
-        public Drawable mFlingLogo;
-        public Drawable mFlingLogoDark;
-        public Drawable mFlingRotationLogo;
-        public Drawable mFlingRotationLogoDark;
-        public Drawable mLightsOutLarge;
-
-    public NavbarOverlayResources(Context ctx, Resources res) {
-        super(res);
-//      mOpaque = res.getColor(R.color.navigation_bar_background_opaque);
-//      mSemiTransparent = res.getColor(R.color.navigation_bar_background_semi_transparent);
-//      mTransparent = res.getColor(R.color.navigation_bar_background_transparent);
-//      mWarning = res.getColor(com.android.internal.R.color.battery_saver_mode_color);
-        mGradient = res.getDrawable(R.drawable.nav_background);
-        mFlingLogo = res.getDrawable(R.drawable.ic_eos_fling);
-        mFlingLogoDark = res.getDrawable(R.drawable.ic_eos_fling_dark);
-        mFlingRotationLogo = res.getDrawable(R.drawable.ic_sysbar_rotate_button);
-        mFlingRotationLogoDark = res.getDrawable(R.drawable.ic_sysbar_rotate_button_dark);
-        mLightsOutLarge = res.getDrawable(R.drawable.ic_sysbar_lights_out_dot_large);
-    }
-
-    public void updateResources(Resources res) {
-        super.updateResources(res);
-//      mOpaque = res.getColor(R.color.navigation_bar_background_opaque);
-//      mSemiTransparent = res.getColor(R.color.navigation_bar_background_semi_transparent);
-//      mTransparent = res.getColor(R.color.navigation_bar_background_transparent);
-//      mWarning = res.getColor(com.android.internal.R.color.battery_saver_mode_color);
-        Rect bounds = mGradient.getBounds();
-        mGradient = res.getDrawable(R.drawable.nav_background);
-        mGradient.setBounds(bounds);
-        mFlingLogo = res.getDrawable(R.drawable.ic_eos_fling);
-        mFlingLogoDark = res.getDrawable(R.drawable.ic_eos_fling_dark);
-        mFlingRotationLogo = res.getDrawable(R.drawable.ic_sysbar_rotate_button);
-        mFlingRotationLogoDark = res.getDrawable(R.drawable.ic_sysbar_rotate_button_dark);
-        mLightsOutLarge = res.getDrawable(R.drawable.ic_sysbar_lights_out_dot_large);
-    }
-}
diff --git a/src/com/android/systemui/navigation/Navigator.java b/src/com/android/systemui/navigation/Navigator.java
deleted file mode 100644
index 148ea3e..0000000
--- a/src/com/android/systemui/navigation/Navigator.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Interface for all the things that go in that navigation window and do
- * amazing things. This is all the rest of the world needs to see ;D
- * 
- */
-
-package com.android.systemui.navigation;
-
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-
-import com.android.systemui.RecentsComponent;
-import com.android.systemui.navigation.NavbarOverlayResources;
-import com.android.systemui.navigation.pulse.PulseController;
-import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.statusbar.phone.NavGesture;
-import com.android.systemui.stackdivider.Divider;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.phone.ButtonDispatcher;
-import com.android.systemui.statusbar.phone.LightBarTransitionsController;
-
-import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
-import android.view.View;
-
-public interface Navigator extends PluginListener<NavGesture> {
-    public interface OnVerticalChangedListener {
-        void onVerticalChanged(boolean isVertical);
-    }
-
-    /*
-     * Public methods in NavigationBarView. Notice there are numerous other public methods,
-     * however, they are never called from anywhere or they are called by other classes that
-     * expect the NavigationBarView implementation (NavigationBarTransitions, etc)
-     */
-    public BarTransitions getBarTransitions();
-    public default LightBarTransitionsController getLightTransitionsController() { return null; }
-    public default void setComponents(RecentsComponent recentsComponent, Divider divider) {}
-    public default void setOnVerticalChangedListener(OnVerticalChangedListener onVerticalChangedListener) {}
-    public default void abortCurrentGesture() {}
-    public default void notifyScreenOn() {}
-    public default void setNavigationIconHints(int hints) {}
-    public default void setDisabledFlags(int disabledFlags) {}
-    public default void setDisabledFlags(int disabledFlags, boolean force) {}
-    public default void setLayoutTransitionsEnabled(boolean enabled) {}
-    public default void setWakeAndUnlocking(boolean wakeAndUnlocking) {}
-    public default void setMenuVisibility(boolean showMenu) {}
-    public default void setAccessibilityButtonState(final boolean visible, final boolean longClickable) {}
-    public default boolean needsReorient(int rotation) { return false; }
-    public default boolean isVertical() { return false; }
-    public default void reorient() {}
-    public default void onKeyguardOccludedChanged(boolean keyguardOccluded) {}
-    public default ButtonDispatcher getRecentsButton() { return null; }
-    public default ButtonDispatcher getBackButton() { return null; }
-    public default ButtonDispatcher getHomeButton() { return null; }
-    public default ButtonDispatcher getAccessibilityButton() { return null; }
-    public default void dump(FileDescriptor fd, PrintWriter pw, String[] args) {}
-    public default void setMediaPlaying(boolean playing) {}
-    public default void setNotificationPanelExpanded(boolean expanded) {}
-    public default void setPulseColors(boolean colorizedMedia, int[] colors) {}
-
-    /*
-     * DUI additional methods to support additional winning ;D
-     */
-    // Return a top level view of implementation. A time may come where not everything that implements
-    // this interface is actually a view
-    public View getBaseView();
-
-    // refresh buttons/drawables
-    public default void onHandlePackageChanged() {}
-
-    /*
-     * PIE support. It may come back someday.
-     */
-    public default void setForgroundColor(Drawable drawable) {}
-
-    /*
-     * get this event from PhoneWindowManager
-     */
-    public default void setLeftInLandscape(boolean isLeftInLandscape) {}
-
-    // enable/disable features as needed for security/sanity
-    public default void setKeyguardShowing(boolean showing) {}
-
-    // assist with settings states/flags that were set on boot
-    // but are not set with a user bar change
-    // let's find a better way to do this!
-    public default void notifyInflateFromUser() {}
-
-    // Theme change! Update all the things! Designed for CMTE
-    // but may be useful again someday
-    public default void updateNavbarThemedResources(Resources res) {}
-
-    // Designed for CMTE statusbar recreation events, mostly
-    // to catch a icon pack change. May be useful again someday
-    public default void onRecreateStatusbar() {}
-
-    // also designed to assist with CMTE. CMTE had very peculiar behavior
-    // in how navbar resources were "separated" from other SystemUI resources
-    public default void setResourceMap(NavbarOverlayResources resourceMap) {}
-
-    // shut down listeners/receivers/observers
-    public default void dispose() {}
-
-    // Pulse all the things!... that use it
-    public default void setControllers(PulseController pulseController) {}
-
-    // if bar uses custom editor, is it on?
-    //public default boolean isInEditMode() { return false; }
-
-    // get our editor and pipe commands directly to it
-    public default Editor getEditor() { return null; }
-
-    // rotation changes from SystemUI
-    public default void setRotateSuggestionButtonState(boolean visible, boolean skipAnim) {}
-    public default void setLastRotation(int rotation) {}
-}
diff --git a/src/com/android/systemui/navigation/OpaLayout.java b/src/com/android/systemui/navigation/OpaLayout.java
deleted file mode 100644
index bcf8363..0000000
--- a/src/com/android/systemui/navigation/OpaLayout.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package com.android.systemui.navigation;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.os.SystemClock;
-import android.util.ArraySet;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.RenderNodeAnimator;
-import android.view.animation.Interpolator;
-import android.view.animation.PathInterpolator;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-
-import com.android.systemui.Interpolators;
-import com.android.systemui.R;
-import com.android.systemui.navigation.smartbar.SmartButtonView;
-
-public class OpaLayout extends FrameLayout {
-
-    private static final int ANIMATION_STATE_NONE = 0;
-    private static final int ANIMATION_STATE_DIAMOND = 1;
-    private static final int ANIMATION_STATE_RETRACT = 2;
-    private static final int ANIMATION_STATE_OTHER = 3;
-
-    private static final int MIN_DIAMOND_DURATION = 100;
-    private static final int COLLAPSE_ANIMATION_DURATION_RY = 83;
-    private static final int COLLAPSE_ANIMATION_DURATION_BG = 100;
-    private static final int LINE_ANIMATION_DURATION_Y = 275;
-    private static final int LINE_ANIMATION_DURATION_X = 133;
-    private static final int RETRACT_ANIMATION_DURATION = 300;
-    private static final int DIAMOND_ANIMATION_DURATION = 200;
-    private static final int HALO_ANIMATION_DURATION = 100;
-
-    private static final int DOTS_RESIZE_DURATION = 200;
-    private static final int HOME_RESIZE_DURATION = 83;
-
-    private static final int HOME_REAPPEAR_ANIMATION_OFFSET = 33;
-    private static final int HOME_REAPPEAR_DURATION = 150;
-
-    private static final float DIAMOND_DOTS_SCALE_FACTOR = 0.8f;
-    private static final float DIAMOND_HOME_SCALE_FACTOR = 0.625f;
-    private static final float HALO_SCALE_FACTOR = 0.47619048f;
-
-    private int mAnimationState;
-    private final ArraySet<Animator> mCurrentAnimators;
-
-    private boolean mIsLandscape;
-    private boolean mIsPressed;
-    private boolean mLongClicked;
-    private boolean mOpaEnabled;
-    private boolean mEditMode;
-    private boolean mOpaHomeOnly;
-    private boolean mIsHomeButton;
-    private long mStartTime;
-
-    private View mRed;
-    private View mBlue;
-    private View mGreen;
-    private View mYellow;
-    private View mSmartButton;
-
-    private View mTop;
-    private View mRight;
-    private View mLeft;
-    private View mBottom;
-
-    private final Runnable mCheckLongPress;
-    private final Runnable mRetract;
-
-    private final Interpolator mRetractInterpolator;
-    private final Interpolator mCollapseInterpolator;
-    private final Interpolator mDiamondInterpolator;
-    private final Interpolator mDotsFullSizeInterpolator;
-    private final Interpolator mFastOutSlowInInterpolator;
-    private final Interpolator mHomeDisappearInterpolator;
-
-    public OpaLayout(Context context) {
-        this(context, null);
-    }
-
-    public OpaLayout(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public OpaLayout(Context context, AttributeSet attrs, int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    public OpaLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        mFastOutSlowInInterpolator = Interpolators.FAST_OUT_SLOW_IN;
-        mHomeDisappearInterpolator = new PathInterpolator(0.8f, 0f, 1f, 1f);
-        mCollapseInterpolator = Interpolators.FAST_OUT_LINEAR_IN;
-        mDotsFullSizeInterpolator = new PathInterpolator(0.4f, 0f, 0f, 1f);
-        mRetractInterpolator = new PathInterpolator(0.4f, 0f, 0f, 1f);
-        mDiamondInterpolator = new PathInterpolator(0.2f, 0f, 0.2f, 1f);
-        mCheckLongPress = new Runnable() {
-            @Override
-            public void run() {
-                if (mIsPressed) {
-                    mLongClicked = true;
-                }
-            }
-        };
-        mRetract = new Runnable() {
-            @Override
-            public void run() {
-                cancelCurrentAnimation();
-                startRetractAnimation();
-                setOpaVisibility(false);
-            }
-        };
-        mAnimationState = OpaLayout.ANIMATION_STATE_NONE;
-        mCurrentAnimators = new ArraySet<Animator>();
-    }
-
-    private void startAll(ArraySet<Animator> animators) {
-        setOpaVisibility(true);
-        for(int i=0; i < animators.size(); i++) {
-            Animator curAnim = (Animator) mCurrentAnimators.valueAt(i);
-            curAnim.start();
-        }
-    }
-
-    private void startCollapseAnimation() {
-        mCurrentAnimators.clear();
-        mCurrentAnimators.addAll(getCollapseAnimatorSet());
-        mAnimationState = OpaLayout.ANIMATION_STATE_OTHER;
-        startAll(mCurrentAnimators);
-    }
-
-    private void startDiamondAnimation() {
-        mCurrentAnimators.clear();
-        mCurrentAnimators.addAll(getDiamondAnimatorSet());
-        mAnimationState = OpaLayout.ANIMATION_STATE_DIAMOND;
-        startAll(mCurrentAnimators);
-    }
-
-    private void startLineAnimation() {
-        mCurrentAnimators.clear();
-        mCurrentAnimators.addAll(getLineAnimatorSet());
-        mAnimationState = OpaLayout.ANIMATION_STATE_OTHER;
-        startAll(mCurrentAnimators);
-    }
-
-    private void startRetractAnimation() {
-        mCurrentAnimators.clear();
-        mCurrentAnimators.addAll(getRetractAnimatorSet());
-        mAnimationState = OpaLayout.ANIMATION_STATE_RETRACT;
-        startAll(mCurrentAnimators);
-    }
-
-    private void cancelCurrentAnimation() {
-        if(mCurrentAnimators.isEmpty())
-            return;
-        for(int i=0; i < mCurrentAnimators.size(); i++) {
-            Animator curAnim = (Animator) mCurrentAnimators.valueAt(i);
-            curAnim.removeAllListeners();
-            curAnim.cancel();
-        }
-        mCurrentAnimators.clear();
-        mAnimationState = OpaLayout.ANIMATION_STATE_NONE;
-    }
-
-    private void endCurrentAnimation() {
-        if(mCurrentAnimators.isEmpty())
-            return;
-        for(int i=0; i < mCurrentAnimators.size(); i++) {
-            Animator curAnim = (Animator) mCurrentAnimators.valueAt(i);
-            curAnim.removeAllListeners();
-            curAnim.end();
-        }
-        mCurrentAnimators.clear();
-        mAnimationState = OpaLayout.ANIMATION_STATE_NONE;
-    }
-
-    private ArraySet<Animator> getCollapseAnimatorSet() {
-        final ArraySet<Animator> set = new ArraySet<Animator>();
-        Animator animator;
-        if (mIsLandscape) {
-            animator = getDeltaAnimatorY(mRed, mCollapseInterpolator, -getPxVal(R.dimen.opa_line_x_collapse_ry), OpaLayout.COLLAPSE_ANIMATION_DURATION_RY);
-        }
-        else {
-            animator = getDeltaAnimatorX(mRed, mCollapseInterpolator, getPxVal(R.dimen.opa_line_x_collapse_ry), OpaLayout.COLLAPSE_ANIMATION_DURATION_RY);
-        }
-        set.add(animator);
-        set.add(getScaleAnimatorX(mRed, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        set.add(getScaleAnimatorY(mRed, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        Animator animator2;
-        if (mIsLandscape) {
-            animator2 = getDeltaAnimatorY(mBlue, mCollapseInterpolator, -getPxVal(R.dimen.opa_line_x_collapse_bg), OpaLayout.COLLAPSE_ANIMATION_DURATION_BG);
-        }
-        else {
-            animator2 = getDeltaAnimatorX(mBlue, mCollapseInterpolator, getPxVal(R.dimen.opa_line_x_collapse_bg), OpaLayout.COLLAPSE_ANIMATION_DURATION_BG);
-        }
-        set.add(animator2);
-        set.add(getScaleAnimatorX(mBlue, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        set.add(getScaleAnimatorY(mBlue, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        Animator animator3;
-        if (mIsLandscape) {
-            animator3 = getDeltaAnimatorY(mYellow, mCollapseInterpolator, getPxVal(R.dimen.opa_line_x_collapse_ry), OpaLayout.COLLAPSE_ANIMATION_DURATION_RY);
-        }
-        else {
-            animator3 = getDeltaAnimatorX(mYellow, mCollapseInterpolator, -getPxVal(R.dimen.opa_line_x_collapse_ry), OpaLayout.COLLAPSE_ANIMATION_DURATION_RY);
-        }
-        set.add(animator3);
-        set.add(getScaleAnimatorX(mYellow, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        set.add(getScaleAnimatorY(mYellow, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        Animator animator4;
-        if (mIsLandscape) {
-            animator4 = getDeltaAnimatorY(mGreen, mCollapseInterpolator, getPxVal(R.dimen.opa_line_x_collapse_bg), OpaLayout.COLLAPSE_ANIMATION_DURATION_BG);
-        }
-        else {
-            animator4 = getDeltaAnimatorX(mGreen, mCollapseInterpolator, -getPxVal(R.dimen.opa_line_x_collapse_bg), OpaLayout.COLLAPSE_ANIMATION_DURATION_BG);
-        }
-        set.add(animator4);
-        set.add(getScaleAnimatorX(mGreen, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        set.add(getScaleAnimatorY(mGreen, 1.0f, OpaLayout.DOTS_RESIZE_DURATION, mDotsFullSizeInterpolator));
-        final Animator scaleAnimatorX = getScaleAnimatorX(mSmartButton, 1.0f, OpaLayout.HOME_REAPPEAR_DURATION, mFastOutSlowInInterpolator);
-        final Animator scaleAnimatorY = getScaleAnimatorY(mSmartButton, 1.0f, OpaLayout.HOME_REAPPEAR_DURATION, mFastOutSlowInInterpolator);
-        scaleAnimatorX.setStartDelay(OpaLayout.HOME_REAPPEAR_ANIMATION_OFFSET);
-        scaleAnimatorY.setStartDelay(OpaLayout.HOME_REAPPEAR_ANIMATION_OFFSET);
-        set.add(scaleAnimatorX);
-        set.add(scaleAnimatorY);
-        getLongestAnim((set)).addListener((Animator.AnimatorListener)new AnimatorListenerAdapter() {
-            public void onAnimationEnd(final Animator animator) {
-                mCurrentAnimators.clear();
-                mAnimationState = OpaLayout.ANIMATION_STATE_NONE;
-                setOpaVisibility(false);
-            }
-        });
-        return set;
-    }
-
-    private ArraySet<Animator> getDiamondAnimatorSet() {
-        final ArraySet<Animator> set = new ArraySet<Animator>();
-        set.add(getDeltaAnimatorY(mTop, mDiamondInterpolator, -getPxVal(R.dimen.opa_diamond_translation), OpaLayout.DIAMOND_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mTop, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorY(mTop, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getDeltaAnimatorY(mBottom, mDiamondInterpolator, getPxVal(R.dimen.opa_diamond_translation), OpaLayout.DIAMOND_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mBottom, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorY(mBottom, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getDeltaAnimatorX(mLeft, mDiamondInterpolator, -getPxVal(R.dimen.opa_diamond_translation), OpaLayout.DIAMOND_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mLeft, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorY(mLeft, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getDeltaAnimatorX(mRight, mDiamondInterpolator, getPxVal(R.dimen.opa_diamond_translation), OpaLayout.DIAMOND_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mRight, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorY(mRight, OpaLayout.DIAMOND_DOTS_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorX(mSmartButton, OpaLayout.DIAMOND_HOME_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        set.add(getScaleAnimatorY(mSmartButton, OpaLayout.DIAMOND_HOME_SCALE_FACTOR, OpaLayout.DIAMOND_ANIMATION_DURATION, mFastOutSlowInInterpolator));
-        getLongestAnim(set).addListener((Animator.AnimatorListener)new AnimatorListenerAdapter() {
-            public void onAnimationCancel(final Animator animator) {
-                mCurrentAnimators.clear();
-            }
-
-            public void onAnimationEnd(final Animator animator) {
-                startLineAnimation();
-            }
-        });
-        return set;
-    }
-
-    private ArraySet<Animator> getLineAnimatorSet() {
-        final ArraySet<Animator> set = new ArraySet<Animator>();
-        if (mIsLandscape) {
-            set.add(getDeltaAnimatorY(mRed, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_x_trans_ry), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorX(mRed, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_y_translation), OpaLayout.LINE_ANIMATION_DURATION_X));
-            set.add(getDeltaAnimatorY(mBlue, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_x_trans_bg), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorY(mYellow, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_x_trans_ry), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorX(mYellow, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_y_translation), OpaLayout.LINE_ANIMATION_DURATION_X));
-            set.add(getDeltaAnimatorY(mGreen, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_x_trans_bg), OpaLayout.LINE_ANIMATION_DURATION_Y));
-        }
-        else {
-            set.add(getDeltaAnimatorX(mRed, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_x_trans_ry), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorY(mRed, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_y_translation), OpaLayout.LINE_ANIMATION_DURATION_X));
-            set.add(getDeltaAnimatorX(mBlue, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_x_trans_bg), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorX(mYellow, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_x_trans_ry), OpaLayout.LINE_ANIMATION_DURATION_Y));
-            set.add(getDeltaAnimatorY(mYellow, mFastOutSlowInInterpolator, -getPxVal(R.dimen.opa_line_y_translation), OpaLayout.LINE_ANIMATION_DURATION_X));
-            set.add(getDeltaAnimatorX(mGreen, mFastOutSlowInInterpolator, getPxVal(R.dimen.opa_line_x_trans_bg), OpaLayout.LINE_ANIMATION_DURATION_Y));
-        }
-        set.add(getScaleAnimatorX(mSmartButton, 0.0f, OpaLayout.HOME_RESIZE_DURATION, mHomeDisappearInterpolator));
-        set.add(getScaleAnimatorY(mSmartButton, 0.0f, OpaLayout.HOME_RESIZE_DURATION, mHomeDisappearInterpolator));
-        getLongestAnim(set).addListener((Animator.AnimatorListener)new AnimatorListenerAdapter() {
-            public void onAnimationCancel(final Animator animator) {
-                mCurrentAnimators.clear();
-            }
-
-            public void onAnimationEnd(final Animator animator) {
-                startCollapseAnimation();
-            }
-        });
-        return set;
-    }
-
-    private ArraySet<Animator> getRetractAnimatorSet() {
-        final ArraySet<Animator> set = new ArraySet<Animator>();
-        set.add(getTranslationAnimatorX(mRed, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getTranslationAnimatorY(mRed, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mRed, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorY(mRed, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getTranslationAnimatorX(mBlue, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getTranslationAnimatorY(mBlue, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mBlue, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorY(mBlue, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getTranslationAnimatorX(mGreen, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getTranslationAnimatorY(mGreen, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mGreen, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorY(mGreen, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getTranslationAnimatorX(mYellow, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getTranslationAnimatorY(mYellow, mRetractInterpolator, OpaLayout.RETRACT_ANIMATION_DURATION));
-        set.add(getScaleAnimatorX(mYellow, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorY(mYellow, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorX(mSmartButton, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        set.add(getScaleAnimatorY(mSmartButton, 1.0f, OpaLayout.RETRACT_ANIMATION_DURATION, mRetractInterpolator));
-        getLongestAnim(set).addListener((Animator.AnimatorListener)new AnimatorListenerAdapter() {
-            public void onAnimationEnd(final Animator animator) {
-                mCurrentAnimators.clear();
-                mAnimationState = OpaLayout.ANIMATION_STATE_NONE;
-            }
-        });
-        return set;
-    }
-
-    private float getPxVal(int id) {
-        return getResources().getDimensionPixelOffset(id);
-    }
-
-    private Animator getDeltaAnimatorX(View v, Interpolator interpolator, float deltaX, int duration) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(8, (int) (v.getX() + deltaX));
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getDeltaAnimatorY(View v, Interpolator interpolator, float deltaY, int duration) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(9, (int) (v.getY() + deltaY));
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getScaleAnimatorX(View v, float factor, int duration, Interpolator interpolator) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(3, factor);
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getScaleAnimatorY(View v, float factor, int duration, Interpolator interpolator) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(4, factor);
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getTranslationAnimatorX(View v, Interpolator interpolator, int duration) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(0, 0);
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getTranslationAnimatorY(View v, Interpolator interpolator, int duration) {
-        RenderNodeAnimator anim = new RenderNodeAnimator(1, 0);
-        anim.setTarget(v);
-        anim.setInterpolator(interpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private Animator getLongestAnim(ArraySet<Animator> animators) {
-        long longestDuration = -1;
-        Animator longestAnim = null;
-
-        for(int i=0; i < animators.size(); i++) {
-            Animator a = (Animator) animators.valueAt(i);
-            if(a.getTotalDuration() > longestDuration) {
-                longestDuration = a.getTotalDuration();
-                longestAnim = a;
-            }
-        }
-        return longestAnim;
-    }
-
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-
-        mRed = findViewById(R.id.red);
-        mBlue = findViewById(R.id.blue);
-        mYellow = findViewById(R.id.yellow);
-        mGreen = findViewById(R.id.green);
-        mSmartButton = findViewById(R.id.smartbutton);
-
-        setOpaVisibility(false);
-    }
-
-    public SmartButtonView getButton() {
-        return (SmartButtonView)mSmartButton;
-    }
-
-    public void setEditMode(boolean enabled){
-        mEditMode = enabled;
-    }
-
-    public void startDownAction() {
-        if (!mOpaEnabled || mEditMode) {
-            return;
-        }
-        if (!mCurrentAnimators.isEmpty()) {
-            if (mAnimationState != OpaLayout.ANIMATION_STATE_RETRACT) {
-                return;
-            }
-            endCurrentAnimation();
-        }
-        mStartTime = SystemClock.elapsedRealtime();
-        mLongClicked = false;
-        mIsPressed = true;
-        startDiamondAnimation();
-        removeCallbacks(mCheckLongPress);
-        postDelayed(mCheckLongPress, (long)ViewConfiguration.getLongPressTimeout());
-    }
-
-    public void startCancelAction() {
-        if (!mOpaEnabled || mEditMode) {
-            return;
-        }
-        if (mAnimationState == OpaLayout.ANIMATION_STATE_DIAMOND) {
-            final long elapsedRealtime = SystemClock.elapsedRealtime();
-            removeCallbacks(mRetract);
-            postDelayed(mRetract, 100L - (elapsedRealtime - mStartTime));
-            removeCallbacks(mCheckLongPress);
-            return;
-        }
-        int n;
-        if (!mIsPressed || mLongClicked) {
-            n = 0;
-        }
-        else {
-            n = 1;
-        }
-        mIsPressed = false;
-        if (n != 0) {
-            mRetract.run();
-            return;
-        }
-    }
-
-    public void setLandscape(boolean landscape) {
-        mIsLandscape = landscape;
-        if (mIsLandscape) {
-            mTop = mGreen;
-            mBottom = mBlue;
-            mRight = mYellow;
-            mLeft = mRed;
-            return;
-        }
-        mTop = mRed;
-        mBottom = mYellow;
-        mLeft = mBlue;
-        mRight = mGreen;
-    }
-
-    public void setOpaEnabled(boolean enabled) {
-        mOpaEnabled = enabled;
-    }
-
-    public void setOpaVisibility(boolean enabled) {
-        int visibility = enabled ? View.VISIBLE : View.INVISIBLE;
-        mBlue.setVisibility(((mOpaHomeOnly && mIsHomeButton) || !mOpaHomeOnly) ? visibility : View.INVISIBLE);
-        mRed.setVisibility(((mOpaHomeOnly && mIsHomeButton) || !mOpaHomeOnly) ? visibility : View.INVISIBLE);
-        mYellow.setVisibility(((mOpaHomeOnly && mIsHomeButton) || !mOpaHomeOnly) ? visibility : View.INVISIBLE);
-        mGreen.setVisibility(((mOpaHomeOnly && mIsHomeButton) || !mOpaHomeOnly) ? visibility : View.INVISIBLE);
-    }
-
-    public void setOpaVisibilityHome(boolean opaHomeOnly, boolean isHomeButton) {
-        mOpaHomeOnly = opaHomeOnly;
-        mIsHomeButton = isHomeButton;
-    }
-}
diff --git a/src/com/android/systemui/navigation/Res.java b/src/com/android/systemui/navigation/Res.java
deleted file mode 100644
index fc60e7f..0000000
--- a/src/com/android/systemui/navigation/Res.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Some resource constants
- *
- */
-package com.android.systemui.navigation;
-
-public class Res {
-    
-    public static final class Common {
-        public static final String LIGHTS_OUT = "lights_out";
-        public static final String LIGHTS_OUT_LARGE = "ic_sysbar_lights_out_dot_large";
-        public static final String LIGHTS_OUT_SMALL = "ic_sysbar_lights_out_dot_small";
-        public static final String NAV_BUTTONS = "nav_buttons";
-        public static final String NAV_BACKGROUND = "nav_background";
-        public static final String NAV_BACKGROUND_OPAQUE = "navigation_bar_background_opaque";
-        public static final String NAV_BACKGROUND_SEMI_TRANS = "navigation_bar_background_semi_transparent";
-        public static final String NAV_BACKGROUND_TRANS = "navigation_bar_background_transparent";
-        public static final String NAV_BACKGROUND_BATTERY_SAVER = "battery_saver_mode_color";
-        public static final String SYSTEM_BAR_BACKGROUND = "system_bar_background";
-        public static final String ROT_0 = "rot0";
-        public static final String ROT_90 = "rot90";
-    }
-
-    public static final class Softkey {
-        public static final String ACTION_EDITOR_WIDTH = "navigation_action_editor_width";
-        public static final String ACTION_EDITOR_HEIGHT = "navigation_action_editor_height";
-        public static final String KEY_WIDTH = "navigation_key_width";
-        public static final String KEY_HEIGHT = "navigation_key_height";
-        public static final String EXTRA_KEY_WIDTH = "navigation_extra_key_width";
-        public static final String EXTRA_KEY_HEIGHT = "navigation_extra_key_height";
-        public static final String TAB_KEY_PADDING_START_PORT = "navigation_key_padding_start_port";
-        public static final String TAB_KEY_PADDING_END_PORT = "navigation_key_padding_end_port";
-        public static final String TAB_KEY_PADDING_START_LAND = "navigation_key_padding_start_land";
-        public static final String TAB_KEY_PADDING_END_LAND = "navigation_key_padding_end_land";
-        public static final String TAB_EXTRA_KEY_MARGIN_START = "navigation_key_extra_margin_start";
-        public static final String TAB_EXTRA_KEY_MARGIN_END = "navigation_key_extra_margin_end";
-        public static final String IC_IME_SWITCHER_DEF = "ic_ime_switcher_default";
-        public static final String IC_SYSBAR_BACK = "ic_sysbar_back";
-        public static final String IC_SYSBAR_BACK_LAND = "ic_sysbar_back_land";
-        public static final String IC_SYSBAR_HOME = "ic_sysbar_home";
-        public static final String IC_SYSBAR_HOME_LAND = "ic_sysbar_home_land";
-        public static final String IC_SYSBAR_RECENT = "ic_sysbar_recent";
-        public static final String IC_SYSBAR_RECENT_LAND = "ic_sysbar_recent_land";
-        public static final String IC_SYSBAR_MENU = "ic_sysbar_menu";
-        public static final String IC_SYSBAR_MENU_LAND = "ic_sysbar_menu_land";
-        public static final String CONTEXT_VIEW_RIGHT = "context_view_right";
-        public static final String CONTEXT_VIEW_LEFT = "context_view_left";
-        public static final String MENU_BUTTON = "menu_button";
-        public static final String IME_SWITCHER = "ime_switcher";
-        public static final String IME_ARROW_LEFT = "ime_arrow_left";
-        public static final String IME_ARROW_RIGHT = "ime_arrow_right";
-        public static final String STOP_SCREENPINNING = "stop_screenpinning";
-        public static final String MENU_DESC = "accessibility_menu";
-        public static final String IME_DESC = "accessibility_ime_switch_button";
-        public static final String BUTTON_BACK = "smartbar_button_1";
-        public static final String BUTTON_HOME = "smartbar_button_2";
-        public static final String BUTTON_OVERVIEW = "smartbar_button_3";
-        public static final String MEDIA_ARROW_LEFT = "media_arrow_left";
-        public static final String MEDIA_ARROW_RIGHT = "media_arrow_right";
-        public static final String ROTATION_BUTTON = "rotation_button";
-    }
-
-    public static final class Fling {
-        
-    }
-
-}
diff --git a/src/com/android/systemui/navigation/editor/ActionItem.java b/src/com/android/systemui/navigation/editor/ActionItem.java
deleted file mode 100644
index 3ecda33..0000000
--- a/src/com/android/systemui/navigation/editor/ActionItem.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package com.android.systemui.navigation.editor;
-
-import android.graphics.drawable.Drawable;
-import android.graphics.Bitmap;
-
-/**
- *  @author Pontus Holmberg (EndLessMind)
- *  Email: the_mr_hb@hotmail.com
- **/
-public class ActionItem {
-    private Drawable icon;
-    private Bitmap thumb;
-    private String title;
-    private int actionId = -1;
-    private boolean selected;
-    private boolean sticky;
-    
-    /**
-     * Constructor
-     * 
-     * @param actionId  Action id for case statements
-     * @param title     Title
-     * @param icon      Icon to use
-     */
-    public ActionItem(int actionId, String title, Drawable icon) {
-        this.title = title;
-        this.icon = icon;
-        this.actionId = actionId;
-    }
-    
-    /**
-     * Constructor
-     */
-    public ActionItem() {
-        this(-1, null, null);
-    }
-    
-    /**
-     * Constructor
-     * 
-     * @param actionId  Action id of the item
-     * @param title     Text to show for the item
-     */
-    public ActionItem(int actionId, String title) {
-        this(actionId, title, null);
-    }
-    
-    /**
-     * Constructor
-     * 
-     * @param icon {@link Drawable} action icon
-     */
-    public ActionItem(Drawable icon) {
-        this(-1, null, icon);
-    }
-    
-    /**
-     * Constructor
-     * 
-     * @param actionId  Action ID of item
-     * @param icon      {@link Drawable} action icon
-     */
-    public ActionItem(int actionId, Drawable icon) {
-        this(actionId, null, icon);
-    }
-    
-    /**
-     * Set action title
-     * 
-     * @param title action title
-     */
-    public void setTitle(String title) {
-        this.title = title;
-    }
-    
-    /**
-     * Get action title
-     * 
-     * @return action title
-     */
-    public String getTitle() {
-        return this.title;
-    }
-    
-    /**
-     * Set action icon
-     * 
-     * @param icon {@link Drawable} action icon
-     */
-    public void setIcon(Drawable icon) {
-        this.icon = icon;
-    }
-    
-    /**
-     * Get action icon
-     * @return  {@link Drawable} action icon
-     */
-    public Drawable getIcon() {
-        return this.icon;
-    }
-    
-     /**
-     * Set action id
-     * 
-     * @param actionId  Action id for this action
-     */
-    public void setActionId(int actionId) {
-        this.actionId = actionId;
-    }
-    
-    /**
-     * @return  Our action id
-     */
-    public int getActionId() {
-        return actionId;
-    }
-    
-    /**
-     * Set sticky status of button
-     * 
-     * @param sticky  true for sticky, pop up sends event but does not disappear
-     */
-    public void setSticky(boolean sticky) {
-        this.sticky = sticky;
-    }
-    
-    /**
-     * @return  true if button is sticky, menu stays visible after press
-     */
-    public boolean isSticky() {
-        return sticky;
-    }
-    
-    /**
-     * Set selected flag;
-     * 
-     * @param selected Flag to indicate the item is selected
-     */
-    public void setSelected(boolean selected) {
-        this.selected = selected;
-    }
-    
-    /**
-     * Check if item is selected
-     * 
-     * @return true or false
-     */
-    public boolean isSelected() {
-        return this.selected;
-    }
-
-    /**
-     * Set thumb
-     * 
-     * @param thumb Thumb image
-     */
-    public void setThumb(Bitmap thumb) {
-        this.thumb = thumb;
-    }
-    
-    /**
-     * Get thumb image
-     * 
-     * @return Thumb image
-     */
-    public Bitmap getThumb() {
-        return this.thumb;
-    }
-}
diff --git a/src/com/android/systemui/navigation/editor/PopupWindows.java b/src/com/android/systemui/navigation/editor/PopupWindows.java
deleted file mode 100644
index 68ace18..0000000
--- a/src/com/android/systemui/navigation/editor/PopupWindows.java
+++ /dev/null
@@ -1,135 +0,0 @@
-
-package com.android.systemui.navigation.editor;
-
-import com.android.internal.utils.du.DUActionUtils;
-
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.WindowManager;
-import android.view.View.OnTouchListener;
-import android.widget.PopupWindow;
-
-import android.content.Context;
-
-/**
- * @author Pontus Holmberg (EndLessMind) Email: the_mr_hb@hotmail.com
- **/
-public class PopupWindows {
-    protected Context mContext;
-    public PopupWindow mWindow;
-    protected View mRootView;
-    protected Drawable mBackground = null;
-    protected WindowManager mWindowManager;
-
-    /**
-     * Constructor.
-     * 
-     * @param context Context
-     */
-    public PopupWindows(Context context) {
-        mContext = context;
-        mWindow = new PopupWindow(context);
-        mWindow.setBackgroundDrawable(new BitmapDrawable());
-        mWindow.setTouchInterceptor(new OnTouchListener() {
-            public boolean onTouch(View v, MotionEvent event) {
-                if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
-                    mWindow.dismiss();
-
-                    return true;
-                }
-
-                return false;
-            }
-        });
-
-        mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
-    }
-
-    /**
-     * On dismiss
-     */
-    protected void onDismiss() {
-    }
-
-    /**
-     * On show
-     */
-    protected void onShow() {
-    }
-
-    /**
-     * On pre show
-     */
-    protected void preShow() {
-        if (mRootView == null)
-            throw new IllegalStateException("setContentView was not called with a view to display.");
-
-        onShow();
-
-        // if (mBackground == null)
-        // mwindow.setBackgroundDrawable(new BitmapDrawable());
-        // else
-        // mwindow.setBackgroundDrawable(new BitmapDrawable());
-
-        mWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
-        mWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
-        // mwindow.setTouchable(true);
-        // mwindow.setFocusable(true);
-        // mwindow.setOutsideTouchable(true);
-
-        mWindow.setContentView(mRootView);
-    }
-
-    /**
-     * Set background drawable.
-     * 
-     * @param background Background drawable
-     */
-    public void setBackgroundDrawable(Drawable background) {
-        mWindow.setBackgroundDrawable(background);
-    }
-
-    /**
-     * Set content view.
-     * 
-     * @param root Root view
-     */
-    public void setContentView(View root) {
-        mRootView = root;
-
-        mWindow.setContentView(root);
-    }
-
-    /**
-     * Set content view.
-     * 
-     * @param layoutResID Resource id
-     */
-    public void setContentView(int layoutResID) {
-        LayoutInflater inflator = (LayoutInflater) mContext
-                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
-        setContentView(inflator.inflate(layoutResID, null));
-    }
-
-    /**
-     * Set listener on window dismissed.
-     * 
-     * @param listener
-     */
-    public void setOnDismissListener(PopupWindow.OnDismissListener listener) {
-        mWindow.setOnDismissListener(listener);
-    }
-
-    /**
-     * Dismiss the popup window.
-     */
-    public void dismiss() {
-        mWindow.dismiss();
-    }
-}
diff --git a/src/com/android/systemui/navigation/editor/QuickAction.java b/src/com/android/systemui/navigation/editor/QuickAction.java
deleted file mode 100644
index e62298a..0000000
--- a/src/com/android/systemui/navigation/editor/QuickAction.java
+++ /dev/null
@@ -1,383 +0,0 @@
-
-package com.android.systemui.navigation.editor;
-
-import android.content.Context;
-
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-
-import android.widget.ImageView;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-import android.widget.ScrollView;
-import android.widget.RelativeLayout;
-import android.widget.PopupWindow.OnDismissListener;
-
-import android.util.Log;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup.LayoutParams;
-import android.view.ViewGroup;
-
-import java.util.List;
-import java.util.ArrayList;
-
-import com.android.systemui.R;
-import com.android.systemui.navigation.editor.ActionItem;
-import com.android.systemui.navigation.editor.PopupWindows;
-import com.android.systemui.navigation.editor.QuickAction;
-
-/**
- * @author Pontus Holmberg (EndLessMind) Email: the_mr_hb@hotmail.com
- **/
-
-public class QuickAction extends PopupWindows implements OnDismissListener {
-    private View mRootView;
-    private ImageView mArrowUp;
-    private ImageView mArrowDown;
-    private LayoutInflater mInflater;
-    private ViewGroup mTrack;
-    private ScrollView mScroller;
-    private OnActionItemClickListener mItemClickListener;
-    private OnDismissListener mDismissListener;
-
-    private List<ActionItem> actionItems = new ArrayList<ActionItem>();
-
-    private boolean mDidAction;
-    public boolean isDismissed = false;
-
-    private int mChildPos;
-    private int mInsertPos;
-    private int rootWidth = 0;
-    private int mAnimStyle;
-    private int mXpos = 0;
-    private int mBtop;
-
-    public static final int HORIZONTAL = 0;
-    public static final int VERTICAL = 1;
-
-    public static final int ANIM_GROW_FROM_LEFT = 1;
-    public static final int ANIM_GROW_FROM_RIGHT = 2;
-    public static final int ANIM_GROW_FROM_CENTER = 3;
-    public static final int ANIM_REFLECT = 4;
-    public static final int ANIM_AUTO = 5;
-    public static final int ANIM_NONE = 6;
-
-    /**
-     * Constructor for default vertical layout
-     * 
-     * @param context Context
-     */
-    public QuickAction(Context context) {
-        this(context, VERTICAL);
-    }
-
-    /**
-     * Constructor allowing orientation override
-     * 
-     * @param context Context
-     * @param orientation Layout orientation, can be vartical or horizontal
-     */
-    public QuickAction(Context context, int orientation) {
-        super(context);
-        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        setRootViewId(R.layout.popup_vertical);
-        mChildPos = 0;
-        mAnimStyle = ANIM_AUTO;
-    }
-
-    /**
-     * Get action item at an index
-     * 
-     * @param index Index of item (position from callback)
-     * @return Action Item at the position
-     */
-    public ActionItem getActionItem(int index) {
-        return actionItems.get(index);
-    }
-
-    /**
-     * Set root view.
-     * 
-     * @param id Layout resource id
-     */
-    public void setRootViewId(int id) {
-        // setOutsideTouchable(true);
-        mRootView = (ViewGroup) mInflater.inflate(id, null);
-        mTrack = (ViewGroup) mRootView.findViewById(R.id.tracks);
-        mArrowDown = (ImageView) mRootView.findViewById(R.id.arrow_down);
-        mArrowUp = (ImageView) mRootView.findViewById(R.id.arrow_up);
-        mScroller = (ScrollView) mRootView.findViewById(R.id.scroller);
-
-        // This was previously defined on show() method, moved here to prevent force close that
-        // occured
-        // when tapping fastly on a view to show quickaction dialog.
-        // thanks to zammbi (github.com/zammbi)
-        mRootView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
-                LayoutParams.WRAP_CONTENT));
-        setContentView(mRootView);
-    }
-
-    /**
-     * Set listener for action item clicked.
-     * 
-     * @param listener Listener
-     */
-    public void setOnActionItemClickListener(OnActionItemClickListener listener) {
-        mItemClickListener = listener;
-    }
-
-    /**
-     * Add action item
-     * 
-     * @param action {@link ActionItem}
-     */
-    public void addActionItem(ActionItem action) {
-        actionItems.add(action);
-
-        String title = action.getTitle();
-        Drawable icon = action.getIcon();
-        View container = mInflater.inflate(R.layout.action_item_vertical, null);
-        ImageView img = (ImageView) container.findViewById(R.id.iv_icon);
-        TextView text = (TextView) container.findViewById(R.id.tv_title);
-
-        if (icon != null) {
-            img.setImageDrawable(icon);
-        } else {
-            img.setVisibility(View.GONE);
-        }
-
-        if (title != null) {
-            text.setText(title);
-        } else {
-            text.setVisibility(View.GONE);
-        }
-
-        final int pos = mChildPos;
-        final int actionId = action.getActionId();
-
-        final boolean isActionSticky = action.isSticky();
-
-        container.setOnClickListener(new OnClickListener() {
-            public void onClick(View v) {
-                if (mItemClickListener != null) {
-                    mItemClickListener.onItemClick(QuickAction.this, pos, actionId);
-                }
-
-                if (!isActionSticky) {
-                    mDidAction = true;
-                    dismiss();
-                }
-            }
-        });
-
-        container.setFocusable(true);
-        container.setClickable(true);
-
-        mTrack.addView(container, mInsertPos);
-
-        mChildPos++;
-        mInsertPos++;
-    }
-
-    public void clearViews() {
-        actionItems.clear();
-        mTrack.removeAllViews();
-        mChildPos = 0;
-        mInsertPos = 0;
-    }
-
-    /**
-     * Show quickaction popup. Popup is automatically positioned, on top or bottom of anchor view.
-     */
-    public void show(View anchor) {
-        preShow();
-        int xPos, yPos, arrowPos;
-
-        mDidAction = false;
-
-        int[] location = new int[2];
-
-        anchor.getLocationOnScreen(location);
-
-        Rect anchorRect = new Rect(location[0], location[1], location[0] + anchor.getWidth(),
-                location[1]
-                        + anchor.getHeight());
-
-        // mRootView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
-        // LayoutParams.WRAP_CONTENT));
-
-        mRootView.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
-
-        int rootHeight = mRootView.getMeasuredHeight();
-
-        if (rootWidth == 0) {
-            rootWidth = mRootView.getMeasuredWidth();
-        }
-
-        int screenWidth = mWindowManager.getDefaultDisplay().getWidth();
-        int screenHeight = mWindowManager.getDefaultDisplay().getHeight();
-
-        // automatically get X coord of popup (top left)
-        if ((anchorRect.left + rootWidth) > screenWidth) {
-            xPos = anchorRect.left - (rootWidth - anchor.getWidth());
-            xPos = (xPos < 0) ? 0 : xPos;
-
-            arrowPos = anchorRect.centerX() - xPos;
-
-        } else {
-            if (anchor.getWidth() > rootWidth) {
-                xPos = anchorRect.centerX() - (rootWidth / 2);
-            } else {
-                xPos = anchorRect.left;
-            }
-
-            arrowPos = anchorRect.centerX() - xPos;
-        }
-
-        int dyTop = anchorRect.top;
-        mBtop = dyTop;
-        int dyBottom = screenHeight - anchorRect.bottom;
-
-        boolean onTop = (dyTop > dyBottom) ? true : false;
-
-        if (onTop) {
-            if (rootHeight > dyTop) {
-                yPos = 15;
-                LayoutParams l = mScroller.getLayoutParams();
-                l.height = dyTop - anchor.getHeight();
-            } else {
-                yPos = anchorRect.top - rootHeight;
-            }
-        } else {
-            yPos = anchorRect.bottom;
-
-            if (rootHeight > dyBottom) {
-                LayoutParams l = mScroller.getLayoutParams();
-                l.height = dyBottom;
-            }
-        }
-
-        showArrow(((onTop) ? R.id.arrow_down : R.id.arrow_up), arrowPos);
-
-        setAnimationStyle(screenWidth, anchorRect.centerX());
-        mWindow.showAtLocation(anchor, Gravity.NO_GRAVITY, xPos, yPos);
-        mXpos = xPos;
-    }
-
-    public int getNavButtonTopY() {
-        return mBtop;
-    }
-
-    public int getXpos() {
-        return mXpos;
-    }
-
-    /**
-     * Set animation style
-     * 
-     * @param screenWidth screen width
-     * @param requestedX distance from left edge
-     * @param onTop flag to indicate where the popup should be displayed. Set TRUE if displayed on
-     *            top of anchor view and vice versa
-     */
-    private void setAnimationStyle(int screenWidth, int requestedX) {
-        int arrowPos = requestedX - mArrowUp.getMeasuredWidth() / 2;
-
-        switch (mAnimStyle) {
-            case ANIM_GROW_FROM_LEFT:
-                mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Left);
-                break;
-
-            case ANIM_GROW_FROM_RIGHT:
-                mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Right);
-                break;
-
-            case ANIM_GROW_FROM_CENTER:
-                mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Center);
-                break;
-
-            case ANIM_REFLECT:
-                mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Reflect);
-                break;
-
-            case ANIM_AUTO:
-                if (arrowPos <= screenWidth / 4) {
-                    mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Left);
-                } else if (arrowPos > screenWidth / 4 && arrowPos < 3 * (screenWidth / 4)) {
-                    mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Center);
-                } else {
-                    mWindow.setAnimationStyle(R.style.Animations_PopUpMenu_Right);
-                }
-                break;
-        }
-    }
-
-    /**
-     * Set animation style
-     * 
-     * @param mAnimStyle animation style, default is set to ANIM_AUTO
-     */
-    public void setAnimStyle(int mAnimStyle) {
-        this.mAnimStyle = mAnimStyle;
-    }
-
-    /**
-     * Show arrow
-     * 
-     * @param whichArrow arrow type resource id
-     * @param requestedX distance from left screen
-     */
-    private void showArrow(int whichArrow, int requestedX) {
-        final View showArrow = (whichArrow == R.id.arrow_up) ? mArrowUp
-                : mArrowDown;
-        final View hideArrow = (whichArrow == R.id.arrow_up) ? mArrowDown
-                : mArrowUp;
-
-        final int arrowWidth = mArrowDown.getMeasuredWidth();
-
-        showArrow.setVisibility(View.VISIBLE);
-
-        ViewGroup.MarginLayoutParams param = (ViewGroup.MarginLayoutParams) showArrow
-                .getLayoutParams();
-
-        param.leftMargin = requestedX - arrowWidth / 2;
-
-        hideArrow.setVisibility(View.INVISIBLE);
-    }
-
-    /**
-     * Set listener for window dismissed. This listener will only be fired if the quicakction dialog
-     * is dismissed by clicking outside the dialog or clicking on sticky item.
-     */
-    public void setOnDismissListener(QuickAction.OnDismissListener listener) {
-        setOnDismissListener(this);
-
-        mDismissListener = listener;
-    }
-
-    @Override
-    public void onDismiss() {
-        if (!mDidAction && mDismissListener != null) {
-            isDismissed = true;
-            Log.d("Qick", "Dismissed-inside");
-            mDismissListener.onDismiss();
-        }
-    }
-
-    /**
-     * Listener for item click
-     */
-    public interface OnActionItemClickListener {
-        public abstract void onItemClick(QuickAction source, int pos, int actionId);
-    }
-
-    /**
-     * Listener for window dismiss
-     */
-    public interface OnDismissListener {
-        public abstract void onDismiss();
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingActionHandler.java b/src/com/android/systemui/navigation/fling/FlingActionHandler.java
deleted file mode 100644
index 508d06d..0000000
--- a/src/com/android/systemui/navigation/fling/FlingActionHandler.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Handles binding actions to events, and a simple public api for firing
- * events. Also handles observing user changes to actions and a callback
- * that's called action pre-execution. Let's motion handler know if double
- * tap is enabled in case of different touch handling 
- *
- */
-
-package com.android.systemui.navigation.fling;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import com.android.systemui.navigation.fling.FlingGestureHandler.Swipeable;
-import com.android.systemui.navigation.utils.SmartObserver.SmartObservable;
-import com.android.internal.utils.du.ActionConstants;
-import com.android.internal.utils.du.ActionHandler;
-import com.android.internal.utils.du.Config;
-import com.android.internal.utils.du.ActionConstants.ConfigMap;
-import com.android.internal.utils.du.Config.ActionConfig;
-import com.android.internal.utils.du.Config.ButtonConfig;
-
-import android.content.Context;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.HapticFeedbackConstants;
-import android.view.SoundEffectConstants;
-import android.view.View;
-
-public class FlingActionHandler implements Swipeable, SmartObservable {
-    final static String TAG = FlingActionHandler.class.getSimpleName();
-
-    private static Set<Uri> sUris = new HashSet<Uri>();
-    static {
-        sUris.add(Settings.Secure.getUriFor(
-                ActionConstants.getDefaults(ActionConstants.FLING).getUri()));
-    }
-
-    private Map<String, ActionConfig> mActionMap = new HashMap<String, ActionConfig>();
-    private View mHost;
-    private Context mContext;
-    private boolean isDoubleTapEnabled;
-    private boolean mUseKbCursors;
-    private boolean mLongPressing;
-    private boolean mKeyguardShowing;
-    private boolean mOnTapPreloadedRecents;
-    private boolean mOnSwipePreloadedRecents;
-
-    // TODO: move these to ActionConstants and make the whole
-    // preload code more granular to avoid unneeded preload tasks
-    private final ArrayList<String> mRightTapActions = new ArrayList<>();
-    private final ArrayList<String> mLeftTapActions = new ArrayList<>();
-    private final ArrayList<String> mSwipeActions = new ArrayList<>();
-
-    private void setRightTapActions() {
-        mRightTapActions.clear();
-        mRightTapActions.add("single_right_tap");
-        mRightTapActions.add("double_right_tap");
-        mRightTapActions.add("long_right_press");
-    }
-
-    private void setLeftTapActions() {
-        mLeftTapActions.clear();
-        mLeftTapActions.add("single_left_tap");
-        mLeftTapActions.add("double_left_tap");
-        mLeftTapActions.add("long_left_press");
-    }
-
-    private void setSwipeActions() {
-        mSwipeActions.add("fling_short_right");
-        mSwipeActions.add("fling_long_right");
-        mSwipeActions.add("fling_right_up");
-        mSwipeActions.add("fling_short_left");
-        mSwipeActions.add("fling_long_left");
-        mSwipeActions.add("fling_left_up");
-    }
-
-    public FlingActionHandler(Context context, View host) {
-        mContext = context;
-        mHost = host;
-        loadConfigs();
-    }
-
-    void loadConfigs() {
-        mActionMap.clear();
-        ArrayList<ButtonConfig> configs = Config.getConfig(mContext,
-                ActionConstants.getDefaults(ActionConstants.FLING));
-        for (Map.Entry<String, ConfigMap> entry : ActionConstants
-                .getDefaults(ActionConstants.FLING).getActionMap().entrySet()) {
-            ButtonConfig button = configs.get(entry.getValue().button);
-            ActionConfig action = button.getActionConfig(entry.getValue().action);
-            mActionMap.put(entry.getKey(), action);
-        }
-        setDoubleTapEnabled();
-        setLeftTapActions();
-        setRightTapActions();
-        setSwipeActions();
-    }
-
-    public void setKeyguardShowing(boolean showing) {
-        if (mKeyguardShowing == showing) {
-            return;
-        }
-        mKeyguardShowing = showing;
-    }
-
-    public void fireAction(ActionConfig action) {
-        if (action == null || action.hasNoAction()) {
-            return;
-        }
-        final String theAction = action.getAction();
-        // only back is allowed in keyguard
-        if (mKeyguardShowing
-                && (!TextUtils.equals(theAction, ActionHandler.SYSTEMUI_TASK_BACK))) {
-            return;
-        }
-        mHost.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-        mHost.playSoundEffect(SoundEffectConstants.CLICK);
-        ActionHandler.performTask(mContext, theAction);
-        if (mOnTapPreloadedRecents || mOnSwipePreloadedRecents
-                && !action.isActionRecents()) {
-            ActionHandler.cancelPreloadRecentApps();
-        }
-    }
-
-    @Override
-    public boolean onDoubleTapEnabled() {
-        return isDoubleTapEnabled;
-    }
-
-    @Override
-    public void onShortLeftSwipe() {
-        fireAction((ActionConfig) mActionMap.get(ActionConstants.Fling.FLING_SHORT_LEFT_TAG));
-    }
-
-    @Override
-    public void onLongLeftSwipe() {
-        fireAction((ActionConfig) mActionMap.get(ActionConstants.Fling.FLING_LONG_LEFT_TAG));
-    }
-
-    @Override
-    public void onShortRightSwipe() {
-        fireAction((ActionConfig) mActionMap.get(ActionConstants.Fling.FLING_SHORT_RIGHT_TAG));
-    }
-
-    @Override
-    public void onLongRightSwipe() {
-        fireAction((ActionConfig) mActionMap.get(ActionConstants.Fling.FLING_LONG_RIGHT_TAG));
-    }
-
-    @Override
-    public void onUpRightSwipe() {
-        ActionConfig left_swipe = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.FLING_LEFT_UP_TAG);
-        ActionConfig right_swipe = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.FLING_RIGHT_UP_TAG);
-        fireAction(!right_swipe.hasNoAction() ? right_swipe : left_swipe);
-    }
-
-    @Override
-    public void onUpLeftSwipe() {
-        ActionConfig left_swipe = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.FLING_LEFT_UP_TAG);
-        ActionConfig right_swipe = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.FLING_RIGHT_UP_TAG);
-        fireAction(!left_swipe.hasNoAction() ? left_swipe : right_swipe);
-    }
-
-    @Override
-    public void onSingleLeftPress() {
-        if (mUseKbCursors) {
-            ActionHandler.performTask(mContext, ActionHandler.SYSTEMUI_TASK_HOME);
-            return;
-        }
-        ActionConfig left_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.SINGLE_LEFT_TAP_TAG);
-        ActionConfig right_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.SINGLE_RIGHT_TAP_TAG);
-        fireAction(!left_tap.hasNoAction() ? left_tap : right_tap);
-    }
-
-    @Override
-    public void onSingleRightPress() {
-        if (((FlingView)mHost).isRotateButtonVisible()) {
-            ((FlingView)mHost).rotate();
-            return;
-        }
-
-        if (mUseKbCursors) {
-            ActionHandler.performTask(mContext, ActionHandler.SYSTEMUI_TASK_HOME);
-            return;
-        }
-        ActionConfig right_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.SINGLE_RIGHT_TAP_TAG);
-        ActionConfig left_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.SINGLE_LEFT_TAP_TAG);
-        fireAction(!right_tap.hasNoAction() ? right_tap : left_tap);
-    }
-
-    protected void setImeActions(boolean enable) {
-        mUseKbCursors = enable;
-    }
-
-    private void setDoubleTapEnabled() {
-        isDoubleTapEnabled =
-                !((ActionConfig) mActionMap.get(ActionConstants.Fling.DOUBLE_LEFT_TAP_TAG)).hasNoAction()
-                || !((ActionConfig) mActionMap.get(ActionConstants.Fling.DOUBLE_RIGHT_TAP_TAG)).hasNoAction();
-    }
-
-    @Override
-    public void onDoubleLeftTap() {
-        ActionConfig left_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.DOUBLE_LEFT_TAP_TAG);
-        ActionConfig right_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.DOUBLE_RIGHT_TAP_TAG);
-        fireAction(!left_tap.hasNoAction() ? left_tap : right_tap);
-    }
-
-    @Override
-    public void onDoubleRightTap() {
-        ActionConfig right_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.DOUBLE_RIGHT_TAP_TAG);
-        ActionConfig left_tap = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.DOUBLE_LEFT_TAP_TAG);
-        fireAction(!right_tap.hasNoAction() ? right_tap : left_tap);
-    }
-
-    @Override
-    public void onLongLeftPress() {
-        mLongPressing = true;
-        if (mUseKbCursors) {
-            moveKbCursor(false, true);
-            return;
-        }
-
-        ActionConfig left_long = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.LONG_LEFT_PRESS_TAG);
-        ActionConfig right_long = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.LONG_RIGHT_PRESS_TAG);
-        if (ActionHandler.isLockTaskOn()) {
-            ActionHandler.turnOffLockTask();
-        } else {
-            fireAction(!left_long.hasNoAction() ? left_long : right_long);
-        }
-    }
-
-    @Override
-    public void onLongRightPress() {
-        mLongPressing = true;
-        if (mUseKbCursors) {
-            moveKbCursor(true, true);
-            return;
-        }
-
-        ActionConfig right_long = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.LONG_RIGHT_PRESS_TAG);
-        ActionConfig left_long = (ActionConfig) mActionMap
-                .get(ActionConstants.Fling.LONG_LEFT_PRESS_TAG);
-        if (ActionHandler.isLockTaskOn()) {
-            ActionHandler.turnOffLockTask();
-        } else {
-            fireAction(!right_long.hasNoAction() ? right_long : left_long);
-        }
-    }
-
-    private void moveKbCursor(boolean right, boolean firstTrigger) {
-        ActionHandler.performTask(mContext, right ? ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_RIGHT
-                : ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_LEFT);
-        final Handler handler = new Handler(Looper.getMainLooper());
-        final Runnable r = new Runnable() {
-            @Override
-            public void run() {
-                if (mLongPressing) {
-                    moveKbCursor(right, false);
-                }
-            }
-        };
-        if (mLongPressing) {
-            handler.postDelayed(r, firstTrigger ? 500 : 250);
-        }
-    }
-
-    @Override
-    public void cancelLongPress() {
-        mLongPressing = false;
-    }
-
-    @Override
-    public void onDownPreloadRecents(boolean isRight) {
-        mOnTapPreloadedRecents = false;
-        for (String flingAction : (isRight? mRightTapActions : mLeftTapActions)) {
-            ActionConfig action = (ActionConfig) mActionMap.get(flingAction);
-            if (!mUseKbCursors && !((FlingView)mHost).isRotateButtonVisible() && action != null && !action.hasNoAction() && action.isActionRecents()) {
-                ActionHandler.preloadRecentApps();
-                mOnTapPreloadedRecents = true;
-                return;
-            }
-        }
-    }
-
-    @Override
-    public void onScrollPreloadRecents() {
-        mOnSwipePreloadedRecents = false;
-        for (String swipeAction : mSwipeActions) {
-            ActionConfig action = (ActionConfig) mActionMap.get(swipeAction);
-            if (action != null && !action.hasNoAction() && action.isActionRecents() && !mOnTapPreloadedRecents) {
-                ActionHandler.preloadRecentApps();
-                mOnSwipePreloadedRecents = true;
-                return;
-            }
-        }
-    }
-
-    @Override
-    public void onCancelPreloadRecents() {
-        if (mOnTapPreloadedRecents || mOnSwipePreloadedRecents) {
-            ActionHandler.cancelPreloadRecentApps();
-        }
-    }
-
-    @Override
-    public Set<Uri> onGetUris() {
-        return sUris;
-    }
-
-    @Override
-    public void onChange(Uri uri) {
-        loadConfigs();
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingBarTransitions.java b/src/com/android/systemui/navigation/fling/FlingBarTransitions.java
deleted file mode 100644
index 9b1dc03..0000000
--- a/src/com/android/systemui/navigation/fling/FlingBarTransitions.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.navigation.fling;
-
-import android.graphics.drawable.Drawable;
-import android.view.View;
-
-import com.android.systemui.navigation.*;
-import com.android.systemui.navigation.fling.FlingView;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.phone.LightBarTransitionsController;
-import com.android.systemui.R;
-
-public final class FlingBarTransitions extends BarTransitions {
-
-    private final FlingView mView;
-    private boolean mLightsOut;
-    private final LightBarTransitionsController mLightTransitionsController;
-
-    public FlingBarTransitions(FlingView view) {
-        super(view, R.drawable.nav_background);
-//                R.color.navigation_bar_background_opaque,
-//                R.color.navigation_bar_background_semi_transparent,
-//                R.color.navigation_bar_background_transparent,
-//                com.android.internal.R.color.battery_saver_mode_color);
-        mView = view;
-        mLightTransitionsController = new LightBarTransitionsController(view.getContext(),
-                this::applyDarkIntensity);
-    }
-
-    public void init() {
-        applyModeBackground(-1, getMode(), false /*animate*/);
-        applyMode(getMode(), false /*animate*/, true /*force*/);
-    }
-
-    public LightBarTransitionsController getLightTransitionsController() {
-        return mLightTransitionsController;
-    }
-
-    public void reapplyDarkIntensity() {
-        applyDarkIntensity(mLightTransitionsController.getCurrentDarkIntensity());
-    }
-
-    public void applyDarkIntensity(float darkIntensity) {
-        Drawable current = mView.getLogoDrawable(false);
-        if (current != null && current instanceof DarkIntensity) {
-            ((DarkIntensity) current).setDarkIntensity(darkIntensity);
-        }
-        Drawable hidden = mView.getLogoDrawable(true);
-        if (hidden != null && hidden instanceof DarkIntensity) {
-            ((DarkIntensity) hidden).setDarkIntensity(darkIntensity);
-        }
-
-        Drawable rotationCurrent = mView.getRotationLogoDrawable(false);
-        if (rotationCurrent != null && rotationCurrent instanceof DarkIntensity) {
-            ((DarkIntensity) rotationCurrent).setDarkIntensity(darkIntensity);
-        }
-        Drawable rotationHidden = mView.getRotationLogoDrawable(true);
-        if (rotationHidden != null && rotationHidden instanceof DarkIntensity) {
-            ((DarkIntensity) rotationHidden).setDarkIntensity(darkIntensity);
-        }
-    }
-
-    @Override
-    protected void onTransition(int oldMode, int newMode, boolean animate) {
-        super.onTransition(oldMode, newMode, animate);
-        applyMode(newMode, animate, false /*force*/);
-    }
-
-    private void applyMode(int mode, boolean animate, boolean force) {
-        // apply to lights out
-        applyLightsOut(isLightsOut(mode), animate, force);
-    }
-
-    private void applyLightsOut(boolean lightsOut, boolean animate, boolean force) {
-        if (!force && lightsOut == mLightsOut)
-            return;
-
-        mLightsOut = lightsOut;
-        final View navButtons = mView.getCurrentView().findViewById(R.id.nav_buttons);
-
-        // ok, everyone, stop it right there
-        navButtons.animate().cancel();
-
-        final float navButtonsAlpha = lightsOut ? 0.5f : 1f;
-
-        if (!animate) {
-            navButtons.setAlpha(navButtonsAlpha);
-        } else {
-            final int duration = lightsOut ? LIGHTS_OUT_DURATION : LIGHTS_IN_DURATION;
-            navButtons.animate()
-                    .alpha(navButtonsAlpha)
-                    .setDuration(duration)
-                    .start();
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingGestureDetector.java b/src/com/android/systemui/navigation/fling/FlingGestureDetector.java
deleted file mode 100644
index ff468e9..0000000
--- a/src/com/android/systemui/navigation/fling/FlingGestureDetector.java
+++ /dev/null
@@ -1,751 +0,0 @@
-/**
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Haxd up version from sdk. exposed some values
- * 
- */
-package com.android.systemui.navigation.fling;
-
-import com.android.systemui.R;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.Message;
-import android.view.InputEventConsistencyVerifier;
-import android.view.MotionEvent;
-import android.view.VelocityTracker;
-import android.view.ViewConfiguration;
-
-/**
- * Detects various gestures and events using the supplied {@link MotionEvent}s.
- * The {@link OnGestureListener} callback will notify users when a particular
- * motion event has occurred. This class should only be used with {@link MotionEvent}s
- * reported via touch (don't use for trackball events).
- *
- * To use this class:
- * <ul>
- *  <li>Create an instance of the {@code GestureDetector} for your {@link View}
- *  <li>In the {@link View#onTouchEvent(MotionEvent)} method ensure you call
- *          {@link #onTouchEvent(MotionEvent)}. The methods defined in your callback
- *          will be executed when the events occur.
- * </ul>
- */
-public class FlingGestureDetector {
-    /**
-     * The listener that is used to notify when gestures occur.
-     * If you want to listen for all the different gestures then implement
-     * this interface. If you only want to listen for a subset it might
-     * be easier to extend {@link SimpleOnGestureListener}.
-     */
-    public interface OnGestureListener {
-
-        /**
-         * Notified when a tap occurs with the down {@link MotionEvent}
-         * that triggered it. This will be triggered immediately for
-         * every down event. All other events should be preceded by this.
-         *
-         * @param e The down motion event.
-         */
-        boolean onDown(MotionEvent e);
-
-        /**
-         * The user has performed a down {@link MotionEvent} and not performed
-         * a move or up yet. This event is commonly used to provide visual
-         * feedback to the user to let them know that their action has been
-         * recognized i.e. highlight an element.
-         *
-         * @param e The down motion event
-         */
-        void onShowPress(MotionEvent e);
-
-        /**
-         * Notified when a tap occurs with the up {@link MotionEvent}
-         * that triggered it.
-         *
-         * @param e The up motion event that completed the first tap
-         * @return true if the event is consumed, else false
-         */
-        boolean onSingleTapUp(MotionEvent e);
-
-        /**
-         * Notified when a scroll occurs with the initial on down {@link MotionEvent} and the
-         * current move {@link MotionEvent}. The distance in x and y is also supplied for
-         * convenience.
-         *
-         * @param e1 The first down motion event that started the scrolling.
-         * @param e2 The move motion event that triggered the current onScroll.
-         * @param distanceX The distance along the X axis that has been scrolled since the last
-         *              call to onScroll. This is NOT the distance between {@code e1}
-         *              and {@code e2}.
-         * @param distanceY The distance along the Y axis that has been scrolled since the last
-         *              call to onScroll. This is NOT the distance between {@code e1}
-         *              and {@code e2}.
-         * @return true if the event is consumed, else false
-         */
-        boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY);
-
-        /**
-         * Notified when a scroll occurs with the initial on move {@link MotionEvent}
-         * that trigged it.
-         *
-         */
-        boolean onFirstScroll();
-
-        /**
-         * Notified on cancel {@link MotionEvent}
-         *
-         */
-        boolean onCancel();
-
-        /**
-         * Notified when a long press occurs with the initial on down {@link MotionEvent}
-         * that trigged it.
-         *
-         * @param e The initial on down motion event that started the longpress.
-         */
-        void onLongPress(MotionEvent e);
-
-        /**
-         * Notified when a long press is finished
-         *
-         */
-        void onFinishedLongPress();
-
-        /**
-         * Notified of a fling event when it occurs with the initial on down {@link MotionEvent}
-         * and the matching up {@link MotionEvent}. The calculated velocity is supplied along
-         * the x and y axis in pixels per second.
-         *
-         * @param e1 The first down motion event that started the fling.
-         * @param e2 The move motion event that triggered the current onFling.
-         * @param velocityX The velocity of this fling measured in pixels per second
-         *              along the x axis.
-         * @param velocityY The velocity of this fling measured in pixels per second
-         *              along the y axis.
-         * @return true if the event is consumed, else false
-         */
-        boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY);
-    }
-
-    /**
-     * The listener that is used to notify when a double-tap or a confirmed
-     * single-tap occur.
-     */
-    public interface OnDoubleTapListener {
-        /**
-         * Notified when a single-tap occurs.
-         * <p>
-         * Unlike {@link OnGestureListener#onSingleTapUp(MotionEvent)}, this
-         * will only be called after the detector is confident that the user's
-         * first tap is not followed by a second tap leading to a double-tap
-         * gesture.
-         *
-         * @param e The down motion event of the single-tap.
-         * @return true if the event is consumed, else false
-         */
-        boolean onSingleTapConfirmed(MotionEvent e);
- 
-        /**
-         * Notified when a double-tap occurs.
-         *
-         * @param e The down motion event of the first tap of the double-tap.
-         * @return true if the event is consumed, else false
-         */
-        boolean onDoubleTap(MotionEvent e);
-
-        /**
-         * Notified when an event within a double-tap gesture occurs, including
-         * the down, move, and up events.
-         *
-         * @param e The motion event that occurred during the double-tap gesture.
-         * @return true if the event is consumed, else false
-         */
-        boolean onDoubleTapEvent(MotionEvent e);
-    }
-
-    /**
-     * A convenience class to extend when you only want to listen for a subset
-     * of all the gestures. This implements all methods in the
-     * {@link OnGestureListener} and {@link OnDoubleTapListener} but does
-     * nothing and return {@code false} for all applicable methods.
-     */
-    public static class SimpleOnGestureListener implements OnGestureListener, OnDoubleTapListener {
-
-        public boolean onSingleTapUp(MotionEvent e) {
-            return false;
-        }
-
-        public void onLongPress(MotionEvent e) {
-        }
-
-        public void onFinishedLongPress() {
-        }
-
-        public boolean onScroll(MotionEvent e1, MotionEvent e2,
-                float distanceX, float distanceY) {
-            return false;
-        }
-
-        public boolean onFirstScroll() {
-            return false;
-        }
-
-        public boolean onCancel() {
-            return false;
-        }
-
-        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
-                float velocityY) {
-            return false;
-        }
-
-        public void onShowPress(MotionEvent e) {
-        }
-
-        public boolean onDown(MotionEvent e) {
-            return false;
-        }
-
-        public boolean onDoubleTap(MotionEvent e) {
-            return false;
-        }
-
-        public boolean onDoubleTapEvent(MotionEvent e) {
-            return false;
-        }
-
-        public boolean onSingleTapConfirmed(MotionEvent e) {
-            return false;
-        }
-    }
-
-    private int mTouchSlopSquare;
-    private int mDoubleTapTouchSlopSquare;
-    private int mDoubleTapSlopSquare;
-    private int mMinimumFlingVelocity;
-    private int mMaximumFlingVelocity;
-
-    private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();
-    private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
-    private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
-    private static final int DOUBLE_TAP_MIN_TIME = ViewConfiguration.getDoubleTapMinTime();
-
-    // constants for Message.what used by GestureHandler below
-    private static final int SHOW_PRESS = 1;
-    private static final int LONG_PRESS = 2;
-    private static final int TAP = 3;
-
-    private final Handler mHandler;
-    private final OnGestureListener mListener;
-    private OnDoubleTapListener mDoubleTapListener;
-
-    private boolean mStillDown;
-    private boolean mDeferConfirmSingleTap;
-    private boolean mInLongPress;
-    private boolean mAlwaysInTapRegion;
-    private boolean mAlwaysInBiggerTapRegion;
-
-    private MotionEvent mCurrentDownEvent;
-    private MotionEvent mPreviousUpEvent;
-
-    /**
-     * True when the user is still touching for the second tap (down, move, and
-     * up events). Can only be true if there is a double tap listener attached.
-     */
-    private boolean mIsDoubleTapping;
-
-    private float mLastFocusX;
-    private float mLastFocusY;
-    private float mDownFocusX;
-    private float mDownFocusY;
-
-    private boolean mIsLongpressEnabled;
-
-    /**
-     * Determines speed during touch scrolling
-     */
-    private VelocityTracker mVelocityTracker;
-
-    /**
-     * Consistency verifier for debugging purposes.
-     */
-    private final InputEventConsistencyVerifier mInputEventConsistencyVerifier =
-            InputEventConsistencyVerifier.isInstrumentationEnabled() ?
-                    new InputEventConsistencyVerifier(this, 0) : null;
-
-    private class GestureHandler extends Handler {
-        GestureHandler() {
-            super();
-        }
-
-        GestureHandler(Handler handler) {
-            super(handler.getLooper());
-        }
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-            case SHOW_PRESS:
-                mListener.onShowPress(mCurrentDownEvent);
-                break;
-            case LONG_PRESS:
-                dispatchLongPress();
-                break;
-            case TAP:
-                // If the user's finger is still down, do not count it as a tap
-                if (mDoubleTapListener != null) {
-                    if (!mStillDown) {
-                        mDoubleTapListener.onSingleTapConfirmed(mCurrentDownEvent);
-                    } else {
-                        mDeferConfirmSingleTap = true;
-                    }
-                }
-                break;
-            default:
-                throw new RuntimeException("Unknown message " + msg); //never
-            }
-        }
-    }
-
-    /**
-     * Creates a GestureDetector with the supplied listener.
-     * This variant of the constructor should be used from a non-UI thread 
-     * (as it allows specifying the Handler).
-     * 
-     * @param listener the listener invoked for all the callbacks, this must
-     * not be null.
-     * @param handler the handler to use
-     *
-     * @throws NullPointerException if either {@code listener} or
-     * {@code handler} is null.
-     *
-     * @deprecated Use {@link #GestureDetector(android.content.Context,
-     *      android.view.GestureDetector.OnGestureListener, android.os.Handler)} instead.
-     */
-    @Deprecated
-    public FlingGestureDetector(OnGestureListener listener, Handler handler) {
-        this(null, listener, handler);
-    }
-
-    /**
-     * Creates a GestureDetector with the supplied listener.
-     * You may only use this constructor from a UI thread (this is the usual situation).
-     * @see android.os.Handler#Handler()
-     * 
-     * @param listener the listener invoked for all the callbacks, this must
-     * not be null.
-     * 
-     * @throws NullPointerException if {@code listener} is null.
-     *
-     * @deprecated Use {@link #GestureDetector(android.content.Context,
-     *      android.view.GestureDetector.OnGestureListener)} instead.
-     */
-    @Deprecated
-    public FlingGestureDetector(OnGestureListener listener) {
-        this(null, listener, null);
-    }
-
-    /**
-     * Creates a GestureDetector with the supplied listener that runs deferred events on the
-     * thread associated with the supplied {@link android.os.Handler}.
-     * @see android.os.Handler#Handler()
-     *
-     * @param context the application's context
-     * @param listener the listener invoked for all the callbacks, this must
-     * not be null.
-     * @param handler the handler to use for running deferred listener events.
-     *
-     * @throws NullPointerException if {@code listener} is null.
-     */
-    public FlingGestureDetector(Context context, OnGestureListener listener, Handler handler) {
-        if (handler != null) {
-            mHandler = new GestureHandler(handler);
-        } else {
-            mHandler = new GestureHandler();
-        }
-        mListener = listener;
-        if (listener instanceof OnDoubleTapListener) {
-            setOnDoubleTapListener((OnDoubleTapListener) listener);
-        }
-        init(context);
-    }
-    
-    /**
-     * Creates a GestureDetector with the supplied listener that runs deferred events on the
-     * thread associated with the supplied {@link android.os.Handler}.
-     * @see android.os.Handler#Handler()
-     *
-     * @param context the application's context
-     * @param listener the listener invoked for all the callbacks, this must
-     * not be null.
-     * @param handler the handler to use for running deferred listener events.
-     * @param unused currently not used.
-     *
-     * @throws NullPointerException if {@code listener} is null.
-     */
-    public FlingGestureDetector(Context context, OnGestureListener listener, Handler handler,
-            boolean unused) {
-        this(context, listener, handler);
-    }
-
-    private void init(Context context) {
-        if (mListener == null) {
-            throw new NullPointerException("OnGestureListener must not be null");
-        }
-        mIsLongpressEnabled = true;
-
-        // Fallback to support pre-donuts releases
-        int touchSlop, doubleTapSlop, doubleTapTouchSlop;
-        float touchSlopIncreaseFactor;
-        if (context == null) {
-            //noinspection deprecation
-            touchSlop = ViewConfiguration.getTouchSlop();
-            doubleTapTouchSlop = touchSlop; // Hack rather than adding a hiden method for this
-            doubleTapSlop = ViewConfiguration.getDoubleTapSlop();
-            //noinspection deprecation
-            mMinimumFlingVelocity = ViewConfiguration.getMinimumFlingVelocity();
-            mMaximumFlingVelocity = ViewConfiguration.getMaximumFlingVelocity();
-        } else {
-            final ViewConfiguration configuration = ViewConfiguration.get(context);
-
-            touchSlopIncreaseFactor = context.getResources().getFloat(R.dimen.config_fling_touchslop_increase_factor);
-            final int slop = configuration.getScaledTouchSlop();
-            touchSlop = Math.round(slop * touchSlopIncreaseFactor);
-
-            doubleTapTouchSlop = configuration.getScaledDoubleTapTouchSlop();
-            doubleTapSlop = configuration.getScaledDoubleTapSlop();
-            mMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
-            mMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity();
-        }
-        mTouchSlopSquare = touchSlop * touchSlop;
-        mDoubleTapTouchSlopSquare = doubleTapTouchSlop * doubleTapTouchSlop;
-        mDoubleTapSlopSquare = doubleTapSlop * doubleTapSlop;
-    }
-
-    /**
-     * Sets the listener which will be called for double-tap and related
-     * gestures.
-     * 
-     * @param onDoubleTapListener the listener invoked for all the callbacks, or
-     *        null to stop listening for double-tap gestures.
-     */
-    public void setOnDoubleTapListener(OnDoubleTapListener onDoubleTapListener) {
-        mDoubleTapListener = onDoubleTapListener;
-    }
-
-    /**
-     * Set whether longpress is enabled, if this is enabled when a user
-     * presses and holds down you get a longpress event and nothing further.
-     * If it's disabled the user can press and hold down and then later
-     * moved their finger and you will get scroll events. By default
-     * longpress is enabled.
-     *
-     * @param isLongpressEnabled whether longpress should be enabled.
-     */
-    public void setIsLongpressEnabled(boolean isLongpressEnabled) {
-        mIsLongpressEnabled = isLongpressEnabled;
-    }
-
-    /**
-     * @override to set custom longpress timeout
-     */
-    protected int getLongPressTimeout() {
-        return LONGPRESS_TIMEOUT;
-    }
-
-    /**
-     * @override to set custom doubletap timeout
-     */
-    protected int getDoubleTapTimeout() {
-        return DOUBLE_TAP_TIMEOUT;
-    }
-
-    /**
-     * @override to set custom tap timeout
-     */
-    protected int getTapTimeout() {
-        return TAP_TIMEOUT;
-    }
-
-    /**
-     * @override to set custom doubletap minimum time
-     */
-    protected int getDoubleTapMinTime() {
-        return DOUBLE_TAP_MIN_TIME;
-    }
-    /**
-     * @return true if longpress is enabled, else false.
-     */
-    public boolean isLongpressEnabled() {
-        return mIsLongpressEnabled;
-    }
-
-    /**
-     * Analyzes the given motion event and if applicable triggers the
-     * appropriate callbacks on the {@link OnGestureListener} supplied.
-     *
-     * @param ev The current motion event.
-     * @return true if the {@link OnGestureListener} consumed the event,
-     *              else false.
-     */
-    public boolean onTouchEvent(MotionEvent ev) {
-
-        if (mInputEventConsistencyVerifier != null) {
-            mInputEventConsistencyVerifier.onTouchEvent(ev, 0);
-        }
-
-        final int action = ev.getAction();
-
-        if (mVelocityTracker == null) {
-            mVelocityTracker = VelocityTracker.obtain();
-        }
-        mVelocityTracker.addMovement(ev);
-
-        final boolean pointerUp =
-                (action & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_UP;
-        final int skipIndex = pointerUp ? ev.getActionIndex() : -1;
-
-        // Determine focal point
-        float sumX = 0, sumY = 0;
-        final int count = ev.getPointerCount();
-        for (int i = 0; i < count; i++) {
-            if (skipIndex == i) continue;
-            sumX += ev.getX(i);
-            sumY += ev.getY(i);
-        }
-        final int div = pointerUp ? count - 1 : count;
-        final float focusX = sumX / div;
-        final float focusY = sumY / div;
-
-        boolean handled = false;
-
-        switch (action & MotionEvent.ACTION_MASK) {
-        case MotionEvent.ACTION_POINTER_DOWN:
-            mDownFocusX = mLastFocusX = focusX;
-            mDownFocusY = mLastFocusY = focusY;
-            // Cancel long press and taps
-            cancelTaps();
-            break;
-
-        case MotionEvent.ACTION_POINTER_UP:
-            mDownFocusX = mLastFocusX = focusX;
-            mDownFocusY = mLastFocusY = focusY;
-
-            // Check the dot product of current velocities.
-            // If the pointer that left was opposing another velocity vector, clear.
-            mVelocityTracker.computeCurrentVelocity(1000, mMaximumFlingVelocity);
-            final int upIndex = ev.getActionIndex();
-            final int id1 = ev.getPointerId(upIndex);
-            final float x1 = mVelocityTracker.getXVelocity(id1);
-            final float y1 = mVelocityTracker.getYVelocity(id1);
-            for (int i = 0; i < count; i++) {
-                if (i == upIndex) continue;
-
-                final int id2 = ev.getPointerId(i);
-                final float x = x1 * mVelocityTracker.getXVelocity(id2);
-                final float y = y1 * mVelocityTracker.getYVelocity(id2);
-
-                final float dot = x + y;
-                if (dot < 0) {
-                    mVelocityTracker.clear();
-                    break;
-                }
-            }
-            break;
-
-        case MotionEvent.ACTION_DOWN:
-            if (mDoubleTapListener != null) {
-                boolean hadTapMessage = mHandler.hasMessages(TAP);
-                if (hadTapMessage) mHandler.removeMessages(TAP);
-                if ((mCurrentDownEvent != null) && (mPreviousUpEvent != null) && hadTapMessage &&
-                        isConsideredDoubleTap(mCurrentDownEvent, mPreviousUpEvent, ev)) {
-                    // This is a second tap
-                    mIsDoubleTapping = true;
-                    // Give a callback with the first tap of the double-tap
-                    handled |= mDoubleTapListener.onDoubleTap(mCurrentDownEvent);
-                    // Give a callback with down event of the double-tap
-                    handled |= mDoubleTapListener.onDoubleTapEvent(ev);
-                } else {
-                    // This is a first tap
-                    mHandler.sendEmptyMessageDelayed(TAP, getDoubleTapTimeout());
-                }
-            }
-
-            mDownFocusX = mLastFocusX = focusX;
-            mDownFocusY = mLastFocusY = focusY;
-            if (mCurrentDownEvent != null) {
-                mCurrentDownEvent.recycle();
-            }
-            mCurrentDownEvent = MotionEvent.obtain(ev);
-            mAlwaysInTapRegion = true;
-            mAlwaysInBiggerTapRegion = true;
-            mStillDown = true;
-            mInLongPress = false;
-            mDeferConfirmSingleTap = false;
-
-            if (mIsLongpressEnabled) {
-                mHandler.removeMessages(LONG_PRESS);
-                mHandler.sendEmptyMessageAtTime(LONG_PRESS, mCurrentDownEvent.getDownTime()
-                        + getTapTimeout() + getLongPressTimeout());
-            }
-            mHandler.sendEmptyMessageAtTime(SHOW_PRESS, mCurrentDownEvent.getDownTime() + getTapTimeout());
-            handled |= mListener.onDown(ev);
-            break;
-
-        case MotionEvent.ACTION_MOVE:
-            if (mInLongPress) {
-                break;
-            }
-            final float scrollX = mLastFocusX - focusX;
-            final float scrollY = mLastFocusY - focusY;
-            if (mIsDoubleTapping) {
-                // Give the move events of the double-tap
-                handled |= mDoubleTapListener.onDoubleTapEvent(ev);
-            } else if (mAlwaysInTapRegion) {
-                final int deltaX = (int) (focusX - mDownFocusX);
-                final int deltaY = (int) (focusY - mDownFocusY);
-                int distance = (deltaX * deltaX) + (deltaY * deltaY);
-                if (distance > mTouchSlopSquare) {
-                    handled = mListener.onScroll(mCurrentDownEvent, ev, scrollX, scrollY);
-                    mLastFocusX = focusX;
-                    mLastFocusY = focusY;
-                    mAlwaysInTapRegion = false;
-                    mHandler.removeMessages(TAP);
-                    mHandler.removeMessages(SHOW_PRESS);
-                    mHandler.removeMessages(LONG_PRESS);
-                    mListener.onFinishedLongPress();
-                    mListener.onFirstScroll();
-                }
-                if (distance > mDoubleTapTouchSlopSquare) {
-                    mAlwaysInBiggerTapRegion = false;
-                }
-            } else if ((Math.abs(scrollX) >= 1) || (Math.abs(scrollY) >= 1)) {
-                handled = mListener.onScroll(mCurrentDownEvent, ev, scrollX, scrollY);
-                mLastFocusX = focusX;
-                mLastFocusY = focusY;
-            }
-            break;
-
-        case MotionEvent.ACTION_UP:
-            mStillDown = false;
-            MotionEvent currentUpEvent = MotionEvent.obtain(ev);
-            if (mIsDoubleTapping) {
-                // Finally, give the up event of the double-tap
-                handled |= mDoubleTapListener.onDoubleTapEvent(ev);
-            } else if (mInLongPress) {
-                mHandler.removeMessages(TAP);
-                mInLongPress = false;
-            } else if (mAlwaysInTapRegion) {
-                handled = mListener.onSingleTapUp(ev);
-                if (mDeferConfirmSingleTap && mDoubleTapListener != null) {
-                    mDoubleTapListener.onSingleTapConfirmed(ev);
-                }
-            } else {
-
-                // A fling must travel the minimum tap distance
-                final VelocityTracker velocityTracker = mVelocityTracker;
-                final int pointerId = ev.getPointerId(0);
-                velocityTracker.computeCurrentVelocity(1000, mMaximumFlingVelocity);
-                final float velocityY = velocityTracker.getYVelocity(pointerId);
-                final float velocityX = velocityTracker.getXVelocity(pointerId);
-
-                if ((Math.abs(velocityY) > mMinimumFlingVelocity)
-                        || (Math.abs(velocityX) > mMinimumFlingVelocity)){
-                    handled = mListener.onFling(mCurrentDownEvent, ev, velocityX, velocityY);
-                }
-            }
-            if (mPreviousUpEvent != null) {
-                mPreviousUpEvent.recycle();
-            }
-            // Hold the event we obtained above - listeners may have changed the original.
-            mPreviousUpEvent = currentUpEvent;
-            if (mVelocityTracker != null) {
-                // This may have been cleared when we called out to the
-                // application above.
-                mVelocityTracker.recycle();
-                mVelocityTracker = null;
-            }
-            mIsDoubleTapping = false;
-            mDeferConfirmSingleTap = false;
-            mHandler.removeMessages(SHOW_PRESS);
-            mHandler.removeMessages(LONG_PRESS);
-            mListener.onFinishedLongPress();
-            break;
-
-        case MotionEvent.ACTION_CANCEL:
-            mListener.onCancel();
-            cancel();
-            break;
-        }
-
-        if (!handled && mInputEventConsistencyVerifier != null) {
-            mInputEventConsistencyVerifier.onUnhandledEvent(ev, 0);
-        }
-        return handled;
-    }
-
-    private void cancel() {
-        mHandler.removeMessages(SHOW_PRESS);
-        mHandler.removeMessages(LONG_PRESS);
-        mHandler.removeMessages(TAP);
-        mVelocityTracker.recycle();
-        mVelocityTracker = null;
-        mIsDoubleTapping = false;
-        mStillDown = false;
-        mAlwaysInTapRegion = false;
-        mAlwaysInBiggerTapRegion = false;
-        mDeferConfirmSingleTap = false;
-        if (mInLongPress) {
-            mInLongPress = false;
-        }
-    }
-
-    private void cancelTaps() {
-        mHandler.removeMessages(SHOW_PRESS);
-        mHandler.removeMessages(LONG_PRESS);
-        mHandler.removeMessages(TAP);
-        mIsDoubleTapping = false;
-        mAlwaysInTapRegion = false;
-        mAlwaysInBiggerTapRegion = false;
-        mDeferConfirmSingleTap = false;
-        if (mInLongPress) {
-            mInLongPress = false;
-        }
-    }
-
-    private boolean isConsideredDoubleTap(MotionEvent firstDown, MotionEvent firstUp,
-            MotionEvent secondDown) {
-        if (!mAlwaysInBiggerTapRegion) {
-            return false;
-        }
-
-        final long deltaTime = secondDown.getEventTime() - firstUp.getEventTime();
-        if (deltaTime > getDoubleTapTimeout() || deltaTime < getDoubleTapMinTime()) {
-            return false;
-        }
-
-        int deltaX = (int) firstDown.getX() - (int) secondDown.getX();
-        int deltaY = (int) firstDown.getY() - (int) secondDown.getY();
-        return (deltaX * deltaX + deltaY * deltaY < mDoubleTapSlopSquare);
-    }
-
-    private void dispatchLongPress() {
-        mHandler.removeMessages(TAP);
-        mDeferConfirmSingleTap = false;
-        mInLongPress = true;
-        mListener.onLongPress(mCurrentDownEvent);
-    }
-}
-
diff --git a/src/com/android/systemui/navigation/fling/FlingGestureHandler.java b/src/com/android/systemui/navigation/fling/FlingGestureHandler.java
deleted file mode 100644
index 67c130c..0000000
--- a/src/com/android/systemui/navigation/fling/FlingGestureHandler.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- *
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Fires actions based on detected motion. calculates long and short swipes
- * as well as double taps. User can set "long swipe thresholds" for custom
- * long swipe definition.
- *
- */
-
-package com.android.systemui.navigation.fling;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import com.android.systemui.navigation.fling.FlingGestureDetector.OnGestureListener;
-import com.android.systemui.navigation.utils.SmartObserver.SmartObservable;
-import com.android.internal.utils.du.DUActionUtils;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.util.Log;
-import android.view.MotionEvent;
-import android.view.ViewConfiguration;
-import android.view.View;
-
-public class FlingGestureHandler implements OnGestureListener, SmartObservable {
-/*
- * Callback for listeners that are interested in receiving Fling taps and gestures
- *
- */
-    public interface Swipeable {
-        public boolean onDoubleTapEnabled();
-
-        public void onSingleLeftPress();
-
-        public void onSingleRightPress();
-
-        public void onDoubleLeftTap();
-
-        public void onDoubleRightTap();
-
-        public void onLongLeftPress();
-
-        public void onLongRightPress();
-
-        public void onShortLeftSwipe();
-
-        public void onLongLeftSwipe();
-
-        public void onShortRightSwipe();
-
-        public void onLongRightSwipe();
-
-        public void onUpRightSwipe();
-
-        public void onUpLeftSwipe();
-
-        public void onDownPreloadRecents(boolean isRight);
-
-        public void onScrollPreloadRecents();
-
-        public void onCancelPreloadRecents();
-
-        public void cancelLongPress();
-    }
-
-    private static Set<Uri> sUris = new HashSet<Uri>();
-    static {
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_LEFT_LAND));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_RIGHT_LAND));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_LEFT_PORT));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_RIGHT_PORT));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_UP_LAND));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGSWIPE_THRESHOLD_DOWN_LAND));
-    }
-
-    private static String TAG = "FlingGestureHandler";
-    private static boolean DEBUG = false;
-
-    // AOSP DT timeout feels a bit slow on nx
-    private static final int DT_TIMEOUT = ViewConfiguration.getDoubleTapTimeout() - 100;
-
-    // in-house double tap logic
-    private Handler mHandler = new Handler();
-    private boolean mIsDoubleTapPending;
-    private boolean mWasConsumed;
-
-    // long swipe thresholds from user settings or default config
-    //
-    // left and right thresholds for tablets when device orientation is landscape
-    private float mLeftLand;
-    private float mRightLand;
-    // left and right thresholds for all devices when device orientation is portrait
-    private float mLeftPort;
-    private float mRightPort;
-    // up and down thresholds for phones when device orientation is landscape and navbar is vertical
-    private float mUpVert;
-    private float mDownVert;
-
-    // pass Fling events to listener
-    private Swipeable mReceiver;
-    // swipe analysis and state
-    private final FlingSwipe mFlingSwipe = new FlingSwipe();
-    private Context mContext;
-
-    // for width/height logic
-    private View mHost;
-    // is navbar in "left in landscape" mode (vertical bar on left instead of right)
-    private boolean mLeftInLandscape;
-    private final boolean mIsTablet;
-
-    private Runnable mDoubleTapLeftTimeout = new Runnable() {
-        @Override
-        public void run() {
-            mWasConsumed = false;
-            mIsDoubleTapPending = false;
-            mReceiver.onSingleLeftPress();
-        }
-    };
-
-    private Runnable mDoubleTapRightTimeout = new Runnable() {
-        @Override
-        public void run() {
-            mWasConsumed = false;
-            mIsDoubleTapPending = false;
-            mReceiver.onSingleRightPress();
-        }
-    };
-
-    public FlingGestureHandler(Context context, Swipeable swiper, View host, boolean isTablet) {
-        mContext = context;
-        mReceiver = swiper;
-        mHost = host;
-        mIsTablet = isTablet;
-        updateSettings();
-    }
-
-    // special case: double tap for screen off we never capture up motion event
-    // maybe use broadcast receiver instead on depending on host
-    public void onScreenStateChanged(boolean screeOn) {
-        mWasConsumed = false;
-    }
-
-    public void setLeftInLandscape(boolean leftInLandscape) {
-        mLeftInLandscape = leftInLandscape;
-    }
-
-    public void setOnSwipeListener(Swipeable swiper) {
-        if (swiper != null) {
-            mReceiver = swiper;
-        }
-    }
-
-    @Override
-    public boolean onDown(MotionEvent e) {
-        boolean isRight = isRightSide(e.getX(), e.getY());
-        if (mIsDoubleTapPending) {
-            mIsDoubleTapPending = false;
-            mWasConsumed = true;
-            mHandler.removeCallbacks(mDoubleTapLeftTimeout);
-            mHandler.removeCallbacks(mDoubleTapRightTimeout);
-            if (isRight) {
-                mReceiver.onDoubleRightTap();
-            } else {
-                mReceiver.onDoubleLeftTap();
-            }
-            return true;
-        }
-        mReceiver.onDownPreloadRecents(isRight);
-        return false;
-    }
-
-    @Override
-    public void onShowPress(MotionEvent e) {
-        // TODO Auto-generated method stub
-    }
-
-    @Override
-    public boolean onSingleTapUp(MotionEvent e) {
-        boolean isRight = isRightSide(e.getX(), e.getY());
-        if (mReceiver.onDoubleTapEnabled()) {
-            if (mWasConsumed) {
-                mWasConsumed = false;
-                return true;
-            }
-            mIsDoubleTapPending = true;
-            if (isRight) {
-                mHandler.postDelayed(mDoubleTapRightTimeout, DT_TIMEOUT);
-            } else {
-                mHandler.postDelayed(mDoubleTapLeftTimeout, DT_TIMEOUT);
-            }
-        } else {
-            if (isRight) {
-                mReceiver.onSingleRightPress();
-            } else {
-                mReceiver.onSingleLeftPress();
-            }
-        }
-        return true;
-    }
-
-    @Override
-    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public boolean onFirstScroll() {
-        mReceiver.onScrollPreloadRecents();
-        return false;
-    }
-
-    @Override
-    public boolean onCancel() {
-        mReceiver.onCancelPreloadRecents();
-        mReceiver.cancelLongPress();
-        return false;
-    }
-
-    @Override
-    public void onLongPress(MotionEvent e) {
-        boolean isRight = isRightSide(e.getX(), e.getY());
-        if (isRight) {
-            mReceiver.onLongRightPress();
-        } else {
-            mReceiver.onLongLeftPress();
-        }
-    }
-
-    @Override
-    public void onFinishedLongPress() {
-        mReceiver.cancelLongPress();
-    }
-
-    @Override
-    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
-            float velocityY) {
-        if (e1 == null) return true;
-
-        mFlingSwipe.process(e1, e2);
-
-        if (mFlingSwipe.swipeDirection == SwipeDirection.UP) {
-            if (mFlingSwipe.isSwipeOnRight()) {
-                mReceiver.onUpRightSwipe();
-            } else {
-                mReceiver.onUpLeftSwipe();
-            }
-        } else if (mFlingSwipe.swipeDirection == SwipeDirection.LEFT) {
-            if (mFlingSwipe.isThisLongSwipe()) {
-                mReceiver.onLongLeftSwipe();
-            } else {
-                mReceiver.onShortLeftSwipe();
-            }
-        } else if (mFlingSwipe.swipeDirection == SwipeDirection.RIGHT) {
-            if (mFlingSwipe.isThisLongSwipe()) {
-                mReceiver.onLongRightSwipe();
-            } else {
-                mReceiver.onShortRightSwipe();
-            }
-        }
-        return true;
-    }
-
-    private boolean isHorizontal() {
-        return mHost.getWidth() > mHost.getHeight();
-    }
-
-    /*
-     * Used for tap and up/down swipe events
-     * NOTE: when bar is vertical, "right" side
-     * refers to top half of bar and "left" refers
-     * to the bottom half
-     */
-    private boolean isRightSide(float x, float y) {
-        final boolean isVertical = !isHorizontal();
-        float length = isVertical ? mHost.getHeight() : mHost.getWidth();
-        float pos = isVertical ? y : x;
-        length /= 2;
-        return isVertical ? pos < length : pos > length;
-    }
-
-    private void updateSettings() {
-        ContentResolver resolver = mContext.getContentResolver();
-        Resources res = mContext.getResources();
-
-        mLeftLand = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_LEFT_LAND,
-                25, UserHandle.USER_CURRENT) * 0.01f);
-
-        mRightLand = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_RIGHT_LAND,
-                25, UserHandle.USER_CURRENT) * 0.01f);
-
-        mLeftPort = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_LEFT_PORT,
-                mIsTablet ? 30 : 40, UserHandle.USER_CURRENT) * 0.01f);
-
-        mRightPort = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_RIGHT_PORT,
-                mIsTablet ? 30 : 40, UserHandle.USER_CURRENT) * 0.01f);
-
-        mUpVert = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_UP_LAND,
-                40, UserHandle.USER_CURRENT) * 0.01f);
-
-        mDownVert = (float) (Settings.Secure.getIntForUser(
-                resolver, Settings.Secure.FLING_LONGSWIPE_THRESHOLD_DOWN_LAND,
-                40, UserHandle.USER_CURRENT) * 0.01f);
-    }
-
-    @Override
-    public Set<Uri> onGetUris() {
-        return sUris;
-    }
-
-    @Override
-    public void onChange(Uri uri) {
-        updateSettings();
-    }
-
-    private enum SwipeDirection {
-        LEFT,
-        RIGHT,
-        UP
-    }
-
-    // This class will help despagettify motion handling, maybe ;p
-    private class FlingSwipe {
-        // minimum amount of bar to swipe to validate a vertical swipe
-        private static final float VERTICAL_SWIPE_THRESHOLD = 0.80f;
-        // Maximum swipe angle before fall over into non-vertical swipes
-        private static final double VERTICAL_SWIPE_DEGREES = 30.0d;
-
-        // direction of swipe, either actual or treated as such (vertical bar)
-        private SwipeDirection swipeDirection;
-
-        // was vertical swipe on right/left side
-        private boolean mVerticalSwipeOnRight;
-
-        // Between -1.0 to 1.0  - percent of bar swiped - however we expose only absolute value -
-        // direction should be checked with getSwipeDirection
-        private float horizontalSwipePercent;
-
-        // Between -1.0 to 1.0  - percent of bar swiped - however we expose only absolute value -
-        // direction should be checked with getSwipeDirection
-        private float verticalSwipePercent;
-
-        // the default or user set long swipe threshold for this long swipe event
-        private float longSwipeThreshold;
-
-        public FlingSwipe(){}
-
-        void process(MotionEvent start, MotionEvent end) {
-            // bar and device states
-            final boolean isNavbarHorizontal = isHorizontal();
-            final boolean isLandscape = DUActionUtils.isLandscape(mContext);
-            final float xStart = start.getX();
-            final float yStart = start.getY();
-            final float xDist = end.getX() - xStart;
-            final float yDist = end.getY() - yStart;
-
-            // how much bar long side did the swipe cover
-            horizontalSwipePercent = isNavbarHorizontal ? xDist / mHost.getWidth() :
-                    yDist / mHost.getHeight();
-            // how much bar short side was covered
-            verticalSwipePercent = isNavbarHorizontal ? yDist / mHost.getHeight() :
-                xDist / mHost.getWidth();
-            // which side was the swipe started from
-            mVerticalSwipeOnRight = isRightSide(xStart, yStart);
-
-            final boolean isVerticalSwipe = validateVerticalSwipe(isNavbarHorizontal, isLandscape, xDist, yDist);
-            if(!isVerticalSwipe) {
-                // normal side to side flinging action
-                // first check landscape conditions
-                if (isLandscape) {
-                    // is bar horizontal (tablet)
-                    if (isNavbarHorizontal) {
-                        if (horizontalSwipePercent >= 0) {
-                            swipeDirection = SwipeDirection.RIGHT;
-                            longSwipeThreshold = mRightLand;
-                        } else {
-                            swipeDirection = SwipeDirection.LEFT;
-                            longSwipeThreshold = mLeftLand;
-                        }
-                    } else {
-                        // vertical bar on phones
-                        if (horizontalSwipePercent >= 0) {
-                            swipeDirection = SwipeDirection.LEFT;
-                            longSwipeThreshold = mDownVert;
-                        } else {
-                            swipeDirection = SwipeDirection.RIGHT;
-                            longSwipeThreshold = mUpVert;
-                        }
-                    }
-                } else {
-                    // portrait orientation
-                    if (horizontalSwipePercent >= 0) {
-                        swipeDirection = SwipeDirection.RIGHT;
-                        longSwipeThreshold = mRightPort;
-                    } else {
-                        swipeDirection = SwipeDirection.LEFT;
-                        longSwipeThreshold = mLeftPort;
-                    }
-                }
-            }
-        }
-
-        private boolean validateVerticalSwipe(boolean isHorizontal, boolean isLandscape, float xDistance, float yDistance) {
-            // if we don't meet minimum threshold and we are too sloppy with our vertical swipe
-            // return false to continue processing
-            if (Math.abs(verticalSwipePercent) < VERTICAL_SWIPE_THRESHOLD) {
-                return false;
-            }
-            // calculate the angle of the swipe. If the angle exceeds 30 degrees, it is an invalid
-            // vertical swipe and the event will be handled as a long or short swipe
-            double degrees = Math.abs(Math.toDegrees(Math.atan(((isHorizontal ? xDistance : yDistance) / (isHorizontal ? yDistance : xDistance)))));
-            if(DEBUG) {
-                Log.e(TAG, "Validating a vertical swipe of " + String.valueOf(degrees) + " degrees");
-            }
-            if (degrees > VERTICAL_SWIPE_DEGREES) {
-                return false;
-            }
-            // conditions which must be met for a valid vertical swipe
-            if ((isHorizontal && verticalSwipePercent <= 0)  // horizontal and direction is up
-                    || (!isHorizontal && mLeftInLandscape && verticalSwipePercent >= 0) // vertical bar on left and direction is right
-                    || (!isHorizontal && !mLeftInLandscape && verticalSwipePercent <= 0)) { // vertical bar on right and direction is left
-                swipeDirection = SwipeDirection.UP;
-                return true;
-            }
-            return false;
-        }
-
-        public boolean isThisLongSwipe() {
-            return Math.abs(horizontalSwipePercent) > longSwipeThreshold;
-        }
-
-        public boolean isSwipeOnRight() {
-            return mVerticalSwipeOnRight;
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingLogoController.java b/src/com/android/systemui/navigation/fling/FlingLogoController.java
deleted file mode 100644
index b8720d0..0000000
--- a/src/com/android/systemui/navigation/fling/FlingLogoController.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Manage logo settings and state. Public helper methods to simplify
- * animations and visibility. 
- *
- */
-
-package com.android.systemui.navigation.fling;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import com.android.systemui.R;
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.fling.FlingLogoView;
-import com.android.systemui.navigation.fling.FlingView;
-import com.android.systemui.navigation.utils.SmartObserver.SmartObservable;
-import com.android.systemui.statusbar.policy.KeyButtonDrawable;
-import com.android.internal.utils.du.Config.ActionConfig;
-import com.android.internal.utils.du.Config.ButtonConfig;
-import com.android.internal.utils.du.DUActionUtils;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.PaintFlagsDrawFilter;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffColorFilter;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.TypedValue;
-import android.view.ViewGroup;
-import android.view.animation.Animation;
-import android.view.animation.LinearInterpolator;
-import android.view.animation.ScaleAnimation;
-import android.view.animation.Animation.AnimationListener;
-import android.widget.ImageView;
-import android.widget.ImageView.ScaleType;
-
-public class FlingLogoController implements SmartObservable {
-    private static final int LOGO_ANIMATE_HIDE = 1;
-    private static final int LOGO_ANIMATE_SHOW = 2;
-
-    private static final int LOCK_DISABLED = 0;
-    private static final int LOCK_SHOW = 1;
-    private static final int LOCK_HIDDEN = 2;
-
-    public static final String FLING_LOGO_URI = "fling_custom_icon_config";
-
-    private static Set<Uri> sUris = new HashSet<Uri>();
-    static {
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LOGO_VISIBLE));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LOGO_ANIMATES));
-        //sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LOGO_COLOR));
-        sUris.add(Settings.Secure.getUriFor(FLING_LOGO_URI));
-    }
-
-    private Context mContext;
-    private FlingView mHost;
-    private FlingLogoView mLogoView;
-    private ButtonConfig mLogoConfig;
-
-    private boolean mLogoEnabled;
-    private boolean mAnimateTouchEnabled;
-    private int mLogoColor = -1;
-    private int mVisibilityLock;
-    private Animation mShow = getSpinAnimation(LOGO_ANIMATE_SHOW);
-    private Animation mHide = getSpinAnimation(LOGO_ANIMATE_HIDE);
-
-    public FlingLogoController(FlingView host) {
-        mHost = host;
-        mContext = host.getContext();
-        initialize();
-    }
-
-    public void setLogoView(FlingLogoView view) {
-        mLogoView = view;
-        mLogoView.setLogoColor(mLogoColor);
-        animateToCurrentState();
-    }
-
-    private void animateToCurrentState() {
-        if (mLogoEnabled) {
-            if (mVisibilityLock == LOCK_HIDDEN) {
-                hide(null);
-            } else {
-                show(null);
-            }
-        } else {
-            hide(null);
-        }
-    }
-
-    private void show(AnimationListener listener) {
-        mLogoView.animate().cancel();
-        if (listener != null) {
-            mShow.setAnimationListener(listener);
-        }
-        mLogoView.startAnimation(mShow);
-    }
-
-    private void hide(AnimationListener listener) {
-        mLogoView.animate().cancel();
-        if (listener != null) {
-            mHide.setAnimationListener(listener);
-        }
-        mLogoView.startAnimation(mHide);
-    }
-
-    private boolean isLockEnabled() {
-        return mVisibilityLock != LOCK_DISABLED;
-    }
-
-    private void setEnabled(boolean enabled) {
-        mLogoEnabled = enabled;
-        animateToCurrentState();
-    }
-
-    public boolean isEnabled() {
-        return mLogoEnabled;
-    }
-
-    public void onTouchHide(AnimationListener listener) {
-        if (!mLogoEnabled || !mAnimateTouchEnabled || isLockEnabled()) {
-            return;
-        }
-        hide(listener);
-    }
-
-    public void onTouchShow(AnimationListener listener) {
-        if (!mLogoEnabled || !mAnimateTouchEnabled || isLockEnabled()) {
-            return;
-        }
-        show(listener);
-    }
-
-    public void showAndLock(AnimationListener listener) {
-        mVisibilityLock = LOCK_SHOW;
-        if (mLogoEnabled) {
-            show(listener);
-        }
-    }
-
-    public void hideAndLock(AnimationListener listener) {
-        mVisibilityLock = LOCK_HIDDEN;
-        if (mLogoEnabled) {
-            hide(listener);
-        }
-    }
-
-    public void unlockAndShow(AnimationListener listener) {
-        mVisibilityLock = LOCK_DISABLED;
-        if (mLogoEnabled) {
-            show(listener);
-        }
-    }
-
-    public void unlockAndHide(AnimationListener listener) {
-        mVisibilityLock = LOCK_DISABLED;
-        if (mLogoEnabled) {
-            hide(listener);
-        }
-    }
-
-    @Override
-    public Set<Uri> onGetUris() {
-        return sUris;
-    }
-
-    @Override
-    public void onChange(Uri uri) {
-        updateSettings();
-    }
-
-    private void updateSettings() {
-        boolean enabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_VISIBLE, 1, UserHandle.USER_CURRENT) == 1;
-        boolean spinOnTouch = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_ANIMATES, 1, UserHandle.USER_CURRENT) == 1;
-        /*mLogoColor = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_COLOR, -1, UserHandle.USER_CURRENT);*/
-        mLogoConfig = ButtonConfig.getButton(mContext, FLING_LOGO_URI, true);
-        setLogoIcon();
-        mLogoView.setLogoColor(mLogoColor);
-        if (mLogoEnabled != enabled) {
-            setEnabled(enabled);
-        }
-        if (mAnimateTouchEnabled != spinOnTouch) {
-            mAnimateTouchEnabled = spinOnTouch;
-        }
-    }
-
-    private void initialize() {
-        mLogoEnabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_VISIBLE, 1, UserHandle.USER_CURRENT) == 1;
-        mAnimateTouchEnabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_ANIMATES, 1, UserHandle.USER_CURRENT) == 1;
-        /*mLogoColor = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LOGO_COLOR, -1, UserHandle.USER_CURRENT);*/
-        mLogoConfig = ButtonConfig.getButton(mContext, FLING_LOGO_URI, true);
-    }
-
-    public void updateLogo(FlingView fv, FlingLogoView lv) {
-        mHost = fv;
-        mContext = fv.getContext();
-        mLogoConfig = ButtonConfig.getButton(mContext, FLING_LOGO_URI, true);
-        setLogoView(lv);
-        setLogoIcon();
-    }
-
-    void setLogoIcon() {
-        final ViewGroup current = (ViewGroup) mHost.getCurrentView();
-        final ViewGroup hidden = (ViewGroup) mHost.getHiddenView();
-        ImageView currentLogo = (ImageView)current.findViewById(R.id.fling_console);
-        ImageView hiddenLogo = (ImageView)hidden.findViewById(R.id.fling_console);
-        currentLogo.setImageDrawable(null);
-        currentLogo.setImageDrawable(getCurrentDrawable());
-        hiddenLogo.setImageDrawable(null);
-        hiddenLogo.setImageDrawable(getCurrentDrawable());
-        updateButtonScalingAndPadding(currentLogo, mLogoConfig, mHost.isLandscape());
-        updateButtonScalingAndPadding(hiddenLogo, mLogoConfig, !mHost.isLandscape());
-
-        ImageView currentRotationLogo = (ImageView)current.findViewById(R.id.rotationLogo);
-        ImageView hiddenRotationLogo = (ImageView)hidden.findViewById(R.id.rotationLogo);
-        currentRotationLogo.setImageDrawable(null);
-        currentRotationLogo.setImageDrawable(getCurrentRotationDrawable());
-        hiddenRotationLogo.setImageDrawable(null);
-        hiddenRotationLogo.setImageDrawable(getCurrentRotationDrawable());
-        updateButtonScalingAndPadding(currentRotationLogo, mLogoConfig, mHost.isLandscape());
-        updateButtonScalingAndPadding(hiddenRotationLogo, mLogoConfig, !mHost.isLandscape());
-    }
-
-    Drawable getCurrentDrawable() {
-        KeyButtonDrawable d = null;
-        Drawable light = null;
-        Drawable dark = null;
-        if (mLogoConfig.hasCustomIcon() &&
-                getConfigCustomIcon() != null) {
-            light = getBitmapDrawable(mContext, getConfigCustomIcon()).mutate();
-            dark = getBitmapDrawable(mContext, getConfigCustomIcon()).mutate();
-            dark.setColorFilter(new PorterDuffColorFilter(0x4D353535, PorterDuff.Mode.SRC_ATOP));
-            d = KeyButtonDrawable.create(light, dark);
-            return d;
-        }
-
-        light = mHost.mResourceMap.mFlingLogo;
-        dark = mHost.mResourceMap.mFlingLogoDark;
-        d = KeyButtonDrawable.create(light, dark);
-        return d;
-    }
-
-    Drawable getCurrentRotationDrawable() {
-        Drawable light = mHost.mResourceMap.mFlingRotationLogo;
-        Drawable dark = mHost.mResourceMap.mFlingRotationLogoDark;
-        KeyButtonDrawable d = KeyButtonDrawable.create(light, dark);
-        return d;
-    }
-
-    // Helper to flatten AdaptiveIconDrawable layers to a single drawable
-    private static BitmapDrawable getBitmapDrawable(Context ctx, Drawable d) {
-        if (d instanceof BitmapDrawable) {
-            return (BitmapDrawable) d;
-        }
-        final Canvas canvas = new Canvas();
-        canvas.setDrawFilter(new PaintFlagsDrawFilter(Paint.ANTI_ALIAS_FLAG,
-                Paint.FILTER_BITMAP_FLAG));
-
-        Bitmap bmResult = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(),
-                Bitmap.Config.ARGB_8888);
-        canvas.setBitmap(bmResult);
-        d.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
-        d.draw(canvas);
-        return new BitmapDrawable(ctx.getResources(), bmResult);
-    }
-
-    private Drawable getConfigCustomIcon() {
-        return mLogoConfig.getActionConfig(ActionConfig.PRIMARY).getCurrentCustomIcon(mContext);
-    }
-
-    public static Animation getSpinAnimation(int mode) {
-        final boolean makeHidden = mode == LOGO_ANIMATE_HIDE;
-        final float from = makeHidden ? 1.0f : 0.0f;
-        final float to = makeHidden ? 0.0f : 1.0f;
-        Animation ani = new ScaleAnimation(from, to, from, to, Animation.RELATIVE_TO_SELF,
-                0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
-        ani.setInterpolator(new LinearInterpolator());
-        ani.setDuration(150);
-        ani.setFillAfter(true);
-
-        return ani;
-    }
-
-    static int[] getAppIconPadding(Context ctx) {
-        int[] padding = new int[4];
-        // left
-        padding[0] = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, ctx
-                .getResources()
-                .getDisplayMetrics());
-        // top
-        padding[1] = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, ctx
-                .getResources()
-                .getDisplayMetrics());
-        // right
-        padding[2] = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, ctx
-                .getResources()
-                .getDisplayMetrics());
-        // bottom
-        padding[3] = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5,
-                ctx.getResources()
-                        .getDisplayMetrics());
-        return padding;
-    }
-
-    public static void applyPaddingToView(ImageView v, int[] padding) {
-        v.setPaddingRelative(padding[0], padding[1],
-                padding[2], padding[3]);
-    }
-
-    static boolean buttonNeedsCustomPadding(ButtonConfig config) {
-        boolean hasCustomIcon = config.hasCustomIcon();
-        boolean hasNonSystemIcon = !config.isSystemAction();
-        return hasCustomIcon || hasNonSystemIcon;
-    }
-
-    public static void updateButtonScalingAndPadding(ImageView v, ButtonConfig config, boolean landscape) {
-        // all non-system action icons need some extra padding/scaling work
-        final int[] appIconPadding = getAppIconPadding(v.getContext());
-        if (buttonNeedsCustomPadding(config)) {
-            if (landscape && !BaseNavigationBar.sIsTablet) {
-                v.setPaddingRelative(appIconPadding[1], appIconPadding[0],
-                        appIconPadding[3], appIconPadding[2]);
-            } else {
-                v.setPaddingRelative(appIconPadding[0], appIconPadding[1],
-                        appIconPadding[2], appIconPadding[3]);
-            }
-            v.setScaleType(ScaleType.CENTER_INSIDE);
-        } else {
-            if (landscape && BaseNavigationBar.sIsTablet) {
-                v.setPaddingRelative(appIconPadding[0], appIconPadding[1],
-                        appIconPadding[2], appIconPadding[3]);
-                v.setScaleType(ScaleType.CENTER_INSIDE);
-            }
-            v.setScaleType(BaseNavigationBar.sIsTablet ? ScaleType.CENTER_INSIDE : ScaleType.CENTER);
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingLogoView.java b/src/com/android/systemui/navigation/fling/FlingLogoView.java
deleted file mode 100644
index 4eaebff..0000000
--- a/src/com/android/systemui/navigation/fling/FlingLogoView.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * TeamEos logo doubles as the Fling feature indicator! Most state is managed
- * by FlingLogoController
- *
- */
-
-package com.android.systemui.navigation.fling;
-
-import android.content.Context;
-import android.graphics.PorterDuff.Mode;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.widget.ImageView;
-
-public class FlingLogoView extends ImageView {
-
-    public static final String TAG = FlingLogoView.class.getSimpleName();
-
-    private int mLogoColor = -1;
-
-    public FlingLogoView(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public FlingLogoView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-        setBackground(null);
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent ev) {
-        // TEMP: pass all events to NX, for now
-        return false;
-    }
-
-    public int getLogoColor() {
-        return mLogoColor;
-    }
-
-    public void setLogoColor(int color) {
-        mLogoColor = color;
-        /*if (color == -1) {
-            getDrawable().setColorFilter(null);
-        } else {
-            Drawable logo = getDrawable();
-            logo.setColorFilter(color, Mode.SRC_ATOP);
-        }*/
-    }
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingRipple.java b/src/com/android/systemui/navigation/fling/FlingRipple.java
deleted file mode 100644
index 0bc5f74..0000000
--- a/src/com/android/systemui/navigation/fling/FlingRipple.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * Copyright (C) 2014 Balys Valentukevicius
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Heavily modified for TeamEos NX implementation by Randall Rushing aka Bigrushdog
- * 
- */
-
-package com.android.systemui.navigation.fling;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.util.Property;
-import android.util.TypedValue;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.animation.AccelerateInterpolator;
-import android.view.animation.DecelerateInterpolator;
-import android.view.animation.LinearInterpolator;
-
-public class FlingRipple implements View.OnTouchListener {
-    private static final int DEFAULT_DURATION = 350;
-    private static final int DEFAULT_FADE_DURATION = 75;
-    private static final float DEFAULT_DIAMETER_DP = 10;
-    private static final float DEFAULT_ALPHA = 0.4f;
-    private static final int DEFAULT_COLOR = Color.WHITE;
-    private static final int DEFAULT_BACKGROUND = 0x22ffffff;
-    private static final boolean DEFAULT_HOVER = true;
-    private static final boolean DEFAULT_DELAY_CLICK = true;
-    private static final boolean DEFAULT_PERSISTENT = false;
-    private static final int FADE_EXTRA_DELAY = 50;
-    private static final long HOVER_DURATION = 2500;
-
-    private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
-    private final Rect bounds = new Rect();
-
-    private int rippleColor;
-    private boolean rippleHover;
-    private int rippleDiameter;
-    private int rippleDuration;
-    private int rippleAlpha;
-    private boolean rippleDelayClick;
-    private int rippleFadeDuration;
-    private boolean ripplePersistent;
-    private Drawable rippleBackground;
-    private Point currentCoords = new Point();
-    private Point previousCoords = new Point();
-    private AnimatorSet rippleAnimator;
-    private ObjectAnimator hoverAnimator;
-    private float radius;
-
-    private boolean eventCancelled;
-    private boolean mDrawBackground = false;
-    private View mHost;
-
-    public FlingRipple(View v) {
-        mHost = v;
-        init();
-    }
-
-    private void init() {
-        final Resources res = mHost.getResources();
-
-        rippleColor = DEFAULT_COLOR;
-        rippleBackground = new ColorDrawable(adjustBgAlpha(rippleColor, 0.15f));
-        rippleAlpha = (int) (255 * DEFAULT_ALPHA);
-
-        rippleDiameter = (int) dpToPx(res, DEFAULT_DIAMETER_DP);
-        rippleHover = DEFAULT_HOVER;
-        rippleDuration = DEFAULT_DURATION;
-        rippleDelayClick = DEFAULT_DELAY_CLICK;
-        rippleFadeDuration = DEFAULT_FADE_DURATION;
-        ripplePersistent = DEFAULT_PERSISTENT;
-
-        paint.setColor(rippleColor);
-        paint.setAlpha(rippleAlpha);
-    }
-
-    public void updateResources(Resources res) {
-        rippleColor = DEFAULT_COLOR;
-        rippleBackground = new ColorDrawable(adjustBgAlpha(rippleColor, 0.15f));
-        rippleBackground.setBounds(bounds);
-        paint.setColor(rippleColor);
-        paint.setAlpha(rippleAlpha);
-        mHost.invalidate();
-    }
-
-    public void updateColor(int color) {
-        rippleColor = color;
-        rippleBackground = new ColorDrawable(adjustBgAlpha(color, 0.15f));
-        rippleBackground.setBounds(bounds);
-        paint.setColor(color);
-        paint.setAlpha(rippleAlpha);
-        mHost.invalidate();
-    }
-
-    public int adjustBgAlpha(int color, float factor) {
-        int alpha = Math.round(Color.alpha(color) * factor);
-        int red = Color.red(color);
-        int green = Color.green(color);
-        int blue = Color.blue(color);
-        return Color.argb(alpha, red, green, blue);
-    }
-
-    @Override
-    public boolean onTouch(View v, MotionEvent event) {
-        final int action = event.getAction();
-        boolean isEventInBounds = bounds.contains((int) event.getX(), (int) event.getY());
-        if (isEventInBounds) {
-            previousCoords.set(currentCoords.x, currentCoords.y);
-            currentCoords.set((int) event.getX(), (int) event.getY());
-        }
-        switch (action) {
-            case MotionEvent.ACTION_UP:
-                if (isEventInBounds) {
-                    startRipple(null);
-                } else if (!rippleHover) {
-                    setRadius(0);
-                }
-                break;
-            case MotionEvent.ACTION_DOWN:
-                eventCancelled = false;
-                mDrawBackground = true;
-                if (rippleHover) {
-                    startHover();
-                }
-                break;
-            case MotionEvent.ACTION_CANCEL:
-                if (rippleHover) {
-                    startRipple(null);
-                }
-                break;
-            case MotionEvent.ACTION_MOVE:
-                if (rippleHover) {
-                    if (isEventInBounds && !eventCancelled) {
-                        mHost.invalidate();
-                    } else if (!isEventInBounds) {
-                        startRipple(null);
-                    }
-                }
-                if (!isEventInBounds) {
-                    if (hoverAnimator != null) {
-                        hoverAnimator.cancel();
-                    }
-                    eventCancelled = true;
-                }
-                break;
-        }
-        return false;
-    }
-
-    public void onSizeChanged(int w, int h, int oldw, int oldh) {
-        bounds.set(0, 0, w, h);
-        rippleBackground.setBounds(bounds);
-    }
-
-    public void onDraw(Canvas canvas) {
-        if (mDrawBackground) {
-            rippleBackground.draw(canvas);
-        }
-        canvas.drawCircle(currentCoords.x, currentCoords.y, radius, paint);
-    }
-
-    static int getSmallerDimen(int width, int height) {
-        if (width <= 0 || height <= 0) {
-            return 35;
-        } else {
-            return width > height ? height : width;
-        }
-    }
-
-    static float dpToPx(Resources resources, float dp) {
-        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,
-                resources.getDisplayMetrics());
-    }
-
-    private void startRipple(final Runnable animationEndRunnable) {
-        if (eventCancelled)
-            return;
-
-        float endRadius = getEndRadius();
-
-        cancelAnimations();
-
-        rippleAnimator = new AnimatorSet();
-        rippleAnimator.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                if (!ripplePersistent) {
-                    setRadius(0);
-                    setRippleAlpha(rippleAlpha);
-                }
-                if (animationEndRunnable != null && rippleDelayClick) {
-                    animationEndRunnable.run();
-                }
-                mDrawBackground = false;
-                mHost.invalidate();
-            }
-        });
-
-        ObjectAnimator ripple = ObjectAnimator.ofFloat(this, radiusProperty, radius, endRadius);
-        ripple.setDuration(rippleDuration);
-        ripple.setInterpolator(new DecelerateInterpolator());
-        ObjectAnimator fade = ObjectAnimator.ofInt(this, circleAlphaProperty, rippleAlpha, 0);
-        fade.setDuration(rippleFadeDuration);
-        fade.setInterpolator(new AccelerateInterpolator());
-        fade.setStartDelay(rippleDuration - rippleFadeDuration - FADE_EXTRA_DELAY);
-
-        if (ripplePersistent) {
-            rippleAnimator.play(ripple);
-        } else if (getRadius() > endRadius) {
-            fade.setStartDelay(0);
-            rippleAnimator.play(fade);
-        } else {
-            rippleAnimator.playTogether(ripple, fade);
-        }
-        rippleAnimator.start();
-    }
-
-    private void startHover() {
-        if (eventCancelled)
-            return;
-
-        if (hoverAnimator != null) {
-            hoverAnimator.cancel();
-        }
-        final float radius = (float) (Math.sqrt(Math.pow(mHost.getWidth(), 2)
-                + Math.pow(mHost.getHeight(), 2)) * 1.2f);
-        hoverAnimator = ObjectAnimator.ofFloat(this, radiusProperty, rippleDiameter, radius)
-                .setDuration(HOVER_DURATION);
-        hoverAnimator.setInterpolator(new LinearInterpolator());
-        hoverAnimator.start();
-    }
-
-    private void cancelAnimations() {
-        if (rippleAnimator != null) {
-            rippleAnimator.cancel();
-            rippleAnimator.removeAllListeners();
-        }
-
-        if (hoverAnimator != null) {
-            hoverAnimator.cancel();
-        }
-    }
-
-    private float getEndRadius() {
-        final int width = mHost.getWidth();
-        final int height = mHost.getHeight();
-
-        final int halfWidth = width / 2;
-        final int halfHeight = height / 2;
-
-        final float radiusX = halfWidth > currentCoords.x ? width - currentCoords.x
-                : currentCoords.x;
-        final float radiusY = halfHeight > currentCoords.y ? height - currentCoords.y
-                : currentCoords.y;
-
-        return (float) Math.sqrt(Math.pow(radiusX, 2) + Math.pow(radiusY, 2)) * 1.2f;
-    }
-
-    private Property<FlingRipple, Float> radiusProperty = new Property<FlingRipple, Float>(Float.class,
-            "radius") {
-        @Override
-        public Float get(FlingRipple object) {
-            return object.getRadius();
-        }
-
-        @Override
-        public void set(FlingRipple object, Float value) {
-            object.setRadius(value);
-        }
-    };
-
-    private float getRadius() {
-        return radius;
-    }
-
-    public void setRadius(float radius) {
-        this.radius = radius;
-        mHost.invalidate();
-    }
-
-    private Property<FlingRipple, Integer> circleAlphaProperty = new Property<FlingRipple, Integer>(
-            Integer.class, "rippleAlpha") {
-        @Override
-        public Integer get(FlingRipple object) {
-            return object.getRippleAlpha();
-        }
-
-        @Override
-        public void set(FlingRipple object, Integer value) {
-            object.setRippleAlpha(value);
-        }
-    };
-
-    public int getRippleAlpha() {
-        return paint.getAlpha();
-    }
-
-    public void setRippleAlpha(Integer rippleAlpha) {
-        paint.setAlpha(rippleAlpha);
-        mHost.invalidate();
-    }
-
-    public void setRippleColor(int rippleColor) {
-        this.rippleColor = rippleColor;
-        paint.setColor(rippleColor);
-        paint.setAlpha(rippleAlpha);
-        mHost.invalidate();
-    }
-
-    public void setRippleDiameter(int rippleDiameter) {
-        this.rippleDiameter = rippleDiameter;
-    }
-
-    public void setRippleDuration(int rippleDuration) {
-        this.rippleDuration = rippleDuration;
-    }
-
-    public void setRippleBackground(int color) {
-        rippleBackground = new ColorDrawable(color);
-        rippleBackground.setBounds(bounds);
-        mHost.invalidate();
-    }
-
-    public void setRippleHover(boolean rippleHover) {
-        this.rippleHover = rippleHover;
-    }
-
-    public void setRippleDelayClick(boolean rippleDelayClick) {
-        this.rippleDelayClick = rippleDelayClick;
-    }
-
-    public void setRippleFadeDuration(int rippleFadeDuration) {
-        this.rippleFadeDuration = rippleFadeDuration;
-    }
-
-    public void setRipplePersistent(boolean ripplePersistent) {
-        this.ripplePersistent = ripplePersistent;
-    }
-
-    public void setDefaultRippleAlpha(int alpha) {
-        this.rippleAlpha = alpha;
-        paint.setAlpha(alpha);
-        mHost.invalidate();
-    }
-
-}
diff --git a/src/com/android/systemui/navigation/fling/FlingView.java b/src/com/android/systemui/navigation/fling/FlingView.java
deleted file mode 100644
index 115c07c..0000000
--- a/src/com/android/systemui/navigation/fling/FlingView.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/**
- * Copyright (C) 2014 The TeamEos Project
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Gesture based navigation implementation and action executor
- *
- */
-
-package com.android.systemui.navigation.fling;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import com.android.systemui.R;
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.NavbarOverlayResources;
-import com.android.systemui.navigation.fling.FlingActionHandler;
-import com.android.systemui.navigation.fling.FlingBarTransitions;
-import com.android.systemui.navigation.fling.FlingGestureDetector;
-import com.android.systemui.navigation.fling.FlingGestureHandler;
-import com.android.systemui.navigation.fling.FlingLogoController;
-import com.android.systemui.navigation.fling.FlingLogoView;
-import com.android.systemui.navigation.fling.FlingRipple;
-import com.android.systemui.navigation.fling.FlingView;
-import com.android.systemui.navigation.pulse.PulseController;
-import com.android.systemui.navigation.utils.SmartObserver.SmartObservable;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.phone.LightBarTransitionsController;
-import com.android.systemui.statusbar.phone.StatusBar;
-import com.android.internal.utils.du.ActionConstants;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.app.StatusBarManager;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.PowerManager;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.animation.Animation;
-import android.view.animation.Animation.AnimationListener;
-import android.widget.ImageView;
-
-public class FlingView extends BaseNavigationBar {
-    final static String TAG = FlingView.class.getSimpleName();
-    final static int PULSE_FADE_OUT_DURATION = 250;
-    final static int PULSE_FADE_IN_DURATION = 200;
-    final static float PULSE_LOGO_OPACITY = 0.6f;
-
-    private static Set<Uri> sUris = new HashSet<Uri>();
-    static {
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LONGPRESS_TIMEOUT));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_RIPPLE_ENABLED));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_RIPPLE_COLOR));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_KEYBOARD_CURSORS));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.FLING_LOGO_OPACITY));
-    }
-
-    private FlingActionHandler mActionHandler;
-    private FlingGestureHandler mGestureHandler;
-    private FlingGestureDetectorPriv mGestureDetector;
-    private final FlingBarTransitions mBarTransitions;
-    private FlingLogoController mLogoController;
-    private boolean mRippleEnabled;
-    private FlingRipple mRipple;
-    private boolean mKeyboardCursors;
-    private float mLogoOpacity;
-    private boolean mIsNotificationPanelExpanded;
-
-    private int mNavigationIconHints = 0;
-
-    private boolean mRotateButtonVisible;
-    private int mLastRotation = 0;
-
-    private SmartObservable mObservable = new SmartObservable() {
-        @Override
-        public Set<Uri> onGetUris() {
-            return sUris;
-        }
-
-        @Override
-        public void onChange(Uri uri) {
-            updateFlingSettings();
-        }
-    };
-
-    public static final class FlingGestureDetectorPriv extends FlingGestureDetector {
-        static final int LP_TIMEOUT = 250;
-        // no more than default timeout
-        static final int LP_TIMEOUT_MAX = LP_TIMEOUT;
-        // no less than 25ms longer than single tap timeout
-        static final int LP_TIMEOUT_MIN = 25;
-        private int mLongPressTimeout = LP_TIMEOUT;
-
-        public FlingGestureDetectorPriv(Context context, OnGestureListener listener) {
-            super(context, listener, null);
-            // TODO Auto-generated constructor stub
-        }
-
-        @Override
-        protected int getLongPressTimeout() {
-            return mLongPressTimeout;
-        }
-
-        void setLongPressTimeout(int timeoutFactor) {
-            if (timeoutFactor > LP_TIMEOUT_MAX) {
-                timeoutFactor = LP_TIMEOUT_MAX;
-            } else if (timeoutFactor < LP_TIMEOUT_MIN) {
-                timeoutFactor = LP_TIMEOUT_MIN;
-            }
-            mLongPressTimeout = timeoutFactor;
-        }
-    }
-
-    @Override
-    public void setNotificationPanelExpanded(boolean expanded) {
-        mIsNotificationPanelExpanded = expanded;
-    }
-
-    private final OnTouchListener mFlingTouchListener = new OnTouchListener() {
-        @Override
-        public boolean onTouch(View v, MotionEvent event) {
-            final int action = event.getAction();
-            if (action == MotionEvent.ACTION_DOWN) {
-//                mPm.cpuBoost(1000 * 1000);
-                mLogoController.onTouchHide(null);
-                setSlippery(mIsNotificationPanelExpanded ? true : false);
-            } else if (action == MotionEvent.ACTION_UP
-                    || action == MotionEvent.ACTION_CANCEL) {
-                mLogoController.onTouchShow(null);
-                setSlippery(true);
-            }
-            if (mRippleEnabled) {
-                mRipple.onTouch(FlingView.this, event);
-            }
-            return mGestureDetector.onTouchEvent(event);
-        }
-    };
-
-    public FlingView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mBarTransitions = new FlingBarTransitions(this);
-        mActionHandler = new FlingActionHandler(context, this);
-        mGestureHandler = new FlingGestureHandler(context, mActionHandler, this, BaseNavigationBar.sIsTablet);
-        mGestureDetector = new FlingGestureDetectorPriv(context, mGestureHandler);
-
-        // CM bases: turn this on for an extra bump ;D
-        //mPm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
-
-        mRipple = new FlingRipple(this);
-        mLogoController = new FlingLogoController(this);
-
-        mSmartObserver.addListener(mActionHandler);
-        mSmartObserver.addListener(mGestureHandler);
-        mSmartObserver.addListener(mLogoController);
-        mSmartObserver.addListener(mObservable);
-    }
-
-    @Override
-    public void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        if (getParent() != null) {
-            final View v = (View)getParent();
-            v.setOnTouchListener(mFlingTouchListener);
-        }
-    }
-
-    @Override
-    public void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
-        if (getParent() != null) {
-            final View v = (View)getParent();
-            v.setOnTouchListener(null);
-        }
-    }
-
-    @Override
-    public boolean onStartPulse(Animation animatePulseIn) {
-        if (mLogoController.isEnabled()) {
-            getLogoView(getHiddenView()).setAlpha(PULSE_LOGO_OPACITY);
-            getLogoView(getCurrentView()).animate()
-                    .alpha(PULSE_LOGO_OPACITY)
-                    .setDuration(PULSE_FADE_OUT_DURATION)
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator _a) {
-                            // shouldn't be null, mPulse just called into us
-                            if (mPulse != null) {
-                                mPulse.turnOnPulse();
-                            }
-                        }
-                    })
-                    .start();
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public void onStopPulse(Animation animatePulseOut) {
-        if (mLogoController.isEnabled()) {
-            getLogoView(getHiddenView()).setAlpha(mLogoOpacity);
-            getLogoView(getCurrentView()).animate()
-                    .alpha(mLogoOpacity)
-                    .setDuration(PULSE_FADE_IN_DURATION)
-                    .start();
-        }
-    }
-
-    @Override
-    public BarTransitions getBarTransitions() {
-        return mBarTransitions;
-    }
-
-    @Override
-    public LightBarTransitionsController getLightTransitionsController() {
-        return mBarTransitions.getLightTransitionsController();
-    }
-
-    private FlingLogoView getFlingLogo() {
-        return (FlingLogoView) mCurrentView.findViewById(R.id.fling_console);
-    }
-
-    @Override
-    public void setLeftInLandscape(boolean leftInLandscape) {
-        super.setLeftInLandscape(leftInLandscape);
-        mGestureHandler.setLeftInLandscape(leftInLandscape);
-    }
-
-    @Override
-    protected void onKeyguardShowing(boolean showing) {
-        mActionHandler.setKeyguardShowing(showing);
-        setDisabledFlags(mDisabledFlags, true /* force */);
-    }
-
-    @Override
-    public void setResourceMap(NavbarOverlayResources resourceMap) {
-        super.setResourceMap(resourceMap);
-        mLogoController.updateLogo(FlingView.this, getFlingLogo());
-        updateFlingSettings();
-    }
-
-    private void updateRippleColor() {
-        int color = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_RIPPLE_COLOR, Color.WHITE, UserHandle.USER_CURRENT);
-        mRipple.updateColor(color);
-    }
-
-    @Override
-    public void updateNavbarThemedResources(Resources res) {
-//        mRipple.updateResources(res);
-        super.updateNavbarThemedResources(res);
-        final FlingLogoView logo = getFlingLogo();
-        mLogoController.setLogoView(logo);
-        mLogoController.setLogoIcon();
-        setLogoOpacity();
-    }
-
-    private void updateFlingSettings() {
-        updateRippleColor();
-        int lpTimeout = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_LONGPRESS_TIMEOUT, FlingGestureDetectorPriv.LP_TIMEOUT_MAX, UserHandle.USER_CURRENT);
-        mGestureDetector.setLongPressTimeout(lpTimeout);
-        mRippleEnabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_RIPPLE_ENABLED, 1, UserHandle.USER_CURRENT) == 1;
-        mKeyboardCursors = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.FLING_KEYBOARD_CURSORS, 1, UserHandle.USER_CURRENT) == 1;
-        setLogoOpacity();
-    }
-
-    private void setLogoOpacity() {
-        mLogoOpacity = alphaIntToFloat(Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.FLING_LOGO_OPACITY, 255, UserHandle.USER_CURRENT));
-        if (mLogoController.isEnabled()) {
-            getLogoView(getCurrentView()).setAlpha(isBarPulseFaded() ? PULSE_LOGO_OPACITY : mLogoOpacity);
-            getLogoView(getHiddenView()).setAlpha(isBarPulseFaded() ? PULSE_LOGO_OPACITY : mLogoOpacity);
-        }
-    }
-
-    @Override
-    public void reorient() {
-        super.reorient();
-        mBarTransitions.init();
-        final FlingLogoView logo = getFlingLogo();
-        mLogoController.setLogoView(logo);
-        mLogoController.setLogoIcon();
-        setLogoOpacity();
-        setDisabledFlags(mDisabledFlags, true /* force */);
-        setNavigationIconHints(mNavigationIconHints, true);
-    }
-
-    boolean isBarPulseFaded() {
-        if (mPulse == null) {
-            return false;
-        } else {
-            return mPulse.shouldDrawPulse();
-        }
-    }
-
-    @Override
-    public void notifyScreenStateChange(boolean screenOn) {
-        mGestureHandler.onScreenStateChanged(screenOn);
-        super.notifyScreenStateChange(screenOn);
-
-        if (mLogoController.isEnabled()) {
-            ImageView currentLogo = getLogoView(getCurrentView());
-            ImageView hiddenLogo = getLogoView(getHiddenView());
-            if (screenOn && (currentLogo.getAlpha() != mLogoOpacity || hiddenLogo.getAlpha() != mLogoOpacity)) {
-                currentLogo.setAlpha(mLogoOpacity);
-                hiddenLogo.setAlpha(mLogoOpacity);
-            }
-        }
-    }
-
-    private ImageView getLogoView(View v) {
-        final ViewGroup viewGroup = (ViewGroup) v;
-        ImageView logoView = (ImageView)viewGroup.findViewById(R.id.fling_console);
-        return logoView;
-    }
-
-    public Drawable getLogoDrawable(boolean hiddenView) {
-        return getLogoView(hiddenView ? getHiddenView() : getCurrentView()).getDrawable();
-    }
-
-    private ImageView getRotationLogoView(View v) {
-        final ViewGroup viewGroup = (ViewGroup) v;
-        ImageView rotationLogoView = (ImageView)viewGroup.findViewById(R.id.rotationLogo);
-        return rotationLogoView;
-    }
-
-    public Drawable getRotationLogoDrawable(boolean hiddenView) {
-        return getRotationLogoView(hiddenView ? getHiddenView() : getCurrentView()).getDrawable();
-    }
-
-    @Override
-    protected void onInflateFromUser() {
-        mGestureHandler.onScreenStateChanged(mScreenOn);
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        super.onSizeChanged(w, h, oldw, oldh);
-        mRipple.onSizeChanged(w, h, oldw, oldh);
-    }
-
-    @Override
-    public void setNavigationIconHints(int hints, boolean force) {
-        if (!force && hints == mNavigationIconHints)
-            return;
-
-        final boolean backAlt = (hints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
-        mNavigationIconHints = hints;
-        mActionHandler.setImeActions(backAlt && mKeyboardCursors);
-
-        mBarTransitions.reapplyDarkIntensity();
-    }
-
-    @Override
-    public void setNavigationIconHints(int hints) {
-        setNavigationIconHints(hints, false);
-    }
-
-    @Override
-    public void setRotateSuggestionButtonState(boolean visible, boolean skipAnim) {
-        mRotateButtonVisible = visible;
-        //skipAnim
-        onRotationButtonStateChange(visible);
-        // this will set also the correct darkintensity for the rotation logo
-        setNavigationIconHints(mNavigationIconHints, true);
-    }
-
-    @Override
-    public void setLastRotation(int rotation) {
-        mLastRotation = rotation;
-    }
-
-    public void rotate() {
-        getRotationController().setRotationLockedAtAngle(true, mLastRotation);
-    }
-
-    public boolean isRotateButtonVisible() {
-        return mRotateButtonVisible;
-    }
-
-    public void onRotationButtonStateChange(boolean visible) {
-        ImageView hidden = getRotationLogoView(getHiddenView());
-        ImageView current = getRotationLogoView(getCurrentView());
-        if (visible) {
-            hidden.setVisibility(View.VISIBLE);
-            current.setVisibility(View.VISIBLE);
-            current.setAlpha(0.0f);
-            current.animate()
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator _a) {
-                        }
-                    })
-                    .alpha(isBarPulseFaded() ? PULSE_LOGO_OPACITY : mLogoOpacity)
-                    .setDuration(100)
-                    .start();
-        } else {
-            current.animate()
-                    .alpha(0.0f)
-                    .setDuration(100)
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator _a) {
-                            hidden.setVisibility(View.INVISIBLE);
-                            current.setVisibility(View.INVISIBLE);
-                        }
-                    })
-                    .start();
-        }
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-        if (mRippleEnabled) {
-            mRipple.onDraw(canvas);
-        }
-    }
-
-    @Override
-    protected void onDispose() {
-        //unsetListeners();
-        removeAllViews();
-    }
-
-    /*private void unsetListeners() {
-    }*/
-
-    @Override
-    protected void notifyBootCompleted() {
-        mLogoController.updateLogo(FlingView.this, getFlingLogo());
-    }
-
-    @Override
-    public void setMediaPlaying(boolean playing) {
-        PulseController mPulse = getPulseController();
-        if (mPulse != null) {
-            mPulse.setMediaPlaying(playing);
-        }
-    }
-
-    @Override
-    public void setPulseColors(boolean colorizedMedia, int[] colors) {
-        PulseController mPulse = getPulseController();
-        if (mPulse != null) {
-            mPulse.setPulseColors(colorizedMedia, colors);
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartBackButtonDrawable.java b/src/com/android/systemui/navigation/smartbar/SmartBackButtonDrawable.java
deleted file mode 100644
index f2ef6e0..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartBackButtonDrawable.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Copyright (C) 2016 The Android Open Source Project
- * Copyright (C) 2017 The DirtyUnicorns Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.android.systemui.navigation.smartbar;
-
-import android.animation.Animator;
-import android.animation.ObjectAnimator;
-import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.util.FloatProperty;
-import android.util.Property;
-import android.view.Gravity;
-
-import com.android.systemui.navigation.DarkIntensity;
-import com.android.systemui.navigation.smartbar.SmartBackButtonDrawable;
-
-public class SmartBackButtonDrawable extends LayerDrawable implements DarkIntensity{
-    private float mRotation;
-    private Animator mCurrentAnimator;
-
-    private final boolean mHasDarkDrawable;
-
-    private static final int ANIMATION_DURATION = 200;
-    public static final Property<SmartBackButtonDrawable, Float> ROTATION
-            = new FloatProperty<SmartBackButtonDrawable>("rotation") {
-        @Override
-        public void setValue(SmartBackButtonDrawable object, float value) {
-            object.setRotation(value);
-        }
-
-        @Override
-        public Float get(SmartBackButtonDrawable object) {
-            return object.getRotation();
-        }
-    };
-
-    public static SmartBackButtonDrawable create(Drawable lightDrawable,
-            @Nullable Drawable darkDrawable) {
-        if (darkDrawable != null) {
-            return new SmartBackButtonDrawable(
-                    new Drawable[] { lightDrawable.mutate(), darkDrawable.mutate() });
-        } else {
-            return new SmartBackButtonDrawable(new Drawable[] { lightDrawable.mutate() });
-        }
-    }
-
-    private SmartBackButtonDrawable(Drawable[] drawables) {
-        super(drawables);
-        for (int i = 0; i < drawables.length; i++) {
-            setLayerGravity(i, Gravity.CENTER);
-        }
-        mutate();
-        mHasDarkDrawable = drawables.length > 1;
-        setDarkIntensity(0f);
-    }
-
-    @Override
-    public void setDarkIntensity(float intensity) {
-        if (!mHasDarkDrawable) {
-            return;
-        }
-        getDrawable(0).setAlpha((int) ((1 - intensity) * 255f));
-        getDrawable(1).setAlpha((int) (intensity * 255f));
-        invalidateSelf();
-    }
-
-    @Override
-    public void draw(Canvas canvas) {
-        rotateCanvas(canvas);
-        getDrawable(0).draw(canvas);
-        if (mHasDarkDrawable)  {
-            getDrawable(1).draw(canvas);
-        }
-    }
-
-    private void rotateCanvas(Canvas c) {
-        final Rect bounds = getDrawable(0).getBounds();
-        final int boundsCenterX = bounds.width() / 2;
-        final int boundsCenterY = bounds.height() / 2;
-
-        c.translate(boundsCenterX, boundsCenterY);
-        c.rotate(mRotation);
-        c.translate(- boundsCenterX, - boundsCenterY);
-    }
-
-    public void setRotation(float rotation) {
-        mRotation = rotation;
-        invalidateSelf();
-    }
-
-    public float getRotation() {
-        return mRotation;
-    }
-
-    public void setImeVisible(boolean ime) {
-        if (mCurrentAnimator != null) {
-            mCurrentAnimator.cancel();
-        }
-
-        final float nextRotation = ime ? - 90 : 0;
-        if (mRotation == nextRotation) {
-            return;
-        }
-
-        if (isVisible() && ActivityManager.isHighEndGfx()) {
-            mCurrentAnimator = ObjectAnimator.ofFloat(this, ROTATION, nextRotation)
-                    .setDuration(ANIMATION_DURATION);
-            mCurrentAnimator.start();
-        } else {
-            setRotation(nextRotation);
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartBarEditor.java b/src/com/android/systemui/navigation/smartbar/SmartBarEditor.java
deleted file mode 100644
index d2e5001..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartBarEditor.java
+++ /dev/null
@@ -1,893 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- * Copyright (C) 2015 The CyanogenMod Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Contributions from The CyanogenMod Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-
-import com.android.internal.utils.du.ActionConstants;
-import com.android.internal.utils.du.ActionHandler;
-import com.android.internal.utils.du.Config.ActionConfig;
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.internal.utils.du.Config;
-import com.android.internal.utils.du.Config.ButtonConfig;
-import com.android.systemui.navigation.BaseEditor;
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.OpaLayout;
-import com.android.systemui.navigation.Res;
-import com.android.systemui.navigation.smartbar.SmartBarEditor;
-import com.android.systemui.navigation.smartbar.SmartBarHelper;
-import com.android.systemui.navigation.smartbar.SmartBarView;
-import com.android.systemui.navigation.smartbar.SmartButtonView;
-import com.android.systemui.navigation.editor.ActionItem;
-import com.android.systemui.navigation.editor.QuickAction;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.PixelFormat;
-import android.graphics.Point;
-import android.net.Uri;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.HapticFeedbackConstants;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.view.ViewGroup.LayoutParams;
-import android.view.animation.AccelerateDecelerateInterpolator;
-import android.view.animation.OvershootInterpolator;
-import android.widget.FrameLayout;
-import android.widget.ImageView.ScaleType;
-import android.widget.PopupWindow;
-
-public class SmartBarEditor extends BaseEditor implements View.OnTouchListener {
-    private static final String TAG = SmartBarEditor.class.getSimpleName();
-    // time is takes button pressed to become draggable
-    private static final int QUICK_LONG_PRESS = 200;
-    private static final int POPUP_LONG_PRESS = QUICK_LONG_PRESS + 300;
-    // time popup hide animation takes before we hide the conatiner
-    private static final int POPUP_ANIM_DELAY = 300;
-
-    public static final int MENU_MAP_ACTIONS = 1;
-    public static final int MENU_MAP_ICON = 2;
-    public static final int MENU_MAP_ADD = 3;
-    public static final int MENU_MAP_REMOVE = 4;
-    public static final int MENU_MAP_CANCEL = 5;
-    public static final int MENU_MAP_FINISH = 6;
-    public static final int MENU_MAP_ACTIONS_SINGLE_TAP = 7;
-    public static final int MENU_MAP_ACTIONS_DOUBLE_TAP = 8;
-    public static final int MENU_MAP_ACTIONS_LONG_PRESS = 9;
-    public static final int MENU_MAP_ICON_ICON_PACK = 10;
-    public static final int MENU_MAP_ICON_ICON_GALLERY = 11;
-    public static final int MENU_MAP_ICON_ICON_COLOR = 12;
-    public static final int MENU_MAP_ICON_ICON_RESET = 13;
-
-    static final int POPUP_TYPE_ROOT = 1;
-    static final int POPUP_TYPE_TAP = 2;
-    static final int POPUP_TYPE_ICON = 3;
-
-    public static final String BACK = ActionConstants.Smartbar.BUTTON1_TAG;
-    public static final String HOME = ActionConstants.Smartbar.BUTTON2_TAG;
-
-    public static final int PHONE_MAX_BUTTONS = 7;
-    public static final int TABLET_MAX_BUTTONS = 10;
-
-    private boolean mIsButtonMoving;
-    // true == we're currently checking for long press
-    private boolean mLongPressed;
-    // start point of the current drag operation
-    private float mDragOrigin;
-    // just to avoid reallocations
-    private static final int[] sLocation = new int[2];
-
-    private SmartBarView mHost;
-
-    private FrameLayout mEditContainer;
-    private View mHidden;
-    private Point mOriginPoint = new Point();
-
-    // buttons to animate when changing positions
-    private ArrayList<OpaLayout> mSquatters = new ArrayList<>();
-
-    // which action are we editing
-    private int mTapHasFocusTag;
-
-    // editor popup menu current instance holder
-    private QuickAction mPopup;
-    private Map<Integer, ActionItem> mPrimaryMenuItems = new HashMap<Integer, ActionItem>();
-    private Map<Integer, ActionItem> mTapMenuItems = new HashMap<Integer, ActionItem>();
-    private Map<Integer, ActionItem> mIconMenuItems = new HashMap<Integer, ActionItem>();
-
-    private QuickAction.OnActionItemClickListener mQuickClickListener = new QuickAction.OnActionItemClickListener() {
-        @Override
-        public void onItemClick(QuickAction source, int pos, int actionId) {
-            if (!mIsButtonMoving) { //don't do anything if the user is dragging the button
-                Intent intent;
-                switch (actionId) {
-                    case MENU_MAP_ACTIONS:
-                        postSecondaryPopup(POPUP_TYPE_TAP);
-                        break;
-                    case MENU_MAP_ICON:
-                        postSecondaryPopup(POPUP_TYPE_ICON);
-                        break;
-                    case MENU_MAP_ADD:
-                        addButton();
-                        break;
-                    case MENU_MAP_REMOVE:
-                        removeButton();
-                        break;
-                    case MENU_MAP_CANCEL:
-                        break;
-                    case MENU_MAP_FINISH:
-                        changeEditMode(MODE_OFF);
-                        break;
-                    case MENU_MAP_ACTIONS_SINGLE_TAP:
-                        startActionPicker(ActionConfig.PRIMARY);
-                        break;
-                    case MENU_MAP_ACTIONS_LONG_PRESS:
-                        startActionPicker(ActionConfig.SECOND);
-                        break;
-                    case MENU_MAP_ACTIONS_DOUBLE_TAP:
-                        startActionPicker(ActionConfig.THIRD);
-                        break;
-                    case MENU_MAP_ICON_ICON_PACK:
-                        intent = new Intent();
-                        intent.setAction(Intent.ACTION_MAIN);
-                        intent.setClassName(INTENT_ACTION_EDIT_CLASS,
-                                INTENT_ACTION_ICON_PICKER_COMPONENT);
-                        mContext.startActivityAsUser(intent, UserHandle.CURRENT);
-                        break;
-                    case MENU_MAP_ICON_ICON_GALLERY:
-                        intent = new Intent();
-                        intent.setAction(Intent.ACTION_MAIN);
-                        intent.setClassName(INTENT_ACTION_EDIT_CLASS,
-                                INTENT_ACTION_GALLERY_PICKER_COMPONENT);
-                        mContext.startActivityAsUser(intent, UserHandle.CURRENT);
-                        break;
-                    case MENU_MAP_ICON_ICON_COLOR:
-                        break;
-                    case MENU_MAP_ICON_ICON_RESET:
-                        resetIcon();
-                        break;
-                }
-            }
-        }
-    };
-
-    private final Runnable mHidePopupContainer = new Runnable() {
-        @Override
-        public void run() {
-            mEditContainer.setVisibility(View.GONE);
-        }
-    };
-
-    private PopupWindow.OnDismissListener mPopupDismissListener = new PopupWindow.OnDismissListener() {
-        @Override
-        public void onDismiss() {
-            mHost.postDelayed(mHidePopupContainer, POPUP_ANIM_DELAY);
-        }
-    };
-
-    private View.OnTouchListener mEditorWindowTouchListener = new View.OnTouchListener() {
-        public boolean onTouch(View v, MotionEvent event) {
-            return mPopupTouchWrapper.onTouch(v, event);
-        }
-    };
-
-    private View.OnTouchListener mPopupTouchWrapper = new View.OnTouchListener() {
-        public boolean onTouch(View v, MotionEvent event) {
-            if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
-                mPopup.dismiss();
-                return true;
-            }
-            return false;
-        }
-    };
-
-    private void postSecondaryPopup(final int type) {
-        mHost.removeCallbacks(mHidePopupContainer);
-        refreshPopup(type);
-    }
-
-    private void refreshPopup(int type) {
-        final int x = mPopup.getXpos();
-        int navButtonTopY = mPopup.getNavButtonTopY();
-
-        mPopup.clearViews();
-        boolean hasMaxButtons = getHasMaxButtons();
-        String tag = getEditButtonTag();
-        ActionItem item;
-        if (type == POPUP_TYPE_TAP) {
-            for (int i = 1; i < mTapMenuItems.size() + 1; i++) {
-                item = mTapMenuItems.get(i);
-                int id = item.getActionId();
-                if (id == MENU_MAP_ACTIONS_SINGLE_TAP &&
-                        (tag.equals(BACK) || tag.equals(HOME))) {
-                    continue;
-                }
-                item.setSticky(false);
-                mPopup.addActionItem(item);
-            }
-        } else if (type == POPUP_TYPE_ICON) {
-            for (int i = 1; i < mIconMenuItems.size() + 1; i++) {
-                item = mIconMenuItems.get(i);
-                int id = item.getActionId();
-                if (id == MENU_MAP_ICON_ICON_COLOR) {
-                    continue;
-                }
-                item.setSticky(false);
-                mPopup.addActionItem(item);
-            }
-        }
-
-        View newPopupView = mPopup.mWindow.getContentView();
-        newPopupView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
-        final int height = newPopupView.getMeasuredHeight();
-        mPopup.mWindow.update(x, (navButtonTopY - height), -1, -1);
-    }
-
-    public SmartBarEditor(SmartBarView host) {
-        super(host);
-        mHost = host;
-    }
-
-    private String getEditButtonTag() {
-        return (String) mHidden.getTag();
-    }
-
-    private void resetIcon() {
-        final String buttonFocus = getEditButtonTag();
-        SmartButtonView currentButton = mHost.findCurrentButton(buttonFocus);
-        SmartButtonView otherButton = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                buttonFocus);
-        ButtonConfig currentConfig = currentButton.getButtonConfig();
-        ButtonConfig otherConfig = otherButton.getButtonConfig();
-        OpaLayout currentOpa = (OpaLayout) currentButton.getParent();
-        OpaLayout otherOpa = (OpaLayout) otherButton.getParent();
-        currentConfig.clearCustomIconIconUri();
-        otherConfig.clearCustomIconIconUri();
-        currentButton.setButtonConfig(currentConfig);
-        otherButton.setButtonConfig(otherConfig);
-
-        mHost.setButtonDrawable(currentButton);
-        SmartBarHelper.updateButtonScalingAndPadding(currentOpa, isLandscape());
-
-        mHost.setButtonDrawable(otherButton);
-        SmartBarHelper.updateButtonScalingAndPadding(otherOpa, !isLandscape());
-
-        onCommitChanges();
-    }
-
-    @Override
-    protected void onIconPicked(String type, String packageName, String iconName) {
-        final String buttonFocus = getEditButtonTag();
-        SmartButtonView currentButton = mHost.findCurrentButton(buttonFocus);
-        SmartButtonView otherButton = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                buttonFocus);
-        ButtonConfig currentConfig = currentButton.getButtonConfig();
-        ButtonConfig otherConfig = otherButton.getButtonConfig();
-        OpaLayout currentOpa = (OpaLayout) currentButton.getParent();
-        OpaLayout otherOpa = (OpaLayout) otherButton.getParent();
-        currentConfig.setCustomIconUri(type, packageName, iconName);
-        otherConfig.setCustomIconUri(type, packageName, iconName);
-        currentButton.setButtonConfig(currentConfig);
-        otherButton.setButtonConfig(otherConfig);
-
-        mHost.setButtonDrawable(currentButton);
-        SmartBarHelper.updateButtonScalingAndPadding(currentOpa, isLandscape());
-
-        mHost.setButtonDrawable(otherButton);
-        SmartBarHelper.updateButtonScalingAndPadding(otherOpa, !isLandscape());
-
-        onCommitChanges();
-    }
-
-    protected void onImagePicked(String uri) {
-        final String buttonFocus = getEditButtonTag();
-        SmartButtonView currentButton = mHost.findCurrentButton(buttonFocus);
-        SmartButtonView otherButton = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                buttonFocus);
-        ButtonConfig currentConfig = currentButton.getButtonConfig();
-        ButtonConfig otherConfig = otherButton.getButtonConfig();
-        OpaLayout currentOpa = (OpaLayout) currentButton.getParent();
-        OpaLayout otherOpa = (OpaLayout) otherButton.getParent();
-        currentConfig.setCustomImageUri(Uri.parse(uri));
-        otherConfig.setCustomImageUri(Uri.parse(uri));
-        currentButton.setButtonConfig(currentConfig);
-        otherButton.setButtonConfig(otherConfig);
-
-        mHost.setButtonDrawable(currentButton);
-        SmartBarHelper.updateButtonScalingAndPadding(currentOpa, isLandscape());
-
-        mHost.setButtonDrawable(otherButton);
-        SmartBarHelper.updateButtonScalingAndPadding(otherOpa, !isLandscape());
-
-        onCommitChanges();
-    }
-
-    @Override
-    protected void onActionPicked(String action, ActionConfig actionConfig) {
-        final String buttonFocus = getEditButtonTag();
-        final int tapFocus = mTapHasFocusTag;
-        SmartButtonView currentButton = mHost.findCurrentButton(buttonFocus);
-        SmartButtonView otherButton = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                buttonFocus);
-        ActionConfig currentAction = new ActionConfig(mContext, action);
-        ActionConfig otherAction = new ActionConfig(mContext, action);
-        ButtonConfig currentConfig = currentButton.getButtonConfig();
-        ButtonConfig otherConfig = otherButton.getButtonConfig();
-        OpaLayout currentOpa = (OpaLayout) currentButton.getParent();
-        OpaLayout otherOpa = (OpaLayout) otherButton.getParent();
-        currentConfig.setActionConfig(currentAction, tapFocus);
-        otherConfig.setActionConfig(otherAction, tapFocus);
-        currentButton.setButtonConfig(currentConfig);
-        otherButton.setButtonConfig(otherConfig);
-        if (tapFocus == ActionConfig.PRIMARY) { // update icon for single tap only
-            mHost.setButtonDrawable(currentButton);
-            SmartBarHelper.updateButtonScalingAndPadding(currentOpa, isLandscape());
-            mHost.setButtonDrawable(otherButton);
-            SmartBarHelper.updateButtonScalingAndPadding(otherOpa, !isLandscape());
-        }
-        onCommitChanges();
-    }
-
-    private void startActionPicker(int focusActionTap) {
-        mTapHasFocusTag = focusActionTap;
-        Intent intent = new Intent();
-        intent.setAction(Intent.ACTION_MAIN);
-        intent.setClassName(INTENT_ACTION_EDIT_CLASS, INTENT_ACTION_EDIT_COMPONENT);
-        if (mTapHasFocusTag == ActionConfig.PRIMARY) { // exclude single tap back, home, recent
-            String[] exclude = {
-                    ActionHandler.SYSTEMUI_TASK_BACK,
-                    ActionHandler.SYSTEMUI_TASK_HOME
-            };
-            intent.putExtra("excluded_actions", exclude);
-        }
-        mContext.startActivityAsUser(intent, UserHandle.CURRENT);
-    }
-
-    private int getMaxButtons() {
-        return BaseNavigationBar.sIsTablet ? TABLET_MAX_BUTTONS : PHONE_MAX_BUTTONS;
-    }
-
-    private boolean getHasMaxButtons() {
-        return getMaxButtons() == mHost.getCurrentSequence().size();
-    }
-
-    @Override
-    public void onEditModeChanged(int mode) {
-        boolean isOn = isInEditMode();
-        if (isOn) {
-            createPopupContainer();
-        } else {
-            removePopupContainer();
-        }
-        setButtonsEditMode(isOn);
-
-        mHost.setEditMode(isOn);
-    }
-
-    @Override
-    protected void onResetLayout() {
-        mHost.recreateLayouts();
-        setButtonsEditMode(isInEditMode());
-    }
-
-    private void removeButton() {
-        mLockEditMode = true;
-        final String buttonFocus = getEditButtonTag();
-        ArrayList<ButtonConfig> buttonConfigs = Config.getConfig(mContext,
-                ActionConstants.getDefaults(ActionConstants.SMARTBAR));
-        ButtonConfig toRemove = null;
-        for (ButtonConfig config : buttonConfigs) {
-            if (TextUtils.equals(config.getTag(), buttonFocus)) {
-                toRemove = config;
-                break;
-            }
-        }
-        if (toRemove != null) {
-            buttonConfigs.remove(toRemove);
-            Config.setConfig(mContext, ActionConstants.getDefaults(ActionConstants.SMARTBAR),
-                    buttonConfigs);
-            mHost.recreateLayouts();
-            setButtonsEditMode(true);
-        }
-        mLockEditMode = false;
-    }
-
-    private void addButton() {
-        mLockEditMode = true;
-        final String buttonFocus = getEditButtonTag();
-        ArrayList<ButtonConfig> buttonConfigs = Config.getConfig(mContext,
-                ActionConstants.getDefaults(ActionConstants.SMARTBAR));
-        int newIndex = mHost.getCurrentSequence().indexOf(buttonFocus) + 1;
-        String newTag = String.valueOf(System.currentTimeMillis());
-        ButtonConfig newConfig = new ButtonConfig(mContext);
-        newConfig.setTag(newTag);
-        buttonConfigs.add(newIndex, newConfig);
-        Config.setConfig(mContext, ActionConstants.getDefaults(ActionConstants.SMARTBAR),
-                buttonConfigs);
-        mHost.recreateLayouts();
-        setButtonsEditMode(true);
-        mLockEditMode = false;
-    }
-
-    @Override
-    public void onCommitChanges() {
-        ArrayList<ButtonConfig> buttonConfigs = new ArrayList<ButtonConfig>();
-        final int size = mHost.getCurrentSequence().size();
-        for (int i = 0; i < size; i++) {
-            String tag = mHost.getCurrentSequence().get(i);
-            SmartButtonView v = mHost.findCurrentButton(tag);
-            if (v == null)
-                continue;
-            ButtonConfig config = v.getButtonConfig();
-            if (config == null)
-                continue;
-            buttonConfigs.add(config);
-        }
-        Config.setConfig(mContext, ActionConstants.getDefaults(ActionConstants.SMARTBAR),
-                buttonConfigs);
-    }
-
-    @Override
-    protected void onPrepareToReorient() {
-        // if we are in edit mode turn them off
-        // since the new buttons will be visibile very soon
-        if (isInEditMode()) {
-            setButtonsEditMode(false);
-        }
-    }
-
-    @Override
-    protected void onReorient() {
-        // if we are in edit mode turn them on
-        if (isInEditMode()) {
-            setButtonsEditMode(true);
-        }
-    }
-
-    private void setButtonsEditMode(boolean isInEditMode) {
-        for (String buttonTag : mHost.getCurrentSequence()) {
-            SmartButtonView v = mHost.findCurrentButton(buttonTag);
-            if (v != null) {
-                v.setEditMode(isInEditMode);
-                OpaLayout opa = (OpaLayout) v.getParent();
-                opa.setOnTouchListener(isInEditMode ? this : null);
-            }
-        }
-    }
-
-    public boolean isInEditMode() {
-        return getMode() == MODE_ON;
-    }
-
-    private Runnable mCheckLongPress = new Runnable() {
-        public void run() {
-            if (isInEditMode()) {
-                mLongPressed = true;
-                mHost.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-            }
-        }
-    };
-
-    private Runnable mCheckShowPopup = new Runnable() {
-        public void run() {
-            if (isInEditMode()) {
-                showPopup(POPUP_TYPE_ROOT);
-            }
-        }
-    };
-
-    @Override
-    public boolean onTouch(final View view, MotionEvent event) {
-        if (!isInEditMode()) {
-            return false;
-        }
-        if (event.getAction() == MotionEvent.ACTION_DOWN) {
-            mIsButtonMoving = true;
-            if (mPopup != null) {
-                QuickAction popup = mPopup;
-                popup.dismiss();
-            }
-            view.setPressed(true);
-            view.getLocationOnScreen(sLocation);
-            mDragOrigin = sLocation[mHost.isVertical() ? 1 : 0];
-            mOriginPoint.set(sLocation[0], sLocation[1]);
-            prepareToShowPopup(view);
-            mHost.postDelayed(mCheckLongPress, QUICK_LONG_PRESS);
-            mHost.postDelayed(mCheckShowPopup, POPUP_LONG_PRESS);
-        } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
-            // mIsButtonMoving still true;
-            view.setPressed(false);
-            if (!mLongPressed) {
-                return false;
-            }
-            ViewGroup viewParent = (ViewGroup) view.getParent();
-            float pos = mHost.isVertical() ? event.getRawY() : event.getRawX();
-            float buttonSize = mHost.isVertical() ? view.getHeight() : view.getWidth();
-            float min = mHost.isVertical() ? viewParent.getTop()
-                    : (viewParent.getLeft() - buttonSize / 2);
-            float max = mHost.isVertical() ? (viewParent.getTop() + viewParent.getHeight())
-                    : (viewParent.getLeft() + viewParent.getWidth());
-
-            // Prevents user from dragging view outside of bounds
-            if (pos < min || pos > max) {
-                return false;
-            }
-            if (!mHost.isVertical()) {
-                view.setX(pos - viewParent.getLeft() - buttonSize / 2);
-            } else {
-                view.setY(pos - viewParent.getTop() - buttonSize / 2);
-            }
-            View affectedView = findInterceptingView(pos, view);
-            if (affectedView == null) {
-                return false;
-            }
-            mHost.removeCallbacks(mCheckLongPress);
-            mHost.removeCallbacks(mCheckShowPopup);
-            if (mPopup != null) {
-                QuickAction popup = mPopup;
-                popup.dismiss();
-            }
-            switchId(affectedView, view);
-        } else if (event.getAction() == MotionEvent.ACTION_UP
-                || event.getAction() == MotionEvent.ACTION_CANCEL) {
-            mIsButtonMoving = false;
-            view.setPressed(false);
-            mHost.removeCallbacks(mCheckLongPress);
-            mHost.removeCallbacks(mCheckShowPopup);
-            if (mPopup == null || !mPopup.mWindow.isShowing()) {
-                mEditContainer.setVisibility(View.GONE);
-            }
-            if (mLongPressed) {
-                // Reset the dragged view to its original location
-                ViewGroup parent = (ViewGroup) view.getParent();
-                boolean vertical = mHost.isVertical();
-                float slideTo = vertical ? mDragOrigin - parent.getTop() : mDragOrigin
-                        - parent.getLeft();
-                Animator anim = getButtonSlideAnimator(view, vertical, slideTo);
-                anim.setInterpolator(new AccelerateDecelerateInterpolator());
-                anim.setDuration(100);
-                anim.addListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator animation) {
-                        mSquatters.clear();
-                        onCommitChanges();
-                    }
-                });
-                anim.start();
-            }
-            mLongPressed = false;
-        }
-        return true;
-    }
-
-    private WindowManager.LayoutParams getEditorParams() {
-        WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL,
-                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
-                        | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
-                        | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
-                        | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR
-                        | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
-                PixelFormat.TRANSLUCENT);
-        lp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
-        lp.gravity = Gravity.BOTTOM;
-        lp.setTitle("SmartBar Editor");
-        lp.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED
-                | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING;
-        return lp;
-    }
-
-    private void showPopup(int type) {
-        QuickAction popup = new QuickAction(mHost.getContext(), QuickAction.VERTICAL);
-        boolean hasMaxButtons = getHasMaxButtons();
-        String tag = getEditButtonTag();
-        ActionItem item;
-        for (int i = 1; i < mPrimaryMenuItems.size() + 1; i++) {
-            item = mPrimaryMenuItems.get(i);
-            int id = item.getActionId();
-            if (id == MENU_MAP_ADD && hasMaxButtons) {
-                continue;
-            }
-            if (id == MENU_MAP_REMOVE &&
-                    (tag.equals(BACK) || tag.equals(HOME))) {
-                continue;
-            }
-            if (id == MENU_MAP_ACTIONS || id == MENU_MAP_ICON) {
-                item.setSticky(true);
-            } else {
-                item.setSticky(false);
-            }
-            popup.addActionItem(item);
-        }
-        popup.setOnActionItemClickListener(mQuickClickListener);
-        popup.mWindow.setOnDismissListener(mPopupDismissListener);
-        popup.mWindow.setTouchInterceptor(mPopupTouchWrapper);
-        popup.mWindow.setFocusable(true);
-        final View anchor = (View) mHidden;
-        popup.show(anchor);
-        mPopup = popup;
-    }
-
-    @Override
-    protected void updateResources(Resources res) {
-        // anything themable is created on-the-fly
-    }
-
-    private void prepareToShowPopup(View editView) {
-        mHost.removeCallbacks(mHidePopupContainer);
-        ViewGroup parent = (ViewGroup) editView.getParent();
-        mEditContainer.setVisibility(View.VISIBLE);
-        OpaLayout opa = (OpaLayout) editView;
-        mHidden.setTag(opa.getButton().getTag());
-        mHidden.getLayoutParams().width = editView.getWidth();
-        mHidden.getLayoutParams().height = editView.getHeight();
-        mHidden.setLayoutParams(mHidden.getLayoutParams());
-        mHidden.setX(mOriginPoint.x - parent.getLeft());
-        mHidden.setY(mOriginPoint.y - parent.getTop());
-    }
-
-    private void createPopupContainer() {
-        removePopupContainer();
-        loadPrimaryMenuMap();
-        loadTapMenuMap();
-        loadIconMenuMap();
-        mEditContainer = new FrameLayout(mHost.getContext());
-        mHidden = new SmartButtonView(mHost.getContext());
-        mEditContainer.setOnTouchListener(mEditorWindowTouchListener);
-        mHidden.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
-                LayoutParams.WRAP_CONTENT));
-        mHidden.setVisibility(View.INVISIBLE);
-        mEditContainer.addView(mHidden);
-        mEditContainer.setVisibility(View.GONE);
-        mWindowManager.addView(mEditContainer, getEditorParams());
-    }
-
-    private void removePopupContainer() {
-        if (mPopup != null) {
-            mPopup.dismiss();
-            mPopup = null;
-        }
-        if (mEditContainer != null && mEditContainer.isAttachedToWindow()) {
-            mEditContainer.removeAllViews();
-            mEditContainer.setVisibility(View.GONE);
-            mWindowManager.removeViewImmediate(mEditContainer);
-        }
-        mPrimaryMenuItems.clear();
-        mTapMenuItems.clear();
-        mIconMenuItems.clear();
-    }
-
-    /*
-     * Leave the reflection alone here. Since we don't inflate SmartBar, these vectors need to be
-     * inflated by the library
-     */
-    private void loadPrimaryMenuMap() {
-        mPrimaryMenuItems.clear();
-        ActionItem action = new ActionItem(1,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_actions",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_actions",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(1, action);
-
-        action = new ActionItem(2,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_icon",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_icon",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(2, action);
-
-        action = new ActionItem(3,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_add",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_add",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(3, action);
-
-        action = new ActionItem(4,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_remove",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_remove",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(4, action);
-
-        action = new ActionItem(5,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_cancel",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_cancel",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(5, action);
-
-        action = new ActionItem(6,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_finish",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_finish",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mPrimaryMenuItems.put(6, action);
-    }
-
-    private void loadTapMenuMap() {
-        mTapMenuItems.clear();
-        ActionItem action = new ActionItem(7,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_single_tap",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_single_tap",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mTapMenuItems.put(1, action);
-
-        action = new ActionItem(8,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_double_tap",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_double_tap",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mTapMenuItems.put(2, action);
-
-        action = new ActionItem(9,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_long_press",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_long_press",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mTapMenuItems.put(3, action);
-    }
-
-    private void loadIconMenuMap() {
-        mIconMenuItems.clear();
-        ActionItem action = new ActionItem(10,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_icon_pack",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_icon_pack",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mIconMenuItems.put(1, action);
-
-        action = new ActionItem(11,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_icon_gallery",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_icon_gallery",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mIconMenuItems.put(2, action);
-
-        action = new ActionItem(12,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_icon_color",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_icon_color",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mIconMenuItems.put(3, action);
-
-        action = new ActionItem(13,
-                DUActionUtils.getString(mHost.getContext(), "label_smartbar_icon_reset",
-                        DUActionUtils.PACKAGE_SYSTEMUI),
-                DUActionUtils.getDrawable(mHost.getContext(), "ic_smartbar_editor_icon_reset",
-                        DUActionUtils.PACKAGE_SYSTEMUI));
-        mIconMenuItems.put(3, action);
-    }
-
-    /**
-     * Find intersecting view in mButtonViews
-     * 
-     * @param pos - pointer location
-     * @param v - view being dragged
-     * @return intersecting view or null
-     */
-    private View findInterceptingView(float pos, View v) {
-        for (String buttonTag : mHost.getCurrentSequence()) {
-            SmartButtonView otherButton = mHost.findCurrentButton(buttonTag);
-            OpaLayout otherOpa = (OpaLayout)otherButton.getParent();
-            if (otherOpa == v) {
-                continue;
-            }
-            if (mSquatters.contains(otherOpa)) {
-                continue;
-            }
-
-            otherOpa.getLocationOnScreen(sLocation);
-            float otherPos = sLocation[mHost.isVertical() ? 1 : 0];
-            float otherDimension = mHost.isVertical() ? v.getHeight() : v.getWidth();
-
-            if (pos > (otherPos + otherDimension / 4) && pos < (otherPos + otherDimension)) {
-                mSquatters.add(otherOpa);
-                return otherOpa;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Switches positions of two views and updates their mButtonViews entry
-     * 
-     * @param targetView - view to be replaced animate out
-     * @param view - view being dragged
-     */
-    private void switchId(View replaceView, View dragView) {
-        final OpaLayout squatter = (OpaLayout) replaceView;
-        final OpaLayout dragger = (OpaLayout) dragView;
-
-        final boolean vertical = mHost.isVertical();
-
-        ViewGroup parent = (ViewGroup) replaceView.getParent();
-        float slideTo = vertical ? mDragOrigin - parent.getTop() : mDragOrigin - parent.getLeft();
-        replaceView.getLocationOnScreen(sLocation);
-        mDragOrigin = sLocation[vertical ? 1 : 0];
-
-        final int targetIndex = mHost.getCurrentSequence().indexOf(squatter.getButton().getTag());
-        final int draggedIndex = mHost.getCurrentSequence().indexOf(dragger.getButton().getTag());
-        Collections.swap(mHost.getCurrentSequence(), draggedIndex, targetIndex);
-
-        SmartButtonView hidden1 = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                squatter.getButton().getTag());
-        SmartButtonView hidden2 = (SmartButtonView) getHiddenNavButtons().findViewWithTag(
-                dragger.getButton().getTag());
-        OpaLayout hidden1Opa = (OpaLayout) hidden1.getParent();
-        OpaLayout hidden2Opa = (OpaLayout) hidden2.getParent();
-        swapConfigs(hidden1Opa, hidden2Opa);
-
-        Animator anim = getButtonSlideAnimator(squatter, vertical, slideTo);
-        anim.setInterpolator(new OvershootInterpolator());
-        anim.setDuration(250);
-        anim.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mSquatters.remove(squatter);
-            }
-        });
-        anim.start();
-    }
-
-    private Animator getButtonSlideAnimator(View v, boolean vertical, float slideTo) {
-        return ObjectAnimator.ofFloat(v, vertical ? View.Y : View.X, slideTo);
-    }
-
-    private void swapConfigs(OpaLayout v1, OpaLayout v2) {
-        ButtonConfig config1 = v1.getButton().getButtonConfig();
-        ButtonConfig config2 = v2.getButton().getButtonConfig();
-        int[] padding1 = SmartBarHelper.getViewPadding(v1);
-        int[] padding2 = SmartBarHelper.getViewPadding(v2);
-        ScaleType scale1 = v1.getButton().getScaleType();
-        ScaleType scale2 = v2.getButton().getScaleType();
-        v1.getButton().setButtonConfig(config2);
-        v2.getButton().setButtonConfig(config1);
-        mHost.setButtonDrawable(v1.getButton());
-        mHost.setButtonDrawable(v2.getButton());
-        SmartBarHelper.applyPaddingToView(v1, padding2);
-        SmartBarHelper.applyPaddingToView(v2, padding1);
-        v1.getButton().setScaleType(scale2);
-        v2.getButton().setScaleType(scale1);
-    }
-
-    private ViewGroup getHiddenNavButtons() {
-        return (ViewGroup) mHost.getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-    }
-
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartBarHelper.java b/src/com/android/systemui/navigation/smartbar/SmartBarHelper.java
deleted file mode 100644
index f6e8fdd..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartBarHelper.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/**
- * Copyright (C) 2014 SlimRoms
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Much love and respect to SlimRoms for some of these layout/padding
- * related methods and static factory methods
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import android.content.Context;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.RectF;
-import android.util.TypedValue;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.Space;
-import android.widget.ImageView.ScaleType;
-import android.widget.LinearLayout.LayoutParams;
-
-import com.android.internal.utils.du.ActionHandler;
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.internal.utils.du.Config.ButtonConfig;
-import com.android.internal.utils.du.ImageHelper;
-import com.android.systemui.navigation.OpaLayout;
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.smartbar.SmartBarView;
-import com.android.systemui.navigation.smartbar.SmartButtonView;
-import com.android.systemui.R;
-
-public class SmartBarHelper {
-
-    public static int[] getViewPadding(View v) {
-        int[] padding = new int[4];
-        padding[0] = v.getPaddingStart();
-        padding[1] = v.getPaddingTop();
-        padding[2] = v.getPaddingEnd();
-        padding[3] = v.getPaddingBottom();
-        return padding;
-    }
-
-    public static void applyPaddingToView(View v, int[] padding) {
-        v.setPaddingRelative(padding[0], padding[1],
-                padding[2], padding[3]);
-    }
-
-    static boolean buttonNeedsCustomPadding(OpaLayout v) {
-        boolean hasCustomIcon = v.getButton().getButtonConfig().hasCustomIcon();
-        boolean hasNonSystemIcon = !v.getButton().getButtonConfig().isSystemAction();
-        return hasCustomIcon || hasNonSystemIcon;
-    }
-
-    public static void updateButtonScalingAndPadding(OpaLayout v, boolean landscape) {
-        // all non-system action icons need some extra scaling work
-        v.getButton().setScaleType(ScaleType.CENTER_INSIDE);
-    }
-
-    public static BitmapDrawable resizeCustomButtonIcon(Drawable d, Context ctx, float iconSizeScale) {
-        if (d == null) {
-            d = DUActionUtils.getDrawableForAction(ctx, ActionHandler.SYSTEMUI_TASK_NO_ACTION);
-        }
-        // get custom button icon size
-        final Bitmap bitmap = ImageHelper.drawableToBitmap(d);
-        int originalHeight = bitmap.getHeight();
-        int originalWeight = bitmap.getWidth();
-        // apply the needed scaling to the icon size values to match default system buttons icons size
-        final float scaledWidth = iconSizeScale * originalWeight;
-        final float scaledHeight = iconSizeScale * originalHeight;
-        // later we'll put the icon bitmap (resized to a smaller scaled rectf) into the bigger canvas,
-        // so we need to center the rectf coordinates into the canvas (moving it a bit to right and to bottom)
-        final float leftPadding = (originalWeight - scaledWidth) / 2;
-        final float topPadding = (originalHeight - scaledHeight) / 2;
-        final RectF targetRect = new RectF(leftPadding, topPadding, leftPadding + scaledWidth, topPadding + scaledHeight);
-        // create a new empty canvas with the size of the original icon, then draw into it the icon bitmap scaled to our
-        // smaller rectf size
-        final Bitmap dest = Bitmap.createBitmap(originalWeight, originalHeight, android.graphics.Bitmap.Config.ARGB_8888);
-        final Canvas canvas = new Canvas(dest);
-        final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
-        paint.setAntiAlias(true);
-        canvas.drawBitmap(bitmap, null, targetRect, paint);
-
-        return new BitmapDrawable(ctx.getResources(), dest);
-    }
-
-    static OpaLayout generatePrimaryKey(Context ctx, SmartBarView host, boolean landscape,
-            ButtonConfig config) {
-        OpaLayout opa = (OpaLayout)View.inflate(ctx, R.layout.opa_smartbutton, null);
-        SmartButtonView v = opa.getButton();
-        v.setHost(host);
-        v.setButtonConfig(config);
-        int width = ctx.getResources().getDimensionPixelSize(R.dimen.navigation_key_width);
-        int height = ctx.getResources().getDimensionPixelSize(R.dimen.navigation_key_height);
-        v.loadRipple();
-        updateButtonScalingAndPadding(opa, landscape);
-        host.setButtonDrawable(v);
-        if (BaseNavigationBar.sIsTablet) {
-            v.setLayoutParams(new FrameLayout.LayoutParams(width, LayoutParams.MATCH_PARENT));
-            opa.setLayoutParams(new LinearLayout.LayoutParams(width, LayoutParams.MATCH_PARENT));
-        } else {
-            if (landscape) {
-                v.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, height));
-                opa.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, height));
-            } else {
-                v.setLayoutParams(new FrameLayout.LayoutParams(width, LayoutParams.MATCH_PARENT));
-                opa.setLayoutParams(new LinearLayout.LayoutParams(width, LayoutParams.MATCH_PARENT));
-            }
-        }
-        return opa;
-    }
-
-    static View makeSeparator(Context ctx) {
-        View v;
-        if (BaseNavigationBar.sIsTablet) {
-            v = new Space(ctx);
-        } else {
-            v = new View(ctx);
-        }
-        v.setLayoutParams(new LinearLayout.LayoutParams(
-                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1.0f));
-        v.setVisibility(View.INVISIBLE);
-        return v;
-    }
-
-    static void addViewToRoot(ViewGroup root, View toAdd, boolean landscape) {
-        if (landscape && !BaseNavigationBar.sIsTablet) {
-            root.addView(toAdd, 0);
-        } else {
-            root.addView(toAdd);
-        }
-    }
-
-    static int getButtonSize(Context ctx, int numButtons, boolean landscape) {
-        if (BaseNavigationBar.sIsTablet) {
-            return getTabletButtonSize(ctx, numButtons, landscape);
-        } else {
-            return getPhoneButtonSize(ctx, numButtons, landscape);
-        }
-    }
-
-    static int getTabletButtonSize(Context ctx, int numButtons, boolean landscape) {
-        int origSize = ctx.getResources().getDimensionPixelSize(
-                landscape ? R.dimen.navigation_key_tablet_width_land
-                        : R.dimen.navigation_key_tablet_width_port);
-        if (numButtons < 4) {
-            return origSize;
-        } else {
-            // the more buttons we have the less we shave per button
-            float factor = 1f - ((numButtons - 3) * 0.06f);
-            int size = Math.round(origSize * factor);
-            return size;
-        }
-    }
-
-    static int getPhoneButtonSize(Context ctx, int numButtons, boolean landscape) {
-        // in this case, landscape refers to the vertical bar layout
-        int origSize = ctx.getResources().getDimensionPixelSize(
-                landscape ? R.dimen.navigation_key_height : R.dimen.navigation_key_width);
-        if (numButtons < 4) {
-            return origSize;
-        } else {
-            // create an even distribution
-            int size = Math.round((origSize * 3) / numButtons);
-            return size;
-        }
-    }
-
-    static void updateButtonSize(View v, int size, boolean landscape) {
-        if (BaseNavigationBar.sIsTablet) {
-            updateTabletButtonSize(v, size, landscape);
-        } else {
-            updatePhoneButtonSize(v, size, landscape);
-        }
-    }
-
-    static void updatePhoneButtonSize(View v, int size, boolean landscape) {
-        if (landscape) {
-            v.getLayoutParams().height = size;
-        } else {
-            v.getLayoutParams().width = size;
-        }
-    }
-
-    static void updateTabletButtonSize(View v, int size, boolean landscape) {
-        v.getLayoutParams().width = size;
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartBarTransitions.java b/src/com/android/systemui/navigation/smartbar/SmartBarTransitions.java
deleted file mode 100644
index 348fa5a..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartBarTransitions.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import android.graphics.drawable.Drawable;
-import android.view.View;
-
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.systemui.R;
-import com.android.systemui.navigation.*;
-import com.android.systemui.navigation.smartbar.SmartBarView;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.phone.LightBarTransitionsController;
-
-public final class SmartBarTransitions extends BarTransitions {
-    private final SmartBarView mView;
-
-    private boolean mLightsOut;
-    private final LightBarTransitionsController mLightTransitionsController;
-
-    public SmartBarTransitions(SmartBarView view) {
-        super(view, R.drawable.nav_background);
-//                R.color.navigation_bar_background_opaque,
-//                R.color.navigation_bar_background_semi_transparent,
-//                R.color.navigation_bar_background_transparent,
-//                com.android.internal.R.color.battery_saver_mode_color);
-        mView = view;
-        mLightTransitionsController = new LightBarTransitionsController(view.getContext(),
-                this::applyDarkIntensity);
-    }
-
-    public void init() {
-        applyModeBackground(-1, getMode(), false /*animate*/);
-        applyMode(getMode(), false /*animate*/, true /*force*/);
-    }
-
-    public LightBarTransitionsController getLightTransitionsController() {
-        return mLightTransitionsController;
-    }
-
-    @Override
-    protected void onTransition(int oldMode, int newMode, boolean animate) {
-        super.onTransition(oldMode, newMode, animate);
-        applyMode(newMode, animate, false /*force*/);
-    }
-
-
-    private void applyMode(int mode, boolean animate, boolean force) {
-        // apply to lights out
-        applyLightsOut(isLightsOut(mode), animate, force);
-    }
-
-    public void reapplyDarkIntensity() {
-        applyDarkIntensity(mLightTransitionsController.getCurrentDarkIntensity());
-    }
-
-    public void applyDarkIntensity(float darkIntensity) {
-        for (SmartButtonView button : DUActionUtils.getAllChildren(mView, SmartButtonView.class)) {
-            button.setRippleDarkIntensity(darkIntensity);
-            Drawable d = button.getDrawable();
-            if (d != null && d instanceof DarkIntensity) {
-                ((DarkIntensity) d).setDarkIntensity(darkIntensity);
-            }
-        }
-    }
-
-    private void applyLightsOut(boolean lightsOut, boolean animate, boolean force) {
-        if (!force && lightsOut == mLightsOut)
-            return;
-
-        mLightsOut = lightsOut;
-
-        final View navButtons = mView.getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final boolean isBarPulseFaded = mView.isBarPulseFaded();
-        final float buttonAlpha = mView.getButtonAlpha();
-        final float fadeAlpha = isBarPulseFaded ? mView.mPulseNavButtonsOpacity : buttonAlpha;
-
-        // ok, everyone, stop it right there
-        navButtons.animate().cancel();
-
-        final float navButtonsAlpha = lightsOut ? 0.5f : fadeAlpha;
-
-        if (!animate) {
-            navButtons.setAlpha(navButtonsAlpha);
-        } else {
-            final int duration = lightsOut ? LIGHTS_OUT_DURATION : LIGHTS_IN_DURATION;
-            navButtons.animate()
-                    .alpha(navButtonsAlpha)
-                    .setDuration(duration)
-                    .start();
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartBarView.java b/src/com/android/systemui/navigation/smartbar/SmartBarView.java
deleted file mode 100644
index d1c749d..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartBarView.java
+++ /dev/null
@@ -1,974 +0,0 @@
-/**
- * Copyright (C) 2016-2017 The DirtyUnicorns Project
- * Copyright (C) 2014 SlimRoms
- *
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Much love and respect to SlimRoms for writing and inspiring
- * some of the dynamic layout methods
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * A new software key based navigation implementation that just vaporizes
- * AOSP and quite frankly everything currently on the custom firmware scene
- *
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.app.StatusBarManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffColorFilter;
-import android.media.AudioManager;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.GestureDetector;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.animation.Animation;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.ImageView.ScaleType;
-import android.widget.LinearLayout;
-
-import com.android.internal.utils.du.ActionConstants;
-import com.android.internal.utils.du.ActionHandler;
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.internal.utils.du.Config;
-import com.android.internal.utils.du.Config.ActionConfig;
-import com.android.internal.utils.du.Config.ButtonConfig;
-import com.android.systemui.navigation.BaseEditor;
-import com.android.systemui.navigation.BaseNavigationBar;
-import com.android.systemui.navigation.Editor;
-import com.android.systemui.navigation.OpaLayout;
-import com.android.systemui.navigation.Res;
-import com.android.systemui.navigation.NavbarOverlayResources;
-import com.android.systemui.navigation.smartbar.SmartBackButtonDrawable;
-import com.android.systemui.navigation.smartbar.SmartBarEditor;
-import com.android.systemui.navigation.smartbar.SmartBarHelper;
-import com.android.systemui.navigation.smartbar.SmartBarTransitions;
-import com.android.systemui.navigation.smartbar.SmartBarView;
-import com.android.systemui.navigation.smartbar.SmartButtonView;
-import com.android.systemui.navigation.pulse.PulseController;
-import com.android.systemui.navigation.utils.SmartObserver.SmartObservable;
-import com.android.systemui.statusbar.phone.BarTransitions;
-import com.android.systemui.statusbar.phone.LightBarTransitionsController;
-import com.android.systemui.statusbar.policy.KeyButtonDrawable;
-import com.android.systemui.R;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-public class SmartBarView extends BaseNavigationBar {
-    final static boolean DEBUG = false;
-    final static String TAG = SmartBarView.class.getSimpleName();
-    final static int PULSE_FADE_OUT_DURATION = 250;
-    final static int PULSE_FADE_IN_DURATION = 200;
-
-    static final int IME_HINT_MODE_HIDDEN = 0;
-    static final int IME_HINT_MODE_ARROWS = 1;
-    static final int IME_HINT_MODE_PICKER = 2;
-    static final int IME_AND_MEDIA_HINT_MODE_ARROWS = 3;
-
-    private static Set<Uri> sUris = new HashSet<Uri>();
-    static {
-        sUris.add(Settings.Secure.getUriFor("smartbar_context_menu_mode"));
-        sUris.add(Settings.Secure.getUriFor("smartbar_ime_hint_mode"));
-        sUris.add(Settings.Secure.getUriFor("smartbar_button_animation_style"));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.NAVBAR_BUTTONS_ALPHA));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.PULSE_CUSTOM_BUTTONS_OPACITY));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_LONGPRESS_DELAY));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_CUSTOM_ICON_SIZE));
-        sUris.add(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_DOUBLETAP_SLEEP));
-    }
-
-    private SmartObservable mObservable = new SmartObservable() {
-        @Override
-        public Set<Uri> onGetUris() {
-            return sUris;
-        }
-
-        @Override
-        public void onChange(Uri uri) {
-            if (uri.equals(Settings.Secure.getUriFor("smartbar_context_menu_mode"))) {
-                updateContextLayoutSettings();
-            } else if (uri.equals(Settings.Secure.getUriFor("smartbar_ime_hint_mode"))) {
-                updateImeHintModeSettings();
-                refreshImeHintMode();
-            } else if (uri.equals(Settings.Secure.getUriFor("smartbar_button_animation_style"))) {
-                updateAnimationStyle();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.NAVBAR_BUTTONS_ALPHA))) {
-                updateButtonAlpha();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.PULSE_CUSTOM_BUTTONS_OPACITY))) {
-                updatePulseNavButtonsOpacity();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_LONGPRESS_DELAY))) {
-                updateButtonLongpressDelay();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_CUSTOM_ICON_SIZE))) {
-                updateCustomIconSize();
-                updateCurrentIcons();
-                reapplyDarkIntensity();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.SMARTBAR_DOUBLETAP_SLEEP))) {
-                updateNavDoubletapSetting();
-            }
-        }
-    };
-
-    boolean mShowMenu;
-    int mNavigationIconHints = 0;
-
-    private final SmartBarTransitions mBarTransitions;
-    private SmartBarEditor mEditor;
-
-    // hold a reference to primary buttons in order of appearance on screen
-    private ArrayList<String> mCurrentSequence = new ArrayList<String>();
-    private View mContextRight, mContextLeft, mCurrentContext;
-    private boolean mHasLeftContext;
-    private boolean mMusicStreamMuted;
-    private int mImeHintMode;
-    private int mButtonAnimationStyle;
-    private float mCustomAlpha;
-    private float mCustomIconScale;
-    public float mPulseNavButtonsOpacity;
-    private boolean isNavDoubleTapEnabled;
-
-    private boolean mIsMediaPlaying;
-
-    private AudioManager mAudioManager;
-
-    private GestureDetector mNavDoubleTapToSleep;
-
-    private boolean mRotateButtonVisible;
-    private int mLastRotation = 0;
-
-    @Override
-    public void onReceive(Intent intent) {
-        if (AudioManager.STREAM_MUTE_CHANGED_ACTION.equals(intent.getAction())
-                || (AudioManager.VOLUME_CHANGED_ACTION.equals(intent.getAction()))) {
-            int streamType = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1);
-            if (streamType == AudioManager.STREAM_MUSIC) {
-                boolean muted = isMusicMuted(streamType);
-                if (mMusicStreamMuted != muted) {
-                    mMusicStreamMuted = muted;
-                    Handler mHandler = new Handler();
-                    mHandler.post(new Runnable() {
-                        @Override
-                        public void run() {
-                            setNavigationIconHints(mNavigationIconHints, true);
-                        }
-                    });
-                }
-            }
-        }
-    }
-
-    private boolean isMusicMuted(int streamType) {
-        return streamType == AudioManager.STREAM_MUSIC &&
-                (mAudioManager.isStreamMute(streamType) ||
-                mAudioManager.getStreamVolume(streamType) == 0);
-    }
-
-    @Override
-    public void setRotateSuggestionButtonState(boolean visible, boolean skipAnim) {
-        mRotateButtonVisible = visible;
-        //skipAnim
-        setNavigationIconHints(mNavigationIconHints, true);
-    }
-
-    @Override
-    public void setLastRotation(int rotation) {
-        mLastRotation = rotation;
-    }
-
-    public void rotate() {
-        getRotationController().setRotationLockedAtAngle(true, mLastRotation);
-    }
-
-    public SmartBarView(Context context) {
-        super(context);
-        mBarTransitions = new SmartBarTransitions(this);
-        mEditor = new SmartBarEditor(this);
-        mSmartObserver.addListener(mObservable);
-        createBaseViews();
-
-        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        mMusicStreamMuted = isMusicMuted(AudioManager.STREAM_MUSIC);
-
-        mNavDoubleTapToSleep = new GestureDetector(context,
-                new GestureDetector.SimpleOnGestureListener() {
-            @Override
-            public boolean onDoubleTap(MotionEvent e) {
-                ActionHandler.performTask(context, ActionHandler.SYSTEMUI_TASK_SCREENOFF);
-                return true;
-            }
-        });
-    }
-
-    private final OnTouchListener mSmartBarTouchListener = new OnTouchListener() {
-        @Override
-        public boolean onTouch(View v, MotionEvent event) {
-            return isNavDoubleTapEnabled && !mEditor.isInEditMode()
-                    ? mNavDoubleTapToSleep.onTouchEvent(event) : true;
-        }
-    };
-
-    @Override
-    public void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        if (getParent() != null) {
-            final View v = (View)getParent();
-            v.setOnTouchListener(mSmartBarTouchListener);
-        }
-    }
-
-    @Override
-    public void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
-        if (getParent() != null) {
-            final View v = (View)getParent();
-            v.setOnTouchListener(null);
-        }
-    }
-
-    @Override
-    public void setMediaPlaying(boolean playing) {
-        mIsMediaPlaying = playing;
-        setNavigationIconHints(mNavigationIconHints, true);
-        PulseController mPulse = getPulseController();
-        if (mPulse != null) {
-            mPulse.setMediaPlaying(playing);
-        }
-    }
-
-    @Override
-    public void setPulseColors(boolean colorizedMedia, int[] colors) {
-        PulseController mPulse = getPulseController();
-        if (mPulse != null) {
-            mPulse.setPulseColors(colorizedMedia, colors);
-        }
-    }
-
-    ArrayList<String> getCurrentSequence() {
-        return mCurrentSequence;
-    }
-
-    float getButtonAlpha() {
-        return mCustomAlpha;
-    }
-
-    @Override
-    public Editor getEditor() {
-        return mEditor;
-    }
-
-    public void setEditMode(boolean on) {
-        Drawable d = mContext.getResources().getDrawable(R.drawable.smartbar_editmode_color);
-        setBackgroundColor(on ? d : null);
-    }
-
-    @Override
-    public void setResourceMap(NavbarOverlayResources resourceMap) {
-        super.setResourceMap(resourceMap);
-        updateCustomIconSize();
-        updateCurrentIcons();
-        recreateLayouts();
-        updateImeHintModeSettings();
-        updateContextLayoutSettings();
-        updateButtonLongpressDelay();
-        updateNavDoubletapSetting();
-    }
-
-    @Override
-    public BarTransitions getBarTransitions() {
-        return mBarTransitions;
-    }
-
-    @Override
-    public LightBarTransitionsController getLightTransitionsController() {
-        return mBarTransitions.getLightTransitionsController();
-    }
-
-    @Override
-    protected void onInflateFromUser() {
-        mEditor.notifyScreenOn(mScreenOn);
-    }
-
-    @Override
-    public void onRecreateStatusbar() {
-        mEditor.updateResources(null);
-        updateCurrentIcons();
-    }
-
-    @Override
-    public void updateNavbarThemedResources(Resources res){
-        super.updateNavbarThemedResources(res);
-        updateCurrentIcons();
-        updateButtonAlpha();
-    }
-
-    public void updateCurrentIcons() {
-        for (SmartButtonView button : DUActionUtils.getAllChildren(this, SmartButtonView.class)) {
-            setButtonDrawable(button);
-        }
-    }
-
-    public void setButtonDrawable(SmartButtonView button) {
-        ButtonConfig config = button.getButtonConfig();
-        if (config != null) {
-            Context ctx = getContext();
-            KeyButtonDrawable d = null;
-            SmartBackButtonDrawable bd = null;
-            Drawable light = null;
-            Drawable dark = null;
-            boolean isBackButton = TextUtils.equals(config.getTag(), Res.Softkey.BUTTON_BACK);
-            final boolean backAlt = (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
-            if (!config.hasCustomIcon()
-                    && config.isSystemAction()) {
-                light = mResourceMap.getActionDrawable(config.getActionConfig(ActionConfig.PRIMARY).getAction());
-                dark = mResourceMap.getDarkActionDrawable(config.getActionConfig(ActionConfig.PRIMARY).getAction());
-                if (isBackButton) {
-                    bd = SmartBackButtonDrawable.create(light, dark);
-                    bd.setImeVisible(backAlt);
-                    button.setImageDrawable(bd);
-                } else {
-                    d = KeyButtonDrawable.create(light, dark);
-                    button.setImageDrawable(d);
-                }
-            } else {
-                light = SmartBarHelper.resizeCustomButtonIcon(config.getCurrentIcon(ctx), ctx, mCustomIconScale).mutate();
-                dark = SmartBarHelper.resizeCustomButtonIcon(config.getCurrentIcon(ctx), ctx, mCustomIconScale).mutate();
-                dark.setColorFilter(new PorterDuffColorFilter(0x4D353535, PorterDuff.Mode.SRC_ATOP));
-                if (isBackButton) {
-                    bd = SmartBackButtonDrawable.create(light, dark);
-                    bd.setImeVisible(backAlt);
-                    button.setImageDrawable(bd);
-                } else {
-                    d = KeyButtonDrawable.create(light, dark);
-                    button.setImageDrawable(d);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void setNavigationIconHints(int hints) {
-        setNavigationIconHints(hints, false);
-    }
-
-    public SmartButtonView getSmartBackButton() {
-        return (SmartButtonView) mCurrentView.findViewWithTag(Res.Softkey.BUTTON_BACK);
-    }
-
-    public SmartButtonView getSmartHomeButton() {
-        return (SmartButtonView) mCurrentView.findViewWithTag(Res.Softkey.BUTTON_HOME);
-    }
-
-    public SmartButtonView getSmartMenuButton() {
-        return (SmartButtonView) mCurrentContext.findViewWithTag(Res.Softkey.MENU_BUTTON);
-    }
-
-    SmartButtonView getSmartImeSwitchButton() {
-        return (SmartButtonView) mCurrentContext.findViewWithTag(Res.Softkey.IME_SWITCHER);
-    }
-
-    SmartButtonView findCurrentButton(String tag) {
-        return (SmartButtonView) mCurrentView.findViewWithTag(tag);
-    }
-
-    SmartBackButtonDrawable getSmartBackButtonIcon() {
-        return (SmartBackButtonDrawable) getSmartBackButton().getDrawable();
-    }
-
-    private ViewGroup getHiddenContext() {
-        return (ViewGroup) (mCurrentContext == mContextRight ? mContextLeft : mContextRight);
-    }
-
-    private void setImeArrowsVisibility(View currentOrHidden, int visibility) {
-        ViewGroup contextLeft = (ViewGroup)currentOrHidden.findViewWithTag(Res.Softkey.CONTEXT_VIEW_LEFT);
-        contextLeft.findViewWithTag(Res.Softkey.IME_ARROW_LEFT).setVisibility(visibility);
-        ViewGroup contextRight = (ViewGroup)currentOrHidden.findViewWithTag(Res.Softkey.CONTEXT_VIEW_RIGHT);
-        contextRight.findViewWithTag(Res.Softkey.IME_ARROW_RIGHT).setVisibility(visibility);
-    }
-
-    private void setMediaArrowsVisibility(boolean backAlt) {
-        setMediaArrowsVisibility(mCurrentView, (!backAlt && !mRotateButtonVisible && (mIsMediaPlaying /*&& mAudioManager.isMusicActive()*/))
-                ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    private void setMediaArrowsVisibility(View currentOrHidden, int visibility) {
-        ViewGroup contextLeft = (ViewGroup)currentOrHidden.findViewWithTag(Res.Softkey.CONTEXT_VIEW_LEFT);
-        contextLeft.findViewWithTag(Res.Softkey.MEDIA_ARROW_LEFT).setVisibility(visibility);
-        ViewGroup contextRight = (ViewGroup)currentOrHidden.findViewWithTag(Res.Softkey.CONTEXT_VIEW_RIGHT);
-        contextRight.findViewWithTag(Res.Softkey.MEDIA_ARROW_RIGHT).setVisibility(visibility);
-    }
-
-    private void setRotationButtonVisibility() {
-        setRotationButtonVisibility(mCurrentView, mRotateButtonVisible ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    private void setRotationButtonVisibility(View currentOrHidden, int visibility) {
-        final ViewGroup contextRight = (ViewGroup)currentOrHidden.findViewWithTag(Res.Softkey.CONTEXT_VIEW_RIGHT);
-        View current = contextRight.findViewWithTag(Res.Softkey.ROTATION_BUTTON);
-        if (visibility == View.VISIBLE) {
-            current.setVisibility(View.VISIBLE);
-            current.setAlpha(0.0f);
-            current.animate()
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator _a) {
-                        }
-                    })
-                    .alpha(1.0f)
-                    .setDuration(100)
-                    .start();
-        } else {
-            current.animate()
-                    .alpha(0.0f)
-                    .setDuration(100)
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator _a) {
-                            current.setVisibility(View.INVISIBLE);
-                        }
-                    })
-                    .start();
-        }
-    }
-
-    @Override
-    protected boolean areAnyHintsActive() {
-        return super.areAnyHintsActive() || mShowMenu;
-    }
-
-    @Override
-    public void setNavigationIconHints(int hints, boolean force) {
-        if (!force && hints == mNavigationIconHints)
-            return;
-        mEditor.changeEditMode(BaseEditor.MODE_OFF);
-        final boolean backAlt = (hints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
-
-        mNavigationIconHints = hints;
-        getSmartBackButtonIcon().setImeVisible(backAlt);
-
-        setRotationButtonVisibility();
-        if (mRotateButtonVisible) {
-            getSmartImeSwitchButton().setVisibility(View.INVISIBLE);
-            setImeArrowsVisibility(mCurrentView, View.INVISIBLE);
-            setMediaArrowsVisibility(mCurrentView, View.INVISIBLE);
-        } else {
-            final boolean showImeButton = /*(*/(hints /*& StatusBarManager.NAVIGATION_HINT_IME_SHOWN)*/ != 0);
-            switch(mImeHintMode) {
-                case IME_HINT_MODE_ARROWS: // arrows
-                    getSmartImeSwitchButton().setVisibility(View.INVISIBLE);
-                    setImeArrowsVisibility(mCurrentView, backAlt ? View.VISIBLE : View.INVISIBLE);
-                    setMediaArrowsVisibility(mCurrentView, View.INVISIBLE);
-                    break;
-                case IME_AND_MEDIA_HINT_MODE_ARROWS:
-                    getSmartImeSwitchButton().setVisibility(View.INVISIBLE);
-                    setImeArrowsVisibility(mCurrentView, backAlt ? View.VISIBLE : View.INVISIBLE);
-                    setMediaArrowsVisibility(backAlt);
-                    break;
-                case IME_HINT_MODE_PICKER:
-                    getHiddenContext().findViewWithTag(Res.Softkey.IME_SWITCHER).setVisibility(INVISIBLE);
-                    getSmartImeSwitchButton().setVisibility(showImeButton ? View.VISIBLE : View.INVISIBLE);
-                    setImeArrowsVisibility(mCurrentView, View.INVISIBLE);
-                    setMediaArrowsVisibility(mCurrentView, View.INVISIBLE);
-                    break;
-                default: // hidden
-                    getSmartImeSwitchButton().setVisibility(View.INVISIBLE);
-                    setImeArrowsVisibility(mCurrentView, View.INVISIBLE);
-                    setMediaArrowsVisibility(mCurrentView, View.INVISIBLE);
-            }
-        }
-
-        // Update menu button in case the IME state has changed.
-        setMenuVisibility(mShowMenu, true);
-        setDisabledFlags(mDisabledFlags, true);
-
-        reapplyDarkIntensity();
-    }
-
-    private void reapplyDarkIntensity() {
-        mBarTransitions.reapplyDarkIntensity();
-    }
-
-    @Override
-    public void setDisabledFlags(int disabledFlags, boolean force) {
-        super.setDisabledFlags(disabledFlags, force);
-        mEditor.changeEditMode(BaseEditor.MODE_OFF);
-
-        final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
-        final boolean disableRecent = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
-        final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0)
-                && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0);
-
-        OpaLayout opaBack = (OpaLayout)getSmartBackButton().getParent();
-        opaBack.setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE);
-        OpaLayout opaHome = (OpaLayout)getSmartHomeButton().getParent();
-        opaHome.setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE);
-
-        // if any stock buttons are disabled, it's likely proper
-        // to disable custom buttons as well
-        for (String buttonTag : mCurrentSequence) {
-            SmartButtonView v = findCurrentButton(buttonTag);
-            OpaLayout opa = (OpaLayout) v.getParent();
-            if (v != null && v != getSmartBackButton() && v != getSmartHomeButton()) {
-                if (disableHome || disableBack || disableRecent) {
-                    opa.setVisibility(View.INVISIBLE);
-                } else {
-                    opa.setVisibility(View.VISIBLE);
-                }
-            }
-        }
-
-        if (disableHome) {
-            if (mImeHintMode == 3) {
-                setMediaArrowsVisibility(mCurrentView, View.INVISIBLE);
-            }
-            setRotationButtonVisibility(mCurrentView, View.INVISIBLE);
-        } else {
-            if (mImeHintMode == 3) {
-                final boolean backAlt = (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
-                setMediaArrowsVisibility(backAlt);
-            }
-            setRotationButtonVisibility();
-        }
-    }
-
-    @Override
-    public void notifyScreenStateChange(boolean screenOn) {
-        super.notifyScreenStateChange(screenOn);
-        mEditor.notifyScreenOn(screenOn);
-        ViewGroup hidden = (ViewGroup) getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        for (String buttonTag : mCurrentSequence) {
-            SmartButtonView v = findCurrentButton(buttonTag);
-            if (v != null) {
-                v.onScreenStateChanged(screenOn);
-            }
-            v = (SmartButtonView) hidden.findViewWithTag(buttonTag);
-            if (v != null) {
-                v.onScreenStateChanged(screenOn);
-            }
-        }
-        // onStopPulse may not have had time to animate alpha to proper value before screen went
-        // off. Reset alpha when we come back on. we should never have pulse running when this is called
-        final View currentNavButtons = getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final View hiddenNavButtons = getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final float fadeAlpha = mCustomAlpha;
-        if (screenOn && (currentNavButtons.getAlpha() != fadeAlpha || hiddenNavButtons.getAlpha() != fadeAlpha)) {
-            hiddenNavButtons.setAlpha(fadeAlpha);
-            currentNavButtons.setAlpha(fadeAlpha);
-        }
-    }
-
-    @Override
-    protected void onKeyguardShowing(boolean showing) {
-        mEditor.setKeyguardShowing(showing);
-        // TODO: temp hax to address package manager not having activity icons ready yet
-        // this is new to N, likely part of new optimized boot time. In theory, activity
-        // icons should be ready by the time lockscreen goes away. We will be stuck with this
-        // unless we can find a way for package manager to have activity icons ready sooner, but
-        // do so without slowing faster boot time.
-        if (!showing) {
-            ViewGroup hidden = (ViewGroup) getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-            for (String buttonTag : mCurrentSequence) {
-                SmartButtonView v = findCurrentButton(buttonTag);
-                if (v != null) {
-                    ButtonConfig config = v.getButtonConfig();
-                    if (config != null && v.getDrawable() == null) {
-                        v.setImageDrawable(config.getCurrentIcon(getContext()));
-                    }
-                }
-                v = (SmartButtonView) hidden.findViewWithTag(buttonTag);
-                if (v != null) {
-                    ButtonConfig config = v.getButtonConfig();
-                    if (config != null && v.getDrawable() == null) {
-                        v.setImageDrawable(config.getCurrentIcon(getContext()));
-                    }
-                }
-            }
-        }
-    }
-
-    @Override
-    public void setMenuVisibility(final boolean show) {
-        setMenuVisibility(show, false);
-    }
-
-    @Override
-    public void setMenuVisibility(final boolean show, final boolean force) {
-        if (!force && mShowMenu == show)
-            return;
-        mEditor.changeEditMode(BaseEditor.MODE_OFF);
-        mShowMenu = show;
-
-        // Only show Menu if IME switcher not shown.
-        final boolean shouldShow = mShowMenu &&
-                /*(*/(mNavigationIconHints == 0 /*& StatusBarManager.NAVIGATION_HINT_IME_SHOWN) == 0*/);
-        getSmartMenuButton().setVisibility(shouldShow ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    void recreateLayouts() {
-        mCurrentSequence.clear();
-        ArrayList<ButtonConfig> buttonConfigs;
-        buttonConfigs = Config.getConfig(getContext(),
-                ActionConstants.getDefaults(ActionConstants.SMARTBAR));
-        recreateButtonLayout(buttonConfigs, false, true);
-        recreateButtonLayout(buttonConfigs, true, false);
-        mContextLeft = mCurrentView.findViewWithTag(Res.Softkey.CONTEXT_VIEW_LEFT);
-        mContextRight = mCurrentView.findViewWithTag(Res.Softkey.CONTEXT_VIEW_RIGHT);
-        mCurrentContext = mHasLeftContext ? mContextLeft : mContextRight;
-        updateCurrentIcons();
-        setDisabledFlags(mDisabledFlags, true);
-        setMenuVisibility(mShowMenu, true);
-        setNavigationIconHints(mNavigationIconHints, true);
-        updateAnimationStyle();
-        updateButtonAlpha();
-        setOpaLandscape(mVertical);
-    }
-
-    @Override
-    protected void onDispose() {
-        removeAllViews();
-    }
-
-    @Override
-    protected void notifyBootCompleted() {
-        updateCurrentIcons();
-    }
-
-    @Override
-    public void reorient() {
-        mEditor.prepareToReorient();
-        super.reorient();
-        mBarTransitions.init();
-        mEditor.reorient(mCurrentView == mRot90);
-        mContextLeft = mCurrentView.findViewWithTag(Res.Softkey.CONTEXT_VIEW_LEFT);
-        mContextRight = mCurrentView.findViewWithTag(Res.Softkey.CONTEXT_VIEW_RIGHT);
-        mCurrentContext = mHasLeftContext ? mContextLeft : mContextRight;
-        setDisabledFlags(mDisabledFlags, true);
-        setMenuVisibility(mShowMenu, true);
-        setNavigationIconHints(mNavigationIconHints, true);
-        setButtonAlpha();
-        updatePulseNavButtonsOpacity();
-        setOpaLandscape(mVertical);
-    }
-
-    private void updateContextLayoutSettings() {
-        boolean onLeft = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                "smartbar_context_menu_mode", 0, UserHandle.USER_CURRENT) == 1;
-        if (mHasLeftContext != onLeft) {
-            getSmartMenuButton().setVisibility(INVISIBLE);
-            getSmartImeSwitchButton().setVisibility(INVISIBLE);
-            getHiddenContext().findViewWithTag(Res.Softkey.MENU_BUTTON).setVisibility(INVISIBLE);
-            getHiddenContext().findViewWithTag(Res.Softkey.IME_SWITCHER).setVisibility(INVISIBLE);
-            mHasLeftContext = onLeft;
-            mCurrentContext = mHasLeftContext ? mContextLeft : mContextRight;
-            setDisabledFlags(mDisabledFlags, true);
-            setMenuVisibility(mShowMenu, true);
-            setNavigationIconHints(mNavigationIconHints, true);
-        }
-    }
-
-    private void updateImeHintModeSettings() {
-        mImeHintMode = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                "smartbar_ime_hint_mode", IME_HINT_MODE_HIDDEN, UserHandle.USER_CURRENT);
-    }
-
-    private void updateAnimationStyle() {
-        mButtonAnimationStyle = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                "smartbar_button_animation_style", SmartButtonView.ANIM_STYLE_RIPPLE, UserHandle.USER_CURRENT);
-        ViewGroup hidden = (ViewGroup) getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        for (String buttonTag : mCurrentSequence) {
-            SmartButtonView v = findCurrentButton(buttonTag);
-            if (v != null) {
-                v.setAnimationStyle(mButtonAnimationStyle);
-            }
-            v = (SmartButtonView) hidden.findViewWithTag(buttonTag);
-            if (v != null) {
-                v.setAnimationStyle(mButtonAnimationStyle);
-            }
-        }
-    }
-
-    private void setOpaLandscape(boolean landscape) {
-        for (String buttonTag : mCurrentSequence) {
-            SmartButtonView v = findCurrentButton(buttonTag);
-            OpaLayout opa = (OpaLayout) v.getParent();
-            opa.setLandscape(landscape);
-        }
-    }
-
-    private void refreshImeHintMode() {
-        getSmartMenuButton().setVisibility(INVISIBLE);
-        getSmartImeSwitchButton().setVisibility(INVISIBLE);
-        getHiddenContext().findViewWithTag(Res.Softkey.MENU_BUTTON).setVisibility(INVISIBLE);
-        getHiddenContext().findViewWithTag(Res.Softkey.IME_SWITCHER).setVisibility(INVISIBLE);
-        setNavigationIconHints(mNavigationIconHints, true);
-    }
-
-    private void updateNavDoubletapSetting() {
-        isNavDoubleTapEnabled = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.SMARTBAR_DOUBLETAP_SLEEP, 1, UserHandle.USER_CURRENT) == 1;
-    }
-
-    void recreateButtonLayout(ArrayList<ButtonConfig> buttonConfigs, boolean landscape,
-            boolean updateCurrentButtons) {
-        int extraKeyWidth = getContext().getResources().getDimensionPixelSize(R.dimen.navigation_extra_key_width);
-        int extraKeyHeight = getContext().getResources().getDimensionPixelSize(R.dimen.navigation_extra_key_height);
-
-        LinearLayout navButtonLayout = (LinearLayout) (landscape ? mRot90
-                .findViewWithTag(Res.Common.NAV_BUTTONS) : mRot0
-                .findViewWithTag(Res.Common.NAV_BUTTONS));
-
-        navButtonLayout.removeAllViews();
-
-        if (buttonConfigs == null) {
-            buttonConfigs = Config.getConfig(getContext(),
-                    ActionConstants.getDefaults(ActionConstants.SMARTBAR));
-        }
-
-        // left context frame layout
-        FrameLayout leftContext = generateContextKeyLayout(landscape,
-                Res.Softkey.CONTEXT_VIEW_LEFT,
-                extraKeyWidth, extraKeyHeight);
-        SmartBarHelper.addViewToRoot(navButtonLayout, leftContext, landscape);
-
-        // tablets get a spacer here
-        if (BaseNavigationBar.sIsTablet) {
-            SmartBarHelper.addViewToRoot(navButtonLayout, SmartBarHelper.makeSeparator(getContext()),
-                    landscape);
-        }
-
-        // softkey buttons
-        ButtonConfig buttonConfig;
-        int dimen = SmartBarHelper.getButtonSize(getContext(), buttonConfigs.size(), landscape);
-
-        for (int j = 0; j < buttonConfigs.size(); j++) {
-            buttonConfig = buttonConfigs.get(j);
-            OpaLayout v = SmartBarHelper.generatePrimaryKey(getContext(), this, landscape, buttonConfig);
-            SmartBarHelper.updateButtonSize(v, dimen, landscape);
-            SmartButtonView sb = v.getButton();
-            SmartBarHelper.updateButtonSize(sb, dimen, landscape);
-            SmartBarHelper.addViewToRoot(navButtonLayout, v, landscape);
-
-            // only add once for master sequence holder
-            if (updateCurrentButtons) {
-                mCurrentSequence.add((String) v.getButton().getTag());
-            }
-
-            // phones get a spacer between each button
-            // tablets get a spacer before first and after last
-            if (j != buttonConfigs.size() - 1 && !BaseNavigationBar.sIsTablet) {
-                // adding spacers between buttons on phones
-                SmartBarHelper.addViewToRoot(navButtonLayout,
-                        SmartBarHelper.makeSeparator(getContext()), landscape);
-            }
-            if (j == buttonConfigs.size() - 1 && BaseNavigationBar.sIsTablet) {
-                // adding spacers after last button on tablets
-                SmartBarHelper.addViewToRoot(navButtonLayout,
-                        SmartBarHelper.makeSeparator(getContext()), landscape);
-            }
-        }
-
-        // right context frame layout
-        FrameLayout rightContext = generateContextKeyLayout(landscape,
-                Res.Softkey.CONTEXT_VIEW_RIGHT,
-                extraKeyWidth, extraKeyHeight);
-        SmartBarHelper.addViewToRoot(navButtonLayout, rightContext, landscape);
-    }
-
-    private FrameLayout generateContextKeyLayout(boolean landscape, String leftOrRight,
-            int extraKeyWidth, int extraKeyHeight) {
-        FrameLayout contextLayout = new FrameLayout(getContext());
-        contextLayout.setLayoutParams(new LinearLayout.LayoutParams(
-                landscape && !BaseNavigationBar.sIsTablet ? LayoutParams.MATCH_PARENT
-                        : extraKeyWidth, landscape && !BaseNavigationBar.sIsTablet ? extraKeyHeight
-                        : LayoutParams.MATCH_PARENT));
-        contextLayout.setTag(leftOrRight);
-
-        SmartButtonView menuKeyView = generateContextKey(landscape, Res.Softkey.MENU_BUTTON);
-        contextLayout.addView(menuKeyView);
-
-        SmartButtonView imeChanger = generateContextKey(landscape, Res.Softkey.IME_SWITCHER);
-        contextLayout.addView(imeChanger);
-
-        if (TextUtils.equals(Res.Softkey.CONTEXT_VIEW_LEFT, leftOrRight)) {
-            SmartButtonView imeArrowLeft = generateContextKey(landscape, Res.Softkey.IME_ARROW_LEFT);
-            contextLayout.addView(imeArrowLeft);
-            SmartButtonView mediaArrowLeft = generateContextKey(landscape, Res.Softkey.MEDIA_ARROW_LEFT);
-            contextLayout.addView(mediaArrowLeft);
-        } else if (TextUtils.equals(Res.Softkey.CONTEXT_VIEW_RIGHT, leftOrRight)) {
-            SmartButtonView imeArrowRight = generateContextKey(landscape, Res.Softkey.IME_ARROW_RIGHT);
-            contextLayout.addView(imeArrowRight);
-            SmartButtonView mediaArrowRight = generateContextKey(landscape, Res.Softkey.MEDIA_ARROW_RIGHT);
-            contextLayout.addView(mediaArrowRight);
-            SmartButtonView rotationButton = generateContextKey(landscape, Res.Softkey.ROTATION_BUTTON);
-            contextLayout.addView(rotationButton);
-        }
-
-        return contextLayout;
-    }
-
-    private SmartButtonView generateContextKey(boolean landscape, String tag) {
-        SmartButtonView v = new SmartButtonView(getContext());
-        ButtonConfig buttonConfig = new ButtonConfig(getContext());
-        ActionConfig actionConfig = new ActionConfig(getContext());
-
-        int extraKeyWidth = getContext().getResources().getDimensionPixelSize(R.dimen.navigation_extra_key_width);
-        int extraKeyHeight = getContext().getResources().getDimensionPixelSize(R.dimen.navigation_extra_key_height);
-
-        v.setHost(this);
-        v.setLayoutParams(new FrameLayout.LayoutParams(
-                landscape && !BaseNavigationBar.sIsTablet ? LayoutParams.MATCH_PARENT : extraKeyWidth,
-                landscape && !BaseNavigationBar.sIsTablet ? extraKeyHeight : LayoutParams.MATCH_PARENT));
-        v.loadRipple();
-        v.setScaleType(ScaleType.CENTER_INSIDE);
-
-        if (tag.equals(Res.Softkey.MENU_BUTTON)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_MENU);
-        } else if (tag.equals(Res.Softkey.IME_SWITCHER)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_IME_SWITCHER);
-        } else if (tag.equals(Res.Softkey.IME_ARROW_LEFT)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_LEFT);
-        } else if (tag.equals(Res.Softkey.IME_ARROW_RIGHT)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_RIGHT);
-        } else if (tag.equals(Res.Softkey.MEDIA_ARROW_LEFT)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_MEDIA_PREVIOUS);
-        } else if (tag.equals(Res.Softkey.MEDIA_ARROW_RIGHT)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_MEDIA_NEXT);
-        } else if (tag.equals(Res.Softkey.ROTATION_BUTTON)) {
-            actionConfig = new ActionConfig(getContext(), ActionHandler.SYSTEMUI_TASK_ROTATION);
-        }
-
-        buttonConfig.setActionConfig(actionConfig, ActionConfig.PRIMARY);
-        buttonConfig.setTag(tag);
-        v.setButtonConfig(buttonConfig);
-        v.setVisibility(View.INVISIBLE);
-        setButtonDrawable(v);
-        v.setContentDescription(buttonConfig.getActionConfig(ActionConfig.PRIMARY).getLabel());
-        v.setAnimationStyle(SmartButtonView.ANIM_STYLE_RIPPLE);
-        return v;
-    }
-
-    boolean isBarPulseFaded() {
-        if (mPulse == null) {
-            return false;
-        } else {
-            return mPulse.shouldDrawPulse();
-        }
-    }
-
-    private void updateButtonAlpha() {
-        mCustomAlpha = alphaIntToFloat(Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.NAVBAR_BUTTONS_ALPHA, 255, UserHandle.USER_CURRENT));
-        setButtonAlpha();
-    }
-
-    private void setButtonAlpha() {
-        // only set this if pulse is not running. If pulse is running
-        // we will set proper alpha when it ends
-        if (!isBarPulseFaded()) {
-            final View currentNavButtons = getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-            final View hiddenNavButtons = getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-            final float fadeAlpha = mCustomAlpha;
-            currentNavButtons.setAlpha(fadeAlpha);
-            hiddenNavButtons.setAlpha(fadeAlpha);
-        }
-    }
-
-    private void updatePulseNavButtonsOpacity() {
-        mPulseNavButtonsOpacity = alphaIntToFloat(Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.PULSE_CUSTOM_BUTTONS_OPACITY, 200, UserHandle.USER_CURRENT));
-        if (isBarPulseFaded()) {
-            final View currentNavButtons = getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-            final View hiddenNavButtons = getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-            currentNavButtons.setAlpha(mPulseNavButtonsOpacity);
-            hiddenNavButtons.setAlpha(mPulseNavButtonsOpacity);
-        }
-    }
-
-    @Override
-    public boolean onStartPulse(Animation animatePulseIn) {
-        if (mEditor.getMode() == BaseEditor.MODE_ON) {
-            mEditor.changeEditMode(BaseEditor.MODE_OFF);
-        }
-        final View currentNavButtons = getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final View hiddenNavButtons = getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final float fadeAlpha = mPulseNavButtonsOpacity;
-
-        // no need to animate the GONE view, but keep alpha inline since onStartPulse
-        // is a oneshot call
-        hiddenNavButtons.setAlpha(fadeAlpha);
-        currentNavButtons.animate()
-                .alpha(fadeAlpha)
-                .setDuration(PULSE_FADE_OUT_DURATION)
-                .setListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator _a) {
-                        // shouldn't be null, mPulse just called into us
-                        if (mPulse != null) {
-                            mPulse.turnOnPulse();
-                        }
-                    }
-                })
-                .start();
-        return true;
-    }
-
-    @Override
-    public void onStopPulse(Animation animatePulseOut) {
-        final View currentNavButtons = getCurrentView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final View hiddenNavButtons = getHiddenView().findViewWithTag(Res.Common.NAV_BUTTONS);
-        final float fadeAlpha = mCustomAlpha;
-        hiddenNavButtons.setAlpha(fadeAlpha);
-        currentNavButtons.animate()
-                .alpha(fadeAlpha)
-                .setDuration(PULSE_FADE_IN_DURATION)
-                .start();
-    }
-
-    private void updateButtonLongpressDelay() {
-        int systemLpDelay = ViewConfiguration.getLongPressTimeout();
-        int userDelay = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.SMARTBAR_LONGPRESS_DELAY, 0, UserHandle.USER_CURRENT);
-        switch (userDelay) {
-            default:
-                SmartButtonView.setButtonLongpressDelay(systemLpDelay - 100);
-                break;
-            case 1:
-                SmartButtonView.setButtonLongpressDelay(systemLpDelay);
-                break;
-            case 2:
-                SmartButtonView.setButtonLongpressDelay(systemLpDelay + 200);
-                break;
-        }
-    }
-
-    private void updateCustomIconSize() {
-        int iconSize = Settings.Secure.getIntForUser(getContext().getContentResolver(),
-                Settings.Secure.SMARTBAR_CUSTOM_ICON_SIZE, 60, UserHandle.USER_CURRENT);
-        mCustomIconScale = 0.01f * iconSize;
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartButtonRipple.java b/src/com/android/systemui/navigation/smartbar/SmartButtonRipple.java
deleted file mode 100644
index 7f6622e..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartButtonRipple.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.CanvasProperty;
-import android.graphics.Color;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.graphics.drawable.Drawable;
-import android.view.DisplayListCanvas;
-import android.view.RenderNodeAnimator;
-import android.view.View;
-import android.view.animation.Interpolator;
-import android.view.animation.PathInterpolator;
-
-import com.android.internal.utils.du.DUActionUtils;
-import com.android.systemui.R;
-import com.android.systemui.navigation.DarkIntensity;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-
-public class SmartButtonRipple extends Drawable implements DarkIntensity{
-
-    private static final float GLOW_MAX_SCALE_FACTOR = 1.35f;
-    private static final float GLOW_MAX_ALPHA = 0.2f;
-    private static final float GLOW_MAX_ALPHA_DARK = 0.1f;
-    private static final int ANIMATION_DURATION_SCALE = 350;
-    private static final int ANIMATION_DURATION_FADE = 450;
-
-    private Paint mRipplePaint;
-    private CanvasProperty<Float> mLeftProp;
-    private CanvasProperty<Float> mTopProp;
-    private CanvasProperty<Float> mRightProp;
-    private CanvasProperty<Float> mBottomProp;
-    private CanvasProperty<Float> mRxProp;
-    private CanvasProperty<Float> mRyProp;
-    private CanvasProperty<Paint> mPaintProp;
-    private float mGlowAlpha = 0f;
-    private float mGlowScale = 1f;
-    private boolean mPressed;
-    private boolean mDrawingHardwareGlow;
-    private int mMaxWidth;
-    private boolean mLastDark;
-    private boolean mDark;
-
-    private final Interpolator mInterpolator = new LogInterpolator();
-    private final Interpolator mAlphaExitInterpolator = new PathInterpolator(0.4f, 0f, 1f, 1f);
-    private boolean mSupportHardware;
-    private final View mTargetView;
-
-    private final HashSet<Animator> mRunningAnimations = new HashSet<>();
-    private final ArrayList<Animator> mTmpArray = new ArrayList<>();
-
-    private int mRippleColor;
-    private boolean mEnabled;
-
-    public SmartButtonRipple(Context ctx, View targetView) {
-        final Context context = ctx;
-        mMaxWidth = context.getResources().getDimensionPixelSize(R.dimen.key_button_ripple_max_width);
-        mTargetView = targetView;
-        mRippleColor = context.getResources().getColor(R.color.navbutton_ripple_color);
-    }
-
-    public void setDarkIntensity(float darkIntensity) {
-        mDark = darkIntensity >= 0.5f;
-    }
-
-    private Paint getRipplePaint() {
-        if (mRipplePaint == null) {
-            mRipplePaint = new Paint();
-            mRipplePaint.setAntiAlias(true);
-            mRipplePaint.setColor(mLastDark ? 0xff000000 : mRippleColor);
-        }
-        return mRipplePaint;
-    }
-
-    private void drawSoftware(Canvas canvas) {
-        if (mGlowAlpha > 0f) {
-            final Paint p = getRipplePaint();
-            p.setAlpha((int)(mGlowAlpha * 255f));
-
-            final float w = getBounds().width();
-            final float h = getBounds().height();
-            final boolean horizontal = w > h;
-            final float diameter = getRippleSize() * mGlowScale;
-            final float radius = diameter * .5f;
-            final float cx = w * .5f;
-            final float cy = h * .5f;
-            final float rx = horizontal ? radius : cx;
-            final float ry = horizontal ? cy : radius;
-            final float corner = horizontal ? cy : cx;
-
-            canvas.drawRoundRect(cx - rx, cy - ry,
-                    cx + rx, cy + ry,
-                    corner, corner, p);
-        }
-    }
-
-    public void setEnabled(boolean enabled) {
-        mEnabled = enabled;
-    }
-
-    @Override
-    public void draw(Canvas canvas) {
-        if (mEnabled) {
-            mSupportHardware = canvas.isHardwareAccelerated();
-            if (mSupportHardware) {
-                drawHardware((DisplayListCanvas) canvas);
-            } else {
-                drawSoftware(canvas);
-            }
-        }
-    }
-
-    @Override
-    public void setAlpha(int alpha) {
-        // Not supported.
-    }
-
-    @Override
-    public void setColorFilter(ColorFilter colorFilter) {
-        // Not supported.
-    }
-
-    @Override
-    public int getOpacity() {
-        return PixelFormat.TRANSLUCENT;
-    }
-
-    private boolean isHorizontal() {
-        return getBounds().width() > getBounds().height();
-    }
-
-    private void drawHardware(DisplayListCanvas c) {
-        if (mDrawingHardwareGlow) {
-            c.drawRoundRect(mLeftProp, mTopProp, mRightProp, mBottomProp, mRxProp, mRyProp,
-                    mPaintProp);
-        }
-    }
-
-    public float getGlowAlpha() {
-        return mGlowAlpha;
-    }
-
-    public void setGlowAlpha(float x) {
-        mGlowAlpha = x;
-        invalidateSelf();
-    }
-
-    public float getGlowScale() {
-        return mGlowScale;
-    }
-
-    public void setGlowScale(float x) {
-        mGlowScale = x;
-        invalidateSelf();
-    }
-
-    private float getMaxGlowAlpha() {
-        return mLastDark ? GLOW_MAX_ALPHA_DARK : GLOW_MAX_ALPHA;
-    }
-
-    @Override
-    protected boolean onStateChange(int[] state) {
-        boolean pressed = false;
-        for (int i = 0; i < state.length; i++) {
-            if (state[i] == android.R.attr.state_pressed) {
-                pressed = true;
-                break;
-            }
-        }
-        if (pressed != mPressed) {
-            setPressed(pressed);
-            mPressed = pressed;
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    @Override
-    public void jumpToCurrentState() {
-        cancelAnimations();
-    }
-
-    @Override
-    public boolean isStateful() {
-        return true;
-    }
-
-    @Override
-    public boolean hasFocusStateSpecified() {
-        return true;
-    }
-
-    public void setPressed(boolean pressed) {
-        if (mDark != mLastDark && pressed) {
-            mRipplePaint = null;
-            mLastDark = mDark;
-        }
-        if (mSupportHardware) {
-            setPressedHardware(pressed);
-        } else {
-            setPressedSoftware(pressed);
-        }
-    }
-
-    private void cancelAnimations() {
-        mTmpArray.addAll(mRunningAnimations);
-        int size = mTmpArray.size();
-        for (int i = 0; i < size; i++) {
-            Animator a = mTmpArray.get(i);
-            a.cancel();
-        }
-        mTmpArray.clear();
-        mRunningAnimations.clear();
-    }
-
-    private void setPressedSoftware(boolean pressed) {
-        if (pressed) {
-            enterSoftware();
-        } else {
-            exitSoftware();
-        }
-    }
-
-    private void enterSoftware() {
-        cancelAnimations();
-        mGlowAlpha = getMaxGlowAlpha();
-        ObjectAnimator scaleAnimator = ObjectAnimator.ofFloat(this, "glowScale",
-                0f, GLOW_MAX_SCALE_FACTOR);
-        scaleAnimator.setInterpolator(mInterpolator);
-        scaleAnimator.setDuration(ANIMATION_DURATION_SCALE);
-        scaleAnimator.addListener(mAnimatorListener);
-        scaleAnimator.start();
-        mRunningAnimations.add(scaleAnimator);
-    }
-
-    private void exitSoftware() {
-        ObjectAnimator alphaAnimator = ObjectAnimator.ofFloat(this, "glowAlpha", mGlowAlpha, 0f);
-        alphaAnimator.setInterpolator(mAlphaExitInterpolator);
-        alphaAnimator.setDuration(ANIMATION_DURATION_FADE);
-        alphaAnimator.addListener(mAnimatorListener);
-        alphaAnimator.start();
-        mRunningAnimations.add(alphaAnimator);
-    }
-
-    private void setPressedHardware(boolean pressed) {
-        if (pressed) {
-            enterHardware();
-        } else {
-            exitHardware();
-        }
-    }
-
-    /**
-     * Sets the left/top property for the round rect to {@code prop} depending on whether we are
-     * horizontal or vertical mode.
-     */
-    private void setExtendStart(CanvasProperty<Float> prop) {
-        if (isHorizontal()) {
-            mLeftProp = prop;
-        } else {
-            mTopProp = prop;
-        }
-    }
-
-    private CanvasProperty<Float> getExtendStart() {
-        return isHorizontal() ? mLeftProp : mTopProp;
-    }
-
-    /**
-     * Sets the right/bottom property for the round rect to {@code prop} depending on whether we are
-     * horizontal or vertical mode.
-     */
-    private void setExtendEnd(CanvasProperty<Float> prop) {
-        if (isHorizontal()) {
-            mRightProp = prop;
-        } else {
-            mBottomProp = prop;
-        }
-    }
-
-    private CanvasProperty<Float> getExtendEnd() {
-        return isHorizontal() ? mRightProp : mBottomProp;
-    }
-
-    private int getExtendSize() {
-        return isHorizontal() ? getBounds().width() : getBounds().height();
-    }
-
-    private int getRippleSize() {
-        int size = isHorizontal() ? getBounds().width() : getBounds().height();
-        return Math.min(size, mMaxWidth);
-    }
-
-    private void enterHardware() {
-        cancelAnimations();
-        mDrawingHardwareGlow = true;
-        setExtendStart(CanvasProperty.createFloat(getExtendSize() / 2));
-        final RenderNodeAnimator startAnim = new RenderNodeAnimator(getExtendStart(),
-                getExtendSize()/2 - GLOW_MAX_SCALE_FACTOR * getRippleSize()/2);
-        startAnim.setDuration(ANIMATION_DURATION_SCALE);
-        startAnim.setInterpolator(mInterpolator);
-        startAnim.addListener(mAnimatorListener);
-        startAnim.setTarget(mTargetView);
-
-        setExtendEnd(CanvasProperty.createFloat(getExtendSize() / 2));
-        final RenderNodeAnimator endAnim = new RenderNodeAnimator(getExtendEnd(),
-                getExtendSize()/2 + GLOW_MAX_SCALE_FACTOR * getRippleSize()/2);
-        endAnim.setDuration(ANIMATION_DURATION_SCALE);
-        endAnim.setInterpolator(mInterpolator);
-        endAnim.addListener(mAnimatorListener);
-        endAnim.setTarget(mTargetView);
-
-        if (isHorizontal()) {
-            mTopProp = CanvasProperty.createFloat(0f);
-            mBottomProp = CanvasProperty.createFloat(getBounds().height());
-            mRxProp = CanvasProperty.createFloat(getBounds().height()/2);
-            mRyProp = CanvasProperty.createFloat(getBounds().height()/2);
-        } else {
-            mLeftProp = CanvasProperty.createFloat(0f);
-            mRightProp = CanvasProperty.createFloat(getBounds().width());
-            mRxProp = CanvasProperty.createFloat(getBounds().width()/2);
-            mRyProp = CanvasProperty.createFloat(getBounds().width()/2);
-        }
-
-        mGlowScale = GLOW_MAX_SCALE_FACTOR;
-        mGlowAlpha = getMaxGlowAlpha();
-        mRipplePaint = getRipplePaint();
-        mRipplePaint.setAlpha((int) (mGlowAlpha * 255));
-        mPaintProp = CanvasProperty.createPaint(mRipplePaint);
-
-        startAnim.start();
-        endAnim.start();
-        mRunningAnimations.add(startAnim);
-        mRunningAnimations.add(endAnim);
-
-        invalidateSelf();
-    }
-
-    private void exitHardware() {
-        mPaintProp = CanvasProperty.createPaint(getRipplePaint());
-        final RenderNodeAnimator opacityAnim = new RenderNodeAnimator(mPaintProp,
-                RenderNodeAnimator.PAINT_ALPHA, 0);
-        opacityAnim.setDuration(ANIMATION_DURATION_FADE);
-        opacityAnim.setInterpolator(mAlphaExitInterpolator);
-        opacityAnim.addListener(mAnimatorListener);
-        opacityAnim.setTarget(mTargetView);
-
-        opacityAnim.start();
-        mRunningAnimations.add(opacityAnim);
-
-        invalidateSelf();
-    }
-
-    private final AnimatorListenerAdapter mAnimatorListener =
-            new AnimatorListenerAdapter() {
-        @Override
-        public void onAnimationEnd(Animator animation) {
-            mRunningAnimations.remove(animation);
-            if (mRunningAnimations.isEmpty() && !mPressed) {
-                mDrawingHardwareGlow = false;
-                invalidateSelf();
-            }
-        }
-    };
-
-    /**
-     * Interpolator with a smooth log deceleration
-     */
-    private static final class LogInterpolator implements Interpolator {
-        @Override
-        public float getInterpolation(float input) {
-            return 1 - (float) Math.pow(400, -input * 1.4);
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/smartbar/SmartButtonView.java b/src/com/android/systemui/navigation/smartbar/SmartButtonView.java
deleted file mode 100644
index d2ec8ac..0000000
--- a/src/com/android/systemui/navigation/smartbar/SmartButtonView.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.navigation.smartbar;
-
-import com.android.systemui.navigation.smartbar.SmartBarView;
-import com.android.systemui.navigation.smartbar.SmartButtonRipple;
-import com.android.systemui.navigation.OpaLayout;
-import com.android.internal.utils.du.ActionHandler;
-import com.android.internal.utils.du.Config.ActionConfig;
-import com.android.internal.utils.du.Config.ButtonConfig;
-import com.android.systemui.navigation.Res;
-
-import android.animation.ObjectAnimator;
-import android.app.ActivityManager;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.media.AudioManager;
-import android.os.Handler;
-import android.os.Looper;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-//import android.content.res.ThemeConfig;
-import android.view.HapticFeedbackConstants;
-import android.view.MotionEvent;
-import android.view.SoundEffectConstants;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.animation.OvershootInterpolator;
-import android.widget.ImageView;
-
-public class SmartButtonView extends ImageView {
-    private static final String TAG = "StatusBar.KeyButtonView";
-    private static final boolean DEBUG = false;
-
-    // AOSP values feel rather slow, shave off some slack
-    // changing double tap timeout also affects single tap
-    // so we can't play so much with it
-    private static final int DT_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
-    private static int sDoubleTapTimeout = DT_TIMEOUT - 100;
-
-    private static int sLongPressTimeout;
-
-    public static final int ANIM_STYLE_RIPPLE = 0;
-    public static final int ANIM_STYLE_FLIP = 2;
-    public static final int ANIM_STYLE_PIXEL = 3;
-    public static final int ANIM_STYLE_PIXEL_HOME = 4;
-    public static final int ANIM_STYLE_PIXEL_HOME_RIPPLE = 5;
-
-    private boolean isDoubleTapPending;
-    private boolean wasConsumed;
-    private boolean mInEditMode;
-    private int mAnimStyle = 0;
-    private ObjectAnimator mFlipAnim = null;
-    private ButtonConfig mConfig;
-    private SmartBarView mHost;
-
-    private boolean mIsRippleEnabled;
-
-    static AudioManager mAudioManager;
-    static AudioManager getAudioManager(Context context) {
-        if (mAudioManager == null)
-            mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        return mAudioManager;
-    }
-
-    public SmartButtonView(Context context) {
-        this(context, null);
-    }
-
-    public SmartButtonView(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public SmartButtonView(Context context, AttributeSet attrs, int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    public SmartButtonView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        setClickable(true);
-        setLongClickable(false);
-        mAudioManager = getAudioManager(context);
-    }
-
-    public void setHost(SmartBarView host) {
-        mHost = host;
-    }
-
-    public void setAnimationStyle(int style) {
-        mAnimStyle = style;
-        switch (style) {
-            case ANIM_STYLE_RIPPLE:
-                setPixelEnabled(false, false, false);
-                setRippleEnabled(true);
-                mFlipAnim = null;
-                break;
-            case ANIM_STYLE_FLIP:
-                setPixelEnabled(false, false, false);
-                setRippleEnabled(false);
-                break;
-            case ANIM_STYLE_PIXEL:
-                setPixelEnabled(true, false, false);
-                setRippleEnabled(false);
-                mFlipAnim = null;
-                break;
-            case ANIM_STYLE_PIXEL_HOME:
-                setPixelEnabled(true, true, false);
-                setRippleEnabled(false);
-                mFlipAnim = null;
-                break;
-            case ANIM_STYLE_PIXEL_HOME_RIPPLE:
-                setPixelEnabled(true, true, true);
-                mFlipAnim = null;
-                break;
-        }
-    }
-
-    public void setPixelEnabled(boolean enabled, boolean homeOnly, boolean rippleForOthers) {
-        if (getParent() != null && getParent() instanceof OpaLayout) {
-            OpaLayout opa = (OpaLayout)getParent();
-            opa.setOpaEnabled(enabled);
-            if (enabled) {
-                boolean isHomeButton = TextUtils.equals(mConfig.getTag(), Res.Softkey.BUTTON_HOME);
-                if (!rippleForOthers) {
-                    opa.setOpaVisibilityHome(homeOnly, isHomeButton);
-                } else {
-                    if (isHomeButton) {
-                        opa.setOpaVisibilityHome(homeOnly, isHomeButton);
-                    } else {
-                        opa.setOpaEnabled(!enabled);
-                        setRippleEnabled(enabled);
-                    }
-                }
-            }
-        }
-    }
-
-    private void setRippleEnabled(boolean enabled) {
-        mIsRippleEnabled = enabled;
-        if (getBackground() != null && getBackground() instanceof SmartButtonRipple) {
-            ((SmartButtonRipple) getBackground()).setEnabled(enabled);
-        }
-    }
-
-    public void setRippleDarkIntensity(float darkIntensity) {
-        if (mIsRippleEnabled && getBackground() != null && getBackground() instanceof SmartButtonRipple) {
-            ((SmartButtonRipple) getBackground()).setDarkIntensity(darkIntensity);
-        }
-    }
-
-    private void fireActionIfSecure(String action) {
-        final boolean keyguardShowing = mHost.isKeyguardShowing();
-        if (!keyguardShowing
-                || (keyguardShowing && ActionHandler.SYSTEMUI_TASK_BACK.equals(action))) {
-            if (ActionHandler.SYSTEMUI_TASK_ROTATION.equals(action)) {
-                mHost.rotate();
-            } else {
-                ActionHandler.performTask(mContext, action);
-            }
-        }
-    }
-
-    public void loadRipple() {
-        setBackground(new SmartButtonRipple(mContext, this));
-    }
-
-    public void setEditMode(boolean editMode) {
-        mInEditMode = editMode;
-        if (getParent() != null && getParent() instanceof OpaLayout) {
-            OpaLayout opa = (OpaLayout)getParent();
-            opa.setEditMode(editMode);
-        }
-    }
-
-    public void setButtonConfig(ButtonConfig config) {
-        mConfig = config;
-        setTag(config.getTag());
-        setLongClickable(hasLongAction());
-    }
-
-    private boolean hasSingleAction() {
-        return mConfig != null && !mConfig.getActionConfig(ActionConfig.PRIMARY).hasNoAction();
-    }
-
-    private boolean hasLongAction() {
-        return mConfig != null && !mConfig.getActionConfig(ActionConfig.SECOND).hasNoAction();
-    }
-
-    private boolean hasDoubleAction() {
-        return mConfig != null && !mConfig.getActionConfig(ActionConfig.THIRD).hasNoAction();
-    }
-
-    private boolean hasRecentAction() {
-        return hasRecentsSingle() || hasRecentsLong() || hasRecentsDouble();
-    }
-
-    private boolean hasRecentsSingle() {
-        return mConfig != null && mConfig.getActionConfig(ActionConfig.PRIMARY).isActionRecents();
-    }
-
-    private boolean hasRecentsLong() {
-        return mConfig != null && mConfig.getActionConfig(ActionConfig.SECOND).isActionRecents();
-    }
-
-    private boolean hasRecentsDouble() {
-        return mConfig != null && mConfig.getActionConfig(ActionConfig.THIRD).isActionRecents();
-    }
-
-    private boolean isImeLeftArrowButton() {
-        final String action = mConfig.getActionConfig(ActionConfig.PRIMARY).getAction();
-        return "task_ime_navigation_left".equals(action);
-    }
-
-    private boolean isImeRightArrowButton() {
-        final String action = mConfig.getActionConfig(ActionConfig.PRIMARY).getAction();
-        return "task_ime_navigation_right".equals(action);
-    }
-
-    public ButtonConfig getButtonConfig() {
-        return mConfig;
-    }
-
-    private boolean mIsEmptyFakeButton() {
-        return !hasSingleAction()
-                && !hasLongAction()
-                && !hasDoubleAction();
-    }
-
-    // special case: double tap for screen off we never capture up motion event
-    // add/remove listeners if screen on/off
-    public void onScreenStateChanged(boolean screenOn) {
-        wasConsumed = false;
-        setPressed(false);
-    }
-
-    private void checkAndDoFlipAnim() {
-        if (mAnimStyle == ANIM_STYLE_FLIP) {
-            mFlipAnim = ObjectAnimator.ofFloat(this, "rotationY", 0f, 360f);
-            mFlipAnim.setDuration(1500);
-            mFlipAnim.setInterpolator(new OvershootInterpolator());
-            mFlipAnim.start();
-        }
-    }
-
-    public boolean onTouchEvent(MotionEvent ev) {
-        if (mIsEmptyFakeButton())
-                return false;
-
-        OpaLayout opa = null;
-        if (getParent() != null && getParent() instanceof OpaLayout) {
-            opa = (OpaLayout)getParent();
-        }
-        if (mInEditMode) {
-            return false;
-        }
-
-        final int action = ev.getAction();
-        boolean imeLeft = mConfig != null && isImeLeftArrowButton();
-        boolean imeRight = mConfig != null && isImeRightArrowButton();
-        switch (action) {
-            case MotionEvent.ACTION_DOWN:
-                setPressed(true);
-                if (opa != null) {
-                    opa.startDownAction();
-                }
-                checkAndDoFlipAnim();
-                performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-                playSoundEffect(SoundEffectConstants.CLICK);
-                if (imeLeft || imeRight) {
-                    moveKbCursor(imeRight, true);
-                } else if (isDoubleTapPending) {
-                    isDoubleTapPending = false;
-                    wasConsumed = true;
-                    removeCallbacks(mDoubleTapTimeout);
-                    doDoubleTap();
-                } else {
-                    wasConsumed = false;
-                    if (hasRecentAction()) {
-                        ActionHandler.preloadRecentApps();
-                    }
-                    if (hasLongAction()) {
-                        removeCallbacks(mCheckLongPress);
-                        postDelayed(mCheckLongPress, sLongPressTimeout);
-                    }
-                }
-                break;
-            case MotionEvent.ACTION_CANCEL:
-                if (hasLongAction()) {
-                    removeCallbacks(mCheckLongPress);
-                }
-                removeCallbacks(mDoubleTapTimeout);
-                wasConsumed = true;
-                isDoubleTapPending = false;
-                setPressed(false); // this will stop also the ime arrows handler
-                if (opa != null) {
-                    opa.startCancelAction();
-                }
-                break;
-            case MotionEvent.ACTION_UP:
-                setPressed(false);
-                checkAndDoFlipAnim();
-                if (opa != null) {
-                    opa.startCancelAction();
-                }
-                if (hasLongAction()) {
-                    removeCallbacks(mCheckLongPress);
-                }
-                if (hasDoubleAction()) {
-                    if (wasConsumed) {
-                        wasConsumed = false;
-                        return true;
-                    }
-                    isDoubleTapPending = true;
-                    postDelayed(mDoubleTapTimeout, sDoubleTapTimeout);
-                } else {
-                    if (!imeLeft && !imeRight && !wasConsumed && hasSingleAction()) {
-                        doSinglePress();
-                    }
-                }
-                break;
-        }
-        return true;
-    }
-
-    private void moveKbCursor(boolean right, boolean firstTrigger) {
-        ActionHandler.performTask(mContext, right ? ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_RIGHT
-                : ActionHandler.SYSTEMUI_TASK_IME_NAVIGATION_LEFT);
-        final Handler handler = new Handler(Looper.getMainLooper());
-        final Runnable r = new Runnable() {
-            @Override
-            public void run() {
-                if (isPressed()) {
-                    moveKbCursor(right, false);
-                }
-            }
-        };
-        if (isPressed()) {
-            handler.postDelayed(r, firstTrigger ? 500 : 250);
-        }
-    }
-
-    private void doSinglePress() {
-        isDoubleTapPending = false;
-        if (mConfig != null) {
-            String action = mConfig.getActionConfig(ActionConfig.PRIMARY).getAction();
-            fireActionIfSecure(action);
-            sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
-        }
-    }
-
-    private void doLongPress() {
-        isDoubleTapPending = false;
-        wasConsumed = true;
-        if (mConfig != null) {
-            String action = mConfig.getActionConfig(ActionConfig.SECOND).getAction();
-            fireActionIfSecure(action);
-            performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-            playSoundEffect(SoundEffectConstants.CLICK);
-            sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
-        }
-    }
-
-    private void doDoubleTap() {
-        isDoubleTapPending = false;
-        wasConsumed = true;
-        if (mConfig != null) {
-            String action = mConfig.getActionConfig(ActionConfig.THIRD).getAction();
-            fireActionIfSecure(action);
-        }
-    }
-
-    private Runnable mDoubleTapTimeout = new Runnable() {
-        @Override
-        public void run() {
-            wasConsumed = false;
-            isDoubleTapPending = false;
-            doSinglePress();
-        }
-    };
-
-    private Runnable mCheckLongPress = new Runnable() {
-        public void run() {
-            if (isPressed()) {
-                wasConsumed = true;
-                isDoubleTapPending = false;
-                removeCallbacks(mDoubleTapTimeout);
-                doLongPress();
-            }
-        }
-    };
-
-    public void playSoundEffect(int soundConstant) {
-        mAudioManager.playSoundEffect(soundConstant, ActivityManager.getCurrentUser());
-    };
-
-    protected static void setButtonLongpressDelay(int delay) {
-        sLongPressTimeout = delay;
-    }
-}
diff --git a/src/com/android/systemui/navigation/utils/SmartObserver.java b/src/com/android/systemui/navigation/utils/SmartObserver.java
deleted file mode 100644
index b0500f6..0000000
--- a/src/com/android/systemui/navigation/utils/SmartObserver.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Copyright (C) 2016 The DirtyUnicorns Project
- * 
- * @author: Randall Rushing <randall.rushing@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * A simple, semi-pojo ContentObserver subclass to eliminate too many observers
- * in too many places. A class implementing SmartObservable simply provides
- * the desired uris as a set to observe and handles onChange(Uri uri) as normal
- *
- */
-
-package com.android.systemui.navigation.utils;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import android.content.ContentResolver;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.text.TextUtils;
-
-public class SmartObserver extends ContentObserver {
-    public interface SmartObservable {
-        public Set<Uri> onGetUris();
-        public void onChange(Uri uri);
-    }
-
-    private ContentResolver mResolver;
-    private Set<SmartObservable> mListeners = new HashSet<SmartObservable>();
-
-    public SmartObserver(Handler handler, ContentResolver resolver) {
-        super(handler);
-        mResolver = resolver;
-    }
-
-    public void addListener(SmartObservable listener) {
-        if (listener != null) {
-            mListeners.add(listener);
-            for (Uri uri : listener.onGetUris()) {
-                mResolver.registerContentObserver(uri, false, this, UserHandle.USER_ALL);
-            }
-        }
-    }
-
-    /**
-     * Just in case the ContentObserver is unregistered
-     * but we want to keep callbacks registered
-     */
-    public void registerListeners() {
-        for (SmartObservable listener : mListeners) {
-            for (Uri uriz : listener.onGetUris()) {
-                mResolver.registerContentObserver(uriz, false, this, UserHandle.USER_ALL);
-            }
-        }
-    }
-
-    public void cleanUp() {
-        mListeners.clear();
-        mResolver.unregisterContentObserver(this);
-    }
-
-    @Override
-    public void onChange(boolean selfChange, Uri uri) {
-        for (SmartObservable listener : mListeners) {
-            for (Uri uriz : listener.onGetUris()) {
-                if (TextUtils.equals(uriz.toString(), uri.toString())) {
-                    listener.onChange(uri);
-                }
-            }
-        }
-    }
-}
diff --git a/src/com/android/systemui/navigation/pulse/FadingBlockRenderer.java b/src/com/android/systemui/pulse/FadingBlockRenderer.java
similarity index 85%
rename from src/com/android/systemui/navigation/pulse/FadingBlockRenderer.java
rename to src/com/android/systemui/pulse/FadingBlockRenderer.java
index b37b882..3219cb1 100644
--- a/src/com/android/systemui/navigation/pulse/FadingBlockRenderer.java
+++ b/src/com/android/systemui/pulse/FadingBlockRenderer.java
@@ -14,7 +14,7 @@
  *
  */
 
-package com.android.systemui.navigation.pulse;
+package com.android.systemui.pulse;
 
 import android.content.ContentResolver;
 import android.content.Context;
@@ -36,8 +36,8 @@
 
 import com.android.internal.util.NotificationColorUtil;
 import com.android.systemui.R;
-import com.android.systemui.navigation.pulse.PulseController.PulseObserver;
-import com.android.systemui.navigation.utils.ColorAnimator;
+import com.android.systemui.pulse.PulseController.PulseObserver;
+import com.android.systemui.utils.ColorAnimator;
 
 public class FadingBlockRenderer extends Renderer implements ColorAnimator.ColorAnimationListener {
     //private static final int DEF_PAINT_ALPHA = (byte) 188;
@@ -201,35 +201,35 @@
         void register() {
             ContentResolver resolver = mContext.getContentResolver();
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_COLOR), false, this,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_COLOR), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_LAVALAMP_ENABLED), false,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_LAVALAMP_ENABLED), false,
                     this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_LAVALAMP_SPEED), false,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_LAVALAMP_SPEED), false,
                     this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_CUSTOM_DIMEN), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_CUSTOM_DIMEN), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_CUSTOM_DIV), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_CUSTOM_DIV), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_FILLED_BLOCK_SIZE), false,
+                    Settings.System.getUriFor(Settings.System.PULSE_FILLED_BLOCK_SIZE), false,
                     this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_EMPTY_BLOCK_SIZE), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_EMPTY_BLOCK_SIZE), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_CUSTOM_FUDGE_FACTOR), false,
+                    Settings.System.getUriFor(Settings.System.PULSE_CUSTOM_FUDGE_FACTOR), false,
                     this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_AUTO_COLOR), false,
+                    Settings.System.getUriFor(Settings.System.PULSE_AUTO_COLOR), false,
                     this,
                     UserHandle.USER_ALL);
         }
@@ -243,23 +243,23 @@
             ContentResolver resolver = mContext.getContentResolver();
             final Resources res = mContext.getResources();
 
-            mAutoColor = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_AUTO_COLOR, 0,
+            mAutoColor = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_AUTO_COLOR, 0,
                     UserHandle.USER_CURRENT) == 1;
 
-            mLavaLampEnabled = !mAutoColor && Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.FLING_PULSE_LAVALAMP_ENABLED, 1, UserHandle.USER_CURRENT) == 1;
+            mLavaLampEnabled = !mAutoColor && Settings.System.getIntForUser(resolver,
+                    Settings.System.FLING_PULSE_LAVALAMP_ENABLED, 1, UserHandle.USER_CURRENT) == 1;
 
-            mUserColor = Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.FLING_PULSE_COLOR,
+            mUserColor = Settings.System.getIntForUser(resolver,
+                    Settings.System.FLING_PULSE_COLOR,
                     mContext.getResources().getColor(R.color.config_pulseFillColor),
                     UserHandle.USER_CURRENT);
             if (!mLavaLampEnabled) {
                 int lastColor = mController.getAlbumArtColor();
                 mPaint.setColor(mAutoColor && lastColor != -1 ? lastColor : mUserColor);
             }
-            int time = Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.FLING_PULSE_LAVALAMP_SPEED, 10000,
+            int time = Settings.System.getIntForUser(resolver,
+                    Settings.System.FLING_PULSE_LAVALAMP_SPEED, 10000,
                     UserHandle.USER_CURRENT);
             mLavaLamp.setAnimationTime(time);
             if (mLavaLampEnabled && mIsValidStream) {
@@ -267,20 +267,20 @@
             } else {
                 mLavaLamp.stop();
             }
-            int emptyBlock = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_EMPTY_BLOCK_SIZE, 1,
+            int emptyBlock = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_EMPTY_BLOCK_SIZE, 1,
                     UserHandle.USER_CURRENT);
-            int customDimen = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_CUSTOM_DIMEN, 14,
+            int customDimen = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_CUSTOM_DIMEN, 14,
                     UserHandle.USER_CURRENT);
-            int numDivision = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_CUSTOM_DIV, 16,
+            int numDivision = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_CUSTOM_DIV, 16,
                     UserHandle.USER_CURRENT);
-            int fudgeFactor = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_CUSTOM_FUDGE_FACTOR, 4,
+            int fudgeFactor = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_CUSTOM_FUDGE_FACTOR, 4,
                     UserHandle.USER_CURRENT);
-            int filledBlock = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_FILLED_BLOCK_SIZE, 4,
+            int filledBlock = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_FILLED_BLOCK_SIZE, 4,
                     UserHandle.USER_CURRENT);
 
             mPathEffect1 = getLimitedDimenValue(filledBlock, 4, 8, res);
diff --git a/src/com/android/systemui/navigation/pulse/PulseController.java b/src/com/android/systemui/pulse/PulseController.java
similarity index 94%
rename from src/com/android/systemui/navigation/pulse/PulseController.java
rename to src/com/android/systemui/pulse/PulseController.java
index c69cd39..2df65ce 100644
--- a/src/com/android/systemui/navigation/pulse/PulseController.java
+++ b/src/com/android/systemui/pulse/PulseController.java
@@ -22,9 +22,9 @@
  *
  */
 
-package com.android.systemui.navigation.pulse;
+package com.android.systemui.pulse;
 
-import com.android.systemui.navigation.pulse.PulseController;
+import com.android.systemui.pulse.PulseController;
 
 import android.content.ContentResolver;
 import android.content.Context;
@@ -149,19 +149,19 @@
 
         void register() {
             mContext.getContentResolver().registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_ENABLED), false, this,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_ENABLED), false, this,
                     UserHandle.USER_ALL);
             mContext.getContentResolver().registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_RENDER_STYLE_URI), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_RENDER_STYLE_URI), false, this,
                     UserHandle.USER_ALL);
         }
 
         @Override
         public void onChange(boolean selfChange, Uri uri) {
-            if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_ENABLED))) {
+            if (uri.equals(Settings.System.getUriFor(Settings.System.FLING_PULSE_ENABLED))) {
                 updateEnabled();
                 doLinkage();
-            } else if (uri.equals(Settings.Secure.getUriFor(Settings.Secure.PULSE_RENDER_STYLE_URI))) {
+            } else if (uri.equals(Settings.System.getUriFor(Settings.System.PULSE_RENDER_STYLE_URI))) {
                 updateRenderMode();
                 if (mPulseObserver != null) {
                     loadRenderer();
@@ -175,13 +175,13 @@
         }
 
         void updateEnabled() {
-            mPulseEnabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                    Settings.Secure.FLING_PULSE_ENABLED, 0, UserHandle.USER_CURRENT) == 1;
+            mPulseEnabled = Settings.System.getIntForUser(mContext.getContentResolver(),
+                    Settings.System.FLING_PULSE_ENABLED, 0, UserHandle.USER_CURRENT) == 1;
         }
 
         void updateRenderMode() {
-            mPulseStyle = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                    Settings.Secure.PULSE_RENDER_STYLE_URI, RENDER_STYLE_CM, UserHandle.USER_CURRENT);
+            mPulseStyle = Settings.System.getIntForUser(mContext.getContentResolver(),
+                    Settings.System.PULSE_RENDER_STYLE_URI, RENDER_STYLE_CM, UserHandle.USER_CURRENT);
         }
     };
 
diff --git a/src/com/android/systemui/navigation/pulse/Renderer.java b/src/com/android/systemui/pulse/Renderer.java
similarity index 94%
rename from src/com/android/systemui/navigation/pulse/Renderer.java
rename to src/com/android/systemui/pulse/Renderer.java
index 09bcff8..b64ce60 100644
--- a/src/com/android/systemui/navigation/pulse/Renderer.java
+++ b/src/com/android/systemui/pulse/Renderer.java
@@ -19,9 +19,9 @@
  *
  */
 
-package com.android.systemui.navigation.pulse;
+package com.android.systemui.pulse;
 
-import com.android.systemui.navigation.pulse.PulseController.PulseObserver;
+import com.android.systemui.pulse.PulseController.PulseObserver;
 
 import android.content.Context;
 import android.graphics.Canvas;
diff --git a/src/com/android/systemui/navigation/pulse/SolidLineRenderer.java b/src/com/android/systemui/pulse/SolidLineRenderer.java
similarity index 87%
rename from src/com/android/systemui/navigation/pulse/SolidLineRenderer.java
rename to src/com/android/systemui/pulse/SolidLineRenderer.java
index ec93e1e..9cd30a0 100644
--- a/src/com/android/systemui/navigation/pulse/SolidLineRenderer.java
+++ b/src/com/android/systemui/pulse/SolidLineRenderer.java
@@ -20,7 +20,7 @@
  *
  */
 
-package com.android.systemui.navigation.pulse;
+package com.android.systemui.pulse;
 
 import android.animation.ValueAnimator;
 import android.content.ContentResolver;
@@ -37,8 +37,8 @@
 import android.provider.Settings;
 
 import com.android.internal.util.NotificationColorUtil;
-import com.android.systemui.navigation.pulse.PulseController.PulseObserver;
-import com.android.systemui.navigation.utils.ColorAnimator;
+import com.android.systemui.pulse.PulseController.PulseObserver;
+import com.android.systemui.utils.ColorAnimator;
 
 public class SolidLineRenderer extends Renderer implements ColorAnimator.ColorAnimationListener {
     private Paint mPaint;
@@ -234,26 +234,26 @@
         void register() {
             ContentResolver resolver = mContext.getContentResolver();
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_COLOR), false, this,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_COLOR), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.FLING_PULSE_LAVALAMP_ENABLED), false,
+                    Settings.System.getUriFor(Settings.System.FLING_PULSE_LAVALAMP_ENABLED), false,
                     this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_SOLID_FUDGE_FACTOR), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_SOLID_FUDGE_FACTOR), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_LAVALAMP_SOLID_SPEED), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_LAVALAMP_SOLID_SPEED), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_SOLID_UNITS_COUNT), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_SOLID_UNITS_COUNT), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_SOLID_UNITS_OPACITY), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_SOLID_UNITS_OPACITY), false, this,
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(
-                    Settings.Secure.getUriFor(Settings.Secure.PULSE_AUTO_COLOR), false, this,
+                    Settings.System.getUriFor(Settings.System.PULSE_AUTO_COLOR), false, this,
                     UserHandle.USER_ALL);
         }
 
@@ -265,23 +265,23 @@
         public void updateSettings() {
             ContentResolver resolver = mContext.getContentResolver();
 
-            mAutoColor = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_AUTO_COLOR, 0,
+            mAutoColor = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_AUTO_COLOR, 0,
                     UserHandle.USER_CURRENT) == 1;
 
-            mLavaLampEnabled = !mAutoColor && Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.FLING_PULSE_LAVALAMP_ENABLED, 1, UserHandle.USER_CURRENT) == 1;
+            mLavaLampEnabled = !mAutoColor && Settings.System.getIntForUser(resolver,
+                    Settings.System.FLING_PULSE_LAVALAMP_ENABLED, 1, UserHandle.USER_CURRENT) == 1;
 
-            mColor = Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.FLING_PULSE_COLOR,
+            mColor = Settings.System.getIntForUser(resolver,
+                    Settings.System.FLING_PULSE_COLOR,
                     Color.WHITE,
                     UserHandle.USER_CURRENT);
             if (!mLavaLampEnabled) {
                 int lastColor = mController.getAlbumArtColor();
                 mPaint.setColor(mAutoColor && lastColor != -1 ? lastColor : mColor);
             }
-            int lavaLampSpeed = Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.PULSE_LAVALAMP_SOLID_SPEED, 10 * 1000,
+            int lavaLampSpeed = Settings.System.getIntForUser(resolver,
+                    Settings.System.PULSE_LAVALAMP_SOLID_SPEED, 10 * 1000,
                     UserHandle.USER_CURRENT);
             mLavaLamp.setAnimationTime(lavaLampSpeed);
             if (mLavaLampEnabled && mIsValidStream) {
@@ -290,21 +290,21 @@
                 mLavaLamp.stop();
             }
             // putFloat, getFloat is better. catch it next time
-            mDbFuzzFactor = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_SOLID_FUDGE_FACTOR, 5,
+            mDbFuzzFactor = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_SOLID_FUDGE_FACTOR, 5,
                     UserHandle.USER_CURRENT);
 
             int oldUnits = mUnits;
-            mUnits = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_SOLID_UNITS_COUNT, 64,
+            mUnits = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_SOLID_UNITS_COUNT, 64,
                     UserHandle.USER_CURRENT);
             if (mUnits != oldUnits) {
                 mFFTPoints = new float[mUnits * 4];
                 onSizeChanged(0, 0, 0, 0);
             }
 
-            int solidUnitsColor = Settings.Secure.getIntForUser(
-                    resolver, Settings.Secure.PULSE_SOLID_UNITS_OPACITY, 200,
+            int solidUnitsColor = Settings.System.getIntForUser(
+                    resolver, Settings.System.PULSE_SOLID_UNITS_OPACITY, 200,
                     UserHandle.USER_CURRENT);
             mFadePaint.setColor(Color.argb(mAutoColor ? 255 : solidUnitsColor, 255, 255, 255));
         }
diff --git a/src/com/android/systemui/navigation/pulse/VisualizerStreamHandler.java b/src/com/android/systemui/pulse/VisualizerStreamHandler.java
similarity index 98%
rename from src/com/android/systemui/navigation/pulse/VisualizerStreamHandler.java
rename to src/com/android/systemui/pulse/VisualizerStreamHandler.java
index 6745530..7122627 100644
--- a/src/com/android/systemui/navigation/pulse/VisualizerStreamHandler.java
+++ b/src/com/android/systemui/pulse/VisualizerStreamHandler.java
@@ -20,7 +20,7 @@
  *
  */
 
-package com.android.systemui.navigation.pulse;
+package com.android.systemui.pulse;
 
 import android.content.Context;
 import android.media.audiofx.Visualizer;
diff --git a/src/com/android/systemui/navigation/utils/ColorAnimator.java b/src/com/android/systemui/utils/ColorAnimator.java
similarity index 98%
rename from src/com/android/systemui/navigation/utils/ColorAnimator.java
rename to src/com/android/systemui/utils/ColorAnimator.java
index c04390e..32b11f4 100644
--- a/src/com/android/systemui/navigation/utils/ColorAnimator.java
+++ b/src/com/android/systemui/utils/ColorAnimator.java
@@ -19,7 +19,7 @@
  * 
  */
 
-package com.android.systemui.navigation.utils;
+package com.android.systemui.utils;
 
 import android.animation.ValueAnimator;
 import android.graphics.Color;