From 022da8535300e5ead0a5a2ceb875dbc603a1f0c8 Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Tue, 3 Mar 2015 11:13:57 -0800 Subject: App Drawer: Add toggle functionality to change back to legacy app drawer Change-Id: I4a78832188e27ae0b5a25b6a81ce000b6ffcd1f1 --- .../list/SettingsPinnedHeaderAdapter.java | 46 ++++++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) (limited to 'src/com/android/launcher3/list') diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index 8a77502e8..fdb38312c 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -14,6 +14,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; @@ -131,14 +132,17 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION: switch (position) { case 0: + updateDrawerTypeSettingsItem(v); + break; + case 1: state = mLauncher.getAppsCustomizeTransitionEffect(); state = mapEffectToValue(state); ((TextView) v.findViewById(R.id.item_state)).setText(state); break; - case 1: + case 2: updateDrawerSortSettingsItem(v); break; - case 2: + case 3: current = SettingsProvider.getBoolean(mContext, SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, R.bool.preferences_interface_drawer_hide_icon_labels_default); @@ -201,6 +205,24 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { ((TextView) v.findViewById(R.id.item_state)).setText(state); } + public void updateDrawerTypeSettingsItem(View v) { + String state = ""; + AppDrawerListAdapter.DrawerType type = + AppDrawerListAdapter.DrawerType.getModeForValue( + SettingsProvider.getInt(mLauncher, + SettingsProvider.SETTINGS_UI_DRAWER_TYPE, + R.integer.preferences_interface_drawer_type_default)); + 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, @@ -287,12 +309,15 @@ 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); @@ -370,4 +395,17 @@ 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(); + } } -- cgit v1.2.3