1723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang/*
2723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * Copyright (C) 2017 The Android Open Source Project
3723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang *
4723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License");
5723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * you may not use this file except in compliance with the License.
6723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * You may obtain a copy of the License at
7723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang *
8723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang *      http://www.apache.org/licenses/LICENSE-2.0
9723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang *
10723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * Unless required by applicable law or agreed to in writing, software
11723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * distributed under the License is distributed on an "AS IS" BASIS,
12723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * See the License for the specific language governing permissions and
14723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang * limitations under the License.
15723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang */
16723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
17723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhangpackage android.service.settings.suggestions;
18723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
19e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhangimport android.support.annotation.VisibleForTesting;
20e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang
21723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhangimport java.util.ArrayList;
22723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhangimport java.util.List;
23723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
24723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhangpublic class MockSuggestionService extends SuggestionService {
25723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
26e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    @VisibleForTesting
27e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    static boolean sOnSuggestionLaunchedCalled;
28e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    @VisibleForTesting
29e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    static boolean sOnSuggestionDismissedCalled;
30e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang
31e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    public static void reset() {
32e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang        sOnSuggestionLaunchedCalled = false;
33e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang        sOnSuggestionDismissedCalled = false;
34e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    }
35e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang
36723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    @Override
37723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    public List<Suggestion> onGetSuggestions() {
38723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang        final List<Suggestion> data = new ArrayList<>();
39723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
40723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang        data.add(new Suggestion.Builder("test")
41723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang                .setTitle("title")
42723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang                .setSummary("summary")
43723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang                .build());
44723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang        return data;
45723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    }
46723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang
47723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    @Override
48723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    public void onSuggestionDismissed(Suggestion suggestion) {
49e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang        sOnSuggestionDismissedCalled = true;
50e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    }
51e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang
52e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    @Override
53e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang    public void onSuggestionLaunched(Suggestion suggestion) {
54e4b5ac2f971b6697b41a5bc5d6e63770b4f0fcfeFan Zhang        sOnSuggestionLaunchedCalled = true;
55723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang    }
56723bf37ab2e4b535a6061c02df03fcec57006e37Fan Zhang}
57