Skip to content
Browse files

Revert "added preference fragment at end of main activity"

This reverts commit b6f0fa9.
  • Loading branch information...
1 parent b6f0fa9 commit 1c5e64ba0b9977e765e58313db7b0b3a85158a3b @thasmin committed Jul 2, 2012
View
25 res/layout/preference_list.xml
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/apps/common/assets/res/layout/list_content.xml
-**
-** Copyright 2006, The Android Open Source 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.
-*/
--->
-<ListView xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@android:id/list"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:drawSelectorOnTop="false"
- android:scrollbarAlwaysDrawVerticalTrack="true" />
View
12 src/com/axelby/podax/ui/MainActivity.java
@@ -33,8 +33,7 @@
public static final int TAB_SUBSCRIPTIONS = 2;
public static final int TAB_DOWNLOADS = 3;
public static final int TAB_ABOUT = 4;
- public static final int TAB_PREFERENCES = 5;
- private static final int TAB_COUNT = 6;
+ private static final int TAB_COUNT = 5;
protected int _focusedPage;
@@ -151,8 +150,7 @@ public TabsAdapter(FragmentManager fm) {
resources.getString(R.string.queue),
resources.getString(R.string.subscriptions),
resources.getString(R.string.downloads),
- resources.getString(R.string.about),
- resources.getString(R.string.preferences)
+ resources.getString(R.string.about)
};
}
@@ -169,12 +167,6 @@ public Fragment getItem(int item) {
return new ActiveDownloadListFragment();
case TAB_ABOUT:
return new AboutFragment();
- case TAB_PREFERENCES:
- Fragment preferenceFragment = new PreferenceFragment();
- Bundle args = new Bundle();
- args.putInt("xml", R.xml.preferences);
- preferenceFragment.setArguments(args);
- return preferenceFragment;
}
throw new IllegalArgumentException();
}
View
247 src/com/axelby/podax/ui/PreferenceFragment.java
@@ -1,247 +0,0 @@
-package com.axelby.podax.ui;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.preference.Preference;
-import android.preference.PreferenceGroup;
-import android.preference.PreferenceManager;
-import android.preference.PreferenceScreen;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewParent;
-import android.widget.ListView;
-
-import com.actionbarsherlock.app.SherlockListFragment;
-import com.axelby.podax.R;
-
-public class PreferenceFragment extends SherlockListFragment{
-
- private PreferenceManager _preferenceManager;
- private ListView _lv;
-
- // The starting request code given out to preference framework.
- private static final int FIRST_REQUEST_CODE = 100;
-
- private static final int MSG_BIND_PREFERENCES = 0;
-
- // lint warning is suppressed because this how it's done in android code
- @SuppressLint("HandlerLeak")
- private Handler _handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
-
- case MSG_BIND_PREFERENCES:
- bindPreferences();
- break;
- }
- }
- };
-
- public PreferenceFragment() {
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle b) {
- postBindPreferences();
- return _lv;
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- ViewParent p = _lv.getParent();
- if(p != null)
- ((ViewGroup)p).removeView(_lv);
- }
-
- @Override
- public void onCreate(Bundle b) {
- super.onCreate(b);
-
- _preferenceManager = onCreatePreferenceManager();
- _lv = (ListView) LayoutInflater.from(getActivity()).inflate(R.layout.preference_list, null);
- _lv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
-
- int preferenceResource = getArguments().getInt("xml");
- addPreferencesFromResource(preferenceResource);
- postBindPreferences();
- if (getActivity() instanceof OnPreferenceAttachedListener)
- ((OnPreferenceAttachedListener)getActivity()).onPreferenceAttached(getPreferenceScreen(), preferenceResource);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("dispatchActivityStop");
- m.setAccessible(true);
- m.invoke(_preferenceManager);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- _lv = null;
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("dispatchActivityDestroy");
- m.setAccessible(true);
- m.invoke(_preferenceManager);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- outState.putInt("xml", outState.getInt("xml"));
- super.onSaveInstanceState(outState);
-
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("dispatchActivityResult", int.class, int.class, Intent.class);
- m.setAccessible(true);
- m.invoke(_preferenceManager, requestCode, resultCode, data);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Posts a message to bind the preferences to the list view.
- * <p>
- * Binding late is preferred as any custom preference types created in
- * {@link #onCreate(Bundle)} are able to have their views recycled.
- */
- private void postBindPreferences() {
- if (_handler.hasMessages(MSG_BIND_PREFERENCES)) return;
- _handler.obtainMessage(MSG_BIND_PREFERENCES).sendToTarget();
- }
-
- private void bindPreferences() {
- final PreferenceScreen preferenceScreen = getPreferenceScreen();
- if (preferenceScreen != null) {
- preferenceScreen.bind(_lv);
- }
- }
-
- /**
- * Creates the {@link PreferenceManager}.
- *
- * @return The {@link PreferenceManager} used by this activity.
- */
- private PreferenceManager onCreatePreferenceManager() {
- try {
- Constructor<PreferenceManager> c = PreferenceManager.class.getDeclaredConstructor(Activity.class, int.class);
- c.setAccessible(true);
- PreferenceManager preferenceManager = c.newInstance(this.getActivity(), FIRST_REQUEST_CODE);
- return preferenceManager;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * Returns the {@link PreferenceManager} used by this activity.
- * @return The {@link PreferenceManager}.
- */
- public PreferenceManager getPreferenceManager() {
- return _preferenceManager;
- }
-
- /**
- * Sets the root of the preference hierarchy that this activity is showing.
- *
- * @param preferenceScreen The root {@link PreferenceScreen} of the preference hierarchy.
- */
- public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("setPreferences", PreferenceScreen.class);
- m.setAccessible(true);
- boolean result = (Boolean) m.invoke(_preferenceManager, preferenceScreen);
- if (result && preferenceScreen != null)
- postBindPreferences();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Gets the root of the preference hierarchy that this activity is showing.
- *
- * @return The {@link PreferenceScreen} that is the root of the preference
- * hierarchy.
- */
- public PreferenceScreen getPreferenceScreen() {
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("getPreferenceScreen");
- m.setAccessible(true);
- return (PreferenceScreen) m.invoke(_preferenceManager);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * Adds preferences from activities that match the given {@link Intent}.
- *
- * @param intent The {@link Intent} to query activities.
- */
- public void addPreferencesFromIntent(Intent intent) {
- throw new RuntimeException("too lazy to include this bs");
- }
-
- /**
- * Inflates the given XML resource and adds the preference hierarchy to the current
- * preference hierarchy.
- *
- * @param preferencesResId The XML resource ID to inflate.
- */
- public void addPreferencesFromResource(int preferencesResId) {
- try {
- Method m = PreferenceManager.class.getDeclaredMethod("inflateFromResource", Context.class, int.class, PreferenceScreen.class);
- m.setAccessible(true);
- PreferenceScreen prefScreen = (PreferenceScreen) m.invoke(_preferenceManager, getActivity(), preferencesResId, getPreferenceScreen());
- setPreferenceScreen(prefScreen);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Finds a {@link Preference} based on its key.
- *
- * @param key The key of the preference to retrieve.
- * @return The {@link Preference} with the key, or null.
- * @see PreferenceGroup#findPreference(CharSequence)
- */
- public Preference findPreference(CharSequence key) {
- if (_preferenceManager == null) {
- return null;
- }
- return _preferenceManager.findPreference(key);
- }
-
- public interface OnPreferenceAttachedListener {
- public void onPreferenceAttached(PreferenceScreen root, int xmlId);
- }
-
-}

0 comments on commit 1c5e64b

Please sign in to comment.
Something went wrong with that request. Please try again.