package cm.android.sdk;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import java.lang.ref.WeakReference;
@Deprecated
public abstract class MyHandler {
private WeakHandler handler = null;
public MyHandler() {
handler = new WeakHandler(this);
}
public MyHandler(Looper looper) {
handler = new WeakHandler(this, looper);
}
public abstract void handleMessage(Message msg);
public Handler getHandler() {
return handler;
}
public void sendMessage(Message msg) {
handler.sendMessage(msg);
}
public Message obtainMessage(int what) {
return handler.obtainMessage(what);
}
public Message obtainMessage(int what, Object obj) {
return handler.obtainMessage(what, obj);
}
public void sendEmptyMessage(int what) {
handler.sendEmptyMessage(what);
}
private static class WeakHandler extends Handler {
private WeakReference<MyHandler> mOuter;
public WeakHandler(MyHandler callback) {
super();
mOuter = new WeakReference<MyHandler>(callback);
}
public WeakHandler(MyHandler callback, Looper looper) {
super(looper);
mOuter = new WeakReference<MyHandler>(callback);
}
@Override
public final void handleMessage(Message msg) {
MyHandler outer = mOuter.get();
if (outer != null) {
outer.handleMessage(msg);
}
}
}
// void xx(){
// handler.sendEmptyMessage(what);
// handler.sendEmptyMessageAtTime(what, uptimeMillis)
// handler.sendEmptyMessageDelayed(what, delayMillis)
// }
}