1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.settings.testutils.shadow;
18 
19 import static org.mockito.Mockito.mock;
20 
21 import android.content.Context;
22 import android.net.ConnectivityManager;
23 import android.net.NetworkScoreManager;
24 import android.net.wifi.WifiManager;
25 import android.os.Handler;
26 
27 import androidx.annotation.NonNull;
28 import androidx.lifecycle.Lifecycle;
29 
30 import com.android.wifitrackerlib.NetworkDetailsTracker;
31 import com.android.wifitrackerlib.WifiEntry;
32 
33 import org.robolectric.annotation.Implementation;
34 import org.robolectric.annotation.Implements;
35 
36 import java.time.Clock;
37 
38 @Implements(NetworkDetailsTracker.class)
39 public class ShadowNetworkDetailsTracker {
40 
41     @Implementation
createNetworkDetailsTracker(@onNull Lifecycle lifecycle, @NonNull Context context, @NonNull WifiManager wifiManager, @NonNull ConnectivityManager connectivityManager, @NonNull NetworkScoreManager networkScoreManager, @NonNull Handler mainHandler, @NonNull Handler workerHandler, @NonNull Clock clock, long maxScanAgeMillis, long scanIntervalMillis, String key)42     public static NetworkDetailsTracker createNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
43             @NonNull Context context,
44             @NonNull WifiManager wifiManager,
45             @NonNull ConnectivityManager connectivityManager,
46             @NonNull NetworkScoreManager networkScoreManager,
47             @NonNull Handler mainHandler,
48             @NonNull Handler workerHandler,
49             @NonNull Clock clock,
50             long maxScanAgeMillis,
51             long scanIntervalMillis,
52             String key) {
53         return mock(NetworkDetailsTracker.class);
54     }
55 
56     @Implementation
getWifiEntry()57     public WifiEntry getWifiEntry() {
58         return mock(WifiEntry.class);
59     }
60 }
61