/** * * @author Rachit Mishra * @licence The MIT License (MIT) Copyright (c) <2013> <Rachit Mishra> * */ package in.ceeq.receivers; import in.ceeq.R; import in.ceeq.commons.Utils; import android.app.admin.DeviceAdminReceiver; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class DeviceAdministrationReceiver extends DeviceAdminReceiver { private DevicePolicyManager devicePolicyManager; @Override public DevicePolicyManager getManager(Context context) { return super.getManager(context); } @Override public CharSequence onDisableRequested(Context context, Intent intent) { devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); if (Utils.getBooleanPrefs(context, Utils.APP_UNINSTALL_PROTECTION)) { Utils.lock(context); } return context.getString(R.string.help_note_35); } @Override public void onDisabled(Context context, Intent intent) { super.onDisabled(context, intent); devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); Utils.setBooleanPrefs(context, Utils.DEVICE_ADMIN_STATUS, false); } @Override public void onEnabled(Context context, Intent intent) { super.onEnabled(context, intent); devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); Utils.setInitialLockState(context); Utils.setBooleanPrefs(context, Utils.DEVICE_ADMIN_STATUS, true); } @Override public void onPasswordChanged(Context context, Intent intent) { super.onPasswordChanged(context, intent); } @Override public void onPasswordFailed(Context context, Intent intent) { super.onPasswordFailed(context, intent); devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); int failedAttempts = devicePolicyManager.getCurrentFailedPasswordAttempts(); if (failedAttempts == 4) { Toast.makeText(context, "This is your last attempt, device will be wiped after this.", Toast.LENGTH_SHORT) .show(); } } @Override public void onPasswordSucceeded(Context context, Intent intent) { super.onPasswordSucceeded(context, intent); if (Utils.getInitialLockState(context)) Utils.removeLock(context); } }