Search in sources :

Example 31 with WifiDisplay

use of android.hardware.display.WifiDisplay in project android_frameworks_base by crdroidandroid.

the class WifiDisplayController method handleScanResults.

private void handleScanResults() {
    final int count = mAvailableWifiDisplayPeers.size();
    final WifiDisplay[] displays = WifiDisplay.CREATOR.newArray(count);
    for (int i = 0; i < count; i++) {
        WifiP2pDevice device = mAvailableWifiDisplayPeers.get(i);
        displays[i] = createWifiDisplay(device);
        updateDesiredDevice(device);
    }
    mHandler.post(new Runnable() {

        @Override
        public void run() {
            mListener.onScanResults(displays);
        }
    });
}
Also used : WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice) WifiDisplay(android.hardware.display.WifiDisplay)

Example 32 with WifiDisplay

use of android.hardware.display.WifiDisplay in project android_frameworks_base by crdroidandroid.

the class PersistentDataStore method rememberWifiDisplay.

public boolean rememberWifiDisplay(WifiDisplay display) {
    loadIfNeeded();
    int index = findRememberedWifiDisplay(display.getDeviceAddress());
    if (index >= 0) {
        WifiDisplay other = mRememberedWifiDisplays.get(index);
        if (other.equals(display)) {
            // already remembered without change
            return false;
        }
        mRememberedWifiDisplays.set(index, display);
    } else {
        mRememberedWifiDisplays.add(display);
    }
    setDirty();
    return true;
}
Also used : WifiDisplay(android.hardware.display.WifiDisplay)

Example 33 with WifiDisplay

use of android.hardware.display.WifiDisplay in project android_frameworks_base by crdroidandroid.

the class PersistentDataStore method applyWifiDisplayAliases.

public WifiDisplay[] applyWifiDisplayAliases(WifiDisplay[] displays) {
    WifiDisplay[] results = displays;
    if (results != null) {
        int count = displays.length;
        for (int i = 0; i < count; i++) {
            WifiDisplay result = applyWifiDisplayAlias(displays[i]);
            if (result != displays[i]) {
                if (results == displays) {
                    results = new WifiDisplay[count];
                    System.arraycopy(displays, 0, results, 0, count);
                }
                results[i] = result;
            }
        }
    }
    return results;
}
Also used : WifiDisplay(android.hardware.display.WifiDisplay)

Example 34 with WifiDisplay

use of android.hardware.display.WifiDisplay in project android_frameworks_base by crdroidandroid.

the class PersistentDataStore method saveToXml.

private void saveToXml(XmlSerializer serializer) throws IOException {
    serializer.startDocument(null, true);
    serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
    serializer.startTag(null, "display-manager-state");
    serializer.startTag(null, "remembered-wifi-displays");
    for (WifiDisplay display : mRememberedWifiDisplays) {
        serializer.startTag(null, "wifi-display");
        serializer.attribute(null, "deviceAddress", display.getDeviceAddress());
        serializer.attribute(null, "deviceName", display.getDeviceName());
        if (display.getDeviceAlias() != null) {
            serializer.attribute(null, "deviceAlias", display.getDeviceAlias());
        }
        serializer.endTag(null, "wifi-display");
    }
    serializer.endTag(null, "remembered-wifi-displays");
    serializer.startTag(null, "display-states");
    for (Map.Entry<String, DisplayState> entry : mDisplayStates.entrySet()) {
        final String uniqueId = entry.getKey();
        final DisplayState state = entry.getValue();
        serializer.startTag(null, "display");
        serializer.attribute(null, "unique-id", uniqueId);
        state.saveToXml(serializer);
        serializer.endTag(null, "display");
    }
    serializer.endTag(null, "display-states");
    serializer.endTag(null, "display-manager-state");
    serializer.endDocument();
}
Also used : WifiDisplay(android.hardware.display.WifiDisplay) HashMap(java.util.HashMap) Map(java.util.Map)

Example 35 with WifiDisplay

use of android.hardware.display.WifiDisplay in project android_frameworks_base by crdroidandroid.

the class WifiDisplayAdapter method requestRenameLocked.

public void requestRenameLocked(String address, String alias) {
    if (DEBUG) {
        Slog.d(TAG, "requestRenameLocked: address=" + address + ", alias=" + alias);
    }
    if (alias != null) {
        alias = alias.trim();
        if (alias.isEmpty() || alias.equals(address)) {
            alias = null;
        }
    }
    WifiDisplay display = mPersistentDataStore.getRememberedWifiDisplay(address);
    if (display != null && !Objects.equal(display.getDeviceAlias(), alias)) {
        display = new WifiDisplay(address, display.getDeviceName(), alias, false, false, false);
        if (mPersistentDataStore.rememberWifiDisplay(display)) {
            mPersistentDataStore.saveIfNeeded();
            updateRememberedDisplaysLocked();
            scheduleStatusChangedBroadcastLocked();
        }
    }
    if (mActiveDisplay != null && mActiveDisplay.getDeviceAddress().equals(address)) {
        renameDisplayDeviceLocked(mActiveDisplay.getFriendlyDisplayName());
    }
}
Also used : WifiDisplay(android.hardware.display.WifiDisplay)

Aggregations

WifiDisplay (android.hardware.display.WifiDisplay)77 WifiP2pDevice (android.net.wifi.p2p.WifiP2pDevice)12 Surface (android.view.Surface)12 HashMap (java.util.HashMap)10 Map (java.util.Map)10 WpsInfo (android.net.wifi.WpsInfo)6 WifiP2pConfig (android.net.wifi.p2p.WifiP2pConfig)6 ActionListener (android.net.wifi.p2p.WifiP2pManager.ActionListener)6 GroupInfoListener (android.net.wifi.p2p.WifiP2pManager.GroupInfoListener)6 PeerListListener (android.net.wifi.p2p.WifiP2pManager.PeerListListener)6 RemoteException (android.os.RemoteException)6 Inet4Address (java.net.Inet4Address)6 XmlPullParserException (org.xmlpull.v1.XmlPullParserException)6 ArrayList (java.util.ArrayList)5 RemoteDisplay (android.media.RemoteDisplay)3 StackTraceElement (java.lang.StackTraceElement)3 WifiDisplayStatus (android.hardware.display.WifiDisplayStatus)1 MediaRouter (android.media.MediaRouter)1 RouteInfo (android.media.MediaRouter.RouteInfo)1 PreferenceScreen (android.support.v7.preference.PreferenceScreen)1