summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java')
-rw-r--r--src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java84
1 files changed, 78 insertions, 6 deletions
diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java
index 4e25a3b15..c4b5dee47 100644
--- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java
+++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java
@@ -6,7 +6,9 @@ import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.Cursor;
+import android.graphics.Color;
import android.graphics.Typeface;
+import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -14,6 +16,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
+import com.android.launcher3.AppDrawerListAdapter;
import com.android.launcher3.AppsCustomizePagedView;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
@@ -24,6 +27,8 @@ import com.android.launcher3.settings.SettingsProvider;
public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
private static final int PARTITION_TAG = 0;
private static final int POSITION_TAG = 1;
+ private static final float ENABLED_ALPHA = 1f;
+ private static final float DISABLED_ALPHA = 1f;
private Launcher mLauncher;
private Context mContext;
@@ -90,6 +95,7 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
Resources res = mLauncher.getResources();
+
boolean current = false;
String state = "";
@@ -131,14 +137,21 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION:
switch (position) {
case 0:
- state = mLauncher.getAppsCustomizeTransitionEffect();
- state = mapEffectToValue(state);
- ((TextView) v.findViewById(R.id.item_state)).setText(state);
+ updateDrawerTypeSettingsItem(v);
break;
case 1:
- updateDrawerSortSettingsItem(v);
+ if (!setDisabled(v)) {
+ state = mLauncher.getAppsCustomizeTransitionEffect();
+ state = mapEffectToValue(state);
+ ((TextView) v.findViewById(R.id.item_state)).setText(state);
+ }
break;
case 2:
+ if (!setDisabled(v)) {
+ updateDrawerSortSettingsItem(v);
+ }
+ break;
+ case 3:
current = SettingsProvider.getBoolean(mContext,
SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS,
R.bool.preferences_interface_drawer_hide_icon_labels_default);
@@ -209,6 +222,20 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
((TextView) v.findViewById(R.id.item_state)).setText(state);
}
+ public void updateDrawerTypeSettingsItem(View v) {
+ String state = "";
+ AppDrawerListAdapter.DrawerType type = mLauncher.getDrawerType();
+ switch (type) {
+ case Drawer:
+ state = mLauncher.getResources().getString(R.string.drawer_type_drawer);
+ break;
+ case Pager:
+ state = mLauncher.getResources().getString(R.string.drawer_type_pager);
+ break;
+ }
+ ((TextView) v.findViewById(R.id.item_state)).setText(state);
+ }
+
public void updateDynamicGridSizeSettingsItem(View v) {
DeviceProfile.GridSize gridSize = DeviceProfile.GridSize.getModeForValue(
SettingsProvider.getIntCustomDefault(mLauncher,
@@ -295,12 +322,17 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION:
switch (position) {
case 0:
- mLauncher.onClickTransitionEffectButton(v, true);
+ onClickDrawerTypeButton();
break;
case 1:
- onClickSortButton();
+ mLauncher.onClickTransitionEffectButton(v, true);
+
break;
case 2:
+ onClickSortButton();
+
+ break;
+ case 3:
onIconLabelsBooleanChanged(v,
SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS,
R.bool.preferences_interface_drawer_hide_icon_labels_default);
@@ -384,4 +416,44 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
notifyDataSetChanged();
}
+
+ private void onClickDrawerTypeButton() {
+ int type = SettingsProvider.getInt(mLauncher,
+ SettingsProvider.SETTINGS_UI_DRAWER_TYPE,
+ R.integer.preferences_interface_drawer_type_default);
+
+ type = (type + 1) % AppDrawerListAdapter.DrawerType.values().length;
+ SettingsProvider.putInt(mLauncher, SettingsProvider.SETTINGS_UI_DRAWER_TYPE, type);
+
+ mLauncher.updateDrawerType();
+
+ notifyDataSetChanged();
+ }
+
+ private boolean setDisabled(View v) {
+ TextView itemState = ((TextView) v.findViewById(R.id.item_state));
+ TextView itemName = ((TextView) v.findViewById(R.id.item_name));
+
+ AppDrawerListAdapter.DrawerType type = mLauncher.getDrawerType();
+
+ boolean isDisabled = false;
+
+ switch (type) {
+ case Drawer:
+ itemState.setAlpha(DISABLED_ALPHA);
+ itemState.setText(mLauncher.getResources()
+ .getString(R.string.setting_state_disabled));
+ itemName.setAlpha(DISABLED_ALPHA);
+ v.setEnabled(false);
+ isDisabled = true;
+ break;
+ case Pager:
+ itemState.setAlpha(ENABLED_ALPHA);
+ itemName.setAlpha(ENABLED_ALPHA);
+ v.setEnabled(true);
+ break;
+ }
+
+ return isDisabled;
+ }
}