From 6bace11c22ecb3746739c8e786a7dba43f0712d4 Mon Sep 17 00:00:00 2001 From: Brandon Bennett Date: Sat, 10 Nov 2012 19:21:35 -0700 Subject: Remove tabs from GNexusParts Although the tabs are pretty and shows off some of the nice features of Androud ICS/JB they are against the design guidelines. Having a tab for a single item is inefficient and it doesn't match the rest of the settings. This moves all the tabs to PreferenceCategories and have all settings on one page. Changeset 2+3+4+5: Fix whitespace and tab fail. Change-Id: I36fe8b1611ccc345ceab534b01f4dc9a97fef70c --- .../settings/device/DevicePreferenceActivity.java | 88 +++++++++++ .../settings/device/DeviceSettings.java | 162 +-------------------- .../settings/device/DisplayFragmentActivity.java | 54 ------- .../settings/device/GeneralFragmentActivity.java | 70 --------- .../cyanogenmod/settings/device/GpuOverclock.java | 2 +- .../src/com/cyanogenmod/settings/device/Hspa.java | 2 +- .../settings/device/OverClockFragmentActivity.java | 58 -------- .../com/cyanogenmod/settings/device/Startup.java | 1 - 8 files changed, 98 insertions(+), 339 deletions(-) create mode 100644 GNexusParts/src/com/cyanogenmod/settings/device/DevicePreferenceActivity.java delete mode 100755 GNexusParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java delete mode 100644 GNexusParts/src/com/cyanogenmod/settings/device/GeneralFragmentActivity.java delete mode 100644 GNexusParts/src/com/cyanogenmod/settings/device/OverClockFragmentActivity.java (limited to 'GNexusParts/src') diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/DevicePreferenceActivity.java b/GNexusParts/src/com/cyanogenmod/settings/device/DevicePreferenceActivity.java new file mode 100644 index 0000000..957883b --- /dev/null +++ b/GNexusParts/src/com/cyanogenmod/settings/device/DevicePreferenceActivity.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2011 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.cyanogenmod.settings.device; + +import android.app.ActionBar; +import android.app.ActionBar.Tab; +import android.app.ActionBar.TabListener; +import android.app.Activity; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; +import android.os.Bundle; +import android.os.IBinder; +import android.preference.ListPreference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceFragment; +import android.preference.PreferenceScreen; +import android.support.v13.app.FragmentPagerAdapter; +import android.support.v4.app.FragmentActivity; +import android.support.v4.view.ViewPager; +import android.view.MenuItem; + +import com.cyanogenmod.settings.device.R; + +import java.util.ArrayList; + +public class DevicePreferenceActivity extends PreferenceFragment { + + public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device"; + public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE"; + public static final String KEY_COLOR_TUNING = "color_tuning"; + public static final String KEY_GAMMA_TUNING = "gamma_tuning"; + public static final String KEY_COLORGAMMA_PRESETS = "colorgamma_presets"; + public static final String KEY_VIBRATOR_TUNING = "vibrator_tuning"; + public static final String KEY_CATEGORY_RADIO = "category_radio"; + public static final String KEY_HSPA = "hspa"; + public static final String KEY_GPU_OVERCLOCK = "gpu_overclock"; + + private ColorTuningPreference mColorTuning; + private GammaTuningPreference mGammaTuning; + private ColorHackPresets mColorHackPresets; + private VibratorTuningPreference mVibratorTuning; + private ListPreference mGpuOverclock; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + addPreferencesFromResource(R.xml.preferences); + + mColorTuning = (ColorTuningPreference) findPreference(KEY_COLOR_TUNING); + mColorTuning.setEnabled(ColorTuningPreference.isSupported()); + + mGammaTuning = (GammaTuningPreference) findPreference(KEY_GAMMA_TUNING); + mGammaTuning.setEnabled(GammaTuningPreference.isSupported()); + + mColorHackPresets = (ColorHackPresets) findPreference(KEY_COLORGAMMA_PRESETS); + mColorHackPresets.setEnabled(ColorHackPresets.isSupported()); + + mVibratorTuning = (VibratorTuningPreference) findPreference(KEY_VIBRATOR_TUNING); + mVibratorTuning.setEnabled(VibratorTuningPreference.isSupported()); + + PreferenceScreen prefSet = getPreferenceScreen(); + + mGpuOverclock = (ListPreference) findPreference(KEY_GPU_OVERCLOCK); + mGpuOverclock.setEnabled(GpuOverclock.isSupported()); + mGpuOverclock.setOnPreferenceChangeListener(new GpuOverclock()); + GpuOverclock.updateSummary(mGpuOverclock, Integer.parseInt(mGpuOverclock.getValue())); + } +} diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/DeviceSettings.java b/GNexusParts/src/com/cyanogenmod/settings/device/DeviceSettings.java index 61b9114..772e557 100644 --- a/GNexusParts/src/com/cyanogenmod/settings/device/DeviceSettings.java +++ b/GNexusParts/src/com/cyanogenmod/settings/device/DeviceSettings.java @@ -1,168 +1,22 @@ -/* - * Copyright (C) 2011 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package com.cyanogenmod.settings.device; import android.app.ActionBar; -import android.app.ActionBar.Tab; -import android.app.ActionBar.TabListener; import android.app.Activity; -import android.app.Fragment; -import android.app.FragmentManager; -import android.app.FragmentTransaction; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; import android.os.Bundle; -import android.os.IBinder; -import android.support.v13.app.FragmentPagerAdapter; -import android.support.v4.app.FragmentActivity; -import android.support.v4.view.ViewPager; import android.view.MenuItem; -import com.cyanogenmod.settings.device.R; - -import java.util.ArrayList; - public class DeviceSettings extends Activity { - - public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device"; - public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE"; - public static final String KEY_COLOR_TUNING = "color_tuning"; - public static final String KEY_GAMMA_TUNING = "gamma_tuning"; - public static final String KEY_COLORGAMMA_PRESETS = "colorgamma_presets"; - public static final String KEY_VIBRATOR_TUNING = "vibrator_tuning"; - public static final String KEY_CATEGORY_RADIO = "category_radio"; - public static final String KEY_HSPA = "hspa"; - public static final String KEY_GPU_OVERCLOCK = "gpu_overclock"; - - ViewPager mViewPager; - TabsAdapter mTabsAdapter; - - @Override - protected void onCreate(Bundle savedInstanceState) { + @Override + protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mViewPager = new ViewPager(this); - mViewPager.setId(R.id.viewPager); - setContentView(mViewPager); - - final ActionBar bar = getActionBar(); - bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); - bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE); - bar.setTitle(R.string.app_name); - bar.setDisplayHomeAsUpEnabled(true); - - mTabsAdapter = new TabsAdapter(this, mViewPager); - mTabsAdapter.addTab(bar.newTab().setText(R.string.display_title), - DisplayFragmentActivity.class, null); - mTabsAdapter.addTab(bar.newTab().setText(R.string.general_title), - GeneralFragmentActivity.class, null); - mTabsAdapter.addTab(bar.newTab().setText(R.string.category_speed_title), - OverClockFragmentActivity.class, null); - - if (savedInstanceState != null) { - bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0)); - } - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putInt("tab", getActionBar().getSelectedNavigationIndex()); - } + ActionBar actionBar = getActionBar(); + actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE); + actionBar.setDisplayHomeAsUpEnabled(true); - public static class TabsAdapter extends FragmentPagerAdapter - implements ActionBar.TabListener, ViewPager.OnPageChangeListener { - private final Context mContext; - private final ActionBar mActionBar; - private final ViewPager mViewPager; - private final ArrayList mTabs = new ArrayList(); - - static final class TabInfo { - private final Class clss; - private final Bundle args; - - TabInfo(Class _class, Bundle _args) { - clss = _class; - args = _args; - } - } - - public TabsAdapter(Activity activity, ViewPager pager) { - super(activity.getFragmentManager()); - mContext = activity; - mActionBar = activity.getActionBar(); - mViewPager = pager; - mViewPager.setAdapter(this); - mViewPager.setOnPageChangeListener(this); - } - - public void addTab(ActionBar.Tab tab, Class clss, Bundle args) { - TabInfo info = new TabInfo(clss, args); - tab.setTag(info); - tab.setTabListener(this); - mTabs.add(info); - mActionBar.addTab(tab); - notifyDataSetChanged(); - } - - @Override - public int getCount() { - return mTabs.size(); - } - - @Override - public Fragment getItem(int position) { - TabInfo info = mTabs.get(position); - return Fragment.instantiate(mContext, info.clss.getName(), info.args); - } - - @Override - public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { - } - - @Override - public void onPageSelected(int position) { - mActionBar.setSelectedNavigationItem(position); - } - - @Override - public void onPageScrollStateChanged(int state) { - } - - @Override - public void onTabSelected(Tab tab, FragmentTransaction ft) { - Object tag = tab.getTag(); - for (int i=0; i