diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-08-02 22:05:46 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-08-02 22:05:46 +0200 |
commit | bdbdc944487d2208cade7168da557749bb0a3c7f (patch) | |
tree | 237bad189b8e48b0fc5495a5620b70b95eaebebe /src | |
parent | 2fd169fa998677b262d4dd931e29c265432a7343 (diff) | |
download | AntennaPod-bdbdc944487d2208cade7168da557749bb0a3c7f.zip |
Added Miro Guide search
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java | 33 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/activity/MiroSearchActivity.java | 81 |
2 files changed, 110 insertions, 4 deletions
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java index 8284e3c5e..6b794dd46 100644 --- a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java +++ b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java @@ -8,6 +8,8 @@ import android.widget.ArrayAdapter; import android.widget.TextView; import com.actionbarsherlock.app.SherlockListActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; import de.danoeh.antennapod.R; @@ -46,7 +48,7 @@ public class MiroGuideMainActivity extends SherlockListActivity { loadCategories(); } } - + private void createAdapter() { if (categories != null) { listAdapter = new ArrayAdapter<String>(this, @@ -62,11 +64,12 @@ public class MiroGuideMainActivity extends SherlockListActivity { private String[] c; private MiroException exception; - + @Override protected void onPostExecute(Void result) { if (exception == null) { - if (AppConfig.DEBUG) Log.d(TAG, "Successfully loaded categories"); + if (AppConfig.DEBUG) + Log.d(TAG, "Successfully loaded categories"); categories = c; createAdapter(); } else { @@ -93,7 +96,7 @@ public class MiroGuideMainActivity extends SherlockListActivity { } }; - + if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) { listLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } else { @@ -101,4 +104,26 @@ public class MiroGuideMainActivity extends SherlockListActivity { } } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label) + .setIcon(R.drawable.action_search) + .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + case R.id.search_item: + onSearchRequested(); + return true; + default: + return false; + } + } + } diff --git a/src/de/danoeh/antennapod/activity/MiroSearchActivity.java b/src/de/danoeh/antennapod/activity/MiroSearchActivity.java new file mode 100644 index 000000000..461ca1292 --- /dev/null +++ b/src/de/danoeh/antennapod/activity/MiroSearchActivity.java @@ -0,0 +1,81 @@ +package de.danoeh.antennapod.activity; + +import android.app.SearchManager; +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.FragmentTransaction; +import android.util.Log; + +import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; + +import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.fragment.MiroChannellistFragment; + +public class MiroSearchActivity extends SherlockFragmentActivity { + private static final String TAG = "MiroSearchActivity"; + + private MiroChannellistFragment listFragment; + + @Override + protected void onCreate(Bundle arg0) { + super.onCreate(arg0); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + setContentView(R.layout.mirosearch); + } + + @Override + protected void onResume() { + super.onResume(); + Intent intent = getIntent(); + if (Intent.ACTION_SEARCH.equals(intent.getAction())) { + String query = intent.getStringExtra(SearchManager.QUERY); + getSupportActionBar() + .setSubtitle( + getString(R.string.search_term_label) + "\"" + + query + "\""); + handleSearchRequest(query); + } + } + + private void handleSearchRequest(String query) { + if (AppConfig.DEBUG) + Log.d(TAG, "Performing search"); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + listFragment = MiroChannellistFragment.newInstance("name", query, + "name"); + ft.replace(R.id.channellistFragment, listFragment); + ft.commit(); + } + + @Override + protected void onNewIntent(Intent intent) { + setIntent(intent); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label) + .setIcon(R.drawable.action_search) + .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + case R.id.search_item: + onSearchRequested(); + return true; + default: + return false; + } + } + +} |