blob: 159bd41a20948c92ad1e72bab81bd3a16b1786f2 [file] [log] [blame]
Lorenzo Colittid46bb582015-04-27 20:32:01 +09001/*
2 * Copyright (C) 2015 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 */
16package com.android.systemui.statusbar.policy;
17
18import android.content.Context;
19import android.net.NetworkCapabilities;
20
Jason Monk07b75fe2015-05-14 16:47:03 -040021import com.android.systemui.statusbar.policy.NetworkController.IconState;
Jason Monke06b0652016-03-02 16:35:27 -050022import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
Lorenzo Colittid46bb582015-04-27 20:32:01 +090023
Jason Monk33f8ae72015-05-08 10:45:15 -040024import java.util.BitSet;
25
Lorenzo Colittid46bb582015-04-27 20:32:01 +090026
27public class EthernetSignalController extends
28 SignalController<SignalController.State, SignalController.IconGroup> {
29
30 public EthernetSignalController(Context context,
Jason Monk07b75fe2015-05-14 16:47:03 -040031 CallbackHandler callbackHandler, NetworkControllerImpl networkController) {
Lorenzo Colittid46bb582015-04-27 20:32:01 +090032 super("EthernetSignalController", context, NetworkCapabilities.TRANSPORT_ETHERNET,
Jason Monk07b75fe2015-05-14 16:47:03 -040033 callbackHandler, networkController);
Lorenzo Colittid46bb582015-04-27 20:32:01 +090034 mCurrentState.iconGroup = mLastState.iconGroup = new IconGroup(
35 "Ethernet Icons",
36 EthernetIcons.ETHERNET_ICONS,
37 null,
38 AccessibilityContentDescriptions.ETHERNET_CONNECTION_VALUES,
39 0, 0, 0, 0,
40 AccessibilityContentDescriptions.ETHERNET_CONNECTION_VALUES[0]);
41 }
42
43 @Override
Jason Monk33f8ae72015-05-08 10:45:15 -040044 public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
45 mCurrentState.connected = connectedTransports.get(mTransportType);
46 super.updateConnectivity(connectedTransports, validatedTransports);
47 }
48
49 @Override
Jason Monke06b0652016-03-02 16:35:27 -050050 public void notifyListeners(SignalCallback callback) {
Lorenzo Colittid46bb582015-04-27 20:32:01 +090051 boolean ethernetVisible = mCurrentState.connected;
52 String contentDescription = getStringIfExists(getContentDescription());
53
54 // TODO: wire up data transfer using WifiSignalPoller.
Jason Monke06b0652016-03-02 16:35:27 -050055 callback.setEthernetIndicators(new IconState(ethernetVisible, getCurrentIconId(),
Jason Monk07b75fe2015-05-14 16:47:03 -040056 contentDescription));
Lorenzo Colittid46bb582015-04-27 20:32:01 +090057 }
58
59 @Override
60 public SignalController.State cleanState() {
61 return new SignalController.State();
62 }
Lorenzo Colittid46bb582015-04-27 20:32:01 +090063}