11cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria/* 2564e43098c323d1a90be53c190b8fdbdde973505Sumir Kataria * Copyright 2018 The Android Open Source Project 31cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * 41cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * Licensed under the Apache License, Version 2.0 (the "License"); 51cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * you may not use this file except in compliance with the License. 61cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * You may obtain a copy of the License at 71cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * 81cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * http://www.apache.org/licenses/LICENSE-2.0 91cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * 101cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * Unless required by applicable law or agreed to in writing, software 111cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * distributed under the License is distributed on an "AS IS" BASIS, 121cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * See the License for the specific language governing permissions and 141cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria * limitations under the License. 151cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria */ 161cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria 17564e43098c323d1a90be53c190b8fdbdde973505Sumir Katariapackage androidx.work; 181cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria 19c458f4a136424482056b72efa84f7412da4436cdSumir Katariaimport android.app.job.JobScheduler; 20c458f4a136424482056b72efa84f7412da4436cdSumir Katariaimport android.content.Context; 21c458f4a136424482056b72efa84f7412da4436cdSumir Katariaimport android.os.Build; 22c458f4a136424482056b72efa84f7412da4436cdSumir Katariaimport android.support.test.InstrumentationRegistry; 231cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria 24564e43098c323d1a90be53c190b8fdbdde973505Sumir Katariaimport androidx.work.impl.WorkManagerImpl; 25564e43098c323d1a90be53c190b8fdbdde973505Sumir Katariaimport androidx.work.impl.model.WorkSpec; 26564e43098c323d1a90be53c190b8fdbdde973505Sumir Kataria 2731099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Katariaimport org.junit.After; 2831099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Kataria 2931099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Katariaimport java.util.Set; 3031099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Kataria 311cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Katariapublic abstract class WorkManagerTest { 321cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria 33c458f4a136424482056b72efa84f7412da4436cdSumir Kataria @After 34c458f4a136424482056b72efa84f7412da4436cdSumir Kataria public void clearJobs() { 35c458f4a136424482056b72efa84f7412da4436cdSumir Kataria // Note: @SdkSuppress doesn't seem to work here. 3690c024663706960aa738040824160d6d8f6df449Sumir Kataria if (Build.VERSION.SDK_INT >= WorkManagerImpl.MIN_JOB_SCHEDULER_API_LEVEL) { 37c458f4a136424482056b72efa84f7412da4436cdSumir Kataria JobScheduler jobScheduler = (JobScheduler) InstrumentationRegistry.getTargetContext() 38c458f4a136424482056b72efa84f7412da4436cdSumir Kataria .getSystemService(Context.JOB_SCHEDULER_SERVICE); 39c458f4a136424482056b72efa84f7412da4436cdSumir Kataria jobScheduler.cancelAll(); 40c458f4a136424482056b72efa84f7412da4436cdSumir Kataria } 41c458f4a136424482056b72efa84f7412da4436cdSumir Kataria } 42c458f4a136424482056b72efa84f7412da4436cdSumir Kataria 437031a0fbe12b8159ab2dc6d9c50be5b3f38477faRahul Ravikumar protected WorkSpec getWorkSpec(WorkRequest work) { 4431099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Kataria return work.getWorkSpec(); 451cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria } 461cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria 477031a0fbe12b8159ab2dc6d9c50be5b3f38477faRahul Ravikumar protected Set<String> getTags(WorkRequest work) { 4831099f8c34e2e4ba4760ca643c7f6cdb51791c4eSumir Kataria return work.getTags(); 491cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria } 501cd0e4eb391fb7e7d5ac60433f705496a9390384Sumir Kataria} 51