193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert/*
293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project
393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert *
493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License");
593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * you may not use this file except in compliance with the License.
693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * You may obtain a copy of the License at
793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert *
893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert *      http://www.apache.org/licenses/LICENSE-2.0
993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert *
1093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * Unless required by applicable law or agreed to in writing, software
1193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS,
1293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * See the License for the specific language governing permissions and
1493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * limitations under the License.
1593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert */
1693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringertpackage com.android.quicksearchbox;
1793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
1838eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringertimport android.content.ComponentName;
1938eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringert
2093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert/**
2193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert * A Suggestion that delegates all calls to other suggestions.
2293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert */
2393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringertpublic abstract class AbstractSuggestionWrapper implements Suggestion {
2493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
2593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    /**
2693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert     * Gets the current suggestion.
2793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert     */
2893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    protected abstract Suggestion current();
2993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
3093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getShortcutId() {
3193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getShortcutId();
3293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
3393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
3493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionFormat() {
3593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionFormat();
3693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
3793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
3893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionIcon1() {
3993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionIcon1();
4093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
4193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
4293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionIcon2() {
4393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionIcon2();
4493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
4593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
4693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionIntentAction() {
4793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionIntentAction();
4893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
4993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
5038eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringert    public ComponentName getSuggestionIntentComponent() {
5138eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringert        return current().getSuggestionIntentComponent();
5238eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringert    }
5338eb02e676db9e5a633e3c88a90beb8a477b1ca1Bjorn Bringert
5493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionIntentDataString() {
5593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionIntentDataString();
5693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
5793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
5893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionIntentExtraData() {
5993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionIntentExtraData();
6093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
6193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
6293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionLogType() {
6393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionLogType();
6493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
6593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
6693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionQuery() {
6793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionQuery();
6893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
6993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
7093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public Source getSuggestionSource() {
7193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionSource();
7293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
7393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
7493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionText1() {
7593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionText1();
7693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
7793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
7893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionText2() {
7993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionText2();
8093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
8193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
8293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public String getSuggestionText2Url() {
8393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().getSuggestionText2Url();
8493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
8593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
8693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public boolean isSpinnerWhileRefreshing() {
8793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().isSpinnerWhileRefreshing();
8893bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
8993bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
9093bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public boolean isSuggestionShortcut() {
9193bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().isSuggestionShortcut();
9293bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
9393bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
9493bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    public boolean isWebSearchSuggestion() {
9593bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert        return current().isWebSearchSuggestion();
9693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert    }
9793bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert
98fb8ce18922dae59db424fce906b5c113797fe81eBjorn Bringert    public boolean isHistorySuggestion() {
99fb8ce18922dae59db424fce906b5c113797fe81eBjorn Bringert        return current().isHistorySuggestion();
100fb8ce18922dae59db424fce906b5c113797fe81eBjorn Bringert    }
101fb8ce18922dae59db424fce906b5c113797fe81eBjorn Bringert
1025229b06f00d20aac76cd8519b37f2a579d61c54fMathew Inwood    public SuggestionExtras getExtras() {
1035229b06f00d20aac76cd8519b37f2a579d61c54fMathew Inwood        return current().getExtras();
1045229b06f00d20aac76cd8519b37f2a579d61c54fMathew Inwood    }
1055229b06f00d20aac76cd8519b37f2a579d61c54fMathew Inwood
10693bd2e70b8b08da1ec37fd0e990dac05551d2e90Bjorn Bringert}
107