package com.fruit.launcher.widgets;
import com.fruit.launcher.R;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
public class LockScreenUtil {
private static LockScreenUtil mInstance;
private Context mContext;
private DevicePolicyManager mDevicePolicyManager;
private ComponentName mLockScreenAdmin;
private LockScreenUtil(Context context) {
this.mContext = context;
mDevicePolicyManager = (DevicePolicyManager) context
.getSystemService(Context.DEVICE_POLICY_SERVICE);
mLockScreenAdmin = new ComponentName(context, LockScreenAdmin.class);
}
public static final LockScreenUtil getInstance(Context context) {
if (mInstance == null) {
mInstance = new LockScreenUtil(context);
}
return mInstance;
}
public final boolean isAdminActive() {
return mDevicePolicyManager.isAdminActive(mLockScreenAdmin);
}
public final void lockScreen() {
if (mDevicePolicyManager.isAdminActive(mLockScreenAdmin)) {
mDevicePolicyManager.lockNow();
} else {
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mLockScreenAdmin);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
mContext.getString(R.string.widget_lock_screen_tips));
mContext.startActivity(intent);
}
}
public final void removeAdmin() {
mDevicePolicyManager.removeActiveAdmin(mLockScreenAdmin);
}
}