WifiScanningService.java revision c2c2648141e6190d85601ee8a6a1d0034e7ff927
1e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde/*
2e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * Copyright (C) 2008 The Android Open Source Project
3e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde *
4e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * Licensed under the Apache License, Version 2.0 (the "License");
5e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * you may not use this file except in compliance with the License.
6e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * You may obtain a copy of the License at
7e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde *
8e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde *      http://www.apache.org/licenses/LICENSE-2.0
9e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde *
10e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * Unless required by applicable law or agreed to in writing, software
11e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * distributed under the License is distributed on an "AS IS" BASIS,
12e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * See the License for the specific language governing permissions and
14e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde * limitations under the License.
15e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde */
16e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
17e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapndepackage com.android.server.wifi;
18e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
19e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapndeimport android.content.Context;
2094bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Willsimport android.os.HandlerThread;
21e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapndeimport android.util.Log;
22e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
23e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapndeimport com.android.server.SystemService;
2494bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Willsimport com.android.server.am.BatteryStatsService;
25e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
26e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapndepublic class WifiScanningService extends SystemService {
27e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
28297c3acabe7a85eb87240fe3ccf772e57ce6aef7Mitchell Wills    static final String TAG = "WifiScanningService";
2994bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills    private final WifiScanningServiceImpl mImpl;
3094bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills    private final HandlerThread mHandlerThread;
31e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
3250e20834408a3ee55170f8a34dfaeee26e7403ddVinit Deshapnde    public WifiScanningService(Context context) {
3350e20834408a3ee55170f8a34dfaeee26e7403ddVinit Deshapnde        super(context);
34e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde        Log.i(TAG, "Creating " + Context.WIFI_SCANNING_SERVICE);
3594bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills        mHandlerThread = new HandlerThread("WifiScanningService");
3694bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills        mHandlerThread.start();
3794bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills        mImpl = new WifiScanningServiceImpl(getContext(), mHandlerThread.getLooper(),
38c2c2648141e6190d85601ee8a6a1d0034e7ff927Glen Kuhne                WifiScannerImpl.DEFAULT_FACTORY, BatteryStatsService.getService(),
39c2c2648141e6190d85601ee8a6a1d0034e7ff927Glen Kuhne                WifiInjector.getInstance());
40e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    }
41e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
42e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    @Override
43e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    public void onStart() {
4494bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills        Log.i(TAG, "Publishing " + Context.WIFI_SCANNING_SERVICE);
45e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde        publishBinderService(Context.WIFI_SCANNING_SERVICE, mImpl);
46e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    }
47e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde
48e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    @Override
49e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    public void onBootPhase(int phase) {
50e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde        if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
5194bd575cb4766ed0dfbaad0fc7719a9e9e85a260Mitchell Wills            Log.i(TAG, "Starting " + Context.WIFI_SCANNING_SERVICE);
5218786eca942042388748b0d98979f21c9dff4a89Mitchell Wills            mImpl.startService();
53e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde        }
54e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde    }
55e4e3750390bec0a849a9153348b7c21b2cc8b843Vinit Deshapnde}
56