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