120c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti/* 220c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * Copyright (C) 2014 The Android Open Source Project 320c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * 420c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * Licensed under the Apache License, Version 2.0 (the "License"); 520c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * you may not use this file except in compliance with the License. 620c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * You may obtain a copy of the License at 720c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * 820c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * http://www.apache.org/licenses/LICENSE-2.0 920c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * 1020c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * Unless required by applicable law or agreed to in writing, software 1120c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * distributed under the License is distributed on an "AS IS" BASIS, 1220c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1320c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * See the License for the specific language governing permissions and 1420c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti * limitations under the License. 1520c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti */ 1620c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 1720c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colittipackage com.android.server.ethernet; 1820c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 1920c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colittiimport android.content.Context; 2020c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colittiimport android.util.Log; 2120c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colittiimport com.android.server.SystemService; 2220c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 2320c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colittipublic final class EthernetService extends SystemService { 2420c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 2520c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti private static final String TAG = "EthernetService"; 2620c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti final EthernetServiceImpl mImpl; 2720c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 2820c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti public EthernetService(Context context) { 2920c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti super(context); 3020c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti mImpl = new EthernetServiceImpl(context); 3120c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti } 3220c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 3320c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti @Override 3420c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti public void onStart() { 3520c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti Log.i(TAG, "Registering service " + Context.ETHERNET_SERVICE); 3620c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti publishBinderService(Context.ETHERNET_SERVICE, mImpl); 3720c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti } 3820c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti 3920c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti @Override 4020c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti public void onBootPhase(int phase) { 4120c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) { 4220c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti mImpl.start(); 4320c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti } 4420c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti } 4520c1c99c4351abd8bb3d6e8f966fcf3b6de0e5b0Lorenzo Colitti} 46