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