Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

Commit

Permalink
some Settings refactoring and styling
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesmadere committed Nov 12, 2013
1 parent de1f590 commit 6e65162
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 61 deletions.
2 changes: 1 addition & 1 deletion projects/android/classygames/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@

<activity
android:label="@string/settings"
android:name=".settings.SettingsPreferenceActivity"
android:name=".settings.PreferenceActivity"
android:parentActivityName="com.charlesmadere.android.classygames.GameFragmentActivity"
android:theme="@style/Theme.Styled">
<meta-data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import com.charlesmadere.android.classygames.models.Game;
import com.charlesmadere.android.classygames.models.Notification;
import com.charlesmadere.android.classygames.models.Person;
import com.charlesmadere.android.classygames.settings.SettingsPreferenceActivity;
import com.charlesmadere.android.classygames.settings.PreferenceActivity;
import com.charlesmadere.android.classygames.utilities.Utilities;


Expand Down Expand Up @@ -235,7 +235,7 @@ public boolean onOptionsItemSelected(final MenuItem item)
break;

case R.id.game_fragment_activity_menu_settings:
final Intent settingsIntent = new Intent(this, SettingsPreferenceActivity.class);
final Intent settingsIntent = new Intent(this, PreferenceActivity.class);
startActivity(settingsIntent);
break;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,41 +1,24 @@
package com.charlesmadere.android.classygames.settings;


import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import com.charlesmadere.android.classygames.R;


public final class AboutSettingsFragment extends PreferenceFragment
public final class AboutSettingsFragment extends BasePreferenceFragment
{


private SettingsFragmentListeners settingsListeners;


@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
settingsListeners.updateActionBarTitle(R.string.about);
addPreferencesFromResource(R.xml.settings_about);
}


@Override
public void onActivityCreated(final Bundle savedInstanceState)
protected CharSequence getActionBarTitle()
{
super.onActivityCreated(savedInstanceState);
getView().setBackgroundResource(R.drawable.bg_bright);
return getString(R.string.about);
}


@Override
public void onAttach(final Activity activity)
protected int getPreferencesResources()
{
super.onAttach(activity);
settingsListeners = (SettingsFragmentListeners) activity;
return R.xml.settings_about;
}


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package com.charlesmadere.android.classygames.settings;


import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.view.View;
import android.widget.ListView;
import com.charlesmadere.android.classygames.R;


public abstract class BasePreferenceFragment extends PreferenceFragment
{


private PreferenceFragmentListeners listeners;


@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
listeners.updateActionBarTitle(getActionBarTitle());
addPreferencesFromResource(getPreferencesResources());
}


@Override
public void onActivityCreated(final Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);

final View view = getView();
view.setBackgroundResource(R.drawable.bg_bright);

final ListView listView = (ListView) view.findViewById(android.R.id.list);
listView.setSelector(R.drawable.selectable_item);
}


@Override
public void onAttach(final Activity activity)
{
super.onAttach(activity);
listeners = (PreferenceFragmentListeners) activity;
}


protected abstract CharSequence getActionBarTitle();


protected abstract int getPreferencesResources();


}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import com.charlesmadere.android.classygames.R;


public final class GameSettingsFragment extends PreferenceFragment
public final class GameSettingsFragment extends BasePreferenceFragment
{


Expand Down Expand Up @@ -107,25 +106,24 @@ public boolean onPlayerChessPieceColorPreferenceChange(final ListPreference oppo
}


private SettingsFragmentListeners settingsListeners;


@Override
protected CharSequence getActionBarTitle()
{
return getString(R.string.game_settings);
}


@Override
public void onCreate(final Bundle savedInstanceState)
protected int getPreferencesResources()
{
super.onCreate(savedInstanceState);
settingsListeners.updateActionBarTitle(R.string.game_settings);
addPreferencesFromResource(R.xml.settings_game);
return R.xml.settings_game;
}


@Override
public void onActivityCreated(final Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
getView().setBackgroundResource(R.drawable.bg_bright);

final ListPreference playersCheckersPieceColor = (ListPreference) findPreference(getString(R.string.settings_key_players_checkers_piece_color));
final ListPreference opponentsCheckersPieceColor = (ListPreference) findPreference(getString(R.string.settings_key_opponents_checkers_piece_color));
Expand Down Expand Up @@ -175,7 +173,6 @@ public void onAttach(final Activity activity)
{
super.onAttach(activity);
listeners = (GameSettingsFragmentListeners) activity;
settingsListeners = (SettingsFragmentListeners) activity;
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,41 +1,24 @@
package com.charlesmadere.android.classygames.settings;


import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import com.charlesmadere.android.classygames.R;


public final class NotificationSettingsFragment extends PreferenceFragment
public final class NotificationSettingsFragment extends BasePreferenceFragment
{


private SettingsFragmentListeners settingsListeners;


@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
settingsListeners.updateActionBarTitle(R.string.notification_settings);
addPreferencesFromResource(R.xml.settings_notification);
}


@Override
public void onActivityCreated(final Bundle savedInstanceState)
protected CharSequence getActionBarTitle()
{
super.onActivityCreated(savedInstanceState);
getView().setBackgroundResource(R.drawable.bg_bright);
return getString(R.string.notification_settings);
}


@Override
public void onAttach(final Activity activity)
protected int getPreferencesResources()
{
super.onAttach(activity);
settingsListeners = (SettingsFragmentListeners) activity;
return R.xml.settings_notification;
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* was taken from the official Android Documentation.
* https://developer.android.com/guide/topics/ui/settings.html
*/
public final class SettingsPreferenceActivity extends BasePreferenceActivity implements
public final class PreferenceActivity extends BasePreferenceActivity implements
GameSettingsFragment.GameSettingsFragmentListeners,
SettingsFragmentListeners
PreferenceFragmentListeners
{


Expand All @@ -51,6 +51,7 @@ protected void onCreate(final Bundle savedInstanceState)
final ListView listView = getListView();
listView.setBackgroundResource(R.drawable.bg_bright);
listView.setCacheColorHint(getResources().getColor(R.color.cache_color_hint));
listView.setSelector(R.drawable.selectable_item);

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
// Check to see if the running version of Android is below Honeycomb.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.charlesmadere.android.classygames.settings;


public interface SettingsFragmentListeners
public interface PreferenceFragmentListeners
{


Expand Down

0 comments on commit 6e65162

Please sign in to comment.