diff options
| author | xavihernandez <emourougandy@gmail.com> | 2013-03-22 23:50:26 +0100 |
|---|---|---|
| committer | Danny Baumann <dannybaumann@web.de> | 2013-04-04 10:52:10 +0200 |
| commit | d2393efea8e6b26c211c62a20950f3befabfcecd (patch) | |
| tree | 0df2672ba22aa26ebf9fe609c8550d2f5c571099 /packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java | |
| parent | b88dd214cfe77c343d281e84954ddbc6f5640c79 (diff) | |
| download | frameworks_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.java | 75 |
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(); + } +} |
