Added settings activity

This commit is contained in:
daniel oeh 2012-06-17 15:03:21 +02:00
parent e015308b95
commit 51a5902fd9
7 changed files with 68 additions and 25 deletions

View File

@ -33,6 +33,7 @@
<activity android:name="de.podfetcher.activity.MediaplayerActivity" android:launchMode="singleTask"/>
<service android:enabled="true" android:name="de.podfetcher.service.DownloadService" />
<service android:enabled="true" android:name="de.podfetcher.service.PlaybackService" />
<service android:enabled="true" android:name="de.podfetcher.service.PlaybackService" />
<activity android:name=".activity.PreferenceActivity"></activity>
</application>
</manifest>

View File

@ -18,4 +18,5 @@
android:icon="@drawable/av_download"
android:showAsAction="ifRoom|collapseActionView">
</item>
<item android:id="@+id/show_preferences" android:title="@string/settings_label" android:icon="@drawable/action_settings" android:showAsAction="collapseActionView"></item>
</menu>

View File

@ -39,4 +39,7 @@
<string name="player_preparing_msg">Preparing...</string>
<string name="mark_read_label">Mark read</string>
<string name="mark_unread_label">Mark unread</string>
<string name="version_pref">Version</string>
<string name="other_pref">Other</string>
<string name="about_pref">About</string>
</resources>

9
res/xml/preferences.xml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/other_pref">
<Preference android:title="@string/version_pref"/>
<Preference android:title="@string/about_pref"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@ -1,15 +1,23 @@
package de.podfetcher.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import de.podfetcher.R;
import de.podfetcher.feed.FeedManager;
import de.podfetcher.fragment.FeedItemlistFragment;
import de.podfetcher.fragment.FeedlistFragment;
import de.podfetcher.fragment.UnreadItemlistFragment;
@ -17,6 +25,8 @@ import de.podfetcher.fragment.UnreadItemlistFragment;
public class PodfetcherActivity extends SherlockFragmentActivity {
private static final String TAG = "PodfetcherActivity";
private FeedManager manager;
private FeedlistFragment feedlist;
FeedItemlistFragment unreadList;
@ -24,6 +34,7 @@ public class PodfetcherActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
manager = FeedManager.getInstance();
setContentView(R.layout.main);
// Set up tabs
ActionBar actionBar = getSupportActionBar();
@ -49,6 +60,33 @@ public class PodfetcherActivity extends SherlockFragmentActivity {
UnreadItemlistFragment.class));
actionBar.addTab(tab);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.add_feed:
startActivity(new Intent(this, AddFeedActivity.class));
return true;
case R.id.all_feed_refresh:
manager.refreshAllFeeds(this);
return true;
case R.id.show_downloads:
startActivity(new Intent(this, DownloadActivity.class));
return true;
case R.id.show_preferences:
startActivity(new Intent(this, PreferenceActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.podfetcher, menu);
return true;
}
/** TabListener for navigating between the main lists. */
private class TabListener<T extends Fragment> implements

View File

@ -0,0 +1,15 @@
package de.podfetcher.activity;
import android.os.Bundle;
import com.actionbarsherlock.app.SherlockPreferenceActivity;
import de.podfetcher.R;
public class PreferenceActivity extends SherlockPreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}

View File

@ -47,42 +47,18 @@ public class FeedlistFragment extends SherlockListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
Log.d(TAG, "Creating");
manager = FeedManager.getInstance();
fla = new FeedlistAdapter(pActivity, 0, manager.getFeeds());
setListAdapter(fla);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.feedlist, container, false);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.feedlist, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.add_feed:
startActivity(new Intent(pActivity, AddFeedActivity.class));
return true;
case R.id.all_feed_refresh:
manager.refreshAllFeeds(pActivity);
return true;
case R.id.show_downloads:
startActivity(new Intent(pActivity, DownloadActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onResume() {