summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetSearchActivity.java
blob: 199b45dc92551684f05a8b6820212c77632520b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package de.danoeh.antennapod.activity.gpoddernet;

import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.fragment.gpodnet.SearchListFragment;
import org.apache.commons.lang3.StringUtils;

/**
 * Created by daniel on 23.08.13.
 */
public class GpodnetSearchActivity extends GpodnetActivity {

    private SearchListFragment searchFragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        setContentView(R.layout.gpodnet_search);
    }

    @Override
    protected void onResume() {
        super.onResume();
        Intent intent = getIntent();
        if (StringUtils.equals(intent.getAction(), Intent.ACTION_SEARCH)) {
            handleSearchRequest(intent.getStringExtra(SearchManager.QUERY));
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {
        setIntent(intent);
    }

    private void handleSearchRequest(String query) {
        getSupportActionBar().setSubtitle(getString(R.string.search_term_label) + query);
        if (searchFragment == null) {
            FragmentTransaction transaction = getSupportFragmentManager()
                    .beginTransaction();
            searchFragment = SearchListFragment.newInstance(query);
            transaction.replace(R.id.searchListFragment, searchFragment);
            transaction.commit();
        } else {
            searchFragment.changeQuery(query);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
}