1de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk/*
2de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * Copyright (C) 2017 The Android Open Source Project
3de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk *
4de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * except in compliance with the License. You may obtain a copy of the License at
6de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk *
7de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk *      http://www.apache.org/licenses/LICENSE-2.0
8de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk *
9de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * Unless required by applicable law or agreed to in writing, software distributed under the
10de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * KIND, either express or implied. See the License for the specific language governing
12de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk * permissions and limitations under the License.
13de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk */
14de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
15de850bbcaa61c1874b803f2086443febbafd81a4Jason Monkpackage com.android.systemui.utils.leaks;
16de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
17de850bbcaa61c1874b803f2086443febbafd81a4Jason Monkimport android.content.Context;
18340b0e5216b4fcc435e0459b1ca46155a572100dJason Monkimport android.testing.LeakCheck;
19de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
20de850bbcaa61c1874b803f2086443febbafd81a4Jason Monkimport com.android.systemui.tuner.TunerService;
21de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
22de850bbcaa61c1874b803f2086443febbafd81a4Jason Monkpublic class FakeTunerService extends TunerService {
23de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
24de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    private final BaseLeakChecker<Tunable> mBaseLeakChecker;
25de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
26340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public FakeTunerService(LeakCheck test) {
27de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk        mBaseLeakChecker = new BaseLeakChecker<>(test, "tunable");
28de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    }
29de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
30de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    @Override
31de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    public void addTunable(Tunable tunable, String... keys) {
32de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk        for (String key : keys) {
33de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk            tunable.onTuningChanged(key, null);
34de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk        }
35de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk        mBaseLeakChecker.addCallback(tunable);
36de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    }
37de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk
38de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    @Override
39de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    public void removeTunable(Tunable tunable) {
40de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk        mBaseLeakChecker.removeCallback(tunable);
41de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk    }
42340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
43340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
44340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public void clearAll() {
45340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
46340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
47340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
48340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
49340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public void destroy() {
50340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
51340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
52340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
53340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
54340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public String getValue(String setting) {
55340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk        return null;
56340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
57340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
58340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
59340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public int getValue(String setting, int def) {
60340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk        return def;
61340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
62340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
63340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
64340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public String getValue(String setting, String def) {
65340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk        return def;
66340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
67340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
68340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
69340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public void setValue(String setting, String value) {
70340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
71340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
72340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
73340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    @Override
74340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    public void setValue(String setting, int value) {
75340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk
76340b0e5216b4fcc435e0459b1ca46155a572100dJason Monk    }
77de850bbcaa61c1874b803f2086443febbafd81a4Jason Monk}
78