summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-08-02 22:05:46 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-08-02 22:05:46 +0200
commitbdbdc944487d2208cade7168da557749bb0a3c7f (patch)
tree237bad189b8e48b0fc5495a5620b70b95eaebebe /src
parent2fd169fa998677b262d4dd931e29c265432a7343 (diff)
downloadAntennaPod-bdbdc944487d2208cade7168da557749bb0a3c7f.zip
Added Miro Guide search
Diffstat (limited to 'src')
-rw-r--r--src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java33
-rw-r--r--src/de/danoeh/antennapod/activity/MiroSearchActivity.java81
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;
+ }
+ }
+
+}