diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3bbc6671ebe..c83002a1ef2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2656,5 +2656,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_airplane.xml b/res/drawable/ic_airplane.xml
new file mode 100644
index 00000000000..b3e0ba0b5e8
--- /dev/null
+++ b/res/drawable/ic_airplane.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_expand_less.xml b/res/drawable/ic_expand_less.xml
index 3a00faff28b..7ccc0809172 100644
--- a/res/drawable/ic_expand_less.xml
+++ b/res/drawable/ic_expand_less.xml
@@ -19,10 +19,11 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportHeight="24"
+ android:tint="?android:attr/colorControlNormal">
diff --git a/res/drawable/ic_expand_more.xml b/res/drawable/ic_expand_more.xml
index 64d22421fa4..609cf363a1a 100644
--- a/res/drawable/ic_expand_more.xml
+++ b/res/drawable/ic_expand_more.xml
@@ -19,10 +19,11 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportHeight="24"
+ android:tint="?android:attr/colorControlNormal">
diff --git a/res/drawable/ic_hotspot.xml b/res/drawable/ic_hotspot.xml
new file mode 100644
index 00000000000..d8528ddc4db
--- /dev/null
+++ b/res/drawable/ic_hotspot.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/condition_card.xml b/res/layout/condition_card.xml
new file mode 100644
index 00000000000..482d5b62532
--- /dev/null
+++ b/res/layout/condition_card.xml
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/dashboard.xml b/res/layout/dashboard.xml
index ae5be68dd30..93261a539ea 100644
--- a/res/layout/dashboard.xml
+++ b/res/layout/dashboard.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-0dp
- 4dp
+ 2dp
48dp
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7120163342f..8d1f69a36a8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -6691,4 +6691,20 @@
organisation
Contact them to learn more.
List of administrators
+
+
+ Turn off
+
+
+ Hotspot is on
+
+
+ Portable Wi-Fi hotspot %1$s is active, Wi-Fi for this device is turned off.
+
+
+ Airplane mode is on
+
+
+ Wi-Fi, Bluetooth, and cellular network are turned off. You can\'t make phone calls or connect to the Internet.
+
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 5a54ba40117..ddea92b24be 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -74,6 +74,7 @@ import android.text.style.TtsSpan;
import android.util.ArraySet;
import android.util.Log;
import android.util.SparseArray;
+import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -83,8 +84,6 @@ import android.view.animation.AnimationUtils;
import android.widget.ListView;
import android.widget.TabWidget;
import com.android.internal.util.UserIcons;
-import com.android.settingslib.drawer.UserAdapter;
-import com.android.settingslib.drawer.UserAdapter.UserDetails;
import java.io.IOException;
import java.io.InputStream;
@@ -1058,5 +1057,11 @@ public final class Utils {
return UserHandle.myUserId();
}
}
+
+ public static int resolveResource(Context context, int attr) {
+ TypedValue value = new TypedValue();
+ context.getTheme().resolveAttribute(attr, value, true);
+ return value.resourceId;
+ }
}
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 6228bbc5875..3e0b9dd0a87 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -18,7 +18,6 @@ package com.android.settings.dashboard;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
-import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
@@ -26,40 +25,52 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.internal.util.ArrayUtils;
+import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.dashboard.conditional.Condition;
+import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.DashboardTile;
import java.util.ArrayList;
import java.util.List;
-public class DashboardAdapter extends RecyclerView.Adapter {
+public class DashboardAdapter extends RecyclerView.Adapter implements View.OnClickListener {
public static final String TAG = "DashboardAdapter";
private final List