summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java
diff options
context:
space:
mode:
authorxavihernandez <emourougandy@gmail.com>2013-03-22 23:50:26 +0100
committerDanny Baumann <dannybaumann@web.de>2013-04-04 10:52:10 +0200
commitd2393efea8e6b26c211c62a20950f3befabfcecd (patch)
tree0df2672ba22aa26ebf9fe609c8550d2f5c571099 /packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java
parentb88dd214cfe77c343d281e84954ddbc6f5640c79 (diff)
downloadframeworks_base-d2393efea8e6b26c211c62a20950f3befabfcecd.zip
frameworks_base-d2393efea8e6b26c211c62a20950f3befabfcecd.tar.gz
frameworks_base-d2393efea8e6b26c211c62a20950f3befabfcecd.tar.bz2
SystemUI: Add Expanded desktop tile to QuickSettings (2/2)
* Patch Set 1: initial commit * Patch Set 2: change tile title * Patch Set 3: change tile title again * Patch Set 4: updated to suggested drawable by blunden * Patch Set 5: update drawables to fit to the bahavior of the other icons used in QS * Patch Set 6: rebase only display tile if feature is enabled * Patch Set 7: launch the proper long press activity * Patch Set 8: correctly hide tiles if ED or profiles are turned off style fixes Change-Id: I2273f8f0bdb726ec34f00a6fb205b1bc6e795cfa
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java b/packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java
new file mode 100644
index 0000000..6c0ed52
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java
@@ -0,0 +1,75 @@
+package com.android.systemui.quicksettings;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Handler;
+import android.provider.Settings;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.phone.QuickSettingsContainerView;
+import com.android.systemui.statusbar.phone.QuickSettingsController;
+
+public class ExpandedDesktopTile extends QuickSettingsTile {
+ private boolean mEnabled = false;
+
+ public ExpandedDesktopTile(Context context, LayoutInflater inflater,
+ QuickSettingsContainerView container,
+ QuickSettingsController qsc, Handler handler) {
+ super(context, inflater, container, qsc);
+
+ mOnClick = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Change the system setting
+ Settings.System.putInt(mContext.getContentResolver(),
+ Settings.System.EXPANDED_DESKTOP_STATE, mEnabled ? 0 : 1);
+ }
+ };
+
+ mOnLongClick = new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.setClassName("com.android.settings",
+ "com.android.settings.Settings$SystemSettingsActivity");
+ startSettingsActivity(intent);
+ return true;
+ }
+ };
+
+ Uri stateUri = Settings.System.getUriFor(Settings.System.EXPANDED_DESKTOP_STATE);
+ qsc.registerObservedContent(stateUri, this);
+ }
+
+ void onPostCreate() {
+ updateTile();
+ super.onPostCreate();
+ }
+
+ @Override
+ public void updateResources() {
+ updateTile();
+ super.updateResources();
+ }
+
+ private synchronized void updateTile() {
+ mEnabled = Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.EXPANDED_DESKTOP_STATE, 0) == 1;
+ if (mEnabled) {
+ mDrawable = R.drawable.ic_qs_expanded_desktop_on;
+ mLabel = mContext.getString(R.string.quick_settings_expanded_desktop);
+ } else {
+ mDrawable = R.drawable.ic_qs_expanded_desktop_off;
+ mLabel = mContext.getString(R.string.quick_settings_expanded_desktop_off);
+ }
+ }
+
+ @Override
+ public void onChangeUri(ContentResolver resolver, Uri uri) {
+ updateResources();
+ }
+}