package com.android.systemuirom.keyguard;
import android.content.Context;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.Toast;
public class KeyguardToast {
private static KeyguardToast sInstance;
private Toast mToast = null;
public static KeyguardToast getInstance() {
if (sInstance == null) {
sInstance = new KeyguardToast();
}
return sInstance;
}
private KeyguardToast() {
// ignore
}
public Toast makeText(Context context, CharSequence text, int duration,
boolean needOffsetPosition) {
if (mToast != null) {
mToast.cancel();
mToast = null;
}
mToast = Toast.makeText(context, text, duration);
mToast.getWindowParams().type = WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL;
mToast.getWindowParams().privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
mToast.getWindowParams().flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
// Toast偏移位置
if (needOffsetPosition) {
// set offset position
mToast.setGravity(Gravity.CENTER, 0, -300);
}
return mToast;
}
public void cancelToast() {
if (mToast != null) {
mToast.cancel();
mToast = null;
}
}
}