// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.olio.data.object.bluetooth_status; import android.content.ContentResolver; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import com.olio.util.ALog; // Referenced classes of package com.olio.data.object.bluetooth_status: // BluetoothStatus public abstract class BluetoothNotificationObserver extends ContentObserver { public static final class ConnectionStatusChange extends Enum { private static final ConnectionStatusChange $VALUES[]; public static final ConnectionStatusChange CONNECTED; public static final ConnectionStatusChange DISCONNECTED; public static ConnectionStatusChange valueOf(String s) { return (ConnectionStatusChange)Enum.valueOf(com/olio/data/object/bluetooth_status/BluetoothNotificationObserver$ConnectionStatusChange, s); } public static ConnectionStatusChange[] values() { return (ConnectionStatusChange[])$VALUES.clone(); } static { DISCONNECTED = new ConnectionStatusChange("DISCONNECTED", 0); CONNECTED = new ConnectionStatusChange("CONNECTED", 1); $VALUES = (new ConnectionStatusChange[] { DISCONNECTED, CONNECTED }); } private ConnectionStatusChange(String s, int i) { super(s, i); } } public static final class Platform extends Enum { private static final Platform $VALUES[]; public static final Platform PHONE; public static final Platform WATCH; public static Platform valueOf(String s) { return (Platform)Enum.valueOf(com/olio/data/object/bluetooth_status/BluetoothNotificationObserver$Platform, s); } public static Platform[] values() { return (Platform[])$VALUES.clone(); } static { WATCH = new Platform("WATCH", 0); PHONE = new Platform("PHONE", 1); $VALUES = (new Platform[] { WATCH, PHONE }); } private Platform(String s, int i) { super(s, i); } } ContentResolver contentResolver; Platform mPlatform; ConnectionStatusChange previousConnectionStatus; public BluetoothNotificationObserver(ContentResolver contentresolver, Handler handler, Platform platform) { super(handler); contentResolver = contentresolver; mPlatform = platform; if (BluetoothStatus.isBluetoothConnected(contentresolver, mPlatform)) { contentresolver = ConnectionStatusChange.CONNECTED; } else { contentresolver = ConnectionStatusChange.DISCONNECTED; } previousConnectionStatus = contentresolver; } public abstract void connectionStatusUpdate(ConnectionStatusChange connectionstatuschange); public boolean deliverSelfNotifications() { return false; } protected ContentResolver getContentResolver() { return contentResolver; } public void onChange(boolean flag, Uri uri) { super.onChange(flag, uri); if (BluetoothStatus.isBluetoothConnected(contentResolver, mPlatform)) { if (previousConnectionStatus == ConnectionStatusChange.CONNECTED) { uri = "CONNECTED"; } else { uri = "DISCONNECTED"; } ALog.i("CONNECTED (was %s)", new Object[] { uri }); uri = ConnectionStatusChange.CONNECTED; } else { if (previousConnectionStatus == ConnectionStatusChange.CONNECTED) { uri = "CONNECTED"; } else { uri = "DISCONNECTED"; } ALog.i("DISCONNECTED (was %s)", new Object[] { uri }); uri = ConnectionStatusChange.DISCONNECTED; } if (uri != previousConnectionStatus) { connectionStatusUpdate(uri); previousConnectionStatus = uri; } } public void register() { contentResolver.registerContentObserver((new BluetoothStatus()).tableUri(), true, this); } public abstract void statusUpdate(BluetoothStatus bluetoothstatus); public void unregister() { contentResolver.unregisterContentObserver(this); } }